Merge "Add chart for redis cluster"
authorMike Elliott <mike.elliott@amdocs.com>
Thu, 12 Apr 2018 12:16:28 +0000 (12:16 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 12 Apr 2018 12:16:28 +0000 (12:16 +0000)
491 files changed:
.gitignore
docs/oom_user_guide.rst
kubernetes/aaf/charts/aaf-cs/resources/config/aaf-cs-data/ecomp.cql [moved from kubernetes/aaf/resources/config/aaf-cs-data/ecomp.cql with 100% similarity]
kubernetes/aaf/charts/aaf-cs/resources/config/aaf-cs-data/identities.dat [moved from kubernetes/aaf/resources/config/aaf-cs-data/identities.dat with 100% similarity]
kubernetes/aaf/charts/aaf-cs/resources/config/aaf-cs-data/identities.idx [moved from kubernetes/aaf/resources/config/aaf-cs-data/identities.idx with 100% similarity]
kubernetes/aaf/charts/aaf-cs/resources/config/aaf-cs-data/init.cql [moved from kubernetes/aaf/resources/config/aaf-cs-data/init.cql with 100% similarity]
kubernetes/aaf/charts/aaf-cs/templates/deployment.yaml
kubernetes/aaf/charts/aaf-cs/values.yaml
kubernetes/aaf/charts/sms/Chart.yaml [new file with mode: 0644]
kubernetes/aaf/charts/sms/charts/vault/Chart.yaml [new file with mode: 0644]
kubernetes/aaf/charts/sms/charts/vault/templates/configmap.yaml [new file with mode: 0644]
kubernetes/aaf/charts/sms/charts/vault/templates/pv.yaml [new file with mode: 0644]
kubernetes/aaf/charts/sms/charts/vault/templates/pvc.yaml [new file with mode: 0644]
kubernetes/aaf/charts/sms/charts/vault/templates/service.yaml [new file with mode: 0644]
kubernetes/aaf/charts/sms/charts/vault/templates/statefulset.yaml [new file with mode: 0644]
kubernetes/aaf/charts/sms/charts/vault/values.yaml [new file with mode: 0644]
kubernetes/aaf/charts/sms/templates/configmap.yaml [new file with mode: 0644]
kubernetes/aaf/charts/sms/templates/deployment.yaml [new file with mode: 0644]
kubernetes/aaf/charts/sms/templates/service.yaml [new file with mode: 0644]
kubernetes/aaf/charts/sms/values.yaml [new file with mode: 0644]
kubernetes/aaf/resources/config/aaf-data/identities.dat [moved from kubernetes/aaf/charts/aaf-cs/resources/config/aaf-data/identities.dat with 100% similarity]
kubernetes/aaf/templates/deployment.yaml
kubernetes/aaf/values.yaml
kubernetes/aai/charts/aai-babel/.helmignore [moved from kubernetes/aai/charts/gizmo/.helmignore with 100% similarity]
kubernetes/aai/charts/aai-babel/Chart.yaml [moved from kubernetes/aai/charts/champ/Chart.yaml with 92% similarity]
kubernetes/aai/charts/aai-babel/requirements.yaml [moved from kubernetes/aai/charts/champ/requirements.yaml with 100% similarity]
kubernetes/aai/charts/aai-babel/resources/config/artifact-generator.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-babel/resources/config/auth/auth_policy.json [new file with mode: 0644]
kubernetes/aai/charts/aai-babel/resources/config/auth/tomcat_keystore [new file with mode: 0644]
kubernetes/aai/charts/aai-babel/resources/config/babel-auth.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-babel/templates/configmap.yaml [moved from kubernetes/aai/charts/champ/templates/secrets.yaml with 80% similarity]
kubernetes/aai/charts/aai-babel/templates/deployment.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-babel/templates/secrets.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-babel/templates/service.yaml [moved from kubernetes/aai/charts/champ/templates/service.yaml with 100% similarity]
kubernetes/aai/charts/aai-babel/values.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-champ/Chart.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-champ/requirements.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/champ_policy.json [moved from kubernetes/aai/charts/champ/resources/config/appconfig/auth/champ_policy.json with 100% similarity]
kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore [moved from kubernetes/aai/charts/champ/resources/config/appconfig/auth/tomcat_keystore with 100% similarity]
kubernetes/aai/charts/aai-champ/resources/config/appconfig/champ-api.properties [moved from kubernetes/aai/charts/champ/resources/config/appconfig/champ-api.properties with 100% similarity]
kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml [moved from kubernetes/aai/charts/champ/resources/config/dynamic/conf/champ-beans.xml with 97% similarity]
kubernetes/aai/charts/aai-champ/templates/configmap.yaml [moved from kubernetes/aai/charts/champ/templates/configmap.yaml with 89% similarity]
kubernetes/aai/charts/aai-champ/templates/deployment.yaml [moved from kubernetes/aai/charts/champ/templates/deployment.yaml with 87% similarity]
kubernetes/aai/charts/aai-champ/templates/secrets.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-champ/templates/service.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-champ/values.yaml [moved from kubernetes/aai/charts/champ/values.yaml with 88% similarity]
kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v10.xml [deleted file]
kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v11.xml [deleted file]
kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v8.xml [deleted file]
kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v9.xml [deleted file]
kubernetes/aai/charts/aai-data-router/templates/configmap.yaml
kubernetes/aai/charts/aai-data-router/templates/deployment.yaml
kubernetes/aai/charts/aai-data-router/values.yaml
kubernetes/aai/charts/aai-gizmo/.helmignore [new file with mode: 0644]
kubernetes/aai/charts/aai-gizmo/Chart.yaml [moved from kubernetes/aai/charts/gizmo/Chart.yaml with 95% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/README.txt [moved from kubernetes/aai/charts/gizmo/resources/config/README.txt with 100% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/auth/champ-cert.p12 [moved from kubernetes/aai/charts/gizmo/resources/config/auth/champ-cert.p12 with 100% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/auth/crud_policy.json [moved from kubernetes/aai/charts/gizmo/resources/config/auth/crud_policy.json with 100% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/auth/datarouter-cert.p12 [moved from kubernetes/aai/charts/gizmo/resources/config/auth/datarouter-cert.p12 with 100% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/auth/tomcat_keystore [moved from kubernetes/aai/charts/gizmo/resources/config/auth/tomcat_keystore with 100% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/crud-api.properties [moved from kubernetes/aai/charts/gizmo/resources/config/crud-api.properties with 100% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/crud-beans.xml [moved from kubernetes/aai/charts/gizmo/resources/config/crud-beans.xml with 95% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/log/filebeat/filebeat.yml [moved from kubernetes/aai/charts/gizmo/resources/config/log/filebeat/filebeat.yml with 100% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/log/logback.xml [moved from kubernetes/aai/charts/gizmo/resources/config/log/logback.xml with 100% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v11.json [moved from kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v11.json with 100% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v12.json [moved from kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v12.json with 100% similarity]
kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v13.json [moved from kubernetes/aai/charts/gizmo/resources/config/model/edge_properties_v13.json with 100% similarity]
kubernetes/aai/charts/aai-gizmo/templates/NOTES.txt [moved from kubernetes/aai/charts/gizmo/templates/NOTES.txt with 100% similarity]
kubernetes/aai/charts/aai-gizmo/templates/configmap.yaml [moved from kubernetes/aai/charts/gizmo/templates/configmap.yaml with 100% similarity]
kubernetes/aai/charts/aai-gizmo/templates/deployment.yaml [moved from kubernetes/aai/charts/gizmo/templates/deployment.yaml with 100% similarity]
kubernetes/aai/charts/aai-gizmo/templates/secrets.yaml [moved from kubernetes/aai/charts/gizmo/templates/secrets.yaml with 100% similarity]
kubernetes/aai/charts/aai-gizmo/templates/service.yaml [moved from kubernetes/aai/charts/gizmo/templates/service.yaml with 100% similarity]
kubernetes/aai/charts/aai-gizmo/values.yaml [moved from kubernetes/aai/charts/gizmo/values.yaml with 100% similarity]
kubernetes/aai/charts/aai-sparky-be/resources/config/model/aai_oxm_v9.xml [deleted file]
kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml
kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml
kubernetes/aai/charts/aai-sparky-be/values.yaml
kubernetes/appc/values.yaml
kubernetes/clamp/charts/mariadb/templates/NOTES.txt [new file with mode: 0644]
kubernetes/clamp/templates/NOTES.txt
kubernetes/clamp/values.yaml
kubernetes/common/common/templates/_repository.tpl [new file with mode: 0644]
kubernetes/common/dgbuilder/resources/config/svclogic.properties
kubernetes/common/dgbuilder/resources/scripts/createReleaseDir.sh
kubernetes/common/dgbuilder/resources/scripts/customSettings.js
kubernetes/common/dgbuilder/templates/deployment.yaml
kubernetes/common/dgbuilder/values.yaml
kubernetes/common/mysql/Chart.yaml
kubernetes/common/mysql/requirements.yaml
kubernetes/common/mysql/templates/configmap.yaml
kubernetes/common/mysql/templates/nfs-provisoner.yaml
kubernetes/common/mysql/templates/pv.yaml
kubernetes/common/mysql/templates/pvc.yaml
kubernetes/common/mysql/templates/secrets.yaml
kubernetes/common/mysql/templates/service.yaml
kubernetes/common/mysql/templates/statefulset.yaml
kubernetes/common/mysql/templates/storageclass.yaml
kubernetes/common/mysql/values.yaml
kubernetes/common/postgres/.helmignore [new file with mode: 0644]
kubernetes/common/postgres/Chart.yaml [new file with mode: 0644]
kubernetes/common/postgres/requirements.yaml [new file with mode: 0644]
kubernetes/common/postgres/templates/pv.yaml [new file with mode: 0644]
kubernetes/common/postgres/templates/secrets.yaml [new file with mode: 0644]
kubernetes/common/postgres/templates/service.yaml [new file with mode: 0644]
kubernetes/common/postgres/templates/statefulset.yaml [new file with mode: 0644]
kubernetes/common/postgres/values.yaml [new file with mode: 0644]
kubernetes/config/docker/init/src/config/message-router/dmaap/MsgRtrApi.properties [deleted file]
kubernetes/config/docker/init/src/config/message-router/dmaap/cadi.properties [deleted file]
kubernetes/config/docker/init/src/config/message-router/dmaap/mykey [deleted file]
kubernetes/consul/Chart.yaml
kubernetes/consul/charts/consul-server/Chart.yaml [new file with mode: 0644]
kubernetes/consul/charts/consul-server/requirements.yaml [new file with mode: 0644]
kubernetes/consul/charts/consul-server/templates/NOTES.txt [new file with mode: 0644]
kubernetes/consul/charts/consul-server/templates/deployment.yaml [moved from kubernetes/consul/templates/consul-server-deployment.yaml with 54% similarity]
kubernetes/consul/charts/consul-server/templates/service.yaml [new file with mode: 0644]
kubernetes/consul/charts/consul-server/values.yaml [new file with mode: 0644]
kubernetes/consul/requirements.yaml [new file with mode: 0644]
kubernetes/consul/resources/config/consul-agent-config/vfc-health.json
kubernetes/consul/templates/configmap.yaml [moved from kubernetes/consul/templates/consul-agent-configmap.yaml with 67% similarity]
kubernetes/consul/templates/deployment.yaml [moved from kubernetes/consul/templates/consul-agent-deployment.yaml with 59% similarity]
kubernetes/consul/templates/secrets.yaml [new file with mode: 0644]
kubernetes/consul/values.yaml
kubernetes/dmaap/.helmignore [new file with mode: 0644]
kubernetes/dmaap/Chart.yaml [new file with mode: 0644]
kubernetes/dmaap/README.md [new file with mode: 0644]
kubernetes/dmaap/charts/postgresql/Chart.yaml [new file with mode: 0644]
kubernetes/dmaap/charts/postgresql/templates/Notes.txt [new file with mode: 0644]
kubernetes/dmaap/charts/postgresql/templates/_helpers.tpl [new file with mode: 0644]
kubernetes/dmaap/charts/postgresql/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dmaap/charts/postgresql/templates/networkpolicy.yaml [new file with mode: 0644]
kubernetes/dmaap/charts/postgresql/templates/pvc.yaml [new file with mode: 0644]
kubernetes/dmaap/charts/postgresql/templates/secrets.yaml [new file with mode: 0644]
kubernetes/dmaap/charts/postgresql/templates/svc.yaml [new file with mode: 0644]
kubernetes/dmaap/charts/postgresql/values.yaml [new file with mode: 0644]
kubernetes/dmaap/requirements.yaml [new file with mode: 0644]
kubernetes/dmaap/resources/config/README.txt [new file with mode: 0644]
kubernetes/dmaap/resources/config/application.properties [new file with mode: 0644]
kubernetes/dmaap/resources/config/buscontroller.env [new file with mode: 0644]
kubernetes/dmaap/templates/NOTES.txt [new file with mode: 0644]
kubernetes/dmaap/templates/configmap.yaml [new file with mode: 0644]
kubernetes/dmaap/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dmaap/templates/service.yaml [new file with mode: 0644]
kubernetes/dmaap/values.yaml [new file with mode: 0644]
kubernetes/helm/starters/onap-app/templates/deployment.yaml
kubernetes/helm/starters/onap-app/values.yaml
kubernetes/log/charts/log-elasticsearch/resources/config/elasticsearch.yml
kubernetes/log/charts/log-elasticsearch/templates/deployment.yaml
kubernetes/log/charts/log-elasticsearch/templates/service.yaml
kubernetes/log/charts/log-elasticsearch/values.yaml
kubernetes/log/charts/log-kibana/templates/deployment.yaml
kubernetes/log/charts/log-kibana/values.yaml
kubernetes/log/charts/log-logstash/templates/deployment.yaml
kubernetes/log/charts/log-logstash/templates/service.yaml
kubernetes/log/charts/log-logstash/values.yaml
kubernetes/message-router/.helmignore [new file with mode: 0644]
kubernetes/message-router/Chart.yaml
kubernetes/message-router/charts/kafka/.helmignore [new file with mode: 0644]
kubernetes/message-router/charts/kafka/Chart.yaml [new file with mode: 0644]
kubernetes/message-router/charts/kafka/templates/NOTES.txt [new file with mode: 0644]
kubernetes/message-router/charts/kafka/templates/deployment.yaml [new file with mode: 0644]
kubernetes/message-router/charts/kafka/templates/pv.yaml [new file with mode: 0644]
kubernetes/message-router/charts/kafka/templates/pvc.yaml [new file with mode: 0644]
kubernetes/message-router/charts/kafka/templates/service.yaml [new file with mode: 0644]
kubernetes/message-router/charts/kafka/values.yaml [new file with mode: 0644]
kubernetes/message-router/charts/zookeeper/.helmignore [new file with mode: 0644]
kubernetes/message-router/charts/zookeeper/Chart.yaml [new file with mode: 0644]
kubernetes/message-router/charts/zookeeper/templates/NOTES.txt [new file with mode: 0644]
kubernetes/message-router/charts/zookeeper/templates/deployment.yaml [new file with mode: 0644]
kubernetes/message-router/charts/zookeeper/templates/pv.yaml [new file with mode: 0644]
kubernetes/message-router/charts/zookeeper/templates/pvc.yaml [new file with mode: 0644]
kubernetes/message-router/charts/zookeeper/templates/service.yaml [moved from kubernetes/consul/templates/consul-server-service.yaml with 59% similarity]
kubernetes/message-router/charts/zookeeper/values.yaml [new file with mode: 0644]
kubernetes/message-router/requirements.yaml [new file with mode: 0644]
kubernetes/message-router/resources/config/dmaap/MsgRtrApi.properties
kubernetes/message-router/resources/config/dmaap/cadi.properties
kubernetes/message-router/templates/NOTES.txt [new file with mode: 0644]
kubernetes/message-router/templates/all-services.yaml [deleted file]
kubernetes/message-router/templates/configmap.yaml [new file with mode: 0644]
kubernetes/message-router/templates/deployment.yaml [new file with mode: 0644]
kubernetes/message-router/templates/dmaap-configmap.yaml [deleted file]
kubernetes/message-router/templates/message-router-dmaap.yaml [deleted file]
kubernetes/message-router/templates/message-router-kafka.yaml [deleted file]
kubernetes/message-router/templates/message-router-pv-pvc.yaml [deleted file]
kubernetes/message-router/templates/message-router-zookeeper.yaml [deleted file]
kubernetes/message-router/templates/secrets.yaml [new file with mode: 0644]
kubernetes/message-router/templates/service.yaml [new file with mode: 0644]
kubernetes/message-router/values.yaml
kubernetes/msb/charts/kube2msb/templates/deployment.yaml
kubernetes/msb/charts/kube2msb/values.yaml
kubernetes/msb/charts/msb-discovery/resources/config/log/logback.xml [new file with mode: 0644]
kubernetes/msb/charts/msb-discovery/templates/configmap.yaml [new file with mode: 0644]
kubernetes/msb/charts/msb-discovery/templates/deployment.yaml
kubernetes/msb/charts/msb-eag/resources/config/log/logback.xml [new file with mode: 0644]
kubernetes/msb/charts/msb-eag/templates/configmap.yaml [new file with mode: 0644]
kubernetes/msb/charts/msb-eag/templates/deployment.yaml
kubernetes/msb/charts/msb-iag/resources/config/log/logback.xml [new file with mode: 0644]
kubernetes/msb/charts/msb-iag/templates/configmap.yaml [new file with mode: 0644]
kubernetes/msb/charts/msb-iag/templates/deployment.yaml
kubernetes/msb/resources/config/log/discovery/logback.xml [new file with mode: 0644]
kubernetes/msb/resources/config/log/eag/logback.xml [new file with mode: 0644]
kubernetes/msb/resources/config/log/filebeat/filebeat.yml [moved from kubernetes/mso/resources/config/log/filebeat/filebeat.yml with 94% similarity]
kubernetes/msb/resources/config/log/iag/logback.xml [new file with mode: 0644]
kubernetes/msb/values.yaml
kubernetes/mso/resources/config/docker-files/scripts/start-jboss-server.sh [deleted file]
kubernetes/mso/resources/config/log/logback.apihandler-infra.xml [deleted file]
kubernetes/mso/resources/config/log/logback.appc.xml [deleted file]
kubernetes/mso/resources/config/log/logback.asdc.xml [deleted file]
kubernetes/mso/resources/config/log/logback.bpmn.xml [deleted file]
kubernetes/mso/resources/config/log/logback.msorequestsdbadapter.xml [deleted file]
kubernetes/mso/resources/config/log/logback.network.xml [deleted file]
kubernetes/mso/resources/config/log/logback.sdnc.xml [deleted file]
kubernetes/mso/resources/config/log/logback.tenant.xml [deleted file]
kubernetes/mso/resources/config/log/logback.vfc.xml [deleted file]
kubernetes/mso/resources/config/log/logback.vnf.xml [deleted file]
kubernetes/mso/resources/config/log/logback.workflow-message-adapter.xml [deleted file]
kubernetes/mso/resources/config/mariadb/conf.d/mariadb1.cnf [deleted file]
kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/02-load-additional-changes.sh [deleted file]
kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql [deleted file]
kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql [deleted file]
kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql [deleted file]
kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql [deleted file]
kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mariadb_engine_7.7.3-ee.sql [deleted file]
kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_create_camunda_admin.sql [deleted file]
kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Catalog-schema.sql [deleted file]
kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Requests-schema.sql [deleted file]
kubernetes/mso/resources/config/mso/aai.crt [deleted file]
kubernetes/mso/resources/config/mso/encryption.key [deleted file]
kubernetes/mso/resources/config/mso/jboss/standalone-full-ha-mso.xml [deleted file]
kubernetes/mso/resources/config/mso/mso-docker.json [deleted file]
kubernetes/mso/templates/all-services.yaml [deleted file]
kubernetes/mso/templates/db-deployment-configmap.yaml [deleted file]
kubernetes/mso/templates/db-deployment.yaml [deleted file]
kubernetes/mso/templates/mso-deployment-configmap.yaml [deleted file]
kubernetes/mso/templates/mso-deployment.yaml [deleted file]
kubernetes/mso/templates/mso-pv-pvc.yaml [deleted file]
kubernetes/mso/values.yaml [deleted file]
kubernetes/multicloud/.helmignore [new file with mode: 0644]
kubernetes/multicloud/Chart.yaml
kubernetes/multicloud/charts/multicloud-ocata/.helmignore [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-ocata/Chart.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-ocata/resources/config/log/log.yml [moved from kubernetes/multicloud/resources/config/log/ocata/log.yml with 66% similarity]
kubernetes/multicloud/charts/multicloud-ocata/templates/configmap.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-ocata/templates/deployment.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-ocata/templates/service.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-ocata/values.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-vio/.helmignore [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-vio/Chart.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-vio/resources/config/log/log.yml [moved from kubernetes/multicloud/resources/config/log/vio/log.yml with 100% similarity]
kubernetes/multicloud/charts/multicloud-vio/templates/configmap.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-vio/templates/deployment.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-vio/templates/service.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-vio/values.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-windriver/.helmignore [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-windriver/Chart.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-windriver/resources/config/log/log.yml [moved from kubernetes/multicloud/resources/config/log/windriver/log.yml with 68% similarity]
kubernetes/multicloud/charts/multicloud-windriver/templates/configmap.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-windriver/templates/service.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-windriver/values.yaml [new file with mode: 0644]
kubernetes/multicloud/requirements.yaml [new file with mode: 0644]
kubernetes/multicloud/templates/all-services.yaml [deleted file]
kubernetes/multicloud/templates/configmap.yaml [moved from kubernetes/mso/templates/mso-log-configmap.yaml with 73% similarity]
kubernetes/multicloud/templates/deployment.yaml [new file with mode: 0644]
kubernetes/multicloud/templates/framework-deployment.yaml [deleted file]
kubernetes/multicloud/templates/multicloud-log-configmap.yaml [deleted file]
kubernetes/multicloud/templates/multicloud-ocata-deployment.yaml [deleted file]
kubernetes/multicloud/templates/multicloud-vio-deployment.yaml [deleted file]
kubernetes/multicloud/templates/multicloud-windriver-deployment.yaml [deleted file]
kubernetes/multicloud/templates/service.yaml [new file with mode: 0644]
kubernetes/multicloud/values.yaml
kubernetes/onap/requirements.yaml
kubernetes/onap/resources/environments/dev.yaml
kubernetes/onap/resources/environments/disable-allcharts.yaml [new file with mode: 0644]
kubernetes/onap/values.yaml
kubernetes/policy/charts/drools/charts/nexus/templates/deployment.yaml
kubernetes/policy/charts/drools/charts/nexus/values.yaml
kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/apps-install.sh [new file with mode: 0644]
kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/base.conf
kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/drools-tweaks.sh
kubernetes/policy/charts/drools/templates/statefulset.yaml
kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/music.properties
kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/portal.properties
kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/system.properties
kubernetes/portal/charts/portal-app/templates/deployment.yaml
kubernetes/portal/charts/portal-app/values.yaml
kubernetes/portal/charts/portal-cassandra/templates/pv.yaml [new file with mode: 0644]
kubernetes/portal/charts/portal-cassandra/templates/pvc.yaml [new file with mode: 0644]
kubernetes/portal/charts/portal-cassandra/values.yaml
kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/Apps_Users_OnBoarding_Script.sql [deleted file]
kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/oom_updates.sql [new file with mode: 0644]
kubernetes/portal/charts/portal-mariadb/templates/configmap.yaml
kubernetes/portal/charts/portal-mariadb/templates/deployment.yaml
kubernetes/portal/charts/portal-mariadb/templates/job.yaml [new file with mode: 0644]
kubernetes/portal/charts/portal-mariadb/values.yaml
kubernetes/portal/charts/portal-sdk/resources/config/deliveries/properties/ONAPPORTALSDK/music.properties
kubernetes/portal/charts/portal-sdk/resources/config/deliveries/properties/ONAPPORTALSDK/portal.properties
kubernetes/portal/charts/portal-sdk/resources/config/deliveries/properties/ONAPPORTALSDK/system.properties
kubernetes/portal/charts/portal-sdk/templates/deployment.yaml
kubernetes/portal/charts/portal-sdk/values.yaml
kubernetes/portal/charts/portal-widget/resources/config/deliveries/properties/ONAPWIDGETMS/application.properties
kubernetes/portal/charts/portal-widget/templates/deployment.yaml
kubernetes/portal/charts/portal-widget/values.yaml
kubernetes/portal/docker/init/mariadb-client/Dockerfile
kubernetes/portal/docker/init/mariadb-client/db_migrate.sh [new file with mode: 0644]
kubernetes/portal/values.yaml
kubernetes/robot/resources/config/eteshare/config/vm_properties.py
kubernetes/robot/values.yaml
kubernetes/sdc/charts/sdc-wfd/.helmignore [new file with mode: 0644]
kubernetes/sdc/charts/sdc-wfd/Chart.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-wfd/templates/NOTES.txt [new file with mode: 0644]
kubernetes/sdc/charts/sdc-wfd/templates/deployment.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-wfd/templates/service.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-wfd/values.yaml [new file with mode: 0644]
kubernetes/sdnc/.helmignore [new file with mode: 0644]
kubernetes/sdnc/Chart.yaml
kubernetes/sdnc/charts/dmaap-listener/Chart.yaml [new file with mode: 0644]
kubernetes/sdnc/charts/dmaap-listener/requirements.yaml [new file with mode: 0644]
kubernetes/sdnc/charts/dmaap-listener/resources/config/dhcpalert.properties [moved from kubernetes/sdnc/resources/config/dmaap/dhcpalert.properties with 88% similarity]
kubernetes/sdnc/charts/dmaap-listener/templates/configmap.yaml [moved from kubernetes/sdnc/templates/dmaap-deployment-configmap.yaml with 80% similarity]
kubernetes/sdnc/charts/dmaap-listener/templates/deployment.yaml [moved from kubernetes/sdnc/templates/dmaap-deployment.yaml with 51% similarity]
kubernetes/sdnc/charts/dmaap-listener/templates/service.yaml [moved from kubernetes/sdnc/templates/mysql-configmap.yaml with 64% similarity]
kubernetes/sdnc/charts/dmaap-listener/values.yaml [new file with mode: 0644]
kubernetes/sdnc/charts/sdnc-portal/.helmignore [new file with mode: 0644]
kubernetes/sdnc/charts/sdnc-portal/Chart.yaml [moved from kubernetes/mso/Chart.yaml with 90% similarity]
kubernetes/sdnc/charts/sdnc-portal/requirements.yaml [new file with mode: 0644]
kubernetes/sdnc/charts/sdnc-portal/resources/config/admportal.json [moved from kubernetes/sdnc/resources/config/conf/admportal.json with 94% similarity, mode: 0644]
kubernetes/sdnc/charts/sdnc-portal/templates/configmap.yaml [moved from kubernetes/sdnc/templates/sdnc-conf-configmap.yaml with 77% similarity]
kubernetes/sdnc/charts/sdnc-portal/templates/deployment.yaml [new file with mode: 0644]
kubernetes/sdnc/charts/sdnc-portal/templates/secrets.yaml [new file with mode: 0644]
kubernetes/sdnc/charts/sdnc-portal/templates/service.yaml [new file with mode: 0644]
kubernetes/sdnc/charts/sdnc-portal/values.yaml [new file with mode: 0644]
kubernetes/sdnc/charts/ueb-listener/Chart.yaml [new file with mode: 0644]
kubernetes/sdnc/charts/ueb-listener/requirements.yaml [new file with mode: 0644]
kubernetes/sdnc/charts/ueb-listener/resources/config/ueb-listener.properties [moved from kubernetes/sdnc/resources/config/ueb/ueb-listener.properties with 91% similarity]
kubernetes/sdnc/charts/ueb-listener/templates/configmap.yaml [moved from kubernetes/sdnc/templates/ueb-deployment-configmap.yaml with 81% similarity]
kubernetes/sdnc/charts/ueb-listener/templates/deployment.yaml [moved from kubernetes/sdnc/templates/ueb-deployment.yaml with 53% similarity]
kubernetes/sdnc/charts/ueb-listener/templates/service.yaml [new file with mode: 0644]
kubernetes/sdnc/charts/ueb-listener/values.yaml [new file with mode: 0644]
kubernetes/sdnc/requirements.yaml [new file with mode: 0644]
kubernetes/sdnc/resources/config/bin/installSdncDb.sh [new file with mode: 0644]
kubernetes/sdnc/resources/config/bin/startODL.sh [new file with mode: 0755]
kubernetes/sdnc/resources/config/conf/aaiclient.properties
kubernetes/sdnc/resources/config/conf/dblib.properties [new file with mode: 0644]
kubernetes/sdnc/resources/config/conf/svclogic.properties [moved from kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/01-load-default-sql-files.sh with 57% similarity]
kubernetes/sdnc/resources/config/log/org.ops4j.pax.logging.cfg
kubernetes/sdnc/resources/geo/bin/sdnc.cluster [new file with mode: 0755]
kubernetes/sdnc/resources/geo/bin/sdnc.failover [new file with mode: 0755]
kubernetes/sdnc/resources/geo/bin/sdnc.isPrimaryCluster [new file with mode: 0755]
kubernetes/sdnc/resources/geo/bin/switchVoting.sh [new file with mode: 0755]
kubernetes/sdnc/templates/all-services.yaml [deleted file]
kubernetes/sdnc/templates/configmap.yaml [new file with mode: 0644]
kubernetes/sdnc/templates/db-statefulset.yaml [deleted file]
kubernetes/sdnc/templates/dgbuilder-deployment.yaml [deleted file]
kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml [deleted file]
kubernetes/sdnc/templates/sdnc-data-storageclass.yaml [deleted file]
kubernetes/sdnc/templates/sdnc-log-configmap.yaml [deleted file]
kubernetes/sdnc/templates/sdnc-statefulset.yaml [deleted file]
kubernetes/sdnc/templates/secrets.yaml [new file with mode: 0644]
kubernetes/sdnc/templates/service.yaml [new file with mode: 0644]
kubernetes/sdnc/templates/statefulset.yaml [new file with mode: 0644]
kubernetes/sdnc/templates/web-deployment.yaml [deleted file]
kubernetes/sdnc/values.yaml
kubernetes/uui/templates/service.yaml
kubernetes/vfc/Chart.yaml
kubernetes/vfc/charts/vfc-catalog/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-catalog/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-catalog/resources/config/logging/log.yml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-catalog/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-catalog/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-catalog/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-catalog/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-ems-driver/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-ems-driver/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-ems-driver/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-ems-driver/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-ems-driver/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-generic-vnfm-driver/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-generic-vnfm-driver/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-generic-vnfm-driver/resources/config/logging/log.yml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-generic-vnfm-driver/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-generic-vnfm-driver/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-generic-vnfm-driver/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-generic-vnfm-driver/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/resources/config/logging/log4j.properties [new file with mode: 0644]
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-juju-vnfm-driver/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-juju-vnfm-driver/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-juju-vnfm-driver/resources/config/logging/log4j.properties [new file with mode: 0644]
kubernetes/vfc/charts/vfc-juju-vnfm-driver/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-juju-vnfm-driver/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-juju-vnfm-driver/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-juju-vnfm-driver/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-multivim-proxy/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-multivim-proxy/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-multivim-proxy/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-multivim-proxy/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-multivim-proxy/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-vnfm-driver/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-vnfm-driver/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-vnfm-driver/resources/config/logging/logback.xml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-vnfm-driver/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-vnfm-driver/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-vnfm-driver/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nokia-vnfm-driver/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nslcm/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nslcm/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nslcm/resources/config/logging/log.yml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nslcm/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nslcm/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nslcm/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-nslcm/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-resmgr/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-resmgr/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-resmgr/resources/config/logging/log4j.properties [new file with mode: 0644]
kubernetes/vfc/charts/vfc-resmgr/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-resmgr/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-resmgr/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-resmgr/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnflcm/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnflcm/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnflcm/resources/config/logging/log.yml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnflcm/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnflcm/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnflcm/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnflcm/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfmgr/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfmgr/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfmgr/resources/config/logging/log.yml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfmgr/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfmgr/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfmgr/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfmgr/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfres/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfres/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfres/resources/config/logging/log.yml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfres/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfres/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfres/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-vnfres/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-workflow-engine/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-workflow-engine/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-workflow-engine/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-workflow-engine/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-workflow-engine/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-workflow/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-workflow/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-workflow/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-workflow/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-workflow/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-sdnc-driver/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-sdnc-driver/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-sdnc-driver/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-sdnc-driver/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-sdnc-driver/values.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-vnfm-driver/.helmignore [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-vnfm-driver/Chart.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-vnfm-driver/resources/config/logging/log.yml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-vnfm-driver/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-vnfm-driver/templates/deployment.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-vnfm-driver/templates/service.yaml [new file with mode: 0644]
kubernetes/vfc/charts/vfc-zte-vnfm-driver/values.yaml [new file with mode: 0644]
kubernetes/vfc/requirements.yaml [new file with mode: 0644]
kubernetes/vfc/resources/config/logging/filebeat/filebeat.yml [new file with mode: 0644]
kubernetes/vfc/templates/all-services.yaml [deleted file]
kubernetes/vfc/templates/configmap.yaml [new file with mode: 0644]
kubernetes/vfc/templates/vfc-catalog-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-emsdriver-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-gvnfmdriver-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-hwvnfmdriver-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-jujudriver-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-nokiavnfmdriver-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-nslcm-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-resmgr-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-vnflcm-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-vnfmgr-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-vnfres-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-workflow-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-workflow-engine-activity.yaml [deleted file]
kubernetes/vfc/templates/vfc-ztesdncdriver-deployment.yaml [deleted file]
kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml [deleted file]
kubernetes/vfc/values.yaml

index 4dcd874..9656519 100644 (file)
@@ -1,5 +1,16 @@
+# Application
 kubernetes/config/onap-parameters.yaml
-.idea/*
 kubernetes/dist/*
 requirements.lock
 **/charts/*.tgz
+
+
+# Eclipse
+.classpath
+.factorypath
+.project
+.settings/
+
+# IntelliJ
+.idea/*
+*.iml
index 97b2fde..5dd6b57 100644 (file)
@@ -48,7 +48,48 @@ The OOM team with assistance from the ONAP project teams, have built a
 comprehensive set of Helm charts, yaml files very similar to TOSCA files, that
 describe the composition of each of the ONAP components and the relationship
 within and between components. Using this model Helm is able to deploy all of
-ONAP this simple command::
+ONAP with a few simple commands.
+
+Pre-requisites
+--------------
+Your environment must have both the Kubernetes `kubectl` and Helm setup as a one time activity.
+
+Install Kubectl
+~~~~~~~~~~~~~~~
+Enter the following to install kubectl (on Ubuntu, there are slight differences on other O/Ss), the Kubernetes command line interface used to manage a Kubernetes cluster::
+
+  > curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.8.6/bin/linux/amd64/kubectl
+  > chmod +x ./kubectl
+  > sudo mv ./kubectl /usr/local/bin/kubectl
+  > mkdir ~/.kube
+
+Paste kubectl config from Rancher (see the :ref:`cloud-setup-guide-label` for alternative Kubenetes environment setups) into the `~/.kube/config` file.
+
+Verify that the Kubernetes config is correct::
+
+  > kubectl get pods --all-namespaces
+
+At this point you should see six Kubernetes pods running.
+
+Install Helm
+~~~~~~~~~~~~
+Helm is used by OOM for package and configuration management. To install Helm, enter the following::
+
+  > wget http://storage.googleapis.com/kubernetes-helm/helm-v2.7.2-linux-amd64.tar.gz
+  > tar -zxvf helm-v2.7.2-linux-amd64.tar.gz
+  > sudo mv linux-amd64/helm /usr/local/bin/helm
+
+Verify the Helm version with::
+
+  > helm version
+
+Install the Helm Tiller application and initialize with::
+
+  > helm init
+
+Install the Helm Repo
+---------------------
+Once kubectl and Helm are setup, one needs to setup a local Helm server to server up the ONAP charts::
 
   > helm install osn/onap
 
@@ -68,10 +109,12 @@ stable which should be removed to avoid confusion::
 To prepare your system for an installation of ONAP, you'll need to::
 
   > git clone http://gerrit.onap.org/r/oom
-  > cd kubernetes
+  > cd oom/kubernetes
+
 
 To setup a local Helm server to server up the ONAP charts::
 
+  > helm init
   > helm serve &
 
 Note the port number that is listed and use it in the Helm repo add as follows::
@@ -104,13 +147,13 @@ In any case, setup of the Helm repository is a one time activity.
 
 Once the repo is setup, installation of ONAP can be done with a single command::
 
-  > helm install local/onap -name development
+  > helm install local/onap --name development
 
 This will install ONAP from a local repository in a 'development' Helm release.
 As described below, to override the default configuration values provided by
 OOM, an environment file can be provided on the command line as follows::
 
-  > helm install local/onap -name development -f onap-development.yaml
+  > helm install local/onap --name development -f onap-development.yaml
 
 To get a summary of the status of all of the pods (containers) running in your
 deployment::
@@ -127,7 +170,7 @@ deployment::
   was created for each of the ONAP components.
 
 .. note::
-  The Helm `-name` option refers to a release name and not a Kubernetes namespace.
+  The Helm `--name` option refers to a release name and not a Kubernetes namespace.
 
 
 To install a specific version of a single ONAP component (`so` in this example)
index 80b99b2..15e574f 100644 (file)
@@ -36,7 +36,7 @@ spec:
       hostname: {{ include "common.name" . }}
       containers:
       - args:
-        image: "{{ .Values.repository | default .Values.global.repository }}/{{ .Values.image }}"
+        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}
         volumeMounts:
index ea5445f..89b83cd 100644 (file)
 global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
-  
-# If mountPath is over NFS (e.g. /dockerdata-nfs is NFS mounted between the nodes), uncomment following lines.
-#  persistence:
-#    mountPath: /dockerdata
+
 
 #################################################################
 # Application configuration defaults.
diff --git a/kubernetes/aaf/charts/sms/Chart.yaml b/kubernetes/aaf/charts/sms/Chart.yaml
new file mode 100644 (file)
index 0000000..962ef38
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP Secret Management Service
+name: sms
+version: 2.0.0
diff --git a/kubernetes/aaf/charts/sms/charts/vault/Chart.yaml b/kubernetes/aaf/charts/sms/charts/vault/Chart.yaml
new file mode 100644 (file)
index 0000000..bf1af99
--- /dev/null
@@ -0,0 +1,19 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: Chart to launch Vault as SMS backend
+name: vault
+appVersion: 0.9.5
+version: 2.0.0
diff --git a/kubernetes/aaf/charts/sms/charts/vault/templates/configmap.yaml b/kubernetes/aaf/charts/sms/charts/vault/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..daf8cad
--- /dev/null
@@ -0,0 +1,41 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-vault
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+  config.json: |
+    {{ .Values.config.vault | toJson }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-consul
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+  config.json: |
+    {{ .Values.config.consul | toJson }}
diff --git a/kubernetes/aaf/charts/sms/charts/vault/templates/pv.yaml b/kubernetes/aaf/charts/sms/charts/vault/templates/pv.yaml
new file mode 100644 (file)
index 0000000..37ed28e
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
\ No newline at end of file
diff --git a/kubernetes/aaf/charts/sms/charts/vault/templates/pvc.yaml b/kubernetes/aaf/charts/sms/charts/vault/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..e6aacd1
--- /dev/null
@@ -0,0 +1,48 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+  annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+  selector:
+    matchLabels:
+      name: {{ include "common.fullname" . }}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  resources:
+    requests:
+      storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
diff --git a/kubernetes/aaf/charts/sms/charts/vault/templates/service.yaml b/kubernetes/aaf/charts/sms/charts/vault/templates/service.yaml
new file mode 100644 (file)
index 0000000..1ba8580
--- /dev/null
@@ -0,0 +1,39 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+  - name: {{ .Values.service.name }}
+    {{if eq .Values.service.type "NodePort" -}}
+    port: {{ .Values.service.internalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
+    {{- else -}}
+    port: {{ .Values.service.externalPort }}
+    targetPort: {{ .Values.service.internalPort }}
+    {{- end}}
+    protocol: TCP
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/aaf/charts/sms/charts/vault/templates/statefulset.yaml b/kubernetes/aaf/charts/sms/charts/vault/templates/statefulset.yaml
new file mode 100644 (file)
index 0000000..26f0304
--- /dev/null
@@ -0,0 +1,78 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1beta1
+kind: StatefulSet
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  serviceName:
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: "{{ include "common.repository" . }}/{{ .Values.image.vault }}"
+        name: {{ include "common.name" . }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command: ["vault","server","-config","/vault/config/config.json"]
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        volumeMounts:
+        - mountPath: /vault/config/config.json
+          name: {{ include "common.fullname" . }}-vault
+          subPath: config.json
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+
+      - image: "{{ include "common.repository" . }}/{{ .Values.image.consul }}"
+        name: {{ include "common.name" . }}-backend
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command: ["consul","agent","-server","-client","0.0.0.0","-bootstrap-expect=1","-config-file","/consul/config/config.json"]
+        ports:
+        - name: http
+          containerPort: 8500
+        volumeMounts:
+        - mountPath: /consul/data
+          name: {{ include "common.fullname" . }}-consuldata
+        - mountPath: /consul/config/config.json
+          name: {{ include "common.fullname" . }}-consulconfiguration
+          subPath: config.json
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+      volumes:
+        - name: {{ include "common.fullname" . }}-consuldata
+          persistentVolumeClaim:
+            claimName: {{ include "common.fullname" . }}
+        - name: {{ include "common.fullname" . }}-consulconfiguration
+          configMap:
+            name: {{ include "common.fullname" . }}-consul
+        - name: {{ include "common.fullname" . }}-vault
+          configMap:
+            name: {{ include "common.fullname" . }}-vault
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+
diff --git a/kubernetes/aaf/charts/sms/charts/vault/values.yaml b/kubernetes/aaf/charts/sms/charts/vault/values.yaml
new file mode 100644 (file)
index 0000000..331bc43
--- /dev/null
@@ -0,0 +1,112 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  persistence: {}
+
+# application image
+repository: docker.io
+image:
+  consul: consul:1.0.6
+  vault: vault:0.9.6
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+config:
+  consul:
+    server: true
+    log_level: INFO
+    server: true
+    data_dir: '/consul/data'
+    ports:
+      http: 8500
+      https: -1
+
+  vault:
+    storage:
+      consul:
+        address: localhost:8500
+        path: smsvault
+    listener:
+      tcp:
+        address: '[::]:8200'
+        tls_disable: true
+    disable_mlock: true
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+persistence:
+  enabled: true
+
+  volumeReclaimPolicy: Retain
+
+  accessMode: ReadWriteMany
+  size: 2Gi
+  mountPath: /dockerdata-nfs
+  mountSubPath: sms/consul/data
+
+service:
+  type: NodePort
+  name: aaf-sms-db
+  internalPort: 8200
+  nodePort: 44
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/aaf/charts/sms/templates/configmap.yaml b/kubernetes/aaf/charts/sms/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..72ce6fb
--- /dev/null
@@ -0,0 +1,27 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+  smsconfig.json: |
+    {{ .Values.config | toJson }}
diff --git a/kubernetes/aaf/charts/sms/templates/deployment.yaml b/kubernetes/aaf/charts/sms/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..e5381a0
--- /dev/null
@@ -0,0 +1,78 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: "{{ .Values.repository }}/{{ .Values.image }}"
+        name: {{ include "common.name" . }}
+        imagePullPolicy: {{ .Values.pullPolicy }}
+        command: ["/sms/bin/sms"]
+        workingDir: /sms/
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        {{- if eq .Values.liveness.enabled true }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+        {{ end -}}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+        volumeMounts:
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: /sms/smsconfig.json
+            name: {{ include "common.name" .}}
+            subPath: smsconfig.json
+        resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      volumes:
+      - name: localtime
+        hostPath:
+          path: /etc/localtime
+      - name : {{ include "common.name" . }}
+        configMap:
+          name: {{ include "common.fullname" . }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aaf/charts/sms/templates/service.yaml b/kubernetes/aaf/charts/sms/templates/service.yaml
new file mode 100644 (file)
index 0000000..1ba8580
--- /dev/null
@@ -0,0 +1,39 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+  - name: {{ .Values.service.name }}
+    {{if eq .Values.service.type "NodePort" -}}
+    port: {{ .Values.service.internalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
+    {{- else -}}
+    port: {{ .Values.service.externalPort }}
+    targetPort: {{ .Values.service.internalPort }}
+    {{- end}}
+    protocol: TCP
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/aaf/charts/sms/values.yaml b/kubernetes/aaf/charts/sms/values.yaml
new file mode 100644 (file)
index 0000000..92ef2ac
--- /dev/null
@@ -0,0 +1,95 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.1
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/aaf/sms
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+# Example:
+config:
+  smsdbaddress: "http://aaf-sms-db:8200"
+  cafile: "/sms/auth/selfsignedca.pem"
+  servercert: "/sms/auth/server.cert"
+  serverkey: "/sms/auth/server.key"
+  disable_tls: true
+
+# subchart configuration
+vault:
+  nameOverride: smsdb
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 20
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 20
+
+service:
+  type: NodePort
+  name: aaf-sms
+  internalPort: 10443
+  nodePort: 43
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
index 03506b5..2a4e7d2 100644 (file)
@@ -52,7 +52,7 @@ spec:
       - env:
         - name: CASSANDRA_CLUSTER
           value: cassandra_container
-        image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         volumeMounts:
         - mountPath: /data
index 4f9c1c6..ffdfaa5 100644 (file)
@@ -17,7 +17,6 @@
 #################################################################
 global:
   nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
   readinessImage: readiness-check:1.1.0
similarity index 92%
rename from kubernetes/aai/charts/champ/Chart.yaml
rename to kubernetes/aai/charts/aai-babel/Chart.yaml
index a4ee888..3b0e33f 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: Champ microservice
-name: champ
+description: Babel microservice
+name: aai-babel
 version: 2.0.0
diff --git a/kubernetes/aai/charts/aai-babel/resources/config/artifact-generator.properties b/kubernetes/aai/charts/aai-babel/resources/config/artifact-generator.properties
new file mode 100644 (file)
index 0000000..1d7e5fa
--- /dev/null
@@ -0,0 +1,264 @@
+#action widget details
+AAI.model-version-id.action=fd7fb09e-d930-41b9-b83f-cfde9df48640
+AAI.model-invariant-id.action=af593b4b-490e-4665-ad74-2f6351c0a7ce
+#action-data widget details
+AAI.model-invariant-id.action-data=9551346c-7d8b-4daf-9926-b93e96e2344a
+AAI.model-version-id.action-data=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd
+#allotted-resource widget details
+AAI.model-invariant-id.allotted-resource=f6d6a23d-a1a9-48ff-8419-b6530da2d381
+AAI.model-version-id.allotted-resource=7ad0915f-25c0-4a70-b9bc-185a75f87564
+#availability-zone widget details
+AAI.model-version-id.availability-zone=6c092fb1-21b2-456b-9e01-67fb4de1896e
+AAI.model-invariant-id.availability-zone=61b88c01-d819-41c0-8e21-7fd7ba47148e
+#az-and-dvs-switches widget details
+AAI.model-version-id.az-and-dvs-switches=b2dea88d-78a0-49bf-95c9-5819df08e966
+AAI.model-invariant-id.az-and-dvs-switches=53dc00d4-e6d9-48ec-b6cc-3d3797e9b896
+#class-of-service widget details
+AAI.model-version-id.class-of-service=d2fb27cc-15eb-4c4e-828e-71d41aaecc5b
+AAI.model-invariant-id.class-of-service=18094b19-d16d-4822-8acf-e92c6aefa178
+#cloud-region widget details
+AAI.model-version-id.cloud-region=2a160989-b202-47dd-874b-4a0f275998f7
+AAI.model-invariant-id.cloud-region=425b2158-e51d-4509-9945-dad4556474a3
+#complex widget details
+AAI.model-invariant-id.complex=af91c2f7-35fc-43cf-a13d-443f385b2353
+AAI.model-version-id.complex=3a8ab1ee-9220-4fe8-b89c-9251d160ddc2
+#connector widget details
+AAI.model-version-id.connector=22104c9f-29fd-462f-be07-96cd6b46dd33
+AAI.model-invariant-id.connector=4c01c948-7607-4d66-8a6c-99c2c2717936
+#constrained-element-set widget details
+AAI.model-invariant-id.constrained-element-set=c0292b4f-ee97-40cc-8c2e-f967c48f5701
+AAI.model-version-id.constrained-element-set=01102126-9c04-4a89-945b-b131e61e95d7
+#ctag-assignment widget details
+AAI.model-version-id.ctag-assignment=44e5cb1f-0938-41aa-b766-d4595109fe89
+AAI.model-invariant-id.ctag-assignment=fcb8d46b-b656-4ad6-8fa4-22cef74b443f
+#ctag-pool widget details
+AAI.model-invariant-id.ctag-pool=46c51d4e-d67e-4a9c-b1f5-49b1e9c6fcaa
+AAI.model-version-id.ctag-pool=2056c41f-23b9-4de7-9f50-819adad37d76
+#customer widget details
+AAI.model-invariant-id.customer=c1d4305f-cdbd-4bbe-9069-a2f4978fd89e
+AAI.model-version-id.customer=d4df5c27-98a1-4812-a8aa-c17f055b7a3f
+#cvlan-tag-entry widget details
+AAI.model-version-id.cvlan-tag-entry=c3878ffb-8d85-4114-bee6-e4074a9db10b
+AAI.model-invariant-id.cvlan-tag-entry=245cf4b0-7cc5-4eea-bbd9-753e939adcab
+#dvs-switch widget details
+AAI.model-invariant-id.dvs-switch=98fbb471-1f86-428e-bd8a-c8a25de6fa23
+AAI.model-version-id.dvs-switch=4cb44ae8-e3ab-452a-9f95-bcc8a44c55ea
+#edge-prop-names widget details
+AAI.model-invariant-id.edge-prop-names=7a08cad4-8759-46a5-8245-095d1ba57ac6
+AAI.model-version-id.edge-prop-names=f0442326-8201-4d0e-857c-74b4ddcbfc9f
+#element-choice-set widget details
+AAI.model-invariant-id.element-choice-set=9a011958-7165-47a3-b872-00951d1f09ae
+AAI.model-version-id.element-choice-set=af27fbfd-598d-44da-aeae-0f9d3a5fcd6a
+#entitlement widget details
+AAI.model-version-id.entitlement=7e27ba2e-b7db-4e13-9fae-d142152ef98a
+AAI.model-invariant-id.entitlement=ae75b5a0-d5e1-4f3a-b8fb-37626a753da3
+#flavor widget details
+AAI.model-invariant-id.flavor=bace8d1c-a261-4041-9e37-823117415d0f
+AAI.model-version-id.flavor=36200fb5-f251-4f5d-a520-7c5ad5c2cd4b
+#generic-vnf widget details
+AAI.model-version-id.generic-vnf=93a6166f-b3d5-4f06-b4ba-aed48d009ad9
+AAI.model-invariant-id.generic-vnf=acc6edd8-a8d4-4b93-afaa-0994068be14c
+#group-assignment widget details
+AAI.model-invariant-id.group-assignment=7cc05f25-7ba2-42b7-a237-c5662a1689e1
+AAI.model-version-id.group-assignment=fe578080-ce19-4604-8760-fc264fbb2565
+#image widget details
+AAI.model-version-id.image=f6a038c2-820c-42ba-8c2b-375e24e8f932
+AAI.model-invariant-id.image=3f4c7204-739b-4bbb-87a7-8a6856439c90
+#include-node-filter widget details
+AAI.model-invariant-id.include-node-filter=2a2d8ad2-af0a-4e1f-9982-0c899e7dc827
+AAI.model-version-id.include-node-filter=f05f804d-7057-4ffe-bdc5-39f2f0c9c9fd
+#instance-group widget details
+AAI.model-version-id.instance-group=8e6ee9dc-9017-444a-83b3-219edb018128
+AAI.model-invariant-id.instance-group=3bf1e610-45f7-4ad6-b833-ca4c5ee6a3fd
+#inventory-item widget details
+AAI.model-invariant-id.inventory-item=cd57d844-9017-4078-aa19-926935a3d77c
+AAI.model-version-id.inventory-item=69957f4a-2155-4b95-8d72-d6dd9b88b27b
+#inventory-item-data widget details
+AAI.model-version-id.inventory-item-data=0e54bb87-bd6e-4a2b-ad1c-6d935b87ae51
+AAI.model-invariant-id.inventory-item-data=87a383ae-cf03-432e-a9de-04e6a622d0fd
+#ipsec-configuration widget details
+AAI.model-invariant-id.ipsec-configuration=aca4c310-cb45-42bd-9f88-73e40ba7b962
+AAI.model-version-id.ipsec-configuration=d949fd10-36bf-408a-ac7a-cad5004d2e0d
+#key-data widget details
+AAI.model-version-id.key-data=c23ea04d-1a3b-453d-bc49-a6c783a5e92b
+AAI.model-invariant-id.key-data=f5faa464-c2f2-4cc3-89d2-a90452dc3a07
+#l3-interface-ipv4-address-list widget details
+AAI.model-version-id.l3-interface-ipv4-address-list=41e76b6f-1e06-4fd4-82cd-81c50fc4574b
+AAI.model-invariant-id.l3-interface-ipv4-address-list=aad85df2-09be-40fa-b867-16415e4e10e2
+#l3-interface-ipv6-address-list widget details
+AAI.model-invariant-id.l3-interface-ipv6-address-list=82966045-43ee-4982-8307-7e9610866140
+AAI.model-version-id.l3-interface-ipv6-address-list=d040621d-541a-477b-bb1b-a2b61b14e295
+#l3-network widget details
+AAI.model-version-id.l3-network=9111f20f-e680-4001-b83f-19a2fc23bfc1
+AAI.model-invariant-id.l3-network=3d560d81-57d0-438b-a2a1-5334dba0651a
+#lag-interface widget details
+AAI.model-version-id.lag-interface=ce95f7c3-b61b-4758-ae9e-7e943b1c103d
+AAI.model-invariant-id.lag-interface=e0ee9bde-c1fc-4651-a95d-8e0597bf7d70
+#lag-link widget details
+AAI.model-version-id.lag-link=d29a087a-af59-4053-a3f8-0f95a92faa75
+AAI.model-invariant-id.lag-link=86ffe6e5-4d0e-4cec-80b5-5c38aa3eff98
+#license widget details
+AAI.model-invariant-id.license=b9a9b337-1f86-42d3-b9f9-f987a089507c
+AAI.model-version-id.license=6889274b-a1dc-40ab-9090-93677e13e2e6
+#license-key-resource widget details
+AAI.model-invariant-id.license-key-resource=9022ebfe-b54f-4911-a6b2-8c3f5ec189b7
+AAI.model-version-id.license-key-resource=24b25f8c-b8bd-4c62-9421-87c12667aac9
+#l-interface widget details
+AAI.model-version-id.l-interface=a32613fd-18b9-459e-aab8-fffb3912966a
+AAI.model-invariant-id.l-interface=cea0a982-8d55-4093-921e-418fbccf7060
+#logical-link widget details
+AAI.model-version-id.logical-link=a1481a38-f8ba-4ae4-bdf1-06c2c6af4c54
+AAI.model-invariant-id.logical-link=fe012535-2c31-4a39-a739-612374c638a0
+#metadatum widget details
+AAI.model-invariant-id.metadatum=86dbb63a-265e-4614-993f-6771c30b56a5
+AAI.model-version-id.metadatum=6bae950e-8939-41d3-a6a7-251b03e4c1fc
+#model widget details
+AAI.model-invariant-id.model=06d1418a-5faa-452d-a94b-a2829df5f67b
+AAI.model-version-id.model=1f51c05c-b164-4c27-9c03-5cbb239fd6be
+#model-constraint widget details
+AAI.model-invariant-id.model-constraint=c28966f3-e758-4483-b37b-a90b05d3dd33
+AAI.model-version-id.model-constraint=ad70dd19-f156-4fb5-a865-97b5563b0d37
+#model-element widget details
+AAI.model-invariant-id.model-element=2076e726-3577-477a-a300-7fa65cd4df11
+AAI.model-version-id.model-element=753e813a-ba9e-4a1d-ab34-b2f6dc6eec0c
+#multicast-configuration widget details
+AAI.model-invariant-id.multicast-configuration=ea78c9e3-514d-4a0a-9162-13837fa54c35
+AAI.model-version-id.multicast-configuration=666a06ee-4b57-46df-bacf-908da8f10c3f
+#named-query widget details
+AAI.model-version-id.named-query=5c3b7c33-afa3-4be5-8da7-1a5ac6f99896
+AAI.model-invariant-id.named-query=80b712fd-0ad3-4180-a99c-8c995cf1cc32
+#named-query-element widget details
+AAI.model-version-id.named-query-element=204c641a-3494-48c8-979a-86856f5fd32a
+AAI.model-invariant-id.named-query-element=3c504d40-b847-424c-9d25-4fb7e0a3e994
+#network-policy widget details
+AAI.model-invariant-id.network-policy=6aa05779-94d7-4d8b-9bee-59ef2ab0c246
+AAI.model-version-id.network-policy=a0ccd9dc-7062-4940-9bcc-e91dd28af510
+#network-profile widget details
+AAI.model-version-id.network-profile=01f45471-4240-498c-a9e1-235dc0b8b4a6
+AAI.model-invariant-id.network-profile=2734b44a-b8a2-40f6-957d-6256589e5d00
+#newvce widget details
+AAI.model-version-id.newvce=7c79e11f-a408-4593-aa86-ba948a1236af
+AAI.model-invariant-id.newvce=4b05ec9c-c55d-4987-83ff-e08d6ddb694f
+#oam-network widget details
+AAI.model-invariant-id.oam-network=2851cf01-9c40-4064-87d4-6184a6fcff35
+AAI.model-version-id.oam-network=f4fb34f3-fd6e-4a8f-a3fb-4ab61a343b79
+#physical-link widget details
+AAI.model-invariant-id.physical-link=c822d81f-822f-4304-9623-1025b53da568
+AAI.model-version-id.physical-link=9c523936-95b4-4d7f-9f53-6bdfe0cf2c05
+#p-interface widget details
+AAI.model-invariant-id.p-interface=94043c37-4e73-439c-a790-0fdd697924cd
+AAI.model-version-id.p-interface=d2cdb2d0-fc1f-4a57-a89e-591b1c4e3754
+#pnf widget details
+AAI.model-version-id.pnf=e9f1fa7d-c839-418a-9601-03dc0d2ad687
+AAI.model-invariant-id.pnf=862b25a1-262a-4961-bdaa-cdc55d69785a
+#port-group widget details
+AAI.model-version-id.port-group=03e8bb6b-b48a-46ae-b5d4-e5af577e6844
+AAI.model-invariant-id.port-group=8ce940fb-55d7-4230-9e7f-a56cc2741f77
+#property-constraint widget details
+AAI.model-version-id.property-constraint=81706bbd-981e-4362-ae20-995cbcb2d995
+AAI.model-invariant-id.property-constraint=f4a863c3-6886-470a-a6ae-05723837ea45
+#pserver widget details
+AAI.model-invariant-id.pserver=6d932c8f-463b-4e76-83fb-87acfbaa2e2d
+AAI.model-version-id.pserver=72f0d495-bc27-4653-9e1a-eef76bd34bc9
+#related-lookup widget details
+AAI.model-invariant-id.related-lookup=468f6f5b-2996-41bb-b2a3-7cf9613ebb9b
+AAI.model-version-id.related-lookup=0988bab5-bf4f-4938-a419-ab249867d12a
+#reserved-prop-names widget details
+AAI.model-invariant-id.reserved-prop-names=0c3e0ba3-618c-498d-9127-c8d42b00170f
+AAI.model-version-id.reserved-prop-names=ac49d26d-9163-430e-934a-13b738a04f5c
+#result-data widget details
+AAI.model-version-id.result-data=4e9b50aa-5227-4f6f-b489-62e6bbc03c79
+AAI.model-invariant-id.result-data=ff656f23-6185-406f-9006-4b26834f3e1c
+#route-table-reference widget details
+AAI.model-version-id.route-table-reference=fed7e326-03a7-45ff-a3f2-471470d268c4
+AAI.model-invariant-id.route-table-reference=a8614b63-2636-4c4f-98df-fd448c4241db
+#routing-instance widget details
+AAI.model-invariant-id.routing-instance=1c2ded4f-8b01-4193-829c-966847dfec3e
+AAI.model-version-id.routing-instance=3ccbcbc7-d19e-44d5-a52f-7e18aa8d69fa
+#secondary-filter widget details
+AAI.model-version-id.secondary-filter=1380619d-dd1a-4cec-b755-c6407833e065
+AAI.model-invariant-id.secondary-filter=738ff299-6290-4c00-8998-bd0e96a07b93
+#segmentation-assignment widget details
+AAI.model-invariant-id.segmentation-assignment=6e814aee-46e1-4583-a9d4-0049bfd2b59b
+AAI.model-version-id.segmentation-assignment=c5171ae0-44fb-4c04-b482-d56702241a44
+#service widget details
+AAI.model-version-id.service=ecce2c42-3957-4ae0-9442-54bc6afe27b6
+AAI.model-invariant-id.service=07a3a60b-1b6c-4367-8173-8014386f89e3
+#service-capability widget details
+AAI.model-invariant-id.service-capability=b1a7cc05-d19d-443b-a5d1-733e325c4232
+AAI.model-version-id.service-capability=f9cfec1b-18da-4bba-bd83-4b26cca115cd
+#service-instance widget details
+AAI.model-invariant-id.service-instance=82194af1-3c2c-485a-8f44-420e22a9eaa4
+AAI.model-version-id.service-instance=46b92144-923a-4d20-b85a-3cbd847668a9
+#service-subscription widget details
+AAI.model-invariant-id.service-subscription=2e1a602a-acd8-4f78-94ff-618b802a303b
+AAI.model-version-id.service-subscription=5e68299a-79f2-4bfb-8fbc-2bae877a2459
+#site-pair widget details
+AAI.model-version-id.site-pair=7106bc02-6552-4fc3-8a56-4f3df9034531
+AAI.model-invariant-id.site-pair=db63f3e6-f8d1-484e-8d5e-191600b7914b
+#site-pair-set widget details
+AAI.model-invariant-id.site-pair-set=5d4dae3e-b402-4bfd-909e-ece12ff75d26
+AAI.model-version-id.site-pair-set=a5c6c1bc-dc38-468e-9459-bb08f87247df
+#snapshot widget details
+AAI.model-version-id.snapshot=962a7c8b-687f-4d32-a775-fe098e214bcd
+AAI.model-invariant-id.snapshot=24de00ef-aead-4b52-995b-0adf8d4bd90d
+#sriov-vf widget details
+AAI.model-version-id.sriov-vf=1e8b331f-3d4a-4160-b7aa-f4d5a8916625
+AAI.model-invariant-id.sriov-vf=04b2935f-33c4-40a9-8af0-8b52690042dc
+#start-node-filter widget details
+AAI.model-version-id.start-node-filter=aad96fd3-e75f-42fc-9777-3450c36f1168
+AAI.model-invariant-id.start-node-filter=083093a3-e407-447a-ba5d-7583e4d23e1d
+#subnet widget details
+AAI.model-version-id.subnet=f902a6bc-6be4-4fe5-8458-a6ec0056b374
+AAI.model-invariant-id.subnet=1b2c9ba7-e449-4831-ba15-3073672f5ef2
+#tagged-inventory-item-list widget details
+AAI.model-invariant-id.tagged-inventory-item-list=e78a7eaa-f65d-4919-9c2b-5b258c8c4d7e
+AAI.model-version-id.tagged-inventory-item-list=c246f6e2-e3a1-4697-94c0-5672a7fbbf04
+#tenant widget details
+AAI.model-invariant-id.tenant=97c26c99-6870-44c1-8a07-1d900d3f4ce6
+AAI.model-version-id.tenant=abcc54bc-bb74-49dc-9043-7f7171707545
+#tunnel-xconnect widget details
+AAI.model-invariant-id.tunnel-xconnect=50b9e2fa-005c-4bbe-b651-3251dece4cd8
+AAI.model-version-id.tunnel-xconnect=e7cb4ca8-e1a5-4487-a716-4ae0bcd8aef5
+#update-node-key widget details
+AAI.model-version-id.update-node-key=6004cfa6-eb6d-4062-971f-b1fde6b74aa0
+AAI.model-invariant-id.update-node-key=fe81c801-f65d-408a-b2b7-a729a18f8154
+#vce widget details
+AAI.model-version-id.vce=b6cf54b5-ec45-43e1-be64-97b4e1513333
+AAI.model-invariant-id.vce=bab6dceb-e7e6-4301-a5e0-a7399b48d792
+#vf-module widget details
+AAI.model-invariant-id.vf-module=ef86f9c5-2165-44f3-8fc3-96018b609ea5
+AAI.model-version-id.vf-module=c00563ae-812b-4e62-8330-7c4d0f47088a
+#vig-server widget details
+AAI.model-version-id.vig-server=8e8c22f1-fbdf-48ea-844c-8bdeb44e7b16
+AAI.model-invariant-id.vig-server=bed7c3b7-35d0-4cd9-abde-41b20e68b28e
+#virtual-data-center widget details
+AAI.model-invariant-id.virtual-data-center=5150abcf-0c5f-4593-9afe-a19c48fc4824
+AAI.model-version-id.virtual-data-center=6dd43ced-d789-47af-a759-d3abc14e3ac1
+#vlan widget details
+AAI.model-version-id.vlan=257d88a5-a269-4c35-944f-aca04fbdb791
+AAI.model-invariant-id.vlan=d2b1eaf1-ae59-4116-9ee4-aa0179faa4f8
+#vnfc widget details
+AAI.model-invariant-id.vnfc=96129eb9-f0de-4e05-8af2-73146473f766
+AAI.model-version-id.vnfc=5761e0a7-c6df-4d8a-9ebd-b8f445054dec
+#vnf-image widget details
+AAI.model-invariant-id.vnf-image=f9a628ff-7aa0-40e2-a93d-02d91c950982
+AAI.model-version-id.vnf-image=c4d3e747-ba4a-4b17-9896-94c6f18c19d3
+#volume widget details
+AAI.model-version-id.volume=0fbe2e8f-4d91-4415-a772-88387049b38d
+AAI.model-invariant-id.volume=ddd739b4-2b25-46c4-affc-41a32af5cc42
+#volume-group widget details
+AAI.model-invariant-id.volume-group=fcec1b02-b2d0-4834-aef8-d71be04717dd
+AAI.model-version-id.volume-group=99d44c90-1f61-4418-b9a6-56586bf38c79
+#vpe widget details
+AAI.model-invariant-id.vpe=053ec3a7-5b72-492d-b54d-123805a9b967
+AAI.model-version-id.vpe=203817d3-829c-42d4-942d-2a935478e993
+#vpls-pe widget details
+AAI.model-version-id.vpls-pe=b1566228-6785-4ce1-aea2-053736f80341
+AAI.model-invariant-id.vpls-pe=457ba89b-334c-4fbd-acc4-160ac0e0cdc0
+#vpn-binding widget details
+AAI.model-invariant-id.vpn-binding=9e23b675-db2b-488b-b459-57aa9857baa0
+AAI.model-version-id.vpn-binding=21a146e5-9901-448c-9197-723076770119
+#vserver widget details
+AAI.model-invariant-id.vserver=ff69d4e0-a8e8-4108-bdb0-dd63217e63c7
+AAI.model-version-id.vserver=8ecb2c5d-7176-4317-a255-26274edfdd53
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-babel/resources/config/auth/auth_policy.json b/kubernetes/aai/charts/aai-babel/resources/config/auth/auth_policy.json
new file mode 100644 (file)
index 0000000..5340a6a
--- /dev/null
@@ -0,0 +1,47 @@
+{"roles": [
+    {
+        "name": "admin",
+        "functions": [
+            {
+                "name": "generateArtifacts",
+                "methods": [{"name": "POST"}]
+            }
+        ],
+        "users": [
+            {"username": "CN=someone.onap.org, OU=someone, O=\"ONAP ORG\", L=NA, ST=NA, C=NA"}
+        ]
+    },
+    {
+        "name": "ops",
+        "functions": [{
+            "name": "actions",
+            "methods": [{"name": "POST"}]
+        }],
+        "users": [
+            {"username": "CN=someone.onap.org, OU=someone, O=\"ONAP ORG\", L=NA, ST=NA, C=NA"}
+        ]
+    },
+    {
+        "name": "readonly",
+        "functions": [
+            {
+                "name": "actions",
+                "methods": [{"name": "GET"}]
+            }
+        ],
+        "users": [
+            {"username": "CN=someone.onap.org, OU=someone, O=\"ONAP ORG\", L=NA, ST=NA, C=NA"}
+        ]
+    },
+    {
+        "name": "basicauth",
+        "functions": [{
+            "name": "util",
+            "methods": [{"name": "GET"}]
+        }],
+        "users": [{
+            "user": "aai",
+            "pass": "OBF:deadbeef"
+        }]
+    }
+]}
diff --git a/kubernetes/aai/charts/aai-babel/resources/config/auth/tomcat_keystore b/kubernetes/aai/charts/aai-babel/resources/config/auth/tomcat_keystore
new file mode 100644 (file)
index 0000000..cbec390
Binary files /dev/null and b/kubernetes/aai/charts/aai-babel/resources/config/auth/tomcat_keystore differ
diff --git a/kubernetes/aai/charts/aai-babel/resources/config/babel-auth.properties b/kubernetes/aai/charts/aai-babel/resources/config/babel-auth.properties
new file mode 100644 (file)
index 0000000..8bf21b0
--- /dev/null
@@ -0,0 +1,2 @@
+auth.policy.file=/auth/auth_policy.json
+auth.authentication.disable=false
 # limitations under the License.
 
 apiVersion: v1
-kind: Secret
+kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-champ-secrets
+  name: {{ include "common.fullname" . }}-configmap
   namespace: {{ include "common.namespace" . }}
-type: Opaque
 data:
-{{ tpl (.Files.Glob "resources/config/appconfig/auth/*").AsSecrets . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-babel/templates/deployment.yaml b/kubernetes/aai/charts/aai-babel/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..6b1312b
--- /dev/null
@@ -0,0 +1,108 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: CONFIG_HOME
+              value: /opt/app/babel/config
+            - name: KEY_STORE_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}-pass
+                  key: KEY_STORE_PASSWORD
+            - name: KEY_MANAGER_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}-pass
+                  key: KEY_MANAGER_PASSWORD
+          volumeMounts:
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: /opt/app/babel/config/artifact-generator.properties
+            name: {{ include "common.fullname" . }}-config
+            subPath: artifact-generator.properties
+          - mountPath: /opt/app/babel/config/babel-auth.properties
+            name: {{ include "common.fullname" . }}-config
+            subPath: babel-auth.properties
+          - mountPath: /opt/app/babel/config/auth
+            name: {{ include "common.fullname" . }}-secrets
+          - mountPath: /logs
+            name: {{ include "common.fullname" . }}-logs
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      volumes:
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+        - name: {{ include "common.fullname" . }}-config
+          configMap:
+            name: {{ include "common.fullname" . }}-configmap
+            items:
+            - key: artifact-generator.properties
+              path: artifact-generator.properties
+            - key: babel-auth.properties
+              path: babel-auth.properties
+        - name: {{ include "common.fullname" . }}-secrets
+          secret:
+            secretName: {{ include "common.fullname" . }}-babel-secrets
+        - name: {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-babel/templates/secrets.yaml b/kubernetes/aai/charts/aai-babel/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..9875e57
--- /dev/null
@@ -0,0 +1,37 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-babel-secrets
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-pass
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+type: Opaque
+data:
+  KEY_STORE_PASSWORD: {{ .Values.config.keyStorePassword | b64enc | quote }}
+  KEY_MANAGER_PASSWORD: {{ .Values.config.keyManagerPassword | b64enc | quote }}
diff --git a/kubernetes/aai/charts/aai-babel/values.yaml b/kubernetes/aai/charts/aai-babel/values.yaml
new file mode 100644 (file)
index 0000000..d644000
--- /dev/null
@@ -0,0 +1,63 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  readinessImage: readiness-check:1.0.0
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+# application image
+image: onap/babel:1.2-STAGING-latest
+
+# application configuration
+config:
+  keyStorePassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+  keyManagerPassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: NodePort
+  name: babel
+  externalPort: 79
+  internalPort: 9516
+  nodePort: 79
+
+ingress:
+  enabled: false
+
+resources: {}
diff --git a/kubernetes/aai/charts/aai-champ/Chart.yaml b/kubernetes/aai/charts/aai-champ/Chart.yaml
new file mode 100644 (file)
index 0000000..1704337
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP AAI Champ microservice
+name: aai-champ
+version: 2.0.0
diff --git a/kubernetes/aai/charts/aai-champ/requirements.yaml b/kubernetes/aai/charts/aai-champ/requirements.yaml
new file mode 100644 (file)
index 0000000..9552dfd
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    # local reference to common chart, as it is
+    # a part of this chart's package and will not
+    # be published independently to a repo (at this point)
+    repository: '@local'
@@ -23,7 +23,7 @@ xsi:schemaLocation="
 
         <entry key="graph.name" value="aaigraph.dev"/>
         <entry key="storage.backend" value="hbase"/>
-        <entry key="storage.hostname" value="hbase.{{.Release.Namespace}}"/>
+        <entry key="storage.hostname" value="aai-hbase.{{.Release.Namespace}}"/>
 
         <!-- Hbase Config -->
         <entry key="storage.hbase.ext.hbase.zookeeper.property.clientPort" value="2181"/>
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-configmap
+  name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/appconfig/*").AsConfig . | indent 2 }}
@@ -23,7 +23,7 @@ data:
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-dynamic-configmap
+  name: {{ include "common.fullname" . }}-dynamic
   namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/dynamic/conf/*").AsConfig . | indent 2 }}
@@ -55,6 +55,16 @@ spec:
               value: "/opt/app/champ-service/appconfig"
             - name: GRAPHIMPL
               value: "janus-deps"
+            - name: KEY_STORE_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}-pass
+                  key: KEY_STORE_PASSWORD
+            - name: KEY_MANAGER_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}-pass
+                  key: KEY_MANAGER_PASSWORD
             - name: SERVICE_BEANS
               value: "/opt/app/champ-service/dynamic/conf"
           volumeMounts:
@@ -88,16 +98,16 @@ spec:
             path: /etc/localtime
         - name: {{ include "common.fullname" . }}-config
           configMap:
-            name: {{ include "common.fullname" . }}-configmap
+            name: {{ include "common.fullname" . }}
             items:
             - key: champ-api.properties
               path: champ-api.properties
         - name: {{ include "common.fullname" . }}-secrets
           secret:
-            secretName: {{ include "common.fullname" . }}-champ-secrets
+            secretName: {{ include "common.fullname" . }}-champ
         - name: {{ include "common.fullname" . }}-dynamic-config
           configMap:
-            name: {{ include "common.fullname" . }}-dynamic-configmap
+            name: {{ include "common.fullname" . }}-dynamic
             items:
             - key: champ-beans.xml
               path: champ-beans.xml
diff --git a/kubernetes/aai/charts/aai-champ/templates/secrets.yaml b/kubernetes/aai/charts/aai-champ/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..c0e2559
--- /dev/null
@@ -0,0 +1,38 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-champ
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/appconfig/auth/*").AsSecrets . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-pass
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+type: Opaque
+data:
+  KEY_STORE_PASSWORD: {{ .Values.config.keyStorePassword | b64enc | quote }}
+  KEY_MANAGER_PASSWORD: {{ .Values.config.keyManagerPassword | b64enc | quote }}
+
diff --git a/kubernetes/aai/charts/aai-champ/templates/service.yaml b/kubernetes/aai/charts/aai-champ/templates/service.yaml
new file mode 100644 (file)
index 0000000..93b0fd1
--- /dev/null
@@ -0,0 +1,39 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.internalPort}}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort}}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
similarity index 88%
rename from kubernetes/aai/charts/champ/values.yaml
rename to kubernetes/aai/charts/aai-champ/values.yaml
index 91a1e52..d5d9b39 100644 (file)
@@ -24,7 +24,12 @@ global:
 #################################################################
 
 # application image
-image: onap/champ:1.2.0
+image: onap/champ:1.2-STAGING-latest
+
+# application configuration
+config:
+  keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+  keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
 
 # default number of instances
 replicaCount: 1
@@ -48,7 +53,6 @@ readiness:
 service:
   type: NodePort
   name: champ
-  externalPort: 78
   internalPort: 9522
   nodePort: 78
 
diff --git a/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v10.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v10.xml
deleted file mode 100644 (file)
index 7eddd10..0000000
+++ /dev/null
@@ -1,5558 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-  ============LICENSE_START=======================================================
-  org.openecomp.aai
-  ================================================================================
-  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
-  ================================================================================
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-     http://www.apache.org/licenses/LICENSE-2.0
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  ============LICENSE_END=========================================================
-  -->
-
-<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.openecomp.org.v10" xml-mapping-metadata-complete="true">
-       <xml-schema element-form-default="QUALIFIED">
-               <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v10" />
-       </xml-schema>
-       <java-types>
-               <java-type name="Inventory">
-                       <xml-root-element name="inventory" />
-                       <java-attributes>
-                               <xml-element java-attribute="search" name="search" type="inventory.aai.openecomp.org.v10.Search" />
-                               <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v10.Actions" />
-                               <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v10.CloudInfrastructure" />
-                               <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v10.Business" />
-                               <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v10.ServiceDesignAndCreation" />
-                               <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v10.Network" />
-                               <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v10.AaiInternal" />
-                               <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.openecomp.org.v10.Nodes"/>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Nodes">
-                       <xml-root-element name="nodes" />
-               </java-type>
-               <java-type name="Search">
-                       <xml-root-element name="search" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.openecomp.org.v10.EdgeTagQueryResult" />
-                               <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.openecomp.org.v10.EdgeTagQueryRequest" />
-                               <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v10.SearchResults" />
-                               <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.openecomp.org.v10.SdnZoneResponse" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryResult">
-                       <xml-root-element name="edge-tag-query-result" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v10.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="TaggedInventoryItemList">
-                       <xml-root-element name="tagged-inventory-item-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.v10.InventoryItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItem">
-                       <xml-root-element name="inventory-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String" />
-                               <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.openecomp.org.v10.InventoryItemData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v10.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItemData">
-                       <xml-root-element name="inventory-item-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryRequest">
-                       <xml-root-element name="edge-tag-query-request" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String" />
-                               <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String" />
-                               <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.openecomp.org.v10.StartNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.openecomp.org.v10.IncludeNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.openecomp.org.v10.SecondaryFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="StartNodeFilter">
-                       <xml-root-element name="start-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IncludeNodeFilter">
-                       <xml-root-element name="include-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SecondaryFilter">
-                       <xml-root-element name="secondary-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SearchResults">
-                       <xml-root-element name="search-results" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.v10.ResultData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResultData">
-                       <xml-root-element name="result-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The URL to the specific resource" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SdnZoneResponse">
-                       <xml-root-element name="sdn-zone-response" />
-                       <java-attributes>
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v10.OamNetworks" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.openecomp.org.v10.AzAndDvsSwitches" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AzAndDvsSwitches">
-                       <xml-root-element name="az-and-dvs-switches" />
-                       <java-attributes>
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v10.DvsSwitches" />
-                               <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v10.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Actions">
-                       <xml-properties>
-                               <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
-                       </xml-properties>
-                       <xml-root-element name="actions" />
-                       <java-attributes>
-                               <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v10.Update" />
-                               <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.org.v10.Notify" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Update">
-                       <xml-properties>
-                               <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team." />
-                       </xml-properties>
-                       <xml-root-element name="update" />
-                       <java-attributes>
-                               <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.v10.UpdateNodeKey" />
-                               <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.openecomp.org.v10.Action" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Action">
-                       <xml-root-element name="action" />
-                       <java-attributes>
-                               <xml-element java-attribute="actionType" name="action-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.openecomp.org.v10.ActionData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ActionData">
-                       <xml-root-element name="action-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="UpdateNodeKey">
-                       <xml-root-element name="update-node-key" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Notify">
-                       <xml-root-element name="notify" />
-                       <java-attributes>
-                               <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String" />
-                               <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.openecomp.org.v10.KeyData" />
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="KeyData">
-                       <xml-root-element name="key-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudInfrastructure">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for cloud infrastructure." />
-                       </xml-properties>
-                       <xml-root-element name="cloud-infrastructure" />
-                       <java-attributes>
-                               <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.openecomp.org.v10.Complexes" />
-                               <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v10.CloudRegions" />
-                               <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.openecomp.org.v10.NetworkProfiles" />
-                               <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v10.Pservers" />
-                               <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.openecomp.org.v10.VirtualDataCenters" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudRegions">
-                       <xml-root-element name="cloud-regions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.v10.CloudRegion" />
-                       </java-attributes>
-            <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CloudRegion">
-                       <xml-root-element name="cloud-region" />
-                       <java-attributes>
-                               <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the cloud (e.g., openstack)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.openecomp.org.v10.VolumeGroups" />
-                               <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v10.Tenants" />
-                               <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v10.Flavors" />
-                               <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v10.GroupAssignments" />
-                               <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v10.Snapshots" />
-                               <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v10.Images" />
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v10.DvsSwitches" />
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v10.OamNetworks" />
-                               <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v10.AvailabilityZones" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC." />
-                               <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
-                               <xml-property name="nameProps" value="owner-defined-type" />
-                               <xml-property name="container" value="cloud-regions" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="VolumeGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of persistent block-level storage." />
-                       </xml-properties>
-                       <xml-root-element name="volume-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.v10.VolumeGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VolumeGroup">
-                       <xml-root-element name="volume-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of volume-group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroupName" name="volume-group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the volume group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModuleModelCustomizationId" name="vf-module-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Persistent block-level storage." />
-                               <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
-                               <xml-property name="searchable" value="volume-group-id,volume-group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="volume-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RelationshipList">
-                       <xml-root-element name="relationship-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.v10.Relationship" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Relationship">
-                       <xml-root-element name="relationship" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to the object in A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v10.RelationshipData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.org.v10.RelatedToProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedToProperty">
-                       <xml-root-element name="related-to-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Key part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelationshipData">
-                       <xml-root-element name="relationship-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value of the attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Complexes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                       </xml-properties>
-                       <xml-root-element name="complexes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.openecomp.org.v10.Complex" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Complex">
-                       <xml-root-element name="complex" />
-                       <java-attributes>
-                               <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Data center code which can be an alternate way to identify a complex" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gamma complex name for LCP instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type, e.g., central office, data center." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="street2" name="street2" type="java.lang.String" />
-                               <xml-element java-attribute="city" name="city" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="state" name="state" type="java.lang.String" />
-                               <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="country" name="country" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="region" name="region" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="latitude" name="latitude" type="java.lang.String" />
-                               <xml-element java-attribute="longitude" name="longitude" type="java.lang.String" />
-                               <xml-element java-attribute="elevation" name="elevation" type="java.lang.String" />
-                               <xml-element java-attribute="lata" name="lata" type="java.lang.String" />
-                               <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.openecomp.org.v10.CtagPools" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                               <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
-                               <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
-                               <xml-property name="uniqueProps" value="physical-location-id" />
-                               <xml-property name="container" value="complexes" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CtagPools">
-                       <xml-root-element name="ctag-pools" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.openecomp.org.v10.CtagPool" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagPool">
-                       <xml-root-element name="ctag-pool" />
-                       <java-attributes>
-                               <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The Target provider edge router" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes what the intended purpose of this pool is." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Comma separated list of ctags" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="complex" />
-                               <xml-property name="container" value="ctag-pools" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Tenants">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack tenants." />
-                       </xml-properties>
-                       <xml-root-element name="tenants" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.v10.Tenant" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Tenant">
-                       <xml-root-element name="tenant" />
-                       <java-attributes>
-                               <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id relative to the cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Readable name of tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.openecomp.org.v10.Vservers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack tenant" />
-                               <xml-property name="nameProps" value="tenant-name" />
-                               <xml-property name="indexedProps" value="tenant-name,tenant-id" />
-                               <xml-property name="searchable" value="tenant-id,tenant-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="tenants" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
-                       </xml-properties>
-                       <xml-root-element name="vservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.v10.Vserver" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vserver">
-                       <xml-root-element name="vserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternative name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v10.Volumes" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
-                               <xml-property name="nameProps" value="vserver-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
-                               <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2" />
-                               <xml-property name="dependentOn" value="tenant" />
-                               <xml-property name="container" value="vservers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="l-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.v10.LInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LInterface">
-                       <xml-root-element name="l-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name given to the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="MAC address for the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Human friendly text regarding this interface." />
-                                       </xml-properties>
-                               </xml-element>                  
-                               <xml-element java-attribute="isPortMirrored" name="is-port-mirrored" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not port is a mirrored." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.openecomp.org.v10.Vlans" />
-                               <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.openecomp.org.v10.SriovVfs" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
-                               <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
-                               <xml-property name="dependentOn" value="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface" />
-                               <xml-property name="container" value="l-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SriovVfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
-                       </xml-properties>
-                       <xml-root-element name="sriov-vfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.openecomp.org.v10.SriovVf" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="SriovVf">
-                       <xml-root-element name="sriov-vf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option is used to set the link status.  Valid values as of 1607 are on, off, and auto." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
-                               <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="sriov-vfs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv4AddressList">
-                       <xml-root-element name="l3-interface-ipv4-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 32 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv4 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vlans">
-                       <xml-root-element name="vlans" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.v10.Vlan" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vlan">
-                       <xml-root-element name="vlan" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String that identifies the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to describe (the service associated with) the vlan" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
-                                               <xml-property name="dbAlias" value="vpn-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C." />
-                                       </xml-properties>
-                               </xml-element>
-                                       <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>                  
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Definition of vlan" />
-                               <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="vlans" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv6AddressList">
-                       <xml-root-element name="l3-interface-ipv6-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 128 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv6 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Volumes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
-                       </xml-properties>
-                       <xml-root-element name="volumes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.v10.Volume" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Volume">
-                       <xml-root-element name="volume" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Ephemeral Block storage volume." />
-                               <xml-property name="indexedProps" value="volume-id" />
-                               <xml-property name="dependentOn" value="vserver" />
-                               <xml-property name="container" value="volumes" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Flavors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack flavors." />
-                       </xml-properties>
-                       <xml-root-element name="flavors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.v10.Flavor" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Flavor">
-                       <xml-root-element name="flavor" />
-                       <java-attributes>
-                               <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of CPUs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of memory" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of ephemeral disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="amount of swap space allocation" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack flavor." />
-                               <xml-property name="nameProps" value="flavor-name" />
-                               <xml-property name="indexedProps" value="flavor-name,flavor-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="flavors" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Snapshots">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack snapshots" />
-                       </xml-properties>
-                       <xml-root-element name="snapshots" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.v10.Snapshot" />
-                       </java-attributes>              
-               </java-type>
-               
-               <java-type name="Snapshot">
-                       <xml-root-element name="snapshot" />
-                       <java-attributes>
-                               <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />                              
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack snapshot" />
-                               <xml-property name="nameProps" value="snapshot-name" />
-                               <xml-property name="uniqueProps" value="snapshot-id" />
-                               <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="snapshots" />
-                       </xml-properties>       
-               </java-type>
-               
-               <java-type name="GroupAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack group assignments" />
-                       </xml-properties>
-                       <xml-root-element name="group-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.v10.GroupAssignment" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="GroupAssignment">
-                       <xml-root-element name="group-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group type - the type of group this instance refers to" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name - name assigned to the group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group description - description of the group" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>          
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
-                               <xml-property name="nameProps" value="group-name" />
-                               <xml-property name="indexedProps" value="group-id,group-type,group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="group-assignments" />
-                       </xml-properties>
-               </java-type>                    
-
-               <java-type name="Images">
-                       <xml-properties>
-                               <xml-property name="description" value="Collectio of Openstack images." />
-                       </xml-properties>
-                       <xml-root-element name="images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.v10.Image" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Image">
-                       <xml-root-element name="image" />
-                       <java-attributes>
-                               <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image id, expected to be unique across cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack image." />
-                               <xml-property name="nameProps" value="image-name" />
-                               <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="images" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Metadata">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
-                       </xml-properties>
-                       <xml-root-element name="metadata" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.v10.Metadatum" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Metadatum">
-                       <xml-root-element name="metadatum" />
-                       <java-attributes>
-                               <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Key/value pairs" />
-                               <xml-property name="indexedProps" value="metaname" />
-                               <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
-                               <xml-property name="container" value="metadata" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="DvsSwitches">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs." />
-                       </xml-properties>
-                       <xml-root-element name="dvs-switches" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.openecomp.org.v10.DvsSwitch" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="DvsSwitch">
-                       <xml-root-element name="dvs-switch" />
-                       <java-attributes>
-                               <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS switch name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL used to reach the vcenter" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs.  A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
-                               <xml-property name="indexedProps" value="vcenter-url,switch-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="dvs-switches" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="NetworkProfiles">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of network profiles" />
-                       </xml-properties>
-                       <xml-root-element name="network-profiles" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.openecomp.org.v10.NetworkProfile" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NetworkProfile">
-                       <xml-root-element name="network-profile" />
-                       <java-attributes>
-                               <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique name of network profile." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted SNMP community string" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
-                               <xml-property name="indexedProps" value="nm-profile-name" />
-                               <xml-property name="container" value="network-profiles" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of compute hosts." />
-                       </xml-properties>
-                       <xml-root-element name="pservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.v10.Pserver" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pserver">
-                       <xml-root-element name="pserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value from executing hostname on the compute node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PTNII name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of cpus" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk size, in GBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="RAM size, in MBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Fully-qualified domain name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number, may be queried" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 OAM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="internet topology of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="alternative pserver name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="purpose of pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
-                               <xml-property name="nameProps" value="pserver-name2" />
-                               <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status" />
-                               <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
-                               <xml-property name="container" value="pservers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="p-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.v10.PInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PInterface">
-                       <xml-root-element name="p-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the physical interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nature of the services and connectivity on this port." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CLEI or other specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the physical properties of the interface." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Physical interface (e.g., nic)" />
-                               <xml-property name="indexedProps" value="interface-name,prov-status" />
-                               <xml-property name="nameProps" value="prov-status" />
-                               <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
-                               <xml-property name="container" value="p-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LagInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregate interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="lag-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.v10.LagInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagInterface">
-                       <xml-root-element name="lag-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the link aggregate interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Human friendly text regarding this interface." />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Link aggregate interface" />
-                               <xml-property name="indexedProps" value="interface-name,interface-id,interface-role" />
-                               <xml-property name="dependentOn" value="generic-vnf,pserver,vpe,vpls-pe,pnf" />
-                               <xml-property name="container" value="lag-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="OamNetworks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly.  Do not use for new purposes. " />
-                       </xml-properties>
-                       <xml-root-element name="oam-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.openecomp.org.v10.OamNetwork" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OamNetwork">
-                       <xml-root-element name="oam-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cvlan-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="OAM network, to be deprecated shortly.  Do not use for new purposes. " />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="oam-networks" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="AvailabilityZones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of availability zones" />
-                       </xml-properties>
-                       <xml-root-element name="availability-zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v10.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AvailabilityZone">
-                       <xml-root-element name="availability-zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone.  Unique across a cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of hypervisor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="availability-zones" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VirtualDataCenters">
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                       </xml-properties>
-                       <xml-root-element name="virtual-data-centers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.openecomp.org.v10.VirtualDataCenter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VirtualDataCenter">
-                       <xml-root-element name="virtual-data-center" />
-                       <java-attributes>
-                               <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the vdc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the virtual data center" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                               <xml-property name="nameProps" value="vdc-name" />
-                               <xml-property name="indexedProps" value="vdc-name,vdc-id" />
-                               <xml-property name="container" value="virtual-data-centers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-
-
-
-               <java-type name="Business">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for business related constructs" />
-                       </xml-properties>
-                       <xml-root-element name="business" />
-                       <java-attributes>
-                               <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.openecomp.org.v10.Connectors" />
-                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v10.Customers" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Connectors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                       </xml-properties>
-                       <xml-root-element name="connectors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.openecomp.org.v10.Connector" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Connector">
-                       <xml-root-element name="connector" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of resource instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                               <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version" />
-                               <xml-property name="container" value="connectors" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Customers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
-                       </xml-properties>
-                       <xml-root-element name="customers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v10.Customer" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Customer">
-                       <xml-root-element name="customer" />
-                       <java-attributes>
-                               <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
-                                               <xml-property name="defaultValue" value="CUST" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v10.ServiceSubscriptions" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
-                               <xml-property name="nameProps" value="subscriber-name" />
-                               <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
-                               <xml-property name="searchable" value="global-customer-id,subscriber-name" />
-                               <xml-property name="uniqueProps" value="global-customer-id" />
-                               <xml-property name="container" value="customers" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceSubscriptions">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of objects that group service instances." />
-                       </xml-properties>
-                       <xml-root-element name="service-subscriptions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.v10.ServiceSubscription" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceSubscription">
-                       <xml-root-element name="service-subscription" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
-                    <xml-properties>
-                        <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution." />
-                    </xml-properties>
-                </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v10.ServiceInstances">
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Object that group service instances." />
-                               <xml-property name="indexedProps" value="service-type" />
-                               <xml-property name="dependentOn" value="customer" />
-                               <xml-property name="container" value="service-subscriptions" />
-                               <xml-property name="crossEntityReference" value="service-instance,service-type" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service instances" />
-                       </xml-properties>
-                       <xml-root-element name="service-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.v10.ServiceInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceInstance">
-                       <xml-root-element name="service-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Uniquely identifies this instance of a service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field will store a name assigned to the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the total bandwidth to be used for this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL customers will use to access the vHN Portal." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
-                               <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.openecomp.org.v10.AllottedResources" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Instance of a service" />
-                               <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status" />
-                               <xml-property name="nameProps" value="service-instance-name" />
-                               <xml-property name="searchable" value="service-instance-id,service-instance-name" />
-                               <xml-property name="uniqueProps" value="service-instance-id" />
-                               <xml-property name="dependentOn" value="service-subscription" />
-                               <xml-property name="container" value="service-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceDesignAndCreation">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for objects managed by ASDC" />
-                       </xml-properties>
-                       <xml-root-element name="service-design-and-creation" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.openecomp.org.v10.VnfImages" />
-                               <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v10.Services" />
-                               <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.openecomp.org.v10.ServiceCapabilities" />
-                               <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v10.Models" />
-                               <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v10.NamedQueries" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImages">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                       </xml-properties>
-                       <xml-root-element name="vnf-images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.openecomp.org.v10.VnfImage" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImage">
-                       <xml-root-element name="vnf-image" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of this asset" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                               <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
-                               <xml-property name="uniqueProps" value="vnf-image-uuid" />
-                               <xml-property name="container" value="vnf-images" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Services">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service model definitions.  Likely to be deprecated in favor of models from ASDC." />
-                       </xml-properties>
-                       <xml-root-element name="services" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v10.Service" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Service">
-                       <xml-root-element name="service" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description of the service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="service version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services." />
-                               <xml-property name="indexedProps" value="service-description,service-id" />
-                               <xml-property name="container" value="services" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceCapabilities">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service capabilities." />
-                       </xml-properties>
-                       <xml-root-element name="service-capabilities" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.openecomp.org.v10.ServiceCapability" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceCapability">
-                       <xml-root-element name="service-capability" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models.  No new use should be made of this." />
-                               <xml-property name="indexedProps" value="service-type,vnf-type" />
-                               <xml-property name="container" value="service-capabilities" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Network">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for network inventory resources." />
-                       </xml-properties>
-                       <xml-root-element name="network" />
-                       <java-attributes>
-                               <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v10.LogicalLinks" />
-                               <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.openecomp.org.v10.SitePairSets" />
-                               <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.openecomp.org.v10.VpnBindings" />
-                               <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.openecomp.org.v10.VplsPes" />
-                               <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.openecomp.org.v10.MulticastConfigurations" />
-                               <xml-element java-attribute="vces" name="vces" type="inventory.aai.openecomp.org.v10.Vces" />
-                               <xml-element java-attribute="vpes" name="vpes" type="inventory.aai.openecomp.org.v10.Vpes" />
-                               <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v10.Vnfcs" />
-                               <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v10.L3Networks" />
-                               <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.openecomp.org.v10.NetworkPolicies" />
-                               <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v10.GenericVnfs" />
-                               <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.openecomp.org.v10.LagLinks" />
-                               <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.openecomp.org.v10.Newvces" />
-                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v10.Pnfs" />
-                               <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v10.PhysicalLinks" />
-                               <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.openecomp.org.v10.IpsecConfigurations" />
-                               <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.openecomp.org.v10.RouteTableReferences" />
-                               <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.openecomp.org.v10.InstanceGroups" />
-                               <xml-element java-attribute="zones" name="zones" type="inventory.aai.openecomp.org.v10.Zones" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical connections" />
-                       </xml-properties>
-                       <xml-root-element name="logical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v10.LogicalLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLink">
-                       <xml-root-element name="logical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of logical link, e.g., evc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4, v6, or ds for dual stack" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="For example, static or BGP" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of operational status of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of the network use of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
-                                       </xml-properties>
-                               </xml-element>
-                                       <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Reason for this entity, role it is playing" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
-                               <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose" />
-                               <xml-property name="uniqueProps" value="link-id" />
-                               <xml-property name="container" value="logical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairSets">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
-                       </xml-properties>
-                       <xml-root-element name="site-pair-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.openecomp.org.v10.SitePairSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePairSet">
-                       <xml-root-element name="site-pair-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of site pair set." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.openecomp.org.v10.RoutingInstances" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
-                               <xml-property name="indexedProps" value="site-pair-set-id" />
-                               <xml-property name="uniqueProps" value="site-pair-set-id" />
-                               <xml-property name="container" value="site-pair-sets" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RoutingInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
-                       </xml-properties>
-                       <xml-root-element name="routing-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.openecomp.org.v10.RoutingInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RoutingInstance">
-                       <xml-root-element name="routing-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of routing instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rpm owner" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.openecomp.org.v10.SitePairs" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="routing-instance-id" />
-                               <xml-property name="uniqueProps" value="routing-instance-id" />
-                               <xml-property name="dependentOn" value="site-pair-set" />
-                               <xml-property name="container" value="routing-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairs">
-                       <xml-properties>
-                               <xml-property name="description" value="probe within a set" />
-                       </xml-properties>
-                       <xml-root-element name="site-pairs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.openecomp.org.v10.SitePair" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePair">
-                       <xml-root-element name="site-pair" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version, v4, v6" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The type of destinatination equipment. Could be Router, etc." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.openecomp.org.v10.ClassesOfService" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="site-pair-id" />
-                               <xml-property name="uniqueProps" value="site-pair-id" />
-                               <xml-property name="dependentOn" value="routing-instance" />
-                               <xml-property name="container" value="site-pairs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ClassesOfService">
-                       <xml-properties>
-                               <xml-property name="description" value="class-of-service of probe" />
-                       </xml-properties>
-                       <xml-root-element name="classes-of-service" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.openecomp.org.v10.ClassOfService" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ClassOfService">
-                       <xml-root-element name="class-of-service" />
-                       <java-attributes>
-                               <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="cos" />
-                               <xml-property name="dependentOn" value="site-pair" />
-                               <xml-property name="container" value="classes-of-service" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VpnBindings">
-                       <xml-root-element name="vpn-bindings" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.openecomp.org.v10.VpnBinding" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VpnBinding">
-                       <xml-root-element name="vpn-binding" />
-                       <java-attributes>
-                               <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN Name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.openecomp.org.v10.RouteTargets" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList">
-                                       <xml-properties>
-                                               <xml-property name="description" value="l3-networks relate to vpn-bindings" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPN binding" />
-                               <xml-property name="nameProps" value="vpn-name,vpn-type" />
-                               <xml-property name="indexedProps" value="vpn-name,vpn-id,vpn-type" />
-                               <xml-property name="searchable" value="vpn-id,vpn-name" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="container" value="vpn-bindings" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VplsPes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
-                       </xml-properties>
-                       <xml-root-element name="vpls-pes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.openecomp.org.v10.VplsPe" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VplsPe">
-                       <xml-root-element name="vpls-pe" />
-                       <java-attributes>
-                               <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPLS Provider Edge routers." />
-                               <xml-property name="indexedProps" value="prov-status,equipment-name" />
-                               <xml-property name="container" value="vpls-pes" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="MulticastConfigurations">
-                       <xml-properties>
-                               <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
-                       </xml-properties>
-                       <xml-root-element name="multicast-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.openecomp.org.v10.MulticastConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="MulticastConfiguration">
-                       <xml-root-element name="multicast-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of multicast configuration." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="protocol of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rp type of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="multicast-configuration-id" />
-                               <xml-property name="uniqueProps" value="multicast-configuration-id" />
-                               <xml-property name="container" value="multicast-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma.  This object is deprecated." />
-                       </xml-properties>
-                       <xml-root-element name="vces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.openecomp.org.v10.Vce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vce">
-                       <xml-root-element name="vce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network role being played by this VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of VPE connected to this VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router.  Implied length of /64." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  see child relationships" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.openecomp.org.v10.PortGroups" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma.  This object is deprecated." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="vces" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PortGroups">
-                       <xml-root-element name="port-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.openecomp.org.v10.PortGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PortGroup">
-                       <xml-root-element name="port-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network name of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for port group in vmware" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Likely to duplicate value of neutron network name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.openecomp.org.v10.CvlanTags" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
-                               <xml-property name="nameProps" value="port-group-name" />
-                               <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
-                               <xml-property name="dependentOn" value="vce" />
-                               <xml-property name="container" value="port-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CvlanTags">
-                       <xml-root-element name="cvlan-tags" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.openecomp.org.v10.CvlanTagEntry" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CvlanTagEntry">
-                       <xml-root-element name="cvlan-tag-entry" />
-                       <java-attributes>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="dependentOn" value="port-group" />
-                               <xml-property name="indexedProps" value="cvlan-tag" />
-                               <xml-property name="container" value="cvlan-tags" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vpes">
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations." />
-                       </xml-properties>
-                       <xml-root-element name="vpes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vpe" name="vpe" type="inventory.aai.openecomp.org.v10.Vpe" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vpe">
-                       <xml-root-element name="vpe" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service.  Does not map strictly to ASDC services.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use.  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length for oam-address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gateway address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v4Loopback0IpAddress" name="v4-loopback0-ip-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VPE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the vpe operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether vpe access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Relationship-list must include related to info for complex." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="vpes" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vnfcs">
-                       <xml-properties>
-                               <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
-                       </xml-properties>
-                       <xml-root-element name="vnfcs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.v10.Vnfc" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vnfc">
-                       <xml-root-element name="vnfc" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vnfc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="function code" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="prov status of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Oam V4 vip address of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group notation of VNFC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation" />
-                               <xml-property name="searchable" value="vnfc-name" />
-                               <xml-property name="container" value="vnfcs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3Networks">
-                       <xml-root-element name="l3-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.v10.L3Network" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="L3Network">
-                       <xml-root-element name="l3-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network, governed by some naming convention.." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the network - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role the network plans - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network technology - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBoundToVpn" name="is-bound-to-vpn" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Set to true if bound to VPN" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network role instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the physical network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a provider network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a shared network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is an external network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.openecomp.org.v10.Subnets" />
-                               <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v10.CtagAssignments" />
-                               <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v10.SegmentationAssignments" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Generic network definition" />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role" />
-                               <xml-property name="searchable" value="network-id,network-name" />
-                               <xml-property name="uniqueProps" value="network-id" />
-                               <xml-property name="container" value="l3-networks" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="NetworkPolicies">
-                       <xml-root-element name="network-policies" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.openecomp.org.v10.NetworkPolicy" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NetworkPolicy">
-                       <xml-root-element name="network-policy" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID representing unique key to this instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the policy" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID for the openStack Heat instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="nameProps" value="network-policy-fqdn" />
-                               <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="searchable" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="uniqueProps" value="network-policy-id" />
-                               <xml-property name="container" value="network-policies" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="CtagAssignments">
-                       <xml-root-element name="ctag-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.v10.CtagAssignment" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagAssignment">
-                       <xml-root-element name="ctag-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vlan-id-inner" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="ctag-assignments" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Subnets">
-                       <xml-root-element name="subnets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.v10.Subnet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Subnet">
-                       <xml-root-element name="subnet" />
-                       <java-attributes>
-                               <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subnet ID, should be UUID." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the subnet." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of this subnet" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="gateway ip address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network start address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cidr mask" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="dhcp enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the start address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the last address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="subnet-id,subnet-name" />
-                               <xml-property name="nameProps" value="subnet-name" />
-                               <xml-property name="uniqueProps" value="subnet-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="subnets" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VNFs" />
-                       </xml-properties>
-                       <xml-root-element name="generic-vnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.v10.GenericVnf" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnf">
-                       <xml-root-element name="generic-vnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                               <xml-property name="suggestibleOnSearch" value="true"/>
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, used by MSO." />
-                                               <xml-property name="suggestibleOnSearch" value="true"/>
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by company or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 Loopback address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 management address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the specific entitlement resource.  OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the license assignment group.  OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the actual license resource.  OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="represents sub zone of the rr plane" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfType" name="nf-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Generic description of the type of NF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfFunction" name="nf-function" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="English description of Network function that the specific VNF deployment is providing" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="role in the network that this model will be providing" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="nfNamingCode" name="nf-naming-code" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="string assigned to this model used for naming purposes" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
-                               <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.org.v10.VfModules" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="General purpose VNF" />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="generic-vnfs" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                               <xml-property name="containsSuggestibleProps" value="true"/>
-                               <xml-property name="suggestionAliases" value="VNFs"/>
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VfModules">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
-                       </xml-properties>
-                       <xml-root-element name="vf-modules" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.v10.VfModule" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VfModule">
-                       <xml-root-element name="vf-module" />
-                       <java-attributes>
-                               <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vf-module." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vf-module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the Contrail unique ID for a service-instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="a deployment unit of VNFCs" />
-                               <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
-                               <xml-property name="searchable" value="vf-module-id,vf-module-name" />
-                               <xml-property name="dependentOn" value="generic-vnf" />
-                               <xml-property name="container" value="vf-modules" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="LagLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregation connections" />
-                       </xml-properties>
-                       <xml-root-element name="lag-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.openecomp.org.v10.LagLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagLink">
-                       <xml-root-element name="lag-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="LAG links can connect lag-interfaces" />
-                               <xml-property name="indexedProps" value="link-name" />
-                               <xml-property name="container" value="lag-links" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Newvces">
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                       </xml-properties>
-                       <xml-root-element name="newvces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.openecomp.org.v10.Newvce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Newvce">
-                       <xml-root-element name="newvce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
-                               <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id2" />
-                               <xml-property name="container" value="newvces" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Physical Network Functions." />
-                       </xml-properties>
-                       <xml-root-element name="pnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.v10.Pnf" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnf">
-                       <xml-root-element name="pnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="source of name2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id of pnf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by company or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number of the device" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 OAM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nf Role is the role performed by this instance in the network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world." />
-                               <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status" />
-                               <xml-property name="searchable" value="pnf-name" />
-                               <xml-property name="uniqueProps" value="pnf-name" />
-                               <xml-property name="container" value="pnfs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                       </xml-properties>
-                       <xml-root-element name="physical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.v10.PhysicalLink" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLink">
-                       <xml-root-element name="physical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit it" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Dual access mode (e.g., primary, secondary" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the service Provider on this link." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                               <xml-property name="indexedProps" value="circuit-id,link-name" />
-                               <xml-property name="alternateKeys1" value="circuit-id" />
-                               <xml-property name="container" value="physical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name,circuit-id" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VigServers">
-                       <xml-root-element name="vig-servers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.openecomp.org.v10.VigServer" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VigServer">
-                       <xml-root-element name="vig-server" />
-                       <java-attributes>
-                               <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
-                               <xml-property name="indexedProps" value="vig-address-type" />
-                               <xml-property name="dependentOn" value="ipsec-configuration" />
-                               <xml-property name="container" value="vig-servers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="IpsecConfigurations">
-                       <xml-root-element name="ipsec-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.openecomp.org.v10.IpsecConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IpsecConfiguration">
-                       <xml-root-element name="ipsec-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of this configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network address of shared DMZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="can be 1 or 2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="pre-shared key for the above group name " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Lifetime for IKEv1 SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Life time for IPSec SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="enable PFS or not" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="user ID for xAuth, sm-user,nmteHostName" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The time between DPD probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.openecomp.org.v10.VigServers" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
-                               <xml-property name="indexedProps" value="ipsec-configuration-id" />
-                               <xml-property name="uniqueProps" value="ipsec-configuration-id" />
-                               <xml-property name="container" value="ipsec-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="NotificationEvent">
-                       <xml-root-element name="notification-event" />
-                       <java-attributes>
-                               <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
-                               <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.v10.NotificationEventHeader" />
-                               <xml-any-element java-attribute="entity" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NotificationEventHeader">
-                       <xml-root-element name="notification-event-header" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" type="java.lang.String" />
-                               <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String" />
-                               <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String" />
-                               <xml-element java-attribute="domain" name="domain" type="java.lang.String" />
-                               <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String" />
-                               <xml-element java-attribute="severity" name="severity" type="java.lang.String" />
-                               <xml-element java-attribute="eventType" name="event-type" type="java.lang.String" />
-                               <xml-element java-attribute="version" name="version" type="java.lang.String" />
-                               <xml-element java-attribute="action" name="action" type="java.lang.String" />
-                               <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String" />
-                               <xml-element java-attribute="status" name="status" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="AaiInternal">
-                       <xml-root-element name="aai-internal" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.openecomp.org.v10.ReservedPropNames" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v10.EdgePropNames" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="ReservedPropNames">
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
-                               <xml-property name="uniqueProps" value="aai-unique-key" />
-                               <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri" />
-                       </xml-properties>
-                       <xml-root-element name="reserved-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String" />
-                               <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="EdgePropNames">
-                       <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules" />
-                               <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV" />
-                       </xml-properties>
-                       <xml-root-element name="edge-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String" />
-                               <xml-element java-attribute="direction" name="direction" type="java.lang.String" />
-                               <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String" />
-                               <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean" />
-                               <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean" />
-                               <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean" />
-                               <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.Boolean" />
-                               <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.Boolean" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Models">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
-                       </xml-properties>
-                       <xml-root-element name="models" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v10.Model" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Model">
-                       <xml-root-element name="model" />
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version" />
-                               <xml-property name="nameProps" value="model-type" />
-                               <xml-property name="indexedProps" value="model-invariant-id,model-type" />
-                               <xml-property name="uniqueProps" value="model-invariant-id" />
-                               <xml-property name="container" value="models" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v10.ModelVers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-
-               <java-type name="ModelVers">
-                       <xml-root-element name="model-vers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.openecomp.org.v10.ModelVer" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="ModelVer">
-                       <xml-root-element name="model-ver" />
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models" />
-                               <xml-property name="nameProps" value="model-name" />
-                               <xml-property name="indexedProps" value="model-version-id,model-name,model-version" />
-                               <xml-property name="uniqueProps" value="model-version-id" />
-                               <xml-property name="container" value="model-vers" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElements">
-                       <xml-root-element name="model-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.openecomp.org.v10.ModelElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElement">
-                       <xml-properties>
-                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
-                               <xml-property name="uniqueProps" value="model-element-uuid" />
-                               <xml-property name="indexedProps" value="model-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-elements" />
-                       </xml-properties>
-                       <xml-root-element name="model-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="How many of this type of element are required/allowed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String" >
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.openecomp.org.v10.ModelConstraints">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraints">
-                       <xml-root-element name="model-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.openecomp.org.v10.ModelConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="model-constraint-uuid" />
-                               <xml-property name="indexedProps" value="model-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="model-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.v10.ConstrainedElementSets" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSets">
-                       <xml-root-element name="constrained-element-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.openecomp.org.v10.ConstrainedElementSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
-                               <xml-property name="indexedProps" value="constrained-element-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="constrained-element-sets" />
-                       </xml-properties>
-                       <xml-root-element name="constrained-element-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v10.ElementChoiceSets" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSets">
-                       <xml-root-element name="element-choice-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.openecomp.org.v10.ElementChoiceSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="element-choice-set-uuid" />
-                               <xml-property name="indexedProps" value="element-choice-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="element-choice-sets" />
-                       </xml-properties>
-                       <xml-root-element name="element-choice-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueries">
-                       <xml-root-element name="named-queries" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v10.NamedQuery" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQuery">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="nameProps" value="named-query-name" />
-                               <xml-property name="uniqueProps" value="named-query-uuid" />
-                               <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
-                               <xml-property name="container" value="named-queries" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <xml-root-element name="named-query" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String" >
-                                       <xml-element-wrapper name="required-input-params" />
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v10.NamedQueryElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElements">
-                       <xml-root-element name="named-query-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.openecomp.org.v10.NamedQueryElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElement">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="named-query-element-uuid" />
-                               <xml-property name="indexedProps" value="named-query-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="named-query-elements" />
-                       </xml-properties>
-                       <xml-root-element name="named-query-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
-                               <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v10.NamedQueryElements" />
-                               <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v10.RelatedLookups" />
-                               <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v10.PropertyConstraints" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookups">
-                       <xml-root-element name="related-lookups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.openecomp.org.v10.RelatedLookup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookup">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="related-lookup-uuid" />
-                               <xml-property name="indexedProps" value="related-lookup-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="related-lookups" />
-                       </xml-properties>
-                       <xml-root-element name="related-lookup" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraints">
-                       <xml-root-element name="property-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.openecomp.org.v10.PropertyConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="property-constraint-uuid" />
-                               <xml-property name="indexedProps" value="property-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="property-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="property-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelAndNamedQuerySearch">
-                       <xml-properties>
-                               <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="model-and-named-query-search" />
-                       <java-attributes>
-                               <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.openecomp.org.v10.QueryParameters" />
-                               <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.org.v10.InstanceFilters" />
-                               <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.openecomp.org.v10.SecondaryFilts" />
-                               <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="QueryParameters">
-                       <xml-properties>
-                               <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="query-parameters" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v10.NamedQuery" />
-                               <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.org.v10.OverloadedModel" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OverloadedModel">
-                       <xml-root-element name="overloaded-model" />
-                       <xml-properties>
-                               <xml-property name="description" value="Allows for legacy POST of old-style and new-style models" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Invariant unique ID which does not change from version to version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v10.ModelVers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilters">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filters" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.openecomp.org.v10.InstanceFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilter">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
-                               <xml-property name="container" value="instance-filters" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filter" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="SecondaryFilts">
-                       <xml-properties>
-                               <xml-property name="description" value="SecondaryFilts for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="secondary-filts" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.openecomp.org.v10.SecondaryFilt" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="SecondaryFilt">
-                       <xml-properties>
-                               <xml-property name="description" value="SecondaryFilt for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="secondary-filt" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Properties">
-                       <xml-properties>
-                               <xml-property name="description" value="Property holder for query properties or instance properties" />
-                       </xml-properties>
-                       <xml-root-element name="properties" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResponseList">
-                       <xml-properties>
-                               <xml-property name="description" value="Response container for the results of a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="response-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v10.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItems">
-                       <xml-properties>
-                               <xml-property name="description" value="Container for inventory items in response list" />
-                               <xml-property name="container" value="response-list" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-items" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.openecomp.org.v10.InventoryResponseItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItem">
-                       <xml-properties>
-                               <xml-property name="description" value="Inventory item for response list" />
-                               <xml-property name="container" value="inventory-response-items" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelName" name="model-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="item" />
-                               <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.openecomp.org.v10.ExtraProperties" />
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v10.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperties">
-                       <xml-properties>
-                               <xml-property name="description" value="Extra properties for inventory item for response list" />
-                       </xml-properties>
-                       <xml-root-element name="extra-properties" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.openecomp.org.v10.ExtraProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperty">
-                       <xml-root-element name="extra-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="propertyValue" lax="true" name="property-value" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReferences">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack route table references" />
-                       </xml-properties>
-                       <xml-root-element name="route-table-references" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.openecomp.org.v10.RouteTableReference" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReference">
-                       <xml-root-element name="route-table-reference" />
-                       <java-attributes>
-                               <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="FQDN entry in the route table." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack route table reference." />
-                               <xml-property name="nameProps" value="route-table-reference-fqdn" />
-                               <xml-property name="uniqueProps" value="route-table-reference-id" />
-                               <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
-                               <xml-property name="container" value="route-table-references" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="InstanceGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack route table references" />
-                       </xml-properties>
-                       <xml-root-element name="instance-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.openecomp.org.v10.InstanceGroup" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="InstanceGroup">
-                       <xml-root-element name="instance-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Instance Group ID, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Only valid value today is lower case ha for high availability" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subType" name="sub-type"  type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="General mechanism for grouping instances" />
-                               <xml-property name="nameProps" value="description" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id,description,type,sub-type" />
-                               <xml-property name="container" value="instance-groups" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-
-               <java-type name="SegmentationAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack segmentation assignments" />
-                       </xml-properties>
-                       <xml-root-element name="segmentation-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v10.SegmentationAssignment" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="SegmentationAssignment">
-                       <xml-root-element name="segmentation-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack segmentation assignment." />
-                               <xml-property name="indexedProps" value="segmentation-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="segmentation-assignments" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="AllottedResources">
-                       <xml-properties>
-                               <xml-property name="description" value="This object is used to store slices of services being offered" />
-                       </xml-properties>
-                       <xml-root-element name="allotted-resources" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.openecomp.org.v10.AllottedResource" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="AllottedResource">
-                       <xml-root-element name="allotted-resource" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The descriptive information assigned to this allotted resource instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Link back to more information in the controller" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="type" name="type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Generic description of the type of allotted resource." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="role" name="role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="role in the network that this resource will be providing." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.openecomp.org.v10.TunnelXconnects" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted" />
-                               <xml-property name="nameProps" value="description" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role" />
-                               <xml-property name="dependentOn" value="service-instance" />
-                               <xml-property name="container" value="allotted-resources" />
-                               <!--  <xml-property name="namespace" value="network" /> -->
-                       </xml-properties>
-               </java-type>    
-               
-               <java-type name="TunnelXconnects">
-                       <xml-properties>
-                               <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource" />
-                       </xml-properties>
-                       <xml-root-element name="tunnel-xconnects" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.openecomp.org.v10.TunnelXconnect" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="TunnelXconnect">
-                       <xml-root-element name="tunnel-xconnect" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN uplink bandwidth for WAN1" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN downlink bandwidth for WAN1" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN uplink bandwidth for WAN2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN downlink bandwidth for WAN2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id" />
-                               <xml-property name="dependentOn" value="allotted-resource" />
-                               <xml-property name="container" value="tunnel-xconnects" />
-                               <!--  <xml-property name="namespace" value="network" /> -->
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Entitlements">
-                       <xml-properties>
-                               <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management" />
-                       </xml-properties>
-                       <xml-root-element name="entitlements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.openecomp.org.v10.Entitlement" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="Entitlement">
-                       <xml-root-element name="entitlement" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of an entitlement resource. " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Metadata for entitlement group." />
-                               <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
-                               <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
-                               <xml-property name="container" value="entitlements" />
-                       </xml-properties>
-               </java-type>
-               
-               
-               <java-type name="Licenses">
-                       <xml-properties>
-                               <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management" />
-                       </xml-properties>
-                       <xml-root-element name="licenses" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.openecomp.org.v10.License" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="License">
-                       <xml-root-element name="license" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of a license resource. " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Metadata for license group." />
-                               <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
-                               <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
-                               <xml-property name="container" value="licenses" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Vnf">
-                       <xml-root-element name="vnf"/>
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Abstract vnf class" />
-                               <xml-property name="indexedProps" value="vnf-id" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="inheritors" value="vce,vpe,generic-vnf" />
-                               <xml-property name="abstract" value="true" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Zones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of zones" />
-                       </xml-properties>
-                       <xml-root-element name="zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.openecomp.org.v10.Zone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Zone">
-                       <xml-root-element name="zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Code assigned by AIC to the zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="English name associated with the zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Design of zone [Medium/Large…]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Context of zone [production/test]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="status" name="status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Status of a zone." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB" />
-                               <xml-property name="nameProps" value="zone-name" />
-                               <xml-property name="indexedProps" value="zone-id,design-type,zone-context" />
-                               <xml-property name="uniqueProps" value="zone-id" />
-                               <xml-property name="container" value="zones" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="RouteTargets">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of route target information" />
-                       </xml-properties>
-                       <xml-root-element name="route-targets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.openecomp.org.v10.RouteTarget" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="RouteTarget">
-                       <xml-root-element name="route-target" />
-                       <java-attributes>
-                               <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" xml-key="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number used to identify an RT, globally unique in the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" xml-key="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this route target" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Route target information" />
-                               <xml-property name="container" value="route-targets" />
-                               <xml-property name="dependentOn" value="vpn-binding" />
-                               <xml-property name="canBeLinked" value="true" />
-                       </xml-properties>
-               </java-type>
-       </java-types>
-</xml-bindings>
diff --git a/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v11.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v11.xml
deleted file mode 100644 (file)
index ecf163e..0000000
+++ /dev/null
@@ -1,6307 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-  ============LICENSE_START=======================================================
-  org.openecomp.aai
-  ================================================================================
-  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
-  ================================================================================
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-  
-       http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  ============LICENSE_END=========================================================
-  -->
-
-<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v11" xml-mapping-metadata-complete="true">
-       <xml-schema element-form-default="QUALIFIED">
-               <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v11" />
-       </xml-schema>
-       <java-types>
-               <java-type name="Inventory">
-                       <xml-root-element name="inventory" />
-                       <java-attributes>
-                               <xml-element java-attribute="search" name="search" type="inventory.aai.onap.org.v11.Search" />
-                               <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v11.Actions" />
-                               <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v11.CloudInfrastructure" />
-                               <xml-element java-attribute="externalSystem" name="external-system" type="inventory.aai.onap.org.v11.ExternalSystem" />
-                               <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v11.Business" />
-                               <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v11.ServiceDesignAndCreation" />
-                               <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v11.Network" />
-                               <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v11.AaiInternal" />
-                               <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v11.Nodes"/>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Nodes">
-                       <xml-root-element name="nodes" />
-               </java-type>
-               <java-type name="Search">
-                       <xml-root-element name="search" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.onap.org.v11.EdgeTagQueryResult" />
-                               <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v11.EdgeTagQueryRequest" />
-                               <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v11.SearchResults" />
-                               <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v11.SdnZoneResponse" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryResult">
-                       <xml-root-element name="edge-tag-query-result" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v11.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="TaggedInventoryItemList">
-                       <xml-root-element name="tagged-inventory-item-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.onap.org.v11.InventoryItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItem">
-                       <xml-root-element name="inventory-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String" />
-                               <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.onap.org.v11.InventoryItemData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v11.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItemData">
-                       <xml-root-element name="inventory-item-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryRequest">
-                       <xml-root-element name="edge-tag-query-request" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String" />
-                               <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String" />
-                               <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.onap.org.v11.StartNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v11.IncludeNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v11.SecondaryFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="StartNodeFilter">
-                       <xml-root-element name="start-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IncludeNodeFilter">
-                       <xml-root-element name="include-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SecondaryFilter">
-                       <xml-root-element name="secondary-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SearchResults">
-                       <xml-root-element name="search-results" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.onap.org.v11.ResultData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResultData">
-                       <xml-root-element name="result-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The URL to the specific resource" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SdnZoneResponse">
-                       <xml-root-element name="sdn-zone-response" />
-                       <java-attributes>
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v11.OamNetworks" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v11.AzAndDvsSwitches" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AzAndDvsSwitches">
-                       <xml-root-element name="az-and-dvs-switches" />
-                       <java-attributes>
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v11.DvsSwitches" />
-                               <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v11.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Actions">
-                       <xml-properties>
-                               <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
-                       </xml-properties>
-                       <xml-root-element name="actions" />
-                       <java-attributes>
-                               <xml-element java-attribute="update" name="update" type="inventory.aai.onap.org.v11.Update" />
-                               <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v11.Notify" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Update">
-                       <xml-properties>
-                               <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team." />
-                       </xml-properties>
-                       <xml-root-element name="update" />
-                       <java-attributes>
-                               <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.onap.org.v11.UpdateNodeKey" />
-                               <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.onap.org.v11.Action" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Action">
-                       <xml-root-element name="action" />
-                       <java-attributes>
-                               <xml-element java-attribute="actionType" name="action-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.onap.org.v11.ActionData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ActionData">
-                       <xml-root-element name="action-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="UpdateNodeKey">
-                       <xml-root-element name="update-node-key" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Notify">
-                       <xml-root-element name="notify" />
-                       <java-attributes>
-                               <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String" />
-                               <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.onap.org.v11.KeyData" />
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="KeyData">
-                       <xml-root-element name="key-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExternalSystem">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for external system." />
-                       </xml-properties>
-                       <xml-root-element name="external-system" />
-                       <java-attributes>
-                               <xml-element java-attribute="esrEmsList" name="esr-ems-list" type="inventory.aai.onap.org.v11.EsrEmsList" />
-                               <xml-element java-attribute="esrVnfmList" name="esr-vnfm-list" type="inventory.aai.onap.org.v11.EsrVnfmList" />
-                               <xml-element java-attribute="esrThirdpartySdncList" name="esr-thirdparty-sdnc-list" type="inventory.aai.onap.org.v11.EsrThirdpartySdncList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EsrEmsList">
-                       <xml-root-element name="esr-ems-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="esrEms" name="esr-ems" type="inventory.aai.onap.org.v11.EsrEms" />
-                       </java-attributes>
-            <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="EsrEms">
-                       <xml-root-element name="esr-ems" />
-                       <java-attributes>
-                               <xml-element java-attribute="emsId" name="ems-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of EMS." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Persist EMS address information used by EMS driver." />
-                               <xml-property name="indexedProps" value="ems-id" />
-                               <xml-property name="searchable" value="ems-id" />
-                               <xml-property name="container" value="esr-ems-list" />
-                               <xml-property name="namespace" value="external-system" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="EsrVnfmList">
-                       <xml-root-element name="esr-vnfm-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="esrVnfm" name="esr-vnfm" type="inventory.aai.onap.org.v11.EsrVnfm" />
-                       </java-attributes>
-            <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="EsrVnfm">
-                       <xml-root-element name="esr-vnfm" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfmId" name="vnfm-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of VNFM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vimId" name="vim-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indecate the VIM to deploy VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="certificateUrl" name="certificate-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="certificate url of VNFM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Persist VNFM address information used by VF-C." />
-                               <xml-property name="indexedProps" value="vnfm-id" />
-                               <xml-property name="searchable" value="vnfm-id" />
-                               <xml-property name="container" value="esr-vnfm-list" />
-                               <xml-property name="namespace" value="external-system" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="EsrThirdpartySdncList">
-                       <xml-root-element name="esr-thirdparty-sdnc-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="esrThirdpartySdnc" name="esr-thirdparty-sdnc" type="inventory.aai.onap.org.v11.EsrThirdpartySdnc" />
-                       </java-attributes>
-            <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="EsrThirdpartySdnc">
-                       <xml-root-element name="esr-thirdparty-sdnc" />
-                       <java-attributes>
-                               <xml-element java-attribute="thirdpartySdncId" name="thirdparty-sdnc-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of SDNC." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="location" name="location" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="used for DC type to indicate the location of SDNC, such as Core or Edge." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="productName" name="product-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="password used to access SDNC server." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Persist SDNC address information used by ONAP SDNC." />
-                               <xml-property name="indexedProps" value="sdnc-id" />
-                               <xml-property name="searchable" value="sdnc-id" />
-                               <xml-property name="container" value="esr-thirdparty-sdnc-list" />
-                               <xml-property name="namespace" value="external-system" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="EsrSystemInfoList">
-                       <xml-root-element name="esr-system-info-list" />
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of persistent block-level external system auth info." />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v11.EsrSystemInfo" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="EsrSystemInfo">
-                       <xml-root-element name="esr-system-info" />
-                       <java-attributes>
-                               <xml-element java-attribute="esrSystemInfoId" name="esr-system-info-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of esr system info." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="systemName" name="system-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="name of external system." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="type" name="type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type of external systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="vendor of external systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="version" name="version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="version of external systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceUrl" name="service-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="url used to access external systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="userName" name="user-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="username used to access external systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="password" name="password" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="password used to access external systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="systemType" name="system-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="protocol" name="protocol" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="protocol of third party SDNC, for example netconf/snmp." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sslCacert" name="ssl-cacert" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ca file content if enabled ssl on auth-url." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="sslInsecure" name="ssl-insecure" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether to verify VIM's certificate." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="service IP of ftp server." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="port" name="port" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="service port of ftp server." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudDomain" name="cloud-domain" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="domain info for authentication." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="defaultTenant" name="default-tenant" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="default tenant of VIM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="passive" name="passive" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ftp passive mode or not." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="remotepath" name="remote-path" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="resource or performance data file path." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="systemStatus" name="system-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the status of external system." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Persist common address information of external systems." />
-                               <xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type" />
-                               <xml-property name="searchable" value="esr-system-info-id,system-name,system-type" />
-                               <xml-property name="container" value="esr-system-info-list" />
-                               <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CloudInfrastructure">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for cloud infrastructure." />
-                       </xml-properties>
-                       <xml-root-element name="cloud-infrastructure" />
-                       <java-attributes>
-                               <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.onap.org.v11.Complexes" />
-                               <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v11.CloudRegions" />
-                               <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v11.NetworkProfiles" />
-                               <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v11.Pservers" />
-                               <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v11.VirtualDataCenters" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudRegions">
-                       <xml-root-element name="cloud-regions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.onap.org.v11.CloudRegion" />
-                       </java-attributes>
-            <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CloudRegion">
-                       <xml-root-element name="cloud-region" />
-                       <java-attributes>
-                               <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the cloud (e.g., openstack)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="sriovAutomation" name="sriov-automation" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudExtraInfo" name="cloud-extra-info" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudEpaCaps" name="cloud-epa-caps" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="MultiVIM will discover and expose EPA capabilities." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v11.VolumeGroups" />
-                               <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v11.Tenants" />
-                               <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v11.Flavors" />
-                               <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v11.GroupAssignments" />
-                               <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v11.Snapshots" />
-                               <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v11.Images" />
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v11.DvsSwitches" />
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v11.OamNetworks" />
-                               <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v11.AvailabilityZones" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v11.VipIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v11.VipIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation." />
-                               <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
-                               <xml-property name="nameProps" value="owner-defined-type" />
-                               <xml-property name="container" value="cloud-regions" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="VolumeGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of persistent block-level storage." />
-                       </xml-properties>
-                       <xml-root-element name="volume-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.onap.org.v11.VolumeGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VolumeGroup">
-                       <xml-root-element name="volume-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of volume-group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroupName" name="volume-group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the volume group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModuleModelCustomizationId" name="vf-module-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Persistent block-level storage." />
-                               <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
-                               <xml-property name="searchable" value="volume-group-id,volume-group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="volume-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RelationshipList">
-                       <xml-root-element name="relationship-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.onap.org.v11.Relationship" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Relationship">
-                       <xml-root-element name="relationship" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to the object in A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.onap.org.v11.RelationshipData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v11.RelatedToProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedToProperty">
-                       <xml-root-element name="related-to-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Key part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelationshipData">
-                       <xml-root-element name="relationship-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value of the attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Complexes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                       </xml-properties>
-                       <xml-root-element name="complexes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.onap.org.v11.Complex" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Complex">
-                       <xml-root-element name="complex" />
-                       <java-attributes>
-                               <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Data center code which can be an alternate way to identify a complex" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gamma complex name for LCP instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type, e.g., central office, data center." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="street2" name="street2" type="java.lang.String" />
-                               <xml-element java-attribute="city" name="city" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="state" name="state" type="java.lang.String" />
-                               <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="country" name="country" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="region" name="region" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="latitude" name="latitude" type="java.lang.String" />
-                               <xml-element java-attribute="longitude" name="longitude" type="java.lang.String" />
-                               <xml-element java-attribute="elevation" name="elevation" type="java.lang.String" />
-                               <xml-element java-attribute="lata" name="lata" type="java.lang.String" />
-                               <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.onap.org.v11.CtagPools" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                               <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
-                               <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
-                               <xml-property name="uniqueProps" value="physical-location-id" />
-                               <xml-property name="container" value="complexes" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CtagPools">
-                       <xml-root-element name="ctag-pools" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.onap.org.v11.CtagPool" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagPool">
-                       <xml-root-element name="ctag-pool" />
-                       <java-attributes>
-                               <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The Target provider edge router" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes what the intended purpose of this pool is." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Comma separated list of ctags" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="complex" />
-                               <xml-property name="container" value="ctag-pools" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Tenants">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack tenants." />
-                       </xml-properties>
-                       <xml-root-element name="tenants" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.onap.org.v11.Tenant" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Tenant">
-                       <xml-root-element name="tenant" />
-                       <java-attributes>
-                               <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id relative to the cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Readable name of tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tenantContext" name="tenant-context" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field will store the tenant context." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.onap.org.v11.Vservers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack tenant" />
-                               <xml-property name="nameProps" value="tenant-name" />
-                               <xml-property name="indexedProps" value="tenant-name,tenant-id,tenant-context" />
-                               <xml-property name="searchable" value="tenant-id,tenant-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="tenants" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
-                       </xml-properties>
-                       <xml-root-element name="vservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.onap.org.v11.Vserver" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vserver">
-                       <xml-root-element name="vserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternative name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.onap.org.v11.Volumes" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
-                               <xml-property name="nameProps" value="vserver-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
-                               <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2" />
-                               <xml-property name="dependentOn" value="tenant" />
-                               <xml-property name="container" value="vservers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="l-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.onap.org.v11.LInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LInterface">
-                       <xml-root-element name="l-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name given to the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="MAC address for the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Human friendly text regarding this interface." />
-                                       </xml-properties>
-                               </xml-element>                  
-                               <xml-element java-attribute="isPortMirrored" name="is-port-mirrored" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not port is a mirrored." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV]." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v11.Vlans" />
-                               <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v11.SriovVfs" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
-                               <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
-                               <xml-property name="dependentOn" value="generic-vnf,newvce,p-interface,vserver,lag-interface" />
-                               <xml-property name="container" value="l-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SriovVfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
-                       </xml-properties>
-                       <xml-root-element name="sriov-vfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.onap.org.v11.SriovVf" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="SriovVf">
-                       <xml-root-element name="sriov-vf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option is used to set the link status.  Valid values as of 1607 are on, off, and auto." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
-                               <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="sriov-vfs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv4AddressList">
-                       <xml-root-element name="l3-interface-ipv4-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 32 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv4 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface,vnfc" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vlans">
-                       <xml-root-element name="vlans" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.onap.org.v11.Vlan" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vlan">
-                       <xml-root-element name="vlan" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String that identifies the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to describe (the service associated with) the vlan" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="vpnKey" name="vpn-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C." />
-                                       </xml-properties>
-                               </xml-element>
-                                       <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV]." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration." />
-                                       </xml-properties>
-                               </xml-element>                  
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Definition of vlan" />
-                               <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="vlans" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv6AddressList">
-                       <xml-root-element name="l3-interface-ipv6-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 128 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv6 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface,vnfc" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Volumes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
-                       </xml-properties>
-                       <xml-root-element name="volumes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.onap.org.v11.Volume" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Volume">
-                       <xml-root-element name="volume" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Ephemeral Block storage volume." />
-                               <xml-property name="indexedProps" value="volume-id" />
-                               <xml-property name="dependentOn" value="vserver" />
-                               <xml-property name="container" value="volumes" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Flavors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack flavors." />
-                       </xml-properties>
-                       <xml-root-element name="flavors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.onap.org.v11.Flavor" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Flavor">
-                       <xml-root-element name="flavor" />
-                       <java-attributes>
-                               <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of CPUs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of memory" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of ephemeral disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="amount of swap space allocation" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack flavor." />
-                               <xml-property name="nameProps" value="flavor-name" />
-                               <xml-property name="indexedProps" value="flavor-name,flavor-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="flavors" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Snapshots">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack snapshots" />
-                       </xml-properties>
-                       <xml-root-element name="snapshots" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.onap.org.v11.Snapshot" />
-                       </java-attributes>              
-               </java-type>
-               
-               <java-type name="Snapshot">
-                       <xml-root-element name="snapshot" />
-                       <java-attributes>
-                               <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack snapshot" />
-                               <xml-property name="nameProps" value="snapshot-name" />
-                               <xml-property name="uniqueProps" value="snapshot-id" />
-                               <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="snapshots" />
-                       </xml-properties>       
-               </java-type>
-               
-               <java-type name="GroupAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack group assignments" />
-                       </xml-properties>
-                       <xml-root-element name="group-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.onap.org.v11.GroupAssignment" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="GroupAssignment">
-                       <xml-root-element name="group-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group type - the type of group this instance refers to" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name - name assigned to the group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group description - description of the group" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>          
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
-                               <xml-property name="nameProps" value="group-name" />
-                               <xml-property name="indexedProps" value="group-id,group-type,group-name" />
-                               <xml-property name="searchable" value="group-id,group-name"/>
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="group-assignments" />
-                       </xml-properties>
-               </java-type>                    
-
-               <java-type name="Images">
-                       <xml-properties>
-                               <xml-property name="description" value="Collectio of Openstack images." />
-                       </xml-properties>
-                       <xml-root-element name="images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.onap.org.v11.Image" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Image">
-                       <xml-root-element name="image" />
-                       <java-attributes>
-                               <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image id, expected to be unique across cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack image." />
-                               <xml-property name="nameProps" value="image-name" />
-                               <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="images" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Metadata">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
-                       </xml-properties>
-                       <xml-root-element name="metadata" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.onap.org.v11.Metadatum" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Metadatum">
-                       <xml-root-element name="metadatum" />
-                       <java-attributes>
-                               <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Key/value pairs" />
-                               <xml-property name="indexedProps" value="metaname" />
-                               <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
-                               <xml-property name="container" value="metadata" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="DvsSwitches">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs." />
-                       </xml-properties>
-                       <xml-root-element name="dvs-switches" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.onap.org.v11.DvsSwitch" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="DvsSwitch">
-                       <xml-root-element name="dvs-switch" />
-                       <java-attributes>
-                               <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS switch name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL used to reach the vcenter" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs.  A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
-                               <xml-property name="indexedProps" value="vcenter-url,switch-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="dvs-switches" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="NetworkProfiles">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of network profiles" />
-                       </xml-properties>
-                       <xml-root-element name="network-profiles" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.onap.org.v11.NetworkProfile" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NetworkProfile">
-                       <xml-root-element name="network-profile" />
-                       <java-attributes>
-                               <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique name of network profile." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted SNMP community string" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
-                               <xml-property name="indexedProps" value="nm-profile-name" />
-                               <xml-property name="container" value="network-profiles" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of compute hosts." />
-                       </xml-properties>
-                       <xml-root-element name="pservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.onap.org.v11.Pserver" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pserver">
-                       <xml-root-element name="pserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value from executing hostname on the compute node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PTNII name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of cpus" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk size, in GBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="RAM size, in MBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Fully-qualified domain name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number, may be queried" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 OAM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="internet topology of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="alternative pserver name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="purpose of pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates who owns and or manages the device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="hostProfile" name="host-profile" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The host profile that defines the configuration of the pserver." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v11.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
-                               <xml-property name="nameProps" value="pserver-name2" />
-                               <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status" />
-                               <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
-                               <xml-property name="container" value="pservers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="p-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.onap.org.v11.PInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PInterface">
-                       <xml-root-element name="p-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the physical interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nature of the services and connectivity on this port." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CLEI or other specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the physical properties of the interface." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="macAddress" name="mac-addresss" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="MAC Address of the p-interface." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="inventory status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="sriovPfs" name="sriov-pfs" type="inventory.aai.onap.org.v11.SriovPfs" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Physical interface (e.g., nic)" />
-                               <xml-property name="indexedProps" value="interface-name,prov-status" />
-                               <xml-property name="nameProps" value="prov-status" />
-                               <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
-                               <xml-property name="container" value="p-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LagInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregate interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="lag-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.onap.org.v11.LagInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagInterface">
-                       <xml-root-element name="lag-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the link aggregate interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Human friendly text regarding this interface." />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Link aggregate interface" />
-                               <xml-property name="indexedProps" value="interface-name,interface-id,interface-role" />
-                               <xml-property name="dependentOn" value="generic-vnf,pserver,vpls-pe,pnf" />
-                               <xml-property name="container" value="lag-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="OamNetworks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly.  Do not use for new purposes. " />
-                       </xml-properties>
-                       <xml-root-element name="oam-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.onap.org.v11.OamNetwork" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OamNetwork">
-                       <xml-root-element name="oam-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cvlan-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="OAM network, to be deprecated shortly.  Do not use for new purposes. " />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="oam-networks" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="AvailabilityZones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of availability zones" />
-                       </xml-properties>
-                       <xml-root-element name="availability-zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v11.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AvailabilityZone">
-                       <xml-root-element name="availability-zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone.  Unique across a cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of hypervisor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="availability-zones" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VirtualDataCenters">
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                       </xml-properties>
-                       <xml-root-element name="virtual-data-centers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.onap.org.v11.VirtualDataCenter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VirtualDataCenter">
-                       <xml-root-element name="virtual-data-center" />
-                       <java-attributes>
-                               <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the vdc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the virtual data center" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                               <xml-property name="nameProps" value="vdc-name" />
-                               <xml-property name="indexedProps" value="vdc-name,vdc-id" />
-                               <xml-property name="container" value="virtual-data-centers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Business">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for business related constructs" />
-                       </xml-properties>
-                       <xml-root-element name="business" />
-                       <java-attributes>
-                               <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.onap.org.v11.Connectors" />
-                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v11.Customers" />
-                               <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v11.LinesOfBusiness" />
-                               <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v11.OwningEntities" />
-                               <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v11.Platforms" />
-                               <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v11.Projects" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Projects">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of projects" />
-                       </xml-properties>
-                       <xml-root-element name="projects" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v11.Project" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Project">
-                       <xml-root-element name="project" />
-                       <java-attributes>
-                               <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the project deploying a service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="describes the project" />
-                               <xml-property name="indexedProps" value="project-name" />
-                               <xml-property name="uniqueProps" value="project-name" />
-                               <xml-property name="container" value="projects" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Connectors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                       </xml-properties>
-                       <xml-root-element name="connectors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.onap.org.v11.Connector" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Connector">
-                       <xml-root-element name="connector" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of resource instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-version-id" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-invariant-id" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                               <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version" />
-                               <xml-property name="container" value="connectors" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Customers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
-                       </xml-properties>
-                       <xml-root-element name="customers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v11.Customer" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Customer">
-                       <xml-root-element name="customer" />
-                       <java-attributes>
-                               <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
-                                               <xml-property name="defaultValue" value="CUST" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.onap.org.v11.ServiceSubscriptions" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
-                               <xml-property name="nameProps" value="subscriber-name" />
-                               <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
-                               <xml-property name="searchable" value="global-customer-id,subscriber-name" />
-                               <xml-property name="uniqueProps" value="global-customer-id" />
-                               <xml-property name="container" value="customers" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LinesOfBusiness">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of lines-of-business" />
-                       </xml-properties>
-                       <xml-root-element name="lines-of-business" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v11.LineOfBusiness" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LineOfBusiness">
-                       <xml-root-element name="line-of-business" />
-                       <java-attributes>
-                               <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the line-of-business (product)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="describes a line-of-business" />
-                               <xml-property name="indexedProps" value="line-of-business-name" />
-                               <xml-property name="uniqueProps" value="line-of-business-name" />
-                               <xml-property name="container" value="lines-of-business" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="OwningEntities">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of owning-entities" />
-                       </xml-properties>
-                       <xml-root-element name="owning-entities" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v11.OwningEntity" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OwningEntity">
-                       <xml-root-element name="owning-entity" />
-                       <java-attributes>
-                               <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of an owning entity" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Owning entity name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="describes an owning-entity" />
-                               <xml-property name="indexedProps" value="owning-entity-id, owning-entity-name" />
-                               <xml-property name="searchable" value="owning-entity-id" />
-                               <xml-property name="uniqueProps" value="owning-entity-id, owning-entity-name" />
-                               <xml-property name="container" value="owning-entities" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Platforms">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of platforms" />
-                       </xml-properties>
-                       <xml-root-element name="platforms" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v11.Platform" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Platform">
-                       <xml-root-element name="platform" />
-                       <java-attributes>
-                               <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the platform" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="describes a platform" />
-                               <xml-property name="indexedProps" value="platform-name" />
-                               <xml-property name="uniqueProps" value="platform-name" />
-                               <xml-property name="container" value="platforms" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceSubscriptions">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of objects that group service instances." />
-                       </xml-properties>
-                       <xml-root-element name="service-subscriptions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.onap.org.v11.ServiceSubscription" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceSubscription">
-                       <xml-root-element name="service-subscription" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
-                    <xml-properties>
-                        <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution." />
-                    </xml-properties>
-                </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.onap.org.v11.ServiceInstances">
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Object that group service instances." />
-                               <xml-property name="indexedProps" value="service-type" />
-                               <xml-property name="dependentOn" value="customer" />
-                               <xml-property name="container" value="service-subscriptions" />
-                               <xml-property name="crossEntityReference" value="service-instance,service-type" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service instances" />
-                       </xml-properties>
-                       <xml-root-element name="service-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.onap.org.v11.ServiceInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceInstance">
-                       <xml-root-element name="service-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Uniquely identifies this instance of a service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field will store a name assigned to the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceType" name="service-type" required="false" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing the service role." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field will store the environment context assigned to the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field will store the workload context assigned to the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-version-id" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-invariant-id" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the total bandwidth to be used for this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL customers will use to access the vHN Portal." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata" />
-                               <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v11.AllottedResources" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Instance of a service" />
-                               <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status,environment-context,workload-context" />
-                               <xml-property name="nameProps" value="service-instance-name" />
-                               <xml-property name="searchable" value="service-instance-id,service-instance-name" />
-                               <xml-property name="uniqueProps" value="service-instance-id" />
-                               <xml-property name="dependentOn" value="service-subscription" />
-                               <xml-property name="container" value="service-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceDesignAndCreation">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for objects managed by ASDC" />
-                       </xml-properties>
-                       <xml-root-element name="service-design-and-creation" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.onap.org.v11.VnfImages" />
-                               <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v11.Services" />
-                               <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v11.ServiceCapabilities" />
-                               <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v11.Models" />
-                               <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v11.NamedQueries" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImages">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                       </xml-properties>
-                       <xml-root-element name="vnf-images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.onap.org.v11.VnfImage" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImage">
-                       <xml-root-element name="vnf-image" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of this asset" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                               <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
-                               <xml-property name="uniqueProps" value="vnf-image-uuid" />
-                               <xml-property name="container" value="vnf-images" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Services">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service model definitions.  Likely to be deprecated in favor of models from ASDC." />
-                       </xml-properties>
-                       <xml-root-element name="services" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.onap.org.v11.Service" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Service">
-                       <xml-root-element name="service" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description of the service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="service version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services." />
-                               <xml-property name="indexedProps" value="service-description,service-id" />
-                               <xml-property name="container" value="services" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceCapabilities">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service capabilities." />
-                       </xml-properties>
-                       <xml-root-element name="service-capabilities" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.onap.org.v11.ServiceCapability" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceCapability">
-                       <xml-root-element name="service-capability" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models.  No new use should be made of this." />
-                               <xml-property name="indexedProps" value="service-type,vnf-type" />
-                               <xml-property name="container" value="service-capabilities" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Network">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for network inventory resources." />
-                       </xml-properties>
-                       <xml-root-element name="network" />
-                       <java-attributes>
-                               <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v11.LogicalLinks" />
-                               <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v11.SitePairSets" />
-                               <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v11.VpnBindings" />
-                               <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v11.VplsPes" />
-                               <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v11.MulticastConfigurations" />
-                               <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v11.Vces" />
-                               <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v11.Vnfcs" />
-                               <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v11.L3Networks" />
-                               <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v11.NetworkPolicies" />
-                               <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v11.GenericVnfs" />
-                               <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v11.LagLinks" />
-                               <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v11.Newvces" />
-                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v11.Pnfs" />
-                               <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v11.PhysicalLinks" />
-                               <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v11.IpsecConfigurations" />
-                               <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v11.RouteTableReferences" />
-                               <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v11.InstanceGroups" />
-                               <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v11.Zones" />
-                       </java-attributes>
-               </java-type>
-        <java-type name="Configurations">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of configurations" />
-                       </xml-properties>
-                       <xml-root-element name="configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="configuration" name="configurations" type="inventory.aai.onap.org.v11.Configuration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Configuration">
-                       <xml-root-element name="configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="configurationId" name="configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID assigned to configuration." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="configurationName" name="configuration-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the configuration." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="configurationType" name="configuration-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="port-mirroring-configuration." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="configurationSubType" name="configuration-sub-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="vprobe, pprobe." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-version-id" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-invariant-id" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of the configuration." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="configurationSelflink" name="configuration-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details from SDN-GC." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id of  the configuration used to customize the resource" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Port Mirror Configuration." />
-                               <xml-property name="indexedProps" value="configuration-id,model-invariant-id,model-version-id" />
-                               <xml-property name="uniqueProps" value="configuration-id" />
-                               <xml-property name="container" value="configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LogicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical connections" />
-                       </xml-properties>
-                       <xml-root-element name="logical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.onap.org.v11.LogicalLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLink">
-                       <xml-root-element name="logical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of logical link, e.g., evc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4, v6, or ds for dual stack" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="For example, static or BGP" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-version-id" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-invariant-id" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of operational status of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of the network use of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
-                                       </xml-properties>
-                               </xml-element>
-                                       <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Reason for this entity, role it is playing" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
-                               <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose" />
-                               <xml-property name="uniqueProps" value="link-id" />
-                               <xml-property name="container" value="logical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairSets">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
-                       </xml-properties>
-                       <xml-root-element name="site-pair-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.onap.org.v11.SitePairSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePairSet">
-                       <xml-root-element name="site-pair-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of site pair set." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.onap.org.v11.RoutingInstances" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
-                               <xml-property name="indexedProps" value="site-pair-set-id" />
-                               <xml-property name="uniqueProps" value="site-pair-set-id" />
-                               <xml-property name="container" value="site-pair-sets" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RoutingInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
-                       </xml-properties>
-                       <xml-root-element name="routing-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.onap.org.v11.RoutingInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RoutingInstance">
-                       <xml-root-element name="routing-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of routing instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rpm owner" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.onap.org.v11.SitePairs" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="routing-instance-id" />
-                               <xml-property name="dependentOn" value="site-pair-set" />
-                               <xml-property name="container" value="routing-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairs">
-                       <xml-properties>
-                               <xml-property name="description" value="probe within a set" />
-                       </xml-properties>
-                       <xml-root-element name="site-pairs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.onap.org.v11.SitePair" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePair">
-                       <xml-root-element name="site-pair" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version, v4, v6" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The type of destinatination equipment. Could be Router, UCPE, etc." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.onap.org.v11.ClassesOfService" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="site-pair-id" />
-                               <xml-property name="uniqueProps" value="site-pair-id" />
-                               <xml-property name="dependentOn" value="routing-instance" />
-                               <xml-property name="container" value="site-pairs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ClassesOfService">
-                       <xml-properties>
-                               <xml-property name="description" value="class-of-service of probe" />
-                       </xml-properties>
-                       <xml-root-element name="classes-of-service" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.onap.org.v11.ClassOfService" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ClassOfService">
-                       <xml-root-element name="class-of-service" />
-                       <java-attributes>
-                               <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="cos" />
-                               <xml-property name="dependentOn" value="site-pair" />
-                               <xml-property name="container" value="classes-of-service" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VpnBindings">
-                       <xml-root-element name="vpn-bindings" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.onap.org.v11.VpnBinding" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VpnBinding">
-                       <xml-root-element name="vpn-binding" />
-                       <java-attributes>
-                               <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN Name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnRegion" name="vpn-region" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="region of customer vpn" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="customerVpnId" name="customer-vpn-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id for this customer vpn" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.onap.org.v11.RouteTargets" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList">
-                                       <xml-properties>
-                                               <xml-property name="description" value="l3-networks relate to vpn-bindings" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPN binding" />
-                               <xml-property name="nameProps" value="vpn-name,vpn-type" />
-                               <xml-property name="indexedProps" value="vpn-name,vpn-id,vpn-type" />
-                               <xml-property name="searchable" value="vpn-id,vpn-name" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="container" value="vpn-bindings" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VplsPes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
-                       </xml-properties>
-                       <xml-root-element name="vpls-pes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.onap.org.v11.VplsPe" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VplsPe">
-                       <xml-root-element name="vpls-pe" />
-                       <java-attributes>
-                               <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v11.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPLS Provider Edge routers." />
-                               <xml-property name="indexedProps" value="prov-status,equipment-name" />
-                               <xml-property name="container" value="vpls-pes" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="MulticastConfigurations">
-                       <xml-properties>
-                               <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
-                       </xml-properties>
-                       <xml-root-element name="multicast-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.onap.org.v11.MulticastConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="MulticastConfiguration">
-                       <xml-root-element name="multicast-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of multicast configuration." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="protocol of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rp type of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="multicast-configuration-id" />
-                               <xml-property name="uniqueProps" value="multicast-configuration-id" />
-                               <xml-property name="container" value="multicast-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma.  This object is deprecated." />
-                       </xml-properties>
-                       <xml-root-element name="vces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.onap.org.v11.Vce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vce">
-                       <xml-root-element name="vce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network role being played by this VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of VPE connected to this VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router.  Implied length of /64." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  see child relationships" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.onap.org.v11.PortGroups" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v11.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v11.Entitlements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma.  This object is deprecated." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="vces" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PortGroups">
-                       <xml-root-element name="port-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.onap.org.v11.PortGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PortGroup">
-                       <xml-root-element name="port-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network name of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for port group in vmware" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Likely to duplicate value of neutron network name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.onap.org.v11.CvlanTags" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
-                               <xml-property name="nameProps" value="port-group-name" />
-                               <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
-                               <xml-property name="dependentOn" value="vce" />
-                               <xml-property name="container" value="port-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CvlanTags">
-                       <xml-root-element name="cvlan-tags" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.onap.org.v11.CvlanTagEntry" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CvlanTagEntry">
-                       <xml-root-element name="cvlan-tag-entry" />
-                       <java-attributes>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="dependentOn" value="port-group" />
-                               <xml-property name="indexedProps" value="cvlan-tag" />
-                               <xml-property name="container" value="cvlan-tags" />
-                       </xml-properties>
-               </java-type>
-
-
-
-               <java-type name="Vnfcs">
-                       <xml-properties>
-                               <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
-                       </xml-properties>
-                       <xml-root-element name="vnfcs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.onap.org.v11.Vnfc" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vnfc">
-                       <xml-root-element name="vnfc" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vnfc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfcNamingCode" name="nfc-naming-code" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Short code that is used in naming instances of the item being modeled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfcFunction" name="nfc-function" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="prov status of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Oam V4 vip address of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group notation of VNFC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-invariant-id" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id" />
-                               <xml-property name="searchable" value="vnfc-name" />
-                               <xml-property name="container" value="vnfcs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3Networks">
-                       <xml-root-element name="l3-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.onap.org.v11.L3Network" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="L3Network">
-                       <xml-root-element name="l3-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network, governed by some naming convention.." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the network - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role the network plans - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network technology - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBoundToVpn" name="is-bound-to-vpn" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Set to true if bound to VPN" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network role instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-version-id" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-invariant-id" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the physical network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a provider network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a shared network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is an external network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v11.Subnets" />
-                               <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v11.CtagAssignments" />
-                               <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v11.SegmentationAssignments" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Generic network definition" />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role" />
-                               <xml-property name="searchable" value="network-id,network-name" />
-                               <xml-property name="uniqueProps" value="network-id" />
-                               <xml-property name="container" value="l3-networks" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="NetworkPolicies">
-                       <xml-root-element name="network-policies" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.onap.org.v11.NetworkPolicy" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NetworkPolicy">
-                       <xml-root-element name="network-policy" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID representing unique key to this instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the policy" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID for the openStack Heat instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="nameProps" value="network-policy-fqdn" />
-                               <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="searchable" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="uniqueProps" value="network-policy-id" />
-                               <xml-property name="container" value="network-policies" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="CtagAssignments">
-                       <xml-root-element name="ctag-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.onap.org.v11.CtagAssignment" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagAssignment">
-                       <xml-root-element name="ctag-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vlan-id-inner" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="ctag-assignments" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Subnets">
-                       <xml-root-element name="subnets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.onap.org.v11.Subnet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Subnet">
-                       <xml-root-element name="subnet" />
-                       <java-attributes>
-                               <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subnet ID, should be UUID." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the subnet." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of this subnet" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="gateway ip address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network start address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cidr mask" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="dhcp enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the start address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the last address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                                       <xml-element java-attribute="subnetRole" name="subnet-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="role of the subnet, referenced when assigning IPs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipAssignmentDirection" name="ip-assignment-direction" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip address assignment direction of the subnet" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="sequence of the subnet" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v11.HostRoutes" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="subnet-id,subnet-name" />
-                               <xml-property name="nameProps" value="subnet-name" />
-                               <xml-property name="uniqueProps" value="subnet-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="subnets" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VNFs" />
-                       </xml-properties>
-                       <xml-root-element name="generic-vnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.onap.org.v11.GenericVnf" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnf">
-                       <xml-root-element name="generic-vnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                               <xml-property name="suggestibleOnSearch" value="true"/>
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, used by MSO." />
-                                               <xml-property name="suggestibleOnSearch" value="true"/>
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by ATT or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 Loopback address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 management address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the specific entitlement resource.  OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the license assignment group.  OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the actual license resource.  OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-version-id" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-invariant-id" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="represents sub zone of the rr plane" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfType" name="nf-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Generic description of the type of NF" />
-                                               <xml-property name="suggestibleOnSearch" value="true"/>
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfFunction" name="nf-function" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="English description of Network function that the specific VNF deployment is providing" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="role in the network that this model will be providing" />
-                                               <xml-property name="suggestibleOnSearch" value="true"/>
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="nfNamingCode" name="nf-naming-code" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="string assigned to this model used for naming purposes" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gateway address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length for oam-address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for S-TAG to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nmProfileName" name="nm-profile-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network Management profile of this VNF" />
-                                       </xml-properties>
-                               </xml-element>                  
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.LagInterfaces" />
-                               <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v11.VfModules" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v11.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v11.Entitlements" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="General purpose VNF" />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="generic-vnfs" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                               <xml-property name="containsSuggestibleProps" value="true"/>
-                               <xml-property name="suggestionAliases" value="VNFs"/>
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VfModules">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
-                       </xml-properties>
-                       <xml-root-element name="vf-modules" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.onap.org.v11.VfModule" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VfModule">
-                       <xml-root-element name="vf-module" />
-                       <java-attributes>
-                               <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vf-module." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vf-module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-version-id" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-invariant-id" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the Contrail unique ID for a service-instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="a deployment unit of VNFCs" />
-                               <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
-                               <xml-property name="searchable" value="vf-module-id,vf-module-name" />
-                               <xml-property name="dependentOn" value="generic-vnf" />
-                               <xml-property name="container" value="vf-modules" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="LagLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregation connections" />
-                       </xml-properties>
-                       <xml-root-element name="lag-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.onap.org.v11.LagLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagLink">
-                       <xml-root-element name="lag-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="LAG links can connect lag-interfaces" />
-                               <xml-property name="indexedProps" value="link-name" />
-                               <xml-property name="container" value="lag-links" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Newvces">
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                       </xml-properties>
-                       <xml-root-element name="newvces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.onap.org.v11.Newvce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Newvce">
-                       <xml-root-element name="newvce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
-                               <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id2" />
-                               <xml-property name="container" value="newvces" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Physical Network Functions." />
-                       </xml-properties>
-                       <xml-root-element name="pnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.onap.org.v11.Pnf" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnf">
-                       <xml-root-element name="pnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="source of name2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id of pnf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by ATT or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number of the device" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 OAM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nf Role is the role performed by this instance in the network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v11.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE." />
-                               <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status" />
-                               <xml-property name="searchable" value="pnf-name" />
-                               <xml-property name="uniqueProps" value="pnf-name" />
-                               <xml-property name="container" value="pnfs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                       </xml-properties>
-                       <xml-root-element name="physical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.onap.org.v11.PhysicalLink" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLink">
-                       <xml-root-element name="physical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit it" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Dual access mode (e.g., primary, secondary" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the service Provider on this link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Units for the upstream BW value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Units for downstream BW value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                               <xml-property name="indexedProps" value="circuit-id,link-name" />
-                               <xml-property name="alternateKeys1" value="circuit-id" />
-                               <xml-property name="container" value="physical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name,circuit-id" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VigServers">
-                       <xml-root-element name="vig-servers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.onap.org.v11.VigServer" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VigServer">
-                       <xml-root-element name="vig-server" />
-                       <java-attributes>
-                               <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
-                               <xml-property name="indexedProps" value="vig-address-type" />
-                               <xml-property name="dependentOn" value="ipsec-configuration" />
-                               <xml-property name="container" value="vig-servers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="IpsecConfigurations">
-                       <xml-root-element name="ipsec-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.onap.org.v11.IpsecConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IpsecConfiguration">
-                       <xml-root-element name="ipsec-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of this configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ATT can offer a shared DMZ or a DMZ specific to a customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network address of shared DMZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="can be 1 or 2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="pre-shared key for the above group name " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Lifetime for IKEv1 SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Life time for IPSec SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="enable PFS or not" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="user ID for xAuth, sm-user,ucpeHostName,nmteHostName" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The time between DPD probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                               <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v11.VigServers" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
-                               <xml-property name="indexedProps" value="ipsec-configuration-id" />
-                               <xml-property name="uniqueProps" value="ipsec-configuration-id" />
-                               <xml-property name="container" value="ipsec-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="NotificationEvent">
-                       <xml-root-element name="notification-event" />
-                       <java-attributes>
-                               <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
-                               <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.onap.org.v11.NotificationEventHeader" />
-                               <xml-any-element java-attribute="entity" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NotificationEventHeader">
-                       <xml-root-element name="notification-event-header" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" type="java.lang.String" />
-                               <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String" />
-                               <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String" />
-                               <xml-element java-attribute="domain" name="domain" type="java.lang.String" />
-                               <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String" />
-                               <xml-element java-attribute="severity" name="severity" type="java.lang.String" />
-                               <xml-element java-attribute="eventType" name="event-type" type="java.lang.String" />
-                               <xml-element java-attribute="version" name="version" type="java.lang.String" />
-                               <xml-element java-attribute="action" name="action" type="java.lang.String" />
-                               <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String" />
-                               <xml-element java-attribute="status" name="status" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="AaiInternal">
-                       <xml-root-element name="aai-internal" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.onap.org.v11.ReservedPropNames" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v11.EdgePropNames" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="ReservedPropNames">
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
-                               <xml-property name="uniqueProps" value="aai-unique-key" />
-                               <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri" />
-                       </xml-properties>
-                       <xml-root-element name="reserved-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String" />
-                               <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="EdgePropNames">
-                       <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules" />
-                               <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV" />
-                       </xml-properties>
-                       <xml-root-element name="edge-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String" />
-                               <xml-element java-attribute="direction" name="direction" type="java.lang.String" />
-                               <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String" />
-                               <xml-element java-attribute="containsOtherV" name="contains-other-v" type="java.lang.String" />
-                               <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String" />
-                               <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String" />
-                               <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Models">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
-                       </xml-properties>
-                       <xml-root-element name="models" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.onap.org.v11.Model" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Model">
-                       <xml-root-element name="model" />
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version" />
-                               <xml-property name="nameProps" value="model-type" />
-                               <xml-property name="indexedProps" value="model-invariant-id,model-type" />
-                               <xml-property name="uniqueProps" value="model-invariant-id" />
-                               <xml-property name="container" value="models" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v11.ModelVers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-
-               <java-type name="ModelVers">
-                       <xml-root-element name="model-vers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.onap.org.v11.ModelVer" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="ModelVer">
-                       <xml-root-element name="model-ver" />
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models" />
-                               <xml-property name="nameProps" value="model-name" />
-                               <xml-property name="indexedProps" value="model-version-id,model-name,model-version" />
-                               <xml-property name="uniqueProps" value="model-version-id" />
-                               <xml-property name="container" value="model-vers" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v11.ModelElements" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElements">
-                       <xml-root-element name="model-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.onap.org.v11.ModelElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElement">
-                       <xml-properties>
-                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
-                               <xml-property name="uniqueProps" value="model-element-uuid" />
-                               <xml-property name="indexedProps" value="model-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-elements" />
-                       </xml-properties>
-                       <xml-root-element name="model-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="How many of this type of element are required/allowed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String" >
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v11.ModelElements">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.onap.org.v11.ModelConstraints">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraints">
-                       <xml-root-element name="model-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.onap.org.v11.ModelConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="model-constraint-uuid" />
-                               <xml-property name="indexedProps" value="model-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="model-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.onap.org.v11.ConstrainedElementSets" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSets">
-                       <xml-root-element name="constrained-element-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.onap.org.v11.ConstrainedElementSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
-                               <xml-property name="indexedProps" value="constrained-element-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="constrained-element-sets" />
-                       </xml-properties>
-                       <xml-root-element name="constrained-element-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.onap.org.v11.ElementChoiceSets" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSets">
-                       <xml-root-element name="element-choice-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.onap.org.v11.ElementChoiceSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="element-choice-set-uuid" />
-                               <xml-property name="indexedProps" value="element-choice-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="element-choice-sets" />
-                       </xml-properties>
-                       <xml-root-element name="element-choice-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.onap.org.v11.ModelElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueries">
-                       <xml-root-element name="named-queries" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v11.NamedQuery" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQuery">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="nameProps" value="named-query-name" />
-                               <xml-property name="uniqueProps" value="named-query-uuid" />
-                               <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
-                               <xml-property name="container" value="named-queries" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <xml-root-element name="named-query" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String" >
-                                       <xml-element-wrapper name="required-input-params" />
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v11.NamedQueryElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElements">
-                       <xml-root-element name="named-query-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.onap.org.v11.NamedQueryElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElement">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="named-query-element-uuid" />
-                               <xml-property name="indexedProps" value="named-query-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="named-query-elements" />
-                       </xml-properties>
-                       <xml-root-element name="named-query-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
-                               <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v11.NamedQueryElements" />
-                               <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v11.RelatedLookups" />
-                               <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v11.PropertyConstraints" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookups">
-                       <xml-root-element name="related-lookups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.onap.org.v11.RelatedLookup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookup">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="related-lookup-uuid" />
-                               <xml-property name="indexedProps" value="related-lookup-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="related-lookups" />
-                       </xml-properties>
-                       <xml-root-element name="related-lookup" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraints">
-                       <xml-root-element name="property-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.onap.org.v11.PropertyConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="property-constraint-uuid" />
-                               <xml-property name="indexedProps" value="property-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="property-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="property-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelAndNamedQuerySearch">
-                       <xml-properties>
-                               <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="model-and-named-query-search" />
-                       <java-attributes>
-                               <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.onap.org.v11.QueryParameters" />
-                               <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v11.InstanceFilters" />
-                               <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v11.SecondaryFilts" />
-                               <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="QueryParameters">
-                       <xml-properties>
-                               <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="query-parameters" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.onap.org.v11.NamedQuery" />
-                               <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v11.OverloadedModel" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OverloadedModel">
-                       <xml-root-element name="overloaded-model" />
-                       <xml-properties>
-                               <xml-property name="description" value="Allows for legacy POST of old-style and new-style models" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Invariant unique ID which does not change from version to version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.onap.org.v11.ModelVers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilters">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filters" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.onap.org.v11.InstanceFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilter">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
-                               <xml-property name="container" value="instance-filters" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filter" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="SecondaryFilts">
-                       <xml-properties>
-                               <xml-property name="description" value="SecondaryFilts for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="secondary-filts" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.onap.org.v11.SecondaryFilt" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="SecondaryFilt">
-                       <xml-properties>
-                               <xml-property name="description" value="SecondaryFilt for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="secondary-filt" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Properties">
-                       <xml-properties>
-                               <xml-property name="description" value="Property holder for query properties or instance properties" />
-                       </xml-properties>
-                       <xml-root-element name="properties" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResponseList">
-                       <xml-properties>
-                               <xml-property name="description" value="Response container for the results of a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="response-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v11.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItems">
-                       <xml-properties>
-                               <xml-property name="description" value="Container for inventory items in response list" />
-                               <xml-property name="container" value="response-list" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-items" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.onap.org.v11.InventoryResponseItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItem">
-                       <xml-properties>
-                               <xml-property name="description" value="Inventory item for response list" />
-                               <xml-property name="container" value="inventory-response-items" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelName" name="model-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="item" />
-                               <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.onap.org.v11.ExtraProperties" />
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v11.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperties">
-                       <xml-properties>
-                               <xml-property name="description" value="Extra properties for inventory item for response list" />
-                       </xml-properties>
-                       <xml-root-element name="extra-properties" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.onap.org.v11.ExtraProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperty">
-                       <xml-root-element name="extra-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReferences">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack route table references" />
-                       </xml-properties>
-                       <xml-root-element name="route-table-references" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.onap.org.v11.RouteTableReference" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReference">
-                       <xml-root-element name="route-table-reference" />
-                       <java-attributes>
-                               <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="FQDN entry in the route table." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack route table reference." />
-                               <xml-property name="nameProps" value="route-table-reference-fqdn" />
-                               <xml-property name="uniqueProps" value="route-table-reference-id" />
-                               <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
-                               <xml-property name="container" value="route-table-references" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="InstanceGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack route table references" />
-                       </xml-properties>
-                       <xml-root-element name="instance-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.onap.org.v11.InstanceGroup" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="InstanceGroup">
-                       <xml-root-element name="instance-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="instanceGroupRole" name="instance-group-role" required="false" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="role of the instance group." />
-                                       </xml-properties>
-                               </xml-element>
-
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="false" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ASDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" required="false" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ASDC model version uid for this resource model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Instance Group ID, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Only valid value today is lower case ha for high availability" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subType" name="sub-type"  type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="General mechanism for grouping instances" />
-                               <xml-property name="nameProps" value="description" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="searchable" value="id,description"/>
-                               <xml-property name="indexedProps" value="id,description,type,sub-type" />
-                               <xml-property name="container" value="instance-groups" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-
-               <java-type name="SegmentationAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack segmentation assignments" />
-                       </xml-properties>
-                       <xml-root-element name="segmentation-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.onap.org.v11.SegmentationAssignment" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="SegmentationAssignment">
-                       <xml-root-element name="segmentation-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack segmentation assignment." />
-                               <xml-property name="indexedProps" value="segmentation-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="segmentation-assignments" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="AllottedResources">
-                       <xml-properties>
-                               <xml-property name="description" value="This object is used to store slices of services being offered" />
-                       </xml-properties>
-                       <xml-root-element name="allotted-resources" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.onap.org.v11.AllottedResource" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="AllottedResource">
-                       <xml-root-element name="allotted-resource" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The descriptive information assigned to this allotted resource instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Link back to more information in the controller" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-version-id" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="requires" value="model-invariant-id" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="type" name="type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Generic description of the type of allotted resource." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="role" name="role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="role in the network that this resource will be providing." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.onap.org.v11.TunnelXconnects" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted" />
-                               <xml-property name="nameProps" value="description" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role" />
-                               <xml-property name="dependentOn" value="service-instance" />
-                               <xml-property name="container" value="allotted-resources" />
-                               <!--  <xml-property name="namespace" value="network" /> -->
-                       </xml-properties>
-               </java-type>    
-               
-               <java-type name="TunnelXconnects">
-                       <xml-properties>
-                               <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource" />
-                       </xml-properties>
-                       <xml-root-element name="tunnel-xconnects" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.onap.org.v11.TunnelXconnect" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="TunnelXconnect">
-                       <xml-root-element name="tunnel-xconnect" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN uplink bandwidth for WAN1" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN downlink bandwidth for WAN1" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN uplink bandwidth for WAN2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN downlink bandwidth for WAN2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id" />
-                               <xml-property name="dependentOn" value="allotted-resource" />
-                               <xml-property name="container" value="tunnel-xconnects" />
-                               <!--  <xml-property name="namespace" value="network" /> -->
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Entitlements">
-                       <xml-properties>
-                               <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management" />
-                       </xml-properties>
-                       <xml-root-element name="entitlements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.onap.org.v11.Entitlement" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="Entitlement">
-                       <xml-root-element name="entitlement" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of an entitlement resource. " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Metadata for entitlement group." />
-                               <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
-                               <xml-property name="dependentOn" value="generic-vnf,vce" />
-                               <xml-property name="container" value="entitlements" />
-                       </xml-properties>
-               </java-type>
-               
-               
-               <java-type name="Licenses">
-                       <xml-properties>
-                               <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management" />
-                       </xml-properties>
-                       <xml-root-element name="licenses" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.onap.org.v11.License" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="License">
-                       <xml-root-element name="license" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of a license resource. " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Metadata for license group." />
-                               <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
-                               <xml-property name="dependentOn" value="generic-vnf,vce" />
-                               <xml-property name="container" value="licenses" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Vnf">
-                       <xml-root-element name="vnf"/>
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Abstract vnf class" />
-                               <xml-property name="indexedProps" value="vnf-id" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="inheritors" value="vce,generic-vnf" />
-                               <xml-property name="abstract" value="true" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Zones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of zones" />
-                       </xml-properties>
-                       <xml-root-element name="zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.onap.org.v11.Zone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Zone">
-                       <xml-root-element name="zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Code assigned by AIC to the zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="English name associated with the zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Design of zone [Medium/Large?]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Context of zone [production/test]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="status" name="status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Status of a zone." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB" />
-                               <xml-property name="nameProps" value="zone-name" />
-                               <xml-property name="indexedProps" value="zone-id,design-type,zone-context" />
-                               <xml-property name="uniqueProps" value="zone-id" />
-                               <xml-property name="container" value="zones" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="RouteTargets">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of route target information" />
-                       </xml-properties>
-                       <xml-root-element name="route-targets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.onap.org.v11.RouteTarget" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="RouteTarget">
-                       <xml-root-element name="route-target" />
-                       <java-attributes>
-                               <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" xml-key="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number used to identify an RT, globally unique in the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" xml-key="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this route target" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Route target information" />
-                               <xml-property name="container" value="route-targets" />
-                               <xml-property name="dependentOn" value="vpn-binding" />
-                               <xml-property name="canBeLinked" value="true" />
-                       </xml-properties>
-               </java-type>
-                                               
-               <java-type name="SriovPfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of SR-IOV Physical Functions." />
-                       </xml-properties>
-                       <xml-root-element name="sriov-pfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sriovPf" name="sriov-pf" type="inventory.aai.onap.org.v11.SriovPf" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="SriovPf">
-                       <xml-root-element name="sriov-pf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pfPciId" name="pf-pci-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifier for the sriov-pf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="SR-IOV Physical Function" />
-                               <xml-property name="indexedProps" value="pf-pci-id" />
-                               <xml-property name="dependentOn" value="p-interface" />
-                               <xml-property name="container" value="sriov-pfs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="HostRoutes">
-                       <xml-root-element name="host-routes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="hostRoute" name="host-route" type="inventory.aai.onap.org.v11.HostRoute" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="HostRoute">
-                       <xml-root-element name="host-route" />
-                       <java-attributes>
-                               <xml-element java-attribute="hostRouteId" name="host-route-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="host-route id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routePrefix" name="route-prefix" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="subnet prefix" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nextHop" name="next-hop" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Could be ip-address, hostname, or service-instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nextHopType" name="next-hop-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Should be ip-address, hostname, or service-instance to match next-hop" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="host-route-id" />
-                               <xml-property name="dependentOn" value="subnet" />
-                               <xml-property name="container" value="host-routes" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="VipIpv4AddressList">
-                       <xml-root-element name="vip-ipv4-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="vipIpv4Address" name="vip-ipv4-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vipIpv4PrefixLength" name="vip-ipv4-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 32 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv4 Address Range" />
-                               <xml-property name="indexedProps" value="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VipIpv6AddressList">
-                       <xml-root-element name="vip-ipv6-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="vipIpv6Address" name="vip-ipv6-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vipIpv6PrefixLength" name="vip-ipv6-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 128 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv6 Address Range" />
-                               <xml-property name="indexedProps" value="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                       </xml-properties>
-               </java-type>
-       </java-types>
-</xml-bindings>
diff --git a/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v8.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v8.xml
deleted file mode 100644 (file)
index 3ed2ea5..0000000
+++ /dev/null
@@ -1,3076 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-  ============LICENSE_START=======================================================
-  org.openecomp.aai
-  ================================================================================
-  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
-  ================================================================================
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-  
-       http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  ============LICENSE_END=========================================================
-  -->
-
-<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.openecomp.org.v8" xml-mapping-metadata-complete="true">
-       <xml-schema element-form-default="QUALIFIED">
-               <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v8" />
-       </xml-schema>
-       <java-types>
-               <java-type name="Inventory">
-                       <xml-root-element name="inventory" />
-                       <java-attributes>
-                               <xml-element java-attribute="search" name="search" type="inventory.aai.openecomp.org.v8.Search" />
-                               <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v8.Actions" />
-                               <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v8.CloudInfrastructure" />
-                               <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v8.Business" />
-                               <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v8.ServiceDesignAndCreation" />
-                               <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v8.Network" />
-                               <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v8.AaiInternal" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Search">
-                       <xml-root-element name="search" />
-                       <java-attributes>
-                               <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v8.SearchResults" />
-                       </java-attributes>
-               </java-type>
-
-
-               <java-type name="TaggedInventoryItemList">
-                       <xml-root-element name="tagged-inventory-item-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.v8.InventoryItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItem">
-                       <xml-root-element name="inventory-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String" />
-                               <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.openecomp.org.v8.InventoryItemData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v8.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItemData">
-                       <xml-root-element name="inventory-item-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-
-               <java-type name="StartNodeFilter">
-                       <xml-root-element name="start-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IncludeNodeFilter">
-                       <xml-root-element name="include-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SecondaryFilter">
-                       <xml-root-element name="secondary-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SearchResults">
-                       <xml-root-element name="search-results" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.v8.ResultData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResultData">
-                       <xml-root-element name="result-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The specific type of node in the AAI graph" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The URL to the specific resource" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Actions">
-                       <xml-properties>
-                               <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
-                       </xml-properties>
-                       <xml-root-element name="actions" />
-                       <java-attributes>
-                               <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v8.Update" />
-                               <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.org.v8.Notify" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Update">
-                       <xml-properties>
-                               <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control." />
-                       </xml-properties>
-                       <xml-root-element name="update" />
-                       <java-attributes>
-                               <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.v8.UpdateNodeKey" />
-                               <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.openecomp.org.v8.Action" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Action">
-                       <xml-root-element name="action" />
-                       <java-attributes>
-                               <xml-element java-attribute="actionType" name="action-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.openecomp.org.v8.ActionData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ActionData">
-                       <xml-root-element name="action-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="UpdateNodeKey">
-                       <xml-root-element name="update-node-key" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Notify">
-                       <xml-root-element name="notify" />
-                       <java-attributes>
-                               <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String" />
-                               <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.openecomp.org.v8.KeyData" />
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="KeyData">
-                       <xml-root-element name="key-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudInfrastructure">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for cloud infrastructure." />
-                       </xml-properties>
-                       <xml-root-element name="cloud-infrastructure" />
-                       <java-attributes>
-                               <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v8.CloudRegions" />
-                               <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v8.Pservers" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudRegions">
-                       <xml-root-element name="cloud-regions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.v8.CloudRegion" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudRegion">
-                       <xml-root-element name="cloud-region" />
-                       <java-attributes>
-                               <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the cloud (e.g., openstack)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Cloud-owner defined type indicator" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Software version employed at the site" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Zone where the cloud is homed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="complex name for cloud-region instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.openecomp.org.v8.VolumeGroups" />
-                               <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v8.Tenants" />
-                               <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v8.Flavors" />
-                               <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v8.GroupAssignments" />
-                               <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v8.Snapshots" />
-                               <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v8.Images" />
-                               <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v8.AvailabilityZones" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname." />
-                               <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
-                               <xml-property name="nameProps" value="owner-defined-type" />
-                               <xml-property name="container" value="cloud-regions" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="VolumeGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of persistent block-level storage." />
-                       </xml-properties>
-                       <xml-root-element name="volume-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.v8.VolumeGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VolumeGroup">
-                       <xml-root-element name="volume-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of volume-group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroupName" name="volume-group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the volume group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the SDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as SDC matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Persistent block-level storage." />
-                               <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="volume-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RelationshipList">
-                       <xml-root-element name="relationship-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.v8.Relationship" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Relationship">
-                       <xml-root-element name="relationship" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by AAI to indicate type of node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to the object in AAI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v8.RelationshipData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.org.v8.RelatedToProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedToProperty">
-                       <xml-root-element name="related-to-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Key part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelationshipData">
-                       <xml-root-element name="relationship-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by AAI to indicate an attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value of the attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Tenants">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack tenants." />
-                       </xml-properties>
-                       <xml-root-element name="tenants" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.v8.Tenant" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Tenant">
-                       <xml-root-element name="tenant" />
-                       <java-attributes>
-                               <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id relative to the cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Readable name of tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.openecomp.org.v8.Vservers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack tenant" />
-                               <xml-property name="nameProps" value="tenant-name" />
-                               <xml-property name="indexedProps" value="tenant-name,tenant-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="tenants" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
-                       </xml-properties>
-                       <xml-root-element name="vservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.v8.Vserver" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vserver">
-                       <xml-root-element name="vserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternative name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v8.Volumes" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
-                               <xml-property name="nameProps" value="vserver-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
-                               <xml-property name="searchable" value="vserver-name,vserver-id,vserver-name2" />
-                               <xml-property name="dependentOn" value="tenant" />
-                               <xml-property name="container" value="vservers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="l-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.v8.LInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LInterface">
-                       <xml-root-element name="l-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name given to the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="MAC address for the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether AAI should be managing this interface of not. Could have value like CUSTOMER" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.openecomp.org.v8.Vlans" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
-                               <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
-                               <xml-property name="dependentOn" value="generic-vnf,p-interface,vserver,lag-interface" />
-                               <xml-property name="container" value="l-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv4AddressList">
-                       <xml-root-element name="l3-interface-ipv4-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 32 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv4 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vlans">
-                       <xml-root-element name="vlans" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.v8.Vlan" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vlan">
-                       <xml-root-element name="vlan" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String that identifies the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to describe (the service associated with) the vlan" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Definition of vlan" />
-                               <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="vlans" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv6AddressList">
-                       <xml-root-element name="l3-interface-ipv6-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 128 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv6 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Volumes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
-                       </xml-properties>
-                       <xml-root-element name="volumes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.v8.Volume" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Volume">
-                       <xml-root-element name="volume" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Ephemeral Block storage volume." />
-                               <xml-property name="indexedProps" value="volume-id" />
-                               <xml-property name="dependentOn" value="vserver" />
-                               <xml-property name="container" value="volumes" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Flavors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack flavors." />
-                       </xml-properties>
-                       <xml-root-element name="flavors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.v8.Flavor" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Flavor">
-                       <xml-root-element name="flavor" />
-                       <java-attributes>
-                               <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of CPUs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of memory" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of ephemeral disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="amount of swap space allocation" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack flavor." />
-                               <xml-property name="nameProps" value="flavor-name" />
-                               <xml-property name="indexedProps" value="flavor-name,flavor-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="flavors" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Snapshots">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack snapshots" />
-                       </xml-properties>
-                       <xml-root-element name="snapshots" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.v8.Snapshot" />
-                       </java-attributes>              
-               </java-type>
-               
-               <java-type name="Snapshot">
-                       <xml-root-element name="snapshot" />
-                       <java-attributes>
-                               <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />                               
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack snapshot" />
-                               <xml-property name="nameProps" value="snapshot-name" />
-                               <xml-property name="uniqueProps" value="snapshot-id" />
-                               <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="snapshots" />
-                       </xml-properties>       
-               </java-type>
-               
-               <java-type name="GroupAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack group assignments" />
-                       </xml-properties>
-                       <xml-root-element name="group-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.v8.GroupAssignment" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="GroupAssignment">
-                       <xml-root-element name="group-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group type - the type of group this instance refers to" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name - name assigned to the group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group description - description of the group" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>          
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
-                               <xml-property name="nameProps" value="group-name" />
-                               <xml-property name="indexedProps" value="group-id,group-type,group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="group-assignments" />
-                       </xml-properties>
-               </java-type>                    
-
-               <java-type name="Images">
-                       <xml-properties>
-                               <xml-property name="description" value="Collectio of Openstack images." />
-                       </xml-properties>
-                       <xml-root-element name="images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.v8.Image" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Image">
-                       <xml-root-element name="image" />
-                       <java-attributes>
-                               <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image id, expected to be unique across cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v8.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack image." />
-                               <xml-property name="nameProps" value="image-name" />
-                               <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="images" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Metadata">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
-                       </xml-properties>
-                       <xml-root-element name="metadata" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.v8.Metadatum" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Metadatum">
-                       <xml-root-element name="metadatum" />
-                       <java-attributes>
-                               <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Key/value pairs" />
-                               <xml-property name="indexedProps" value="metaname" />
-                               <xml-property name="dependentOn" value="tenant,image,service-instance,model" />
-                               <xml-property name="container" value="metadata" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of compute hosts." />
-                       </xml-properties>
-                       <xml-root-element name="pservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.v8.Pserver" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Pserver">
-                       <xml-root-element name="pserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value from executing hostname on the compute node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PTNII name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of cpus" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk size, in GBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="RAM size, in MBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Fully-qualified domain name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number, may be queried" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="internet topology of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="alternative pserver name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="purpose of pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v8.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
-                               <xml-property name="nameProps" value="pserver-name2" />
-                               <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2" />
-                               <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
-                               <xml-property name="container" value="pservers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="p-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.v8.PInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PInterface">
-                       <xml-root-element name="p-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the physical interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nature of the services and connectivity on this port." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CLEI or other specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the physical properties of the interface." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Physical interface (e.g., nic)" />
-                               <xml-property name="indexedProps" value="interface-name" />
-                               <xml-property name="dependentOn" value="pserver,pnf" />
-                               <xml-property name="container" value="p-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LagInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregate interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="lag-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.v8.LagInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagInterface">
-                       <xml-root-element name="lag-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the link aggregate interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Link aggregate interface" />
-                               <xml-property name="indexedProps" value="interface-name" />
-                               <xml-property name="dependentOn" value="generic-vnf,pserver,pnf" />
-                               <xml-property name="container" value="lag-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="AvailabilityZones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of availability zones" />
-                       </xml-properties>
-                       <xml-root-element name="availability-zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v8.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AvailabilityZone">
-                       <xml-root-element name="availability-zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone.  Unique across a cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of hypervisor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="availability-zones" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Business">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for business related constructs" />
-                       </xml-properties>
-                       <xml-root-element name="business" />
-                       <java-attributes>
-                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v8.Customers" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="Customers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
-                       </xml-properties>
-                       <xml-root-element name="customers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v8.Customer" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Customer">
-                       <xml-root-element name="customer" />
-                       <java-attributes>
-                               <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Global customer id used across OpenECOMP to uniquely identify customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
-                                               <xml-property name="defaultValue" value="CUST" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v8.ServiceSubscriptions" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
-                               <xml-property name="nameProps" value="subscriber-name" />
-                               <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
-                               <xml-property name="searchable" value="subscriber-name,global-customer-id" />
-                               <xml-property name="uniqueProps" value="global-customer-id,subscriber-name" />
-                               <xml-property name="alternateKeys1" value="subscriber-name" />
-                               <xml-property name="container" value="customers" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceSubscriptions">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of objects that group service instances." />
-                       </xml-properties>
-                       <xml-root-element name="service-subscriptions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.v8.ServiceSubscription" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceSubscription">
-                       <xml-root-element name="service-subscription" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value defined by orchestration to identify this service across OpenECOMP." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
-                    <xml-properties>
-                        <xml-property name="description" value="This property will be deleted from AAI in the near future. Only stop gap solution." />
-                    </xml-properties>
-                </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v8.ServiceInstances">
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Object that group service instances." />
-                               <xml-property name="indexedProps" value="service-type" />
-                               <xml-property name="dependentOn" value="customer" />
-                               <xml-property name="container" value="service-subscriptions" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service instances" />
-                       </xml-properties>
-                       <xml-root-element name="service-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.v8.ServiceInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceInstance">
-                       <xml-root-element name="service-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Uniquely identifies this instance of a service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field will store a name assigned to the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC model version for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the total bandwidth to be used for this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL customers will use to access the vHN Portal." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operational status of the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v8.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Instance of a service" />
-                               <xml-property name="indexedProps" value="service-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id" />
-                               <xml-property name="nameProps" value="service-instance-name" />
-                               <xml-property name="searchable" value="service-instance-id" />
-                               <xml-property name="uniqueProps" value="service-instance-id" />
-                               <xml-property name="dependentOn" value="service-subscription" />
-                               <xml-property name="container" value="service-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceDesignAndCreation">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for objects managed by SDC" />
-                       </xml-properties>
-                       <xml-root-element name="service-design-and-creation" />
-                       <java-attributes>
-                               <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v8.Services" />
-                               <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v8.Models" />
-                               <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v8.NamedQueries" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Network">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for network inventory resources." />
-                       </xml-properties>
-                       <xml-root-element name="network" />
-                       <java-attributes>
-                               <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v8.LogicalLinks" />
-                               <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v8.Vnfcs" />
-                               <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v8.L3Networks" />
-                               <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v8.GenericVnfs" />
-                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v8.Pnfs" />
-                               <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v8.PhysicalLinks" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical connections" />
-                       </xml-properties>
-                       <xml-root-element name="logical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v8.LogicalLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLink">
-                       <xml-root-element name="logical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of logical link, e.g., evc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4, v6, or ds for dual stack (should be ip-version)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="For example, static or BGP" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC model version for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of operational status of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of the network use of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
-                               <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id" />
-                               <xml-property name="uniqueProps" value="link-id" />
-                               <xml-property name="container" value="logical-links" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vnfcs">
-                       <xml-properties>
-                               <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
-                       </xml-properties>
-                       <xml-root-element name="vnfcs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.v8.Vnfc" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vnfc">
-                       <xml-root-element name="vnfc" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vnfc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="function code" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="prov status of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Oam V4 vip address of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group notation of VNFC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation" />
-                               <xml-property name="container" value="vnfcs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3Networks">
-                       <xml-root-element name="l3-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.v8.L3Network" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="L3Network">
-                       <xml-root-element name="l3-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network ID, should be uuid. Unique across AAI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network, governed by some naming convention.." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the network - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role the network plans - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network technology - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBoundToVpn" name="is-bound-to-vpn" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Set to true if bound to VPN" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from SDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network role instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC model version for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the physical network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a provider network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a shared network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is an external network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.openecomp.org.v8.Subnets" />
-                               <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v8.CtagAssignments" />
-                               <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v8.SegmentationAssignments" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="Relates to tenant (or is it a child of tenant)" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Generic network definition" />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn" />
-                               <xml-property name="uniqueProps" value="network-id" />
-                               <xml-property name="container" value="l3-networks" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="CtagAssignments">
-                       <xml-root-element name="ctag-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.v8.CtagAssignment" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagAssignment">
-                       <xml-root-element name="ctag-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vlan-id-inner" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="ctag-assignments" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Subnets">
-                       <xml-root-element name="subnets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.v8.Subnet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Subnet">
-                       <xml-root-element name="subnet" />
-                       <java-attributes>
-                               <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subnet ID, should be UUID." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the subnet." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of this subnet" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="gateway ip address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network start address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cidr mask" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="dhcp enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the start address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the last address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="subnet-id,subnet-name" />
-                               <xml-property name="nameProps" value="subnet-name" />
-                               <xml-property name="uniqueProps" value="subnet-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="subnets" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VNFs" />
-                       </xml-properties>
-                       <xml-root-element name="generic-vnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.v8.GenericVnf" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="GenericVnf">
-                       <xml-root-element name="generic-vnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the SDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as SDC matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from SDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="License key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, used by MSO." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 Loopback address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 management address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the generic-vnf operation" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the specific entitlement resource" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the license assignment group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the actual license resource" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC model version for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="represents sub zone of the rr plane" />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
-                               <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.org.v8.VfModules" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="General purpose VNF" />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="generic-vnfs" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VfModules">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
-                       </xml-properties>
-                       <xml-root-element name="vf-modules" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.v8.VfModule" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VfModule">
-                       <xml-root-element name="vf-module" />
-                       <java-attributes>
-                               <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vf-module." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vf-module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC model version for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the Contrail unique ID for a service-instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="a deployment unit of VNFCs" />
-                               <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
-                               <xml-property name="dependentOn" value="generic-vnf" />
-                               <xml-property name="container" value="vf-modules" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Physical Network Functions." />
-                       </xml-properties>
-                       <xml-root-element name="pnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.v8.Pnf" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Pnf">
-                       <xml-root-element name="pnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="source of name2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id of pnf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="orchestration-status is the status of orchestration on the PNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v8.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="PNF represents a physical network function." />
-                               <xml-property name="indexedProps" value="pnf-name,orchestration-status" />
-                               <xml-property name="uniqueProps" value="pnf-name" />
-                               <xml-property name="container" value="pnfs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                       </xml-properties>
-                       <xml-root-element name="physical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.v8.PhysicalLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PhysicalLink">
-                       <xml-root-element name="physical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit it" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Dual access mode (e.g., primary, secondary" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="To provide information on who manages this circuit. AAI or 3rd party transport provider" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the service Provider on this link." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                               <xml-property name="indexedProps" value="circuit-id,link-name" />
-                               <xml-property name="alternateKeys1" value="circuit-id" />
-                               <xml-property name="container" value="physical-links" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="NotificationEvent">
-                       <xml-root-element name="notification-event" />
-                       <java-attributes>
-                               <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
-                               <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.v8.NotificationEventHeader" />
-                               <xml-any-element java-attribute="entity" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NotificationEventHeader">
-                       <xml-root-element name="notification-event-header" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" type="java.lang.String" />
-                               <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String" />
-                               <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String" />
-                               <xml-element java-attribute="domain" name="domain" type="java.lang.String" />
-                               <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String" />
-                               <xml-element java-attribute="severity" name="severity" type="java.lang.String" />
-                               <xml-element java-attribute="eventType" name="event-type" type="java.lang.String" />
-                               <xml-element java-attribute="version" name="version" type="java.lang.String" />
-                               <xml-element java-attribute="action" name="action" type="java.lang.String" />
-                               <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String" />
-                               <xml-element java-attribute="status" name="status" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="AaiInternal">
-                       <xml-root-element name="aai-internal" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.openecomp.org.v8.ReservedPropNames" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v8.EdgePropNames" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="ReservedPropNames">
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
-                               <xml-property name="uniqueProps" value="aai-unique-key" />
-                               <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type" />
-                       </xml-properties>
-                       <xml-root-element name="reserved-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String" />
-                               <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="EdgePropNames">
-                       <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules" />
-                               <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV" />
-                       </xml-properties>
-                       <xml-root-element name="edge-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String" />
-                               <xml-element java-attribute="direction" name="direction" type="java.lang.String" />
-                               <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String" />
-                               <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean" />
-                               <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean" />
-                               <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean" />
-                               <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.String" />
-                               <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="Services">
-                       <xml-properties>
-                      <xml-property name="description" value="Collection of service model definitions.  Likely to be deprecated in favor of models from SDC."/>
-               </xml-properties>
-               <xml-root-element name="services" />
-               <java-attributes>
-                       <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v8.Service" />
-               </java-attributes>
-        </java-type>
-               
-               <java-type name="Service">
-                       <xml-root-element name="service" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description of the service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="service version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Stand-in for service model definitions.  Likely to be deprecated in favor of models from SDC." />
-                               <xml-property name="indexedProps" value="service-description,service-id" />
-                               <xml-property name="container" value="services" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Models">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of subgraph definitions provided by SDC to describe the inventory assets and their connections related to SDC models" />
-                       </xml-properties>
-                       <xml-root-element name="models" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v8.Model" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Model">
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by SDC to describe an inventory asset and its connections related to SDC models" />
-                               <xml-property name="nameProps" value="model-name,model-type" />
-                               <xml-property name="indexedProps" value="model-name-version-id,model-type,model-name,model-id,model-version" />
-                               <xml-property name="alternateKeys1" value="model-id,model-version" />
-                               <xml-property name="uniqueProps" value="model-name-version-id" />
-                               <xml-property name="container" value="models" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <xml-root-element name="model" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in SDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Invariant unique ID which does not change from version to version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v8.ModelElements" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v8.Metadata" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElements">
-                       <xml-root-element name="model-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.openecomp.org.v8.ModelElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElement">
-                       <xml-properties>
-                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
-                               <xml-property name="uniqueProps" value="model-element-uuid" />
-                               <xml-property name="indexedProps" value="model-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-elements" />
-                       </xml-properties>
-                       <xml-root-element name="model-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="How many of this type of element are required/allowed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-point" type="java.lang.String">
-                                       <xml-element-wrapper name="linkage-points" />
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v8.ModelElements">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.openecomp.org.v8.ModelConstraints">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraints">
-                       <xml-root-element name="model-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.openecomp.org.v8.ModelConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="model-constraint-uuid" />
-                               <xml-property name="indexedProps" value="model-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="model-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.v8.ConstrainedElementSets" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSets">
-                       <xml-root-element name="constrained-element-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.openecomp.org.v8.ConstrainedElementSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
-                               <xml-property name="indexedProps" value="constrained-element-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="constrained-element-sets" />
-                       </xml-properties>
-                       <xml-root-element name="constrained-element-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v8.ElementChoiceSets" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSets">
-                       <xml-root-element name="element-choice-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.openecomp.org.v8.ElementChoiceSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="element-choice-set-uuid" />
-                               <xml-property name="indexedProps" value="element-choice-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="element-choice-sets" />
-                       </xml-properties>
-                       <xml-root-element name="element-choice-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v8.ModelElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueries">
-                       <xml-root-element name="named-queries" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v8.NamedQuery" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQuery">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="nameProps" value="named-query-name" />
-                               <xml-property name="uniqueProps" value="named-query-uuid" />
-                               <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
-                               <xml-property name="container" value="named-queries" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <xml-root-element name="named-query" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
-                                       <xml-element-wrapper name="required-input-params" />
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v8.NamedQueryElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElements">
-                       <xml-root-element name="named-query-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.openecomp.org.v8.NamedQueryElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElement">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="named-query-element-uuid" />
-                               <xml-property name="indexedProps" value="named-query-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="named-query-elements" />
-                       </xml-properties>
-                       <xml-root-element name="named-query-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
-                               <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v8.NamedQueryElements" />
-                               <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v8.RelatedLookups" />
-                               <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v8.PropertyConstraints" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookups">
-                       <xml-root-element name="related-lookups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.openecomp.org.v8.RelatedLookup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookup">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="related-lookup-uuid" />
-                               <xml-property name="indexedProps" value="related-lookup-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="related-lookups" />
-                       </xml-properties>
-                       <xml-root-element name="related-lookup" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraints">
-                       <xml-root-element name="property-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.openecomp.org.v8.PropertyConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="property-constraint-uuid" />
-                               <xml-property name="indexedProps" value="property-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="property-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="property-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="property-name" name="property-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="property-value" name="property-value" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelAndNamedQuerySearch">
-                       <xml-properties>
-                               <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="model-and-named-query-search" />
-                       <java-attributes>
-                               <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.openecomp.org.v8.QueryParameters" />
-                               <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.org.v8.InstanceFilters" />
-                               <xml-element java-attribute="topNodeType"     name="top-node-type"    type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="QueryParameters">
-                       <xml-properties>
-                               <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="query-parameters" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v8.NamedQuery" />
-                               <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.org.v8.Model" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilters">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filters" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.openecomp.org.v8.InstanceFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilter">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
-                               <xml-property name="container" value="instance-filters" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filter" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Properties">
-                       <xml-properties>
-                               <xml-property name="description" value="Property holder for query properties or instance properties" />
-                       </xml-properties>
-                       <xml-root-element name="properties" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResponseList">
-                       <xml-properties>
-                               <xml-property name="description" value="Response container for the results of a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="response-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v8.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItems">
-                       <xml-properties>
-                               <xml-property name="description" value="Container for inventory items in response list" />
-                               <xml-property name="container" value="response-list" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-items" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.openecomp.org.v8.InventoryResponseItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItem">
-                       <xml-properties>
-                               <xml-property name="description" value="Inventory item for response list" />
-                               <xml-property name="container" value="inventory-response-items" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelName" name="model-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="item" />
-                               <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.openecomp.org.v8.ExtraProperties" />
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v8.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperties">
-                       <xml-properties>
-                               <xml-property name="description" value="Extra properties for inventory item for response list" />
-                       </xml-properties>
-                       <xml-root-element name="extra-properties" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.openecomp.org.v8.ExtraProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperty">
-                       <xml-root-element name="extra-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="propertyValue" lax="true" name="property-value" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="SegmentationAssignments">
-                        <xml-properties>
-                                <xml-property name="description" value="Collection of openstack segmentation assignments" />
-                        </xml-properties>
-                        <xml-root-element name="segmentation-assignments" />
-                        <java-attributes>
-                                <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v8.SegmentationAssignment" />
-                        </java-attributes>
-                </java-type>
-
-                <java-type name="SegmentationAssignment">
-                        <xml-root-element name="segmentation-assignment" />
-                        <java-attributes>
-                                <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
-                                        <xml-properties>
-                                                <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                        </xml-properties>
-                                </xml-element>
-                                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                        <xml-properties>
-                                                <xml-property name="description" value="Concurrency value" />
-                                        </xml-properties>
-                                </xml-element>
-                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                        </java-attributes>
-                        <xml-properties>
-                                <xml-property name="description" value="Openstack segmentation assignment." />
-                                <xml-property name="indexedProps" value="segmentation-id" />
-                                <xml-property name="dependentOn" value="l3-network" />
-                                <xml-property name="container" value="segmentation-assignments" />
-                        </xml-properties>
-                </java-type>
-               
-       </java-types>
-</xml-bindings>
diff --git a/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v9.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v9.xml
deleted file mode 100644 (file)
index 87a3d65..0000000
+++ /dev/null
@@ -1,5451 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-  ============LICENSE_START=======================================================
-  org.openecomp.aai
-  ================================================================================
-  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
-  ================================================================================
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-     http://www.apache.org/licenses/LICENSE-2.0
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  ============LICENSE_END=========================================================
-  -->
-
-<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.openecomp.org.v9" xml-mapping-metadata-complete="true">
-       <xml-schema element-form-default="QUALIFIED">
-               <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v9" />
-       </xml-schema>
-       <java-types>
-               <java-type name="Inventory">
-                       <xml-root-element name="inventory" />
-                       <java-attributes>
-                               <xml-element java-attribute="search" name="search" type="inventory.aai.openecomp.org.v9.Search" />
-                               <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v9.Actions" />
-                               <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v9.CloudInfrastructure" />
-                               <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v9.Business" />
-                               <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v9.ServiceDesignAndCreation" />
-                               <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v9.Network" />
-                               <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v9.AaiInternal" />
-                               <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.openecomp.org.v9.Nodes"/>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Nodes">
-                       <xml-root-element name="nodes" />
-               </java-type>
-               <java-type name="Search">
-                       <xml-root-element name="search" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.openecomp.org.v9.EdgeTagQueryResult" />
-                               <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.openecomp.org.v9.EdgeTagQueryRequest" />
-                               <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v9.SearchResults" />
-                               <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.openecomp.org.v9.SdnZoneResponse" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryResult">
-                       <xml-root-element name="edge-tag-query-result" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v9.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="TaggedInventoryItemList">
-                       <xml-root-element name="tagged-inventory-item-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.v9.InventoryItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItem">
-                       <xml-root-element name="inventory-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String" />
-                               <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.openecomp.org.v9.InventoryItemData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v9.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItemData">
-                       <xml-root-element name="inventory-item-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryRequest">
-                       <xml-root-element name="edge-tag-query-request" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String" />
-                               <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String" />
-                               <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.openecomp.org.v9.StartNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.openecomp.org.v9.IncludeNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.openecomp.org.v9.SecondaryFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="StartNodeFilter">
-                       <xml-root-element name="start-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IncludeNodeFilter">
-                       <xml-root-element name="include-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SecondaryFilter">
-                       <xml-root-element name="secondary-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SearchResults">
-                       <xml-root-element name="search-results" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.v9.ResultData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResultData">
-                       <xml-root-element name="result-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The URL to the specific resource" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SdnZoneResponse">
-                       <xml-root-element name="sdn-zone-response" />
-                       <java-attributes>
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v9.OamNetworks" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.openecomp.org.v9.AzAndDvsSwitches" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AzAndDvsSwitches">
-                       <xml-root-element name="az-and-dvs-switches" />
-                       <java-attributes>
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v9.DvsSwitches" />
-                               <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v9.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Actions">
-                       <xml-properties>
-                               <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
-                       </xml-properties>
-                       <xml-root-element name="actions" />
-                       <java-attributes>
-                               <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v9.Update" />
-                               <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.org.v9.Notify" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Update">
-                       <xml-properties>
-                               <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team." />
-                       </xml-properties>
-                       <xml-root-element name="update" />
-                       <java-attributes>
-                               <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.v9.UpdateNodeKey" />
-                               <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.openecomp.org.v9.Action" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Action">
-                       <xml-root-element name="action" />
-                       <java-attributes>
-                               <xml-element java-attribute="actionType" name="action-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.openecomp.org.v9.ActionData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ActionData">
-                       <xml-root-element name="action-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="UpdateNodeKey">
-                       <xml-root-element name="update-node-key" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Notify">
-                       <xml-root-element name="notify" />
-                       <java-attributes>
-                               <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String" />
-                               <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.openecomp.org.v9.KeyData" />
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="KeyData">
-                       <xml-root-element name="key-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudInfrastructure">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for cloud infrastructure." />
-                       </xml-properties>
-                       <xml-root-element name="cloud-infrastructure" />
-                       <java-attributes>
-                               <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.openecomp.org.v9.Complexes" />
-                               <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v9.CloudRegions" />
-                               <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.openecomp.org.v9.NetworkProfiles" />
-                               <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v9.Pservers" />
-                               <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.openecomp.org.v9.VirtualDataCenters" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudRegions">
-                       <xml-root-element name="cloud-regions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.v9.CloudRegion" />
-                       </java-attributes>
-            <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CloudRegion">
-                       <xml-root-element name="cloud-region" />
-                       <java-attributes>
-                               <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the cloud (e.g., openstack)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.openecomp.org.v9.VolumeGroups" />
-                               <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v9.Tenants" />
-                               <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v9.Flavors" />
-                               <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v9.GroupAssignments" />
-                               <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v9.Snapshots" />
-                               <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v9.Images" />
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v9.DvsSwitches" />
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v9.OamNetworks" />
-                               <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v9.AvailabilityZones" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC." />
-                               <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
-                               <xml-property name="nameProps" value="owner-defined-type" />
-                               <xml-property name="container" value="cloud-regions" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="VolumeGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of persistent block-level storage." />
-                       </xml-properties>
-                       <xml-root-element name="volume-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.v9.VolumeGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VolumeGroup">
-                       <xml-root-element name="volume-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of volume-group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroupName" name="volume-group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the volume group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                               <xml-property name="dbAlias" value="model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModulePersonaModelCustomizationId" name="vf-module-persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group" />
-                                               <xml-property name="dbAlias" value="vf-module-model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Persistent block-level storage." />
-                               <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
-                               <xml-property name="searchable" value="volume-group-id,volume-group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="volume-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RelationshipList">
-                       <xml-root-element name="relationship-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.v9.Relationship" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Relationship">
-                       <xml-root-element name="relationship" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to the object in A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v9.RelationshipData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.org.v9.RelatedToProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedToProperty">
-                       <xml-root-element name="related-to-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Key part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelationshipData">
-                       <xml-root-element name="relationship-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value of the attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Complexes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                       </xml-properties>
-                       <xml-root-element name="complexes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.openecomp.org.v9.Complex" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Complex">
-                       <xml-root-element name="complex" />
-                       <java-attributes>
-                               <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Data center code which can be an alternate way to identify a complex" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gamma complex name for LCP instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type, e.g., central office, data center." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="street2" name="street2" type="java.lang.String" />
-                               <xml-element java-attribute="city" name="city" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="state" name="state" type="java.lang.String" />
-                               <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="country" name="country" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="region" name="region" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="latitude" name="latitude" type="java.lang.String" />
-                               <xml-element java-attribute="longitude" name="longitude" type="java.lang.String" />
-                               <xml-element java-attribute="elevation" name="elevation" type="java.lang.String" />
-                               <xml-element java-attribute="lata" name="lata" type="java.lang.String" />
-                               <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.openecomp.org.v9.CtagPools" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                               <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
-                               <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
-                               <xml-property name="uniqueProps" value="physical-location-id" />
-                               <xml-property name="container" value="complexes" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CtagPools">
-                       <xml-root-element name="ctag-pools" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.openecomp.org.v9.CtagPool" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagPool">
-                       <xml-root-element name="ctag-pool" />
-                       <java-attributes>
-                               <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The Target provider edge router" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes what the intended purpose of this pool is." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Comma separated list of ctags" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="complex" />
-                               <xml-property name="container" value="ctag-pools" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Tenants">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack tenants." />
-                       </xml-properties>
-                       <xml-root-element name="tenants" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.v9.Tenant" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Tenant">
-                       <xml-root-element name="tenant" />
-                       <java-attributes>
-                               <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id relative to the cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Readable name of tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.openecomp.org.v9.Vservers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack tenant" />
-                               <xml-property name="nameProps" value="tenant-name" />
-                               <xml-property name="indexedProps" value="tenant-name,tenant-id" />
-                               <xml-property name="searchable" value="tenant-id,tenant-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="tenants" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
-                       </xml-properties>
-                       <xml-root-element name="vservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.v9.Vserver" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vserver">
-                       <xml-root-element name="vserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternative name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v9.Volumes" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
-                               <xml-property name="nameProps" value="vserver-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
-                               <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2" />
-                               <xml-property name="dependentOn" value="tenant" />
-                               <xml-property name="container" value="vservers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="l-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.v9.LInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LInterface">
-                       <xml-root-element name="l-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name given to the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="MAC address for the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Human friendly text regarding this interface." />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.openecomp.org.v9.Vlans" />
-                               <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.openecomp.org.v9.SriovVfs" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
-                               <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
-                               <xml-property name="dependentOn" value="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface" />
-                               <xml-property name="container" value="l-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SriovVfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
-                       </xml-properties>
-                       <xml-root-element name="sriov-vfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.openecomp.org.v9.SriovVf" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="SriovVf">
-                       <xml-root-element name="sriov-vf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option is used to set the link status.  Valid values as of 1607 are on, off, and auto." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
-                               <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="sriov-vfs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv4AddressList">
-                       <xml-root-element name="l3-interface-ipv4-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 32 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv4 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vlans">
-                       <xml-root-element name="vlans" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.v9.Vlan" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vlan">
-                       <xml-root-element name="vlan" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String that identifies the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to describe (the service associated with) the vlan" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
-                                               <xml-property name="dbAlias" value="vpn-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Definition of vlan" />
-                               <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="vlans" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv6AddressList">
-                       <xml-root-element name="l3-interface-ipv6-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 128 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv6 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Volumes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
-                       </xml-properties>
-                       <xml-root-element name="volumes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.v9.Volume" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Volume">
-                       <xml-root-element name="volume" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Ephemeral Block storage volume." />
-                               <xml-property name="indexedProps" value="volume-id" />
-                               <xml-property name="dependentOn" value="vserver" />
-                               <xml-property name="container" value="volumes" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Flavors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack flavors." />
-                       </xml-properties>
-                       <xml-root-element name="flavors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.v9.Flavor" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Flavor">
-                       <xml-root-element name="flavor" />
-                       <java-attributes>
-                               <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of CPUs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of memory" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of ephemeral disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="amount of swap space allocation" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack flavor." />
-                               <xml-property name="nameProps" value="flavor-name" />
-                               <xml-property name="indexedProps" value="flavor-name,flavor-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="flavors" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Snapshots">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack snapshots" />
-                       </xml-properties>
-                       <xml-root-element name="snapshots" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.v9.Snapshot" />
-                       </java-attributes>              
-               </java-type>
-               
-               <java-type name="Snapshot">
-                       <xml-root-element name="snapshot" />
-                       <java-attributes>
-                               <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />                               
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack snapshot" />
-                               <xml-property name="nameProps" value="snapshot-name" />
-                               <xml-property name="uniqueProps" value="snapshot-id" />
-                               <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="snapshots" />
-                       </xml-properties>       
-               </java-type>
-               
-               <java-type name="GroupAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack group assignments" />
-                       </xml-properties>
-                       <xml-root-element name="group-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.v9.GroupAssignment" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="GroupAssignment">
-                       <xml-root-element name="group-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group type - the type of group this instance refers to" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name - name assigned to the group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group description - description of the group" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>          
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
-                               <xml-property name="nameProps" value="group-name" />
-                               <xml-property name="indexedProps" value="group-id,group-type,group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="group-assignments" />
-                       </xml-properties>
-               </java-type>                    
-
-               <java-type name="Images">
-                       <xml-properties>
-                               <xml-property name="description" value="Collectio of Openstack images." />
-                       </xml-properties>
-                       <xml-root-element name="images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.v9.Image" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Image">
-                       <xml-root-element name="image" />
-                       <java-attributes>
-                               <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image id, expected to be unique across cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack image." />
-                               <xml-property name="nameProps" value="image-name" />
-                               <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="images" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Metadata">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
-                       </xml-properties>
-                       <xml-root-element name="metadata" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.v9.Metadatum" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Metadatum">
-                       <xml-root-element name="metadatum" />
-                       <java-attributes>
-                               <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Key/value pairs" />
-                               <xml-property name="indexedProps" value="metaname" />
-                               <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
-                               <xml-property name="container" value="metadata" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="DvsSwitches">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs." />
-                       </xml-properties>
-                       <xml-root-element name="dvs-switches" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.openecomp.org.v9.DvsSwitch" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="DvsSwitch">
-                       <xml-root-element name="dvs-switch" />
-                       <java-attributes>
-                               <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS switch name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL used to reach the vcenter" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs.  A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
-                               <xml-property name="indexedProps" value="vcenter-url,switch-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="dvs-switches" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="NetworkProfiles">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of network profiles" />
-                       </xml-properties>
-                       <xml-root-element name="network-profiles" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.openecomp.org.v9.NetworkProfile" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NetworkProfile">
-                       <xml-root-element name="network-profile" />
-                       <java-attributes>
-                               <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique name of network profile." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted SNMP community string" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
-                               <xml-property name="indexedProps" value="nm-profile-name" />
-                               <xml-property name="container" value="network-profiles" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of compute hosts." />
-                       </xml-properties>
-                       <xml-root-element name="pservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.v9.Pserver" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pserver">
-                       <xml-root-element name="pserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value from executing hostname on the compute node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PTNII name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of cpus" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk size, in GBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="RAM size, in MBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Fully-qualified domain name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number, may be queried" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 OAM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="internet topology of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="alternative pserver name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="purpose of pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
-                               <xml-property name="nameProps" value="pserver-name2" />
-                               <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status" />
-                               <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
-                               <xml-property name="container" value="pservers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="p-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.v9.PInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PInterface">
-                       <xml-root-element name="p-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the physical interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nature of the services and connectivity on this port." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CLEI or other specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the physical properties of the interface." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Physical interface (e.g., nic)" />
-                               <xml-property name="indexedProps" value="interface-name,prov-status" />
-                               <xml-property name="nameProps" value="prov-status" />
-                               <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
-                               <xml-property name="container" value="p-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LagInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregate interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="lag-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.v9.LagInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagInterface">
-                       <xml-root-element name="lag-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the link aggregate interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Human friendly text regarding this interface." />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Link aggregate interface" />
-                               <xml-property name="indexedProps" value="interface-name,interface-id,interface-role" />
-                               <xml-property name="dependentOn" value="generic-vnf,pserver,vpe,vpls-pe,pnf" />
-                               <xml-property name="container" value="lag-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="OamNetworks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly.  Do not use for new purposes. " />
-                       </xml-properties>
-                       <xml-root-element name="oam-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.openecomp.org.v9.OamNetwork" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OamNetwork">
-                       <xml-root-element name="oam-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cvlan-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="OAM network, to be deprecated shortly.  Do not use for new purposes. " />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="oam-networks" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="AvailabilityZones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of availability zones" />
-                       </xml-properties>
-                       <xml-root-element name="availability-zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v9.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AvailabilityZone">
-                       <xml-root-element name="availability-zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone.  Unique across a cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of hypervisor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values." />
-                                               <xml-property name="dbAlias" value="operational-status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="availability-zones" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VirtualDataCenters">
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                       </xml-properties>
-                       <xml-root-element name="virtual-data-centers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.openecomp.org.v9.VirtualDataCenter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VirtualDataCenter">
-                       <xml-root-element name="virtual-data-center" />
-                       <java-attributes>
-                               <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the vdc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the virtual data center" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                               <xml-property name="nameProps" value="vdc-name" />
-                               <xml-property name="indexedProps" value="vdc-name,vdc-id" />
-                               <xml-property name="container" value="virtual-data-centers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-
-
-
-               <java-type name="Business">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for business related constructs" />
-                       </xml-properties>
-                       <xml-root-element name="business" />
-                       <java-attributes>
-                               <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.openecomp.org.v9.Connectors" />
-                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v9.Customers" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Connectors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                       </xml-properties>
-                       <xml-root-element name="connectors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.openecomp.org.v9.Connector" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Connector">
-                       <xml-root-element name="connector" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of resource instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                               <xml-property name="indexedProps" value="resource-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
-                               <xml-property name="container" value="connectors" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Customers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
-                       </xml-properties>
-                       <xml-root-element name="customers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v9.Customer" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Customer">
-                       <xml-root-element name="customer" />
-                       <java-attributes>
-                               <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
-                                               <xml-property name="defaultValue" value="CUST" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v9.ServiceSubscriptions" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
-                               <xml-property name="nameProps" value="subscriber-name" />
-                               <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
-                               <xml-property name="searchable" value="global-customer-id,subscriber-name" />
-                               <xml-property name="uniqueProps" value="global-customer-id" />
-                               <xml-property name="container" value="customers" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceSubscriptions">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of objects that group service instances." />
-                       </xml-properties>
-                       <xml-root-element name="service-subscriptions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.v9.ServiceSubscription" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceSubscription">
-                       <xml-root-element name="service-subscription" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
-                    <xml-properties>
-                        <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution." />
-                    </xml-properties>
-                </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v9.ServiceInstances">
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Object that group service instances." />
-                               <xml-property name="indexedProps" value="service-type" />
-                               <xml-property name="dependentOn" value="customer" />
-                               <xml-property name="container" value="service-subscriptions" />
-                               <xml-property name="crossEntityReference" value="service-instance,service-type" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service instances" />
-                       </xml-properties>
-                       <xml-root-element name="service-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.v9.ServiceInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceInstance">
-                       <xml-root-element name="service-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Uniquely identifies this instance of a service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field will store a name assigned to the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the total bandwidth to be used for this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL customers will use to access the vHN Portal." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
-                               <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.openecomp.org.v9.AllottedResources" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Instance of a service" />
-                               <xml-property name="indexedProps" value="service-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status" />
-                               <xml-property name="nameProps" value="service-instance-name" />
-                               <xml-property name="searchable" value="service-instance-id,service-instance-name" />
-                               <xml-property name="uniqueProps" value="service-instance-id" />
-                               <xml-property name="dependentOn" value="service-subscription" />
-                               <xml-property name="container" value="service-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceDesignAndCreation">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for objects managed by ASDC" />
-                       </xml-properties>
-                       <xml-root-element name="service-design-and-creation" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.openecomp.org.v9.VnfImages" />
-                               <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v9.Services" />
-                               <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.openecomp.org.v9.ServiceCapabilities" />
-                               <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v9.Models" />
-                               <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v9.NamedQueries" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImages">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                       </xml-properties>
-                       <xml-root-element name="vnf-images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.openecomp.org.v9.VnfImage" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImage">
-                       <xml-root-element name="vnf-image" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of this asset" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                               <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
-                               <xml-property name="uniqueProps" value="vnf-image-uuid" />
-                               <xml-property name="container" value="vnf-images" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Services">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service model definitions.  Likely to be deprecated in favor of models from ASDC." />
-                       </xml-properties>
-                       <xml-root-element name="services" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v9.Service" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Service">
-                       <xml-root-element name="service" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description of the service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="service version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services." />
-                               <xml-property name="indexedProps" value="service-description,service-id" />
-                               <xml-property name="container" value="services" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceCapabilities">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service capabilities." />
-                       </xml-properties>
-                       <xml-root-element name="service-capabilities" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.openecomp.org.v9.ServiceCapability" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceCapability">
-                       <xml-root-element name="service-capability" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models.  No new use should be made of this." />
-                               <xml-property name="indexedProps" value="service-type,vnf-type" />
-                               <xml-property name="container" value="service-capabilities" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Network">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for network inventory resources." />
-                       </xml-properties>
-                       <xml-root-element name="network" />
-                       <java-attributes>
-                               <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v9.LogicalLinks" />
-                               <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.openecomp.org.v9.SitePairSets" />
-                               <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.openecomp.org.v9.VpnBindings" />
-                               <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.openecomp.org.v9.VplsPes" />
-                               <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.openecomp.org.v9.MulticastConfigurations" />
-                               <xml-element java-attribute="vces" name="vces" type="inventory.aai.openecomp.org.v9.Vces" />
-                               <xml-element java-attribute="vpes" name="vpes" type="inventory.aai.openecomp.org.v9.Vpes" />
-                               <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v9.Vnfcs" />
-                               <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v9.L3Networks" />
-                               <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.openecomp.org.v9.NetworkPolicies" />
-                               <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v9.GenericVnfs" />
-                               <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.openecomp.org.v9.LagLinks" />
-                               <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.openecomp.org.v9.Newvces" />
-                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v9.Pnfs" />
-                               <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v9.PhysicalLinks" />
-                               <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.openecomp.org.v9.IpsecConfigurations" />
-                               <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.openecomp.org.v9.RouteTableReferences" />
-                               <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.openecomp.org.v9.InstanceGroups" />
-                               <xml-element java-attribute="zones" name="zones" type="inventory.aai.openecomp.org.v9.Zones" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical connections" />
-                       </xml-properties>
-                       <xml-root-element name="logical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v9.LogicalLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLink">
-                       <xml-root-element name="logical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of logical link, e.g., evc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4, v6, or ds for dual stack" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="For example, static or BGP" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of operational status of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of the network use of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
-                                       </xml-properties>
-                               </xml-element>
-                                       <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Reason for this entity, role it is playing" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
-                               <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose" />
-                               <xml-property name="uniqueProps" value="link-id" />
-                               <xml-property name="container" value="logical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairSets">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
-                       </xml-properties>
-                       <xml-root-element name="site-pair-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.openecomp.org.v9.SitePairSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePairSet">
-                       <xml-root-element name="site-pair-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of site pair set." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.openecomp.org.v9.RoutingInstances" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
-                               <xml-property name="indexedProps" value="site-pair-set-id" />
-                               <xml-property name="uniqueProps" value="site-pair-set-id" />
-                               <xml-property name="container" value="site-pair-sets" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RoutingInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
-                       </xml-properties>
-                       <xml-root-element name="routing-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.openecomp.org.v9.RoutingInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RoutingInstance">
-                       <xml-root-element name="routing-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of routing instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rpm owner" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.openecomp.org.v9.SitePairs" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="routing-instance-id" />
-                               <xml-property name="uniqueProps" value="routing-instance-id" />
-                               <xml-property name="dependentOn" value="site-pair-set" />
-                               <xml-property name="container" value="routing-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairs">
-                       <xml-properties>
-                               <xml-property name="description" value="probe within a set" />
-                       </xml-properties>
-                       <xml-root-element name="site-pairs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.openecomp.org.v9.SitePair" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePair">
-                       <xml-root-element name="site-pair" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version, v4, v6" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The type of destinatination equipment. Could be Router, etc." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.openecomp.org.v9.ClassesOfService" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="site-pair-id" />
-                               <xml-property name="uniqueProps" value="site-pair-id" />
-                               <xml-property name="dependentOn" value="routing-instance" />
-                               <xml-property name="container" value="site-pairs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ClassesOfService">
-                       <xml-properties>
-                               <xml-property name="description" value="class-of-service of probe" />
-                       </xml-properties>
-                       <xml-root-element name="classes-of-service" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.openecomp.org.v9.ClassOfService" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ClassOfService">
-                       <xml-root-element name="class-of-service" />
-                       <java-attributes>
-                               <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="cos" />
-                               <xml-property name="dependentOn" value="site-pair" />
-                               <xml-property name="container" value="classes-of-service" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VpnBindings">
-                       <xml-root-element name="vpn-bindings" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.openecomp.org.v9.VpnBinding" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VpnBinding">
-                       <xml-root-element name="vpn-binding" />
-                       <java-attributes>
-                               <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN Name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number used to identify a VPN, globally unique in the network" />
-                                               <xml-property name="dataLink" value="./route-targets/route-target/{global-route-target}/{route-target-role}" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this route target" />
-                                               <xml-property name="dataLink" value="./route-targets/route-target/{global-route-target}/{route-target-role}" />
-                                               <xml-property name="defaultValue" value="BOTH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList">
-                                       <xml-properties>
-                                               <xml-property name="description" value="l3-networks relate to vpn-bindings" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPN binding" />
-                               <xml-property name="nameProps" value="vpn-name,vpn-type" />
-                               <xml-property name="indexedProps" value="vpn-name,vpn-id,global-route-target,vpn-type" />
-                               <xml-property name="searchable" value="vpn-id,vpn-name" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="container" value="vpn-bindings" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VplsPes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
-                       </xml-properties>
-                       <xml-root-element name="vpls-pes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.openecomp.org.v9.VplsPe" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VplsPe">
-                       <xml-root-element name="vpls-pe" />
-                       <java-attributes>
-                               <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPLS Provider Edge routers." />
-                               <xml-property name="indexedProps" value="prov-status,equipment-name" />
-                               <xml-property name="container" value="vpls-pes" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="MulticastConfigurations">
-                       <xml-properties>
-                               <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
-                       </xml-properties>
-                       <xml-root-element name="multicast-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.openecomp.org.v9.MulticastConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="MulticastConfiguration">
-                       <xml-root-element name="multicast-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of multicast configuration." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="protocol of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rp type of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="multicast-configuration-id" />
-                               <xml-property name="uniqueProps" value="multicast-configuration-id" />
-                               <xml-property name="container" value="multicast-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma.  This object is deprecated." />
-                       </xml-properties>
-                       <xml-root-element name="vces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.openecomp.org.v9.Vce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vce">
-                       <xml-root-element name="vce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                               <xml-property name="dbAlias" value="operational-status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network role being played by this VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of VPE connected to this VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router.  Implied length of /64." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  see child relationships" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.openecomp.org.v9.PortGroups" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma.  This object is deprecated." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="vces" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PortGroups">
-                       <xml-root-element name="port-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.openecomp.org.v9.PortGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PortGroup">
-                       <xml-root-element name="port-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network name of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for port group in vmware" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Likely to duplicate value of neutron network name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.openecomp.org.v9.CvlanTags" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
-                               <xml-property name="nameProps" value="port-group-name" />
-                               <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
-                               <xml-property name="dependentOn" value="vce" />
-                               <xml-property name="container" value="port-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CvlanTags">
-                       <xml-root-element name="cvlan-tags" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.openecomp.org.v9.CvlanTagEntry" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CvlanTagEntry">
-                       <xml-root-element name="cvlan-tag-entry" />
-                       <java-attributes>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="dependentOn" value="port-group" />
-                               <xml-property name="indexedProps" value="cvlan-tag" />
-                               <xml-property name="container" value="cvlan-tags" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vpes">
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations." />
-                       </xml-properties>
-                       <xml-root-element name="vpes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vpe" name="vpe" type="inventory.aai.openecomp.org.v9.Vpe" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vpe">
-                       <xml-root-element name="vpe" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service.  Does not map strictly to ASDC services.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                               <xml-property name="dbAlias" value="operational-status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use.  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length for oam-address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gateway address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v4Loopback0IpAddress" name="v4-loopback0-ip-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VPE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the vpe operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether vpe access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Relationship-list must include related to info for complex." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="vpes" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vnfcs">
-                       <xml-properties>
-                               <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
-                       </xml-properties>
-                       <xml-root-element name="vnfcs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.v9.Vnfc" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vnfc">
-                       <xml-root-element name="vnfc" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vnfc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="function code" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="prov status of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Oam V4 vip address of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group notation of VNFC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation" />
-                               <xml-property name="searchable" value="vnfc-name" />
-                               <xml-property name="container" value="vnfcs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3Networks">
-                       <xml-root-element name="l3-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.v9.L3Network" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="L3Network">
-                       <xml-root-element name="l3-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network, governed by some naming convention.." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the network - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role the network plans - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network technology - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBoundToVpn" name="is-bound-to-vpn" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Set to true if bound to VPN" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network role instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                               <xml-property name="dbAlias" value="model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the physical network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a provider network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a shared network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is an external network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.openecomp.org.v9.Subnets" />
-                               <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v9.CtagAssignments" />
-                               <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v9.SegmentationAssignments" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Generic network definition" />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn,network-role" />
-                               <xml-property name="searchable" value="network-id,network-name" />
-                               <xml-property name="uniqueProps" value="network-id" />
-                               <xml-property name="container" value="l3-networks" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="NetworkPolicies">
-                       <xml-root-element name="network-policies" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.openecomp.org.v9.NetworkPolicy" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NetworkPolicy">
-                       <xml-root-element name="network-policy" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID representing unique key to this instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the policy" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID for the openStack Heat instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="nameProps" value="network-policy-fqdn" />
-                               <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="searchable" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="uniqueProps" value="network-policy-id" />
-                               <xml-property name="container" value="network-policies" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="CtagAssignments">
-                       <xml-root-element name="ctag-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.v9.CtagAssignment" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagAssignment">
-                       <xml-root-element name="ctag-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vlan-id-inner" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="ctag-assignments" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Subnets">
-                       <xml-root-element name="subnets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.v9.Subnet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Subnet">
-                       <xml-root-element name="subnet" />
-                       <java-attributes>
-                               <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subnet ID, should be UUID." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the subnet." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of this subnet" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="gateway ip address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network start address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cidr mask" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="dhcp enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the start address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the last address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="subnet-id,subnet-name" />
-                               <xml-property name="nameProps" value="subnet-name" />
-                               <xml-property name="uniqueProps" value="subnet-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="subnets" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VNFs" />
-                       </xml-properties>
-                       <xml-root-element name="generic-vnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.v9.GenericVnf" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnf">
-                       <xml-root-element name="generic-vnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path." />
-                                               <xml-property name="dbAlias" value="operational-status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, used by MSO." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by company or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 Loopback address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 management address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                               <xml-property name="dbAlias" value="model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="represents sub zone of the rr plane" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
-                               <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.org.v9.VfModules" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="General purpose VNF" />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="generic-vnfs" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VfModules">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
-                       </xml-properties>
-                       <xml-root-element name="vf-modules" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.v9.VfModule" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VfModule">
-                       <xml-root-element name="vf-module" />
-                       <java-attributes>
-                               <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vf-module." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vf-module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                               <xml-property name="dbAlias" value="model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the Contrail unique ID for a service-instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="a deployment unit of VNFCs" />
-                               <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
-                               <xml-property name="searchable" value="vf-module-id,vf-module-name" />
-                               <xml-property name="dependentOn" value="generic-vnf" />
-                               <xml-property name="container" value="vf-modules" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="LagLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregation connections" />
-                       </xml-properties>
-                       <xml-root-element name="lag-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.openecomp.org.v9.LagLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagLink">
-                       <xml-root-element name="lag-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="LAG links can connect lag-interfaces" />
-                               <xml-property name="indexedProps" value="link-name" />
-                               <xml-property name="container" value="lag-links" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Newvces">
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                       </xml-properties>
-                       <xml-root-element name="newvces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.openecomp.org.v9.Newvce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Newvce">
-                       <xml-root-element name="newvce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                               <xml-property name="dbAlias" value="operational-status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
-                               <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id2" />
-                               <xml-property name="container" value="newvces" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Physical Network Functions." />
-                       </xml-properties>
-                       <xml-root-element name="pnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.v9.Pnf" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnf">
-                       <xml-root-element name="pnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="source of name2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id of pnf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by company or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number of the device" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 OAM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nf Role is the role performed by this instance in the network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world." />
-                               <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status" />
-                               <xml-property name="searchable" value="pnf-name" />
-                               <xml-property name="uniqueProps" value="pnf-name" />
-                               <xml-property name="container" value="pnfs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                       </xml-properties>
-                       <xml-root-element name="physical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.v9.PhysicalLink" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLink">
-                       <xml-root-element name="physical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit it" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Dual access mode (e.g., primary, secondary" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the service Provider on this link." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                               <xml-property name="indexedProps" value="circuit-id,link-name" />
-                               <xml-property name="alternateKeys1" value="circuit-id" />
-                               <xml-property name="container" value="physical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name,circuit-id" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VigServers">
-                       <xml-root-element name="vig-servers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.openecomp.org.v9.VigServer" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VigServer">
-                       <xml-root-element name="vig-server" />
-                       <java-attributes>
-                               <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
-                               <xml-property name="indexedProps" value="vig-address-type" />
-                               <xml-property name="dependentOn" value="ipsec-configuration" />
-                               <xml-property name="container" value="vig-servers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="IpsecConfigurations">
-                       <xml-root-element name="ipsec-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.openecomp.org.v9.IpsecConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IpsecConfiguration">
-                       <xml-root-element name="ipsec-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of this configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network address of shared DMZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="can be 1 or 2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="pre-shared key for the above group name " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Lifetime for IKEv1 SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Life time for IPSec SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="enable PFS or not" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="user ID for xAuth, sm-user, nmteHostName" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The time between DPD probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.openecomp.org.v9.VigServers" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
-                               <xml-property name="indexedProps" value="ipsec-configuration-id" />
-                               <xml-property name="uniqueProps" value="ipsec-configuration-id" />
-                               <xml-property name="container" value="ipsec-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="NotificationEvent">
-                       <xml-root-element name="notification-event" />
-                       <java-attributes>
-                               <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
-                               <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.v9.NotificationEventHeader" />
-                               <xml-any-element java-attribute="entity" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NotificationEventHeader">
-                       <xml-root-element name="notification-event-header" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" type="java.lang.String" />
-                               <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String" />
-                               <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String" />
-                               <xml-element java-attribute="domain" name="domain" type="java.lang.String" />
-                               <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String" />
-                               <xml-element java-attribute="severity" name="severity" type="java.lang.String" />
-                               <xml-element java-attribute="eventType" name="event-type" type="java.lang.String" />
-                               <xml-element java-attribute="version" name="version" type="java.lang.String" />
-                               <xml-element java-attribute="action" name="action" type="java.lang.String" />
-                               <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String" />
-                               <xml-element java-attribute="status" name="status" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="AaiInternal">
-                       <xml-root-element name="aai-internal" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.openecomp.org.v9.ReservedPropNames" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v9.EdgePropNames" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="ReservedPropNames">
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
-                               <xml-property name="uniqueProps" value="aai-unique-key" />
-                               <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri" />
-                       </xml-properties>
-                       <xml-root-element name="reserved-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String" />
-                               <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="EdgePropNames">
-                       <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules" />
-                               <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV" />
-                       </xml-properties>
-                       <xml-root-element name="edge-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String" />
-                               <xml-element java-attribute="direction" name="direction" type="java.lang.String" />
-                               <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String" />
-                               <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean" />
-                               <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean" />
-                               <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean" />
-                               <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.Boolean" />
-                               <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.Boolean" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Models">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
-                       </xml-properties>
-                       <xml-root-element name="models" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v9.Model" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Model">
-                       <xml-root-element name="model" />
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version" />
-                               <xml-property name="nameProps" value="model-type" />
-                               <xml-property name="indexedProps" value="model-invariant-id,model-type" />
-                               <xml-property name="uniqueProps" value="model-invariant-id" />
-                               <xml-property name="container" value="models" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v9.ModelVers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-
-               <java-type name="ModelVers">
-                       <xml-root-element name="model-vers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.openecomp.org.v9.ModelVer" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="ModelVer">
-                       <xml-root-element name="model-ver" />
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models" />
-                               <xml-property name="nameProps" value="model-name" />
-                               <xml-property name="indexedProps" value="model-version-id,model-name,model-version" />
-                               <xml-property name="uniqueProps" value="model-version-id" />
-                               <xml-property name="container" value="model-vers" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElements">
-                       <xml-root-element name="model-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.openecomp.org.v9.ModelElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElement">
-                       <xml-properties>
-                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
-                               <xml-property name="uniqueProps" value="model-element-uuid" />
-                               <xml-property name="indexedProps" value="model-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-elements" />
-                       </xml-properties>
-                       <xml-root-element name="model-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="How many of this type of element are required/allowed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String" >
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.openecomp.org.v9.ModelConstraints">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraints">
-                       <xml-root-element name="model-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.openecomp.org.v9.ModelConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="model-constraint-uuid" />
-                               <xml-property name="indexedProps" value="model-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="model-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.v9.ConstrainedElementSets" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSets">
-                       <xml-root-element name="constrained-element-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.openecomp.org.v9.ConstrainedElementSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
-                               <xml-property name="indexedProps" value="constrained-element-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="constrained-element-sets" />
-                       </xml-properties>
-                       <xml-root-element name="constrained-element-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v9.ElementChoiceSets" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSets">
-                       <xml-root-element name="element-choice-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.openecomp.org.v9.ElementChoiceSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="element-choice-set-uuid" />
-                               <xml-property name="indexedProps" value="element-choice-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="element-choice-sets" />
-                       </xml-properties>
-                       <xml-root-element name="element-choice-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueries">
-                       <xml-root-element name="named-queries" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v9.NamedQuery" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQuery">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="nameProps" value="named-query-name" />
-                               <xml-property name="uniqueProps" value="named-query-uuid" />
-                               <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
-                               <xml-property name="container" value="named-queries" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <xml-root-element name="named-query" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String" >
-                                       <xml-element-wrapper name="required-input-params" />
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v9.NamedQueryElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElements">
-                       <xml-root-element name="named-query-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.openecomp.org.v9.NamedQueryElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElement">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="named-query-element-uuid" />
-                               <xml-property name="indexedProps" value="named-query-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="named-query-elements" />
-                       </xml-properties>
-                       <xml-root-element name="named-query-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
-                               <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v9.NamedQueryElements" />
-                               <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v9.RelatedLookups" />
-                               <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v9.PropertyConstraints" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookups">
-                       <xml-root-element name="related-lookups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.openecomp.org.v9.RelatedLookup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookup">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="related-lookup-uuid" />
-                               <xml-property name="indexedProps" value="related-lookup-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="related-lookups" />
-                       </xml-properties>
-                       <xml-root-element name="related-lookup" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraints">
-                       <xml-root-element name="property-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.openecomp.org.v9.PropertyConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="property-constraint-uuid" />
-                               <xml-property name="indexedProps" value="property-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="property-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="property-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelAndNamedQuerySearch">
-                       <xml-properties>
-                               <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="model-and-named-query-search" />
-                       <java-attributes>
-                               <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.openecomp.org.v9.QueryParameters" />
-                               <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.org.v9.InstanceFilters" />
-                               <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.openecomp.org.v9.SecondaryFilts" />
-                               <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="QueryParameters">
-                       <xml-properties>
-                               <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="query-parameters" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v9.NamedQuery" />
-                               <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.org.v9.OverloadedModel" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OverloadedModel">
-                       <xml-root-element name="overloaded-model" />
-                       <xml-properties>
-                               <xml-property name="description" value="Allows for legacy POST of old-style and new-style models" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Invariant unique ID which does not change from version to version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v9.ModelVers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilters">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filters" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.openecomp.org.v9.InstanceFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilter">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
-                               <xml-property name="container" value="instance-filters" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filter" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="SecondaryFilts">
-                       <xml-properties>
-                               <xml-property name="description" value="SecondaryFilts for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="secondary-filts" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.openecomp.org.v9.SecondaryFilt" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="SecondaryFilt">
-                       <xml-properties>
-                               <xml-property name="description" value="SecondaryFilt for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="secondary-filt" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Properties">
-                       <xml-properties>
-                               <xml-property name="description" value="Property holder for query properties or instance properties" />
-                       </xml-properties>
-                       <xml-root-element name="properties" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResponseList">
-                       <xml-properties>
-                               <xml-property name="description" value="Response container for the results of a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="response-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v9.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItems">
-                       <xml-properties>
-                               <xml-property name="description" value="Container for inventory items in response list" />
-                               <xml-property name="container" value="response-list" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-items" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.openecomp.org.v9.InventoryResponseItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItem">
-                       <xml-properties>
-                               <xml-property name="description" value="Inventory item for response list" />
-                               <xml-property name="container" value="inventory-response-items" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelName" name="model-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="item" />
-                               <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.openecomp.org.v9.ExtraProperties" />
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v9.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperties">
-                       <xml-properties>
-                               <xml-property name="description" value="Extra properties for inventory item for response list" />
-                       </xml-properties>
-                       <xml-root-element name="extra-properties" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.openecomp.org.v9.ExtraProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperty">
-                       <xml-root-element name="extra-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="propertyValue" lax="true" name="property-value" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReferences">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack route table references" />
-                       </xml-properties>
-                       <xml-root-element name="route-table-references" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.openecomp.org.v9.RouteTableReference" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReference">
-                       <xml-root-element name="route-table-reference" />
-                       <java-attributes>
-                               <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="FQDN entry in the route table." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack route table reference." />
-                               <xml-property name="nameProps" value="route-table-reference-fqdn" />
-                               <xml-property name="uniqueProps" value="route-table-reference-id" />
-                               <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
-                               <xml-property name="container" value="route-table-references" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="InstanceGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack route table references" />
-                       </xml-properties>
-                       <xml-root-element name="instance-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.openecomp.org.v9.InstanceGroup" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="InstanceGroup">
-                       <xml-root-element name="instance-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Instance Group ID, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Only valid value today is lower case ha for high availability" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subType" name="sub-type"  type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="General mechanism for grouping instances" />
-                               <xml-property name="nameProps" value="description" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id,description,type,sub-type" />
-                               <xml-property name="container" value="instance-groups" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-
-               <java-type name="SegmentationAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack segmentation assignments" />
-                       </xml-properties>
-                       <xml-root-element name="segmentation-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v9.SegmentationAssignment" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="SegmentationAssignment">
-                       <xml-root-element name="segmentation-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack segmentation assignment." />
-                               <xml-property name="indexedProps" value="segmentation-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="segmentation-assignments" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="AllottedResources">
-                       <xml-properties>
-                               <xml-property name="description" value="This object is used to store slices of services being offered" />
-                       </xml-properties>
-                       <xml-root-element name="allotted-resources" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.openecomp.org.v9.AllottedResource" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="AllottedResource">
-                       <xml-root-element name="allotted-resource" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The descriptive information assigned to this allotted resource instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Link back to more information in the controller" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                               <xml-property name="dbAlias" value="model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.openecomp.org.v9.TunnelXconnects" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted" />
-                               <xml-property name="nameProps" value="description" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id,persona-model-id,persona-model-version" />
-                               <xml-property name="dependentOn" value="service-instance" />
-                               <xml-property name="container" value="allotted-resources" />
-                               <!--  <xml-property name="namespace" value="network" /> -->
-                       </xml-properties>
-               </java-type>    
-               
-               <java-type name="TunnelXconnects">
-                       <xml-properties>
-                               <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource" />
-                       </xml-properties>
-                       <xml-root-element name="tunnel-xconnects" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.openecomp.org.v9.TunnelXconnect" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="TunnelXconnect">
-                       <xml-root-element name="tunnel-xconnect" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN uplink bandwidth for WAN1" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN downlink bandwidth for WAN1" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN uplink bandwidth for WAN2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN downlink bandwidth for WAN2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id" />
-                               <xml-property name="dependentOn" value="allotted-resource" />
-                               <xml-property name="container" value="tunnel-xconnects" />
-                               <!--  <xml-property name="namespace" value="network" /> -->
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Entitlements">
-                       <xml-properties>
-                               <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management" />
-                       </xml-properties>
-                       <xml-root-element name="entitlements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.openecomp.org.v9.Entitlement" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="Entitlement">
-                       <xml-root-element name="entitlement" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of an entitlement resource. " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Metadata for entitlement group." />
-                               <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
-                               <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
-                               <xml-property name="container" value="entitlements" />
-                       </xml-properties>
-               </java-type>
-               
-               
-               <java-type name="Licenses">
-                       <xml-properties>
-                               <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management" />
-                       </xml-properties>
-                       <xml-root-element name="licenses" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.openecomp.org.v9.License" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="License">
-                       <xml-root-element name="license" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of a license resource. " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Metadata for license group." />
-                               <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
-                               <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
-                               <xml-property name="container" value="licenses" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Vnf">
-                       <xml-root-element name="vnf"/>
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Abstract vnf class" />
-                               <xml-property name="indexedProps" value="vnf-id" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="inheritors" value="vce,vpe,generic-vnf" />
-                               <xml-property name="abstract" value="true" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Zones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of zones" />
-                       </xml-properties>
-                       <xml-root-element name="zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.openecomp.org.v9.Zone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Zone">
-                       <xml-root-element name="zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Code assigned by AIC to the zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="English name associated with the zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Design of zone [Medium/Large…]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Context of zone [production/test]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="status" name="status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Status of a zone." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB" />
-                               <xml-property name="nameProps" value="zone-name" />
-                               <xml-property name="indexedProps" value="zone-id,design-type,zone-context" />
-                               <xml-property name="uniqueProps" value="zone-id" />
-                               <xml-property name="container" value="zones" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-       </java-types>
-</xml-bindings>
index a8793ac..9652712 100644 (file)
@@ -8,38 +8,6 @@ data:
 ---
 apiVersion: v1
 kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-model-v8
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v8.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-model-v9
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v9.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-model-v10
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v10.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-model-v11
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v11.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-dynamic
   namespace: {{ include "common.namespace" . }}
index 79bcff3..cf81948 100644 (file)
@@ -56,6 +56,18 @@ spec:
         volumeMounts:
         - name: {{ include "common.fullname" . }}-logs
           mountPath: /logroot/
+      - name: {{ include "common.name" . }}-inject-models
+        command:
+        - /bin/bash
+        - "-c"
+        - |
+          git clone -b {{ .Values.config.gerritBranch }} --single-branch {{ .Values.config.gerritProject }} /tmp/gerrit
+          cp -rp /tmp/gerrit/data-router/appconfig/model/* /model-dir
+        image: "{{ .Values.global.repository | default .Values.dockerHubRepository }}/{{ .Values.ubuntuInitImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - name: modeldir
+          mountPath: "/model-dir"
       containers:
       - name: {{ include "common.name" . }}
         image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
@@ -79,18 +91,6 @@ spec:
         - mountPath: /etc/localtime
           name: localtime
           readOnly: true
-        - mountPath: /opt/app/data-router/config/model/aai_oxm_v8.xml
-          subPath: aai_oxm_v8.xml
-          name: {{ include "common.fullname" . }}-model-v8
-        - mountPath: /opt/app/data-router/config/model/aai_oxm_v9.xml
-          subPath: aai_oxm_v9.xml
-          name: {{ include "common.fullname" . }}-model-v9
-        - mountPath: /opt/app/data-router/config/model/aai_oxm_v10.xml
-          subPath: aai_oxm_v10.xml
-          name: {{ include "common.fullname" . }}-model-v10
-        - mountPath: /opt/app/data-router/config/model/aai_oxm_v11.xml
-          subPath: aai_oxm_v11.xml
-          name: {{ include "common.fullname" . }}-model-v11
         - mountPath:  /opt/app/data-router/config/auth
           name: {{ include "common.fullname" . }}-auth
         - mountPath:  /opt/app/data-router/config/data-router.properties
@@ -104,6 +104,8 @@ spec:
           name: {{ include "common.fullname" . }}-dynamic-policy
         - mountPath: /logs/
           name: {{ include "common.fullname" . }}-logs
+        - name: modeldir
+          mountPath: /opt/app/data-router/config/model
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         {{- if eq .Values.liveness.enabled true }}
@@ -122,18 +124,6 @@ spec:
       - name: localtime
         hostPath:
           path: /etc/localtime
-      - name: {{ include "common.fullname" . }}-model-v8
-        configMap:
-          name: {{ include "common.fullname" . }}-model-v8
-      - name: {{ include "common.fullname" . }}-model-v9
-        configMap:
-          name: {{ include "common.fullname" . }}-model-v9
-      - name: {{ include "common.fullname" . }}-model-v10
-        configMap:
-          name: {{ include "common.fullname" . }}-model-v10
-      - name: {{ include "common.fullname" . }}-model-v11
-        configMap:
-          name: {{ include "common.fullname" . }}-model-v11
       - name: {{ include "common.fullname" . }}-auth
         secret:
           secretName: {{ include "common.fullname" . }}
@@ -149,6 +139,8 @@ spec:
       - name: {{ include "common.fullname" . }}-logs
         hostPath:
           path: {{ .Values.persistence.mountPath }}/{{ include "common.namespace" . }}/{{ .Values.persistence.mountSubPath }}
+      - name: modeldir
+        emptyDir: {}
       restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 3957df1..c4bfc62 100644 (file)
@@ -12,10 +12,15 @@ image: onap/data-router:v1.1.0
 pullPolicy: Always
 restartPolicy: Always
 
+dockerhubRepository: registry.hub.docker.com
+ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
+
 # application configuration
 config:
   keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
   keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+  gerritBranch: master
+  gerritProject: http://gerrit.onap.org/r/aai/test-config
 
 
 # default number of instances
diff --git a/kubernetes/aai/charts/aai-gizmo/.helmignore b/kubernetes/aai/charts/aai-gizmo/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
similarity index 95%
rename from kubernetes/aai/charts/gizmo/Chart.yaml
rename to kubernetes/aai/charts/aai-gizmo/Chart.yaml
index 4633b06..86f3643 100644 (file)
@@ -14,5 +14,5 @@
 
 apiVersion: v1
 description: Gizmo service
-name: gizmo
-version: 2.0.0
\ No newline at end of file
+name: aai-gizmo
+version: 2.0.0
@@ -9,7 +9,7 @@
                 ">
 
      <bean id="champDao" class="org.onap.crud.dao.champ.ChampDao">
-         <constructor-arg name="champUrl" value="https://{{.Release.Name}}-champ.{{.Release.Namespace}}:9522/services/champ-service/v1/"/>
+         <constructor-arg name="champUrl" value="https://{{.Release.Name}}-aai-champ.{{.Release.Namespace}}:9522/services/champ-service/v1/"/>
          <constructor-arg name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10"/>
      </bean>
 
@@ -32,4 +32,4 @@
          <constructor-arg name="graphDataService" ref="graphDataService" />
      </bean>
 
-</beans>
\ No newline at end of file
+</beans>
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/model/aai_oxm_v9.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/model/aai_oxm_v9.xml
deleted file mode 100644 (file)
index 6337c32..0000000
+++ /dev/null
@@ -1,4775 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.att.com.v9" xml-mapping-metadata-complete="true">
-       <xml-schema element-form-default="QUALIFIED">
-               <xml-ns namespace-uri="http://com.att.aai.inventory/v9" />
-       </xml-schema>
-       <java-types>
-               <java-type name="Inventory">
-                       <xml-root-element name="inventory" />
-                       <java-attributes>
-                               <xml-element java-attribute="search" name="search" type="inventory.aai.att.com.v9.Search" />
-                               <xml-element java-attribute="actions" name="actions" type="inventory.aai.att.com.v9.Actions" />
-                               <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.att.com.v9.CloudInfrastructure" />
-                               <xml-element java-attribute="licenseManagement" name="license-management" type="inventory.aai.att.com.v9.LicenseManagement" />
-                               <xml-element java-attribute="business" name="business" type="inventory.aai.att.com.v9.Business" />
-                               <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.att.com.v9.ServiceDesignAndCreation" />
-                               <xml-element java-attribute="network" name="network" type="inventory.aai.att.com.v9.Network" />
-                               <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.att.com.v9.AaiInternal" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Search">
-                       <xml-root-element name="search" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.att.com.v9.EdgeTagQueryResult" />
-                               <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.att.com.v9.EdgeTagQueryRequest" />
-                               <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.att.com.v9.SearchResults" />
-                               <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.att.com.v9.SdnZoneResponse" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryResult">
-                       <xml-root-element name="edge-tag-query-result" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.att.com.v9.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="TaggedInventoryItemList">
-                       <xml-root-element name="tagged-inventory-item-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.att.com.v9.InventoryItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItem">
-                       <xml-root-element name="inventory-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String" />
-                               <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.att.com.v9.InventoryItemData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.att.com.v9.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItemData">
-                       <xml-root-element name="inventory-item-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryRequest">
-                       <xml-root-element name="edge-tag-query-request" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String" />
-                               <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String" />
-                               <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.att.com.v9.StartNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.att.com.v9.IncludeNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.att.com.v9.SecondaryFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="StartNodeFilter">
-                       <xml-root-element name="start-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IncludeNodeFilter">
-                       <xml-root-element name="include-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SecondaryFilter">
-                       <xml-root-element name="secondary-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SearchResults">
-                       <xml-root-element name="search-results" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.att.com.v9.ResultData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResultData">
-                       <xml-root-element name="result-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The URL to the specific resource" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SdnZoneResponse">
-                       <xml-root-element name="sdn-zone-response" />
-                       <java-attributes>
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.att.com.v9.OamNetworks" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.att.com.v9.AzAndDvsSwitches" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AzAndDvsSwitches">
-                       <xml-root-element name="az-and-dvs-switches" />
-                       <java-attributes>
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.att.com.v9.DvsSwitches" />
-                               <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.att.com.v9.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Actions">
-                       <xml-properties>
-                               <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
-                       </xml-properties>
-                       <xml-root-element name="actions" />
-                       <java-attributes>
-                               <xml-element java-attribute="update" name="update" type="inventory.aai.att.com.v9.Update" />
-                               <xml-element java-attribute="notify" name="notify" type="inventory.aai.att.com.v9.Notify" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Update">
-                       <xml-properties>
-                               <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team." />
-                       </xml-properties>
-                       <xml-root-element name="update" />
-                       <java-attributes>
-                               <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.att.com.v9.UpdateNodeKey" />
-                               <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.att.com.v9.Action" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Action">
-                       <xml-root-element name="action" />
-                       <java-attributes>
-                               <xml-element java-attribute="actionType" name="action-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.att.com.v9.ActionData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ActionData">
-                       <xml-root-element name="action-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="UpdateNodeKey">
-                       <xml-root-element name="update-node-key" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Notify">
-                       <xml-root-element name="notify" />
-                       <java-attributes>
-                               <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String" />
-                               <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.att.com.v9.KeyData" />
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="KeyData">
-                       <xml-root-element name="key-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudInfrastructure">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for cloud infrastructure." />
-                       </xml-properties>
-                       <xml-root-element name="cloud-infrastructure" />
-                       <java-attributes>
-                               <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.att.com.v9.Complexes" />
-                               <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.att.com.v9.CloudRegions" />
-                               <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.att.com.v9.NetworkProfiles" />
-                               <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.att.com.v9.Pservers" />
-                               <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.att.com.v9.VirtualDataCenters" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudRegions">
-                       <xml-root-element name="cloud-regions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.att.com.v9.CloudRegion" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudRegion">
-                       <xml-root-element name="cloud-region" />
-                       <java-attributes>
-                               <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifies the vendor and cloud name, e.g., att-aic. First part of composite key should be formatted as vendor-cloudname" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the cloud (e.g., openstack)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Cloud-owner defined type indicator (e.g., DCP, LCP)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Software version employed at the site" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Zone where the cloud is homed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="complex name for cloud-region instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.att.com.v9.VolumeGroups" />
-                               <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.att.com.v9.Tenants" />
-                               <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.att.com.v9.Flavors" />
-                               <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.att.com.v9.GroupAssignments" />
-                               <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.att.com.v9.Snapshots" />
-                               <xml-element java-attribute="images" name="images" type="inventory.aai.att.com.v9.Images" />
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.att.com.v9.DvsSwitches" />
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.att.com.v9.OamNetworks" />
-                               <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.att.com.v9.AvailabilityZones" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC." />
-                               <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
-                               <xml-property name="nameProps" value="owner-defined-type" />
-                               <xml-property name="container" value="cloud-regions" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="VolumeGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of persistent block-level storage." />
-                       </xml-properties>
-                       <xml-root-element name="volume-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.att.com.v9.VolumeGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VolumeGroup">
-                       <xml-root-element name="volume-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of volume-group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroupName" name="volume-group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the volume group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Persistent block-level storage." />
-                               <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
-                               <xml-property name="searchable" value="volume-group-id,volume-group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="volume-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RelationshipList">
-                       <xml-root-element name="relationship-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.att.com.v9.Relationship" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Relationship">
-                       <xml-root-element name="relationship" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to the object in A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.att.com.v9.RelationshipData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.att.com.v9.RelatedToProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedToProperty">
-                       <xml-root-element name="related-to-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Key part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelationshipData">
-                       <xml-root-element name="relationship-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value of the attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Complexes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                       </xml-properties>
-                       <xml-root-element name="complexes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.att.com.v9.Complex" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Complex">
-                       <xml-root-element name="complex" />
-                       <java-attributes>
-                               <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Data center code which can be an alternate way to identify a complex" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gamma complex name for LCP instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type, e.g., central office, data center." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="street2" name="street2" type="java.lang.String" />
-                               <xml-element java-attribute="city" name="city" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="state" name="state" type="java.lang.String" />
-                               <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="country" name="country" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="region" name="region" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="latitude" name="latitude" type="java.lang.String" />
-                               <xml-element java-attribute="longitude" name="longitude" type="java.lang.String" />
-                               <xml-element java-attribute="elevation" name="elevation" type="java.lang.String" />
-                               <xml-element java-attribute="lata" name="lata" type="java.lang.String" />
-                               <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.att.com.v9.CtagPools" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                               <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
-                               <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
-                               <xml-property name="uniqueProps" value="physical-location-id" />
-                               <xml-property name="container" value="complexes" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                               <xml-property name="geoProps" value="latitude,longitude" />
-                               <xml-property name="geoLat" value="latitude" />
-                               <xml-property name="geoLong" value="longitude" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CtagPools">
-                       <xml-root-element name="ctag-pools" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.att.com.v9.CtagPool" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagPool">
-                       <xml-root-element name="ctag-pool" />
-                       <java-attributes>
-                               <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The Target provider edge router" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes what the intended purpose of this pool is." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Comma separated list of ctags" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="complex" />
-                               <xml-property name="container" value="ctag-pools" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Tenants">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack tenants." />
-                       </xml-properties>
-                       <xml-root-element name="tenants" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.att.com.v9.Tenant" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Tenant">
-                       <xml-root-element name="tenant" />
-                       <java-attributes>
-                               <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id relative to the cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Readable name of tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.att.com.v9.Vservers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack tenant" />
-                               <xml-property name="nameProps" value="tenant-name" />
-                               <xml-property name="indexedProps" value="tenant-name,tenant-id" />
-                               <xml-property name="searchable" value="tenant-id,tenant-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="tenants" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
-                       </xml-properties>
-                       <xml-root-element name="vservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.att.com.v9.Vserver" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vserver">
-                       <xml-root-element name="vserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternative name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.att.com.v9.Volumes" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.att.com.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
-                               <xml-property name="nameProps" value="vserver-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
-                               <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2" />
-                               <xml-property name="dependentOn" value="tenant" />
-                               <xml-property name="container" value="vservers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="l-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.att.com.v9.LInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LInterface">
-                       <xml-root-element name="l-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name given to the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="MAC address for the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.att.com.v9.Vlans" />
-                               <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.att.com.v9.SriovVfs" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.att.com.v9.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.att.com.v9.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
-                               <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
-                               <xml-property name="dependentOn" value="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface" />
-                               <xml-property name="container" value="l-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SriovVfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
-                       </xml-properties>
-                       <xml-root-element name="sriov-vfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.att.com.v9.SriovVf" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="SriovVf">
-                       <xml-root-element name="sriov-vf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option is used to set the link status.  Valid values as of 1607 are on, off, and auto." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
-                               <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="sriov-vfs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv4AddressList">
-                       <xml-root-element name="l3-interface-ipv4-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 32 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv4 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vlans">
-                       <xml-root-element name="vlans" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.att.com.v9.Vlan" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vlan">
-                       <xml-root-element name="vlan" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String that identifies the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to describe (the service associated with) the vlan" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.att.com.v9.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.att.com.v9.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Definition of vlan" />
-                               <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="vlans" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv6AddressList">
-                       <xml-root-element name="l3-interface-ipv6-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 128 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv6 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Volumes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
-                       </xml-properties>
-                       <xml-root-element name="volumes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.att.com.v9.Volume" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Volume">
-                       <xml-root-element name="volume" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Ephemeral Block storage volume." />
-                               <xml-property name="indexedProps" value="volume-id" />
-                               <xml-property name="dependentOn" value="vserver" />
-                               <xml-property name="container" value="volumes" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Flavors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack flavors." />
-                       </xml-properties>
-                       <xml-root-element name="flavors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.att.com.v9.Flavor" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Flavor">
-                       <xml-root-element name="flavor" />
-                       <java-attributes>
-                               <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of CPUs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of memory" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of ephemeral disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="amount of swap space allocation" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack flavor." />
-                               <xml-property name="nameProps" value="flavor-name" />
-                               <xml-property name="indexedProps" value="flavor-name,flavor-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="flavors" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Snapshots">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack snapshots" />
-                       </xml-properties>
-                       <xml-root-element name="snapshots" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.att.com.v9.Snapshot" />
-                       </java-attributes>              
-               </java-type>
-               
-               <java-type name="Snapshot">
-                       <xml-root-element name="snapshot" />
-                       <java-attributes>
-                               <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />                             
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack snapshot" />
-                               <xml-property name="nameProps" value="snapshot-name" />
-                               <xml-property name="uniqueProps" value="snapshot-id" />
-                               <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="snapshots" />
-                       </xml-properties>       
-               </java-type>
-               
-               <java-type name="GroupAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack group assignments" />
-                       </xml-properties>
-                       <xml-root-element name="group-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.att.com.v9.GroupAssignment" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="GroupAssignment">
-                       <xml-root-element name="group-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group type - the type of group this instance refers to" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name - name assigned to the group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group description - description of the group" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>          
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
-                               <xml-property name="nameProps" value="group-name" />
-                               <xml-property name="indexedProps" value="group-id,group-type,group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="group-assignments" />
-                       </xml-properties>
-               </java-type>                    
-
-               <java-type name="Images">
-                       <xml-properties>
-                               <xml-property name="description" value="Collectio of Openstack images." />
-                       </xml-properties>
-                       <xml-root-element name="images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.att.com.v9.Image" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Image">
-                       <xml-root-element name="image" />
-                       <java-attributes>
-                               <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image id, expected to be unique across cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.att.com.v9.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack image." />
-                               <xml-property name="nameProps" value="image-name" />
-                               <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="images" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Metadata">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
-                       </xml-properties>
-                       <xml-root-element name="metadata" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.att.com.v9.Metadatum" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Metadatum">
-                       <xml-root-element name="metadatum" />
-                       <java-attributes>
-                               <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Key/value pairs" />
-                               <xml-property name="indexedProps" value="metaname" />
-                               <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
-                               <xml-property name="container" value="metadata" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="DvsSwitches">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs." />
-                       </xml-properties>
-                       <xml-root-element name="dvs-switches" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.att.com.v9.DvsSwitch" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="DvsSwitch">
-                       <xml-root-element name="dvs-switch" />
-                       <java-attributes>
-                               <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS switch name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL used to reach the vcenter" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs.  A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
-                               <xml-property name="indexedProps" value="vcenter-url,switch-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="dvs-switches" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="NetworkProfiles">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of network profiles" />
-                       </xml-properties>
-                       <xml-root-element name="network-profiles" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.att.com.v9.NetworkProfile" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NetworkProfile">
-                       <xml-root-element name="network-profile" />
-                       <java-attributes>
-                               <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique name of network profile." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted SNMP community string" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
-                               <xml-property name="indexedProps" value="nm-profile-name" />
-                               <xml-property name="container" value="network-profiles" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of compute hosts." />
-                       </xml-properties>
-                       <xml-root-element name="pservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.att.com.v9.Pserver" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Pserver">
-                       <xml-root-element name="pserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value from executing hostname on the compute node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PTNII name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of cpus" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk size, in GBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="RAM size, in MBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Fully-qualified domain name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number, may be queried" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="internet topology of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="alternative pserver name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="purpose of pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.att.com.v9.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.att.com.v9.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
-                               <xml-property name="nameProps" value="pserver-name2" />
-                               <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2" />
-                               <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
-                               <xml-property name="container" value="pservers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="p-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.att.com.v9.PInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PInterface">
-                       <xml-root-element name="p-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the physical interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nature of the services and connectivity on this port." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CLEI or other specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the physical properties of the interface." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.att.com.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Physical interface (e.g., nic)" />
-                               <xml-property name="indexedProps" value="interface-name" />
-                               <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
-                               <xml-property name="container" value="p-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LagInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregate interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="lag-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.att.com.v9.LagInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagInterface">
-                       <xml-root-element name="lag-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the link aggregate interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.att.com.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Link aggregate interface" />
-                               <xml-property name="indexedProps" value="interface-name" />
-                               <xml-property name="dependentOn" value="generic-vnf,pserver,vpe,vpls-pe,pnf" />
-                               <xml-property name="container" value="lag-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="OamNetworks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly.  Do not use for new purposes. " />
-                       </xml-properties>
-                       <xml-root-element name="oam-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.att.com.v9.OamNetwork" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OamNetwork">
-                       <xml-root-element name="oam-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cvlan-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="OAM network, to be deprecated shortly.  Do not use for new purposes. " />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="oam-networks" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="AvailabilityZones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of availability zones" />
-                       </xml-properties>
-                       <xml-root-element name="availability-zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.att.com.v9.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AvailabilityZone">
-                       <xml-root-element name="availability-zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone.  Unique across a cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of hypervisor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="availability-zones" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VirtualDataCenters">
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                       </xml-properties>
-                       <xml-root-element name="virtual-data-centers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.att.com.v9.VirtualDataCenter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VirtualDataCenter">
-                       <xml-root-element name="virtual-data-center" />
-                       <java-attributes>
-                               <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the vdc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the virtual data center" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                               <xml-property name="nameProps" value="vdc-name" />
-                               <xml-property name="indexedProps" value="vdc-name,vdc-id" />
-                               <xml-property name="container" value="virtual-data-centers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LicenseManagement">
-                       <xml-root-element name="license-management" />
-                       <java-attributes>
-                               <xml-element java-attribute="licenseKeyResources" name="license-key-resources" type="inventory.aai.att.com.v9.LicenseKeyResources" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LicenseKeyResources">
-                       <xml-root-element name="license-key-resources" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="licenseKeyResource" name="license-key-resource" type="inventory.aai.att.com.v9.LicenseKeyResource" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LicenseKeyResource">
-                       <xml-root-element name="license-key-resource" />
-                       <java-attributes>
-                               <xml-element java-attribute="attUuid" name="att-uuid" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="assignmentType" name="assignment-type" type="java.lang.String" />
-                               <xml-element java-attribute="assignmentStatus" name="assignment-status" type="java.lang.String" />
-                               <xml-element java-attribute="assignmentGroupUuid" name="assignment-group-uuid" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="assignmentDate" name="assignment-date" type="java.lang.String" />
-                               <xml-element java-attribute="name" name="name" type="java.lang.String" />
-                               <xml-element java-attribute="modelUuid" name="model-uuid" type="java.lang.String" />
-                               <xml-element java-attribute="modelVersion" name="model-version" type="java.lang.String" />
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String" />
-                               <xml-element java-attribute="licenseKeyFileUrl" name="license-key-file-url" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="supplierReleaseList" name="supplier-release-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="nameProps" value="name" />
-                               <xml-property name="indexedProps" value="assignment-group-uuid,att-uuid,name" />
-                               <xml-property name="uniqueProps" value="att-uuid" />
-                               <xml-property name="container" value="license-key-resources" />
-                               <xml-property name="namespace" value="license-management" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Business">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for business related constructs" />
-                       </xml-properties>
-                       <xml-root-element name="business" />
-                       <java-attributes>
-                               <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.att.com.v9.Connectors" />
-                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.att.com.v9.Customers" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Connectors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                       </xml-properties>
-                       <xml-root-element name="connectors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.att.com.v9.Connector" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Connector">
-                       <xml-root-element name="connector" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of resource instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.att.com.v9.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                               <xml-property name="indexedProps" value="resource-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
-                               <xml-property name="container" value="connectors" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Customers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
-                       </xml-properties>
-                       <xml-root-element name="customers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.att.com.v9.Customer" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Customer">
-                       <xml-root-element name="customer" />
-                       <java-attributes>
-                               <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
-                                               <xml-property name="defaultValue" value="CUST" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.att.com.v9.ServiceSubscriptions" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
-                               <xml-property name="nameProps" value="subscriber-name" />
-                               <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
-                               <xml-property name="searchable" value="global-customer-id,subscriber-name" />
-                               <xml-property name="uniqueProps" value="global-customer-id,subscriber-name" />
-                               <xml-property name="alternateKeys1" value="subscriber-name" />
-                               <xml-property name="container" value="customers" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceSubscriptions">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of objects that group service instances." />
-                       </xml-properties>
-                       <xml-root-element name="service-subscriptions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.att.com.v9.ServiceSubscription" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceSubscription">
-                       <xml-root-element name="service-subscription" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
-                    <xml-properties>
-                        <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution." />
-                    </xml-properties>
-                </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.att.com.v9.ServiceInstances">
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Object that group service instances." />
-                               <xml-property name="indexedProps" value="service-type" />
-                               <xml-property name="dependentOn" value="customer" />
-                               <xml-property name="container" value="service-subscriptions" />
-                               <xml-property name="crossEntityReference" value="service-instance,service-type" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service instances" />
-                       </xml-properties>
-                       <xml-root-element name="service-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.att.com.v9.ServiceInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceInstance">
-                       <xml-root-element name="service-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Uniquely identifies this instance of a service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field will store a name assigned to the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the total bandwidth to be used for this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL customers will use to access the vHN Portal." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operational status of the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.att.com.v9.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Instance of a service" />
-                               <xml-property name="indexedProps" value="service-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id" />
-                               <xml-property name="nameProps" value="service-instance-name" />
-                               <xml-property name="searchable" value="service-instance-id,service-instance-name" />
-                               <xml-property name="uniqueProps" value="service-instance-id" />
-                               <xml-property name="dependentOn" value="service-subscription" />
-                               <xml-property name="container" value="service-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceDesignAndCreation">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for objects managed by ASDC" />
-                       </xml-properties>
-                       <xml-root-element name="service-design-and-creation" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.att.com.v9.VnfImages" />
-                               <xml-element java-attribute="services" name="services" type="inventory.aai.att.com.v9.Services" />
-                               <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.att.com.v9.ServiceCapabilities" />
-                               <xml-element java-attribute="models" name="models" type="inventory.aai.att.com.v9.Models" />
-                               <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.att.com.v9.NamedQueries" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImages">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                       </xml-properties>
-                       <xml-root-element name="vnf-images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.att.com.v9.VnfImage" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImage">
-                       <xml-root-element name="vnf-image" />
-                       <java-attributes>
-                               <xml-element java-attribute="attUuid" name="att-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of this asset" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                               <xml-property name="indexedProps" value="application,att-uuid,application-vendor,application-version" />
-                               <xml-property name="uniqueProps" value="att-uuid" />
-                               <xml-property name="container" value="vnf-images" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Services">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service model definitions.  Likely to be deprecated in favor of models from ASDC." />
-                       </xml-properties>
-                       <xml-root-element name="services" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.att.com.v9.Service" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Service">
-                       <xml-root-element name="service" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description of the service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="service version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC." />
-                               <xml-property name="indexedProps" value="service-description,service-id" />
-                               <xml-property name="container" value="services" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceCapabilities">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service capabilities." />
-                       </xml-properties>
-                       <xml-root-element name="service-capabilities" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.att.com.v9.ServiceCapability" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceCapability">
-                       <xml-root-element name="service-capability" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models.  No new use should be made of this." />
-                               <xml-property name="indexedProps" value="service-type,vnf-type" />
-                               <xml-property name="container" value="service-capabilities" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Network">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for network inventory resources." />
-                       </xml-properties>
-                       <xml-root-element name="network" />
-                       <java-attributes>
-                               <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.att.com.v9.LogicalLinks" />
-                               <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.att.com.v9.SitePairSets" />
-                               <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.att.com.v9.VpnBindings" />
-                               <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.att.com.v9.VplsPes" />
-                               <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.att.com.v9.MulticastConfigurations" />
-                               <xml-element java-attribute="vces" name="vces" type="inventory.aai.att.com.v9.Vces" />
-                               <xml-element java-attribute="vpes" name="vpes" type="inventory.aai.att.com.v9.Vpes" />
-                               <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.att.com.v9.Vnfcs" />
-                               <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.att.com.v9.L3Networks" />
-                               <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.att.com.v9.NetworkPolicies" />
-                               <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.att.com.v9.GenericVnfs" />
-                               <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.att.com.v9.LagLinks" />
-                               <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.att.com.v9.Newvces" />
-                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.att.com.v9.Pnfs" />
-                               <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.att.com.v9.PhysicalLinks" />
-                               <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.att.com.v9.IpsecConfigurations" />
-                               <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.att.com.v9.RouteTableReferences" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical connections" />
-                       </xml-properties>
-                       <xml-root-element name="logical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.att.com.v9.LogicalLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLink">
-                       <xml-root-element name="logical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of logical link, e.g., evc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4, v6, or ds for dual stack (should be att-ip-version)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="For example, static or BGP" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of operational status of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of the network use of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
-                               <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id" />
-                               <xml-property name="uniqueProps" value="link-id" />
-                               <xml-property name="container" value="logical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairSets">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
-                       </xml-properties>
-                       <xml-root-element name="site-pair-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.att.com.v9.SitePairSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePairSet">
-                       <xml-root-element name="site-pair-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of site pair set." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.att.com.v9.RoutingInstances" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
-                               <xml-property name="indexedProps" value="site-pair-set-id" />
-                               <xml-property name="uniqueProps" value="site-pair-set-id" />
-                               <xml-property name="container" value="site-pair-sets" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RoutingInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
-                       </xml-properties>
-                       <xml-root-element name="routing-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.att.com.v9.RoutingInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RoutingInstance">
-                       <xml-root-element name="routing-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of routing instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rpm owner" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.att.com.v9.SitePairs" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="routing-instance-id" />
-                               <xml-property name="uniqueProps" value="routing-instance-id" />
-                               <xml-property name="dependentOn" value="site-pair-set" />
-                               <xml-property name="container" value="routing-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairs">
-                       <xml-properties>
-                               <xml-property name="description" value="probe within a set" />
-                       </xml-properties>
-                       <xml-root-element name="site-pairs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.att.com.v9.SitePair" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePair">
-                       <xml-root-element name="site-pair" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version, v4, v6" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The type of destinatination equipment. Could be Router, UCPE, etc." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.att.com.v9.ClassesOfService" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="site-pair-id" />
-                               <xml-property name="uniqueProps" value="site-pair-id" />
-                               <xml-property name="dependentOn" value="routing-instance" />
-                               <xml-property name="container" value="site-pairs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ClassesOfService">
-                       <xml-properties>
-                               <xml-property name="description" value="class-of-service of probe" />
-                       </xml-properties>
-                       <xml-root-element name="classes-of-service" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.att.com.v9.ClassOfService" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ClassOfService">
-                       <xml-root-element name="class-of-service" />
-                       <java-attributes>
-                               <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="cos" />
-                               <xml-property name="dependentOn" value="site-pair" />
-                               <xml-property name="container" value="classes-of-service" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VpnBindings">
-                       <xml-root-element name="vpn-bindings" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.att.com.v9.VpnBinding" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VpnBinding">
-                       <xml-root-element name="vpn-binding" />
-                       <java-attributes>
-                               <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN Name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number used to identify a VPN, globally unique in the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList">
-                                       <xml-properties>
-                                               <xml-property name="description" value="l3-networks relate to vpn-bindings" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPN binding" />
-                               <xml-property name="nameProps" value="vpn-name" />
-                               <xml-property name="indexedProps" value="vpn-name,vpn-id,global-route-target" />
-                               <xml-property name="searchable" value="vpn-id,vpn-name" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="container" value="vpn-bindings" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VplsPes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
-                       </xml-properties>
-                       <xml-root-element name="vpls-pes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.att.com.v9.VplsPe" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VplsPe">
-                       <xml-root-element name="vpls-pe" />
-                       <java-attributes>
-                               <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.att.com.v9.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.att.com.v9.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPLS Provider Edge routers." />
-                               <xml-property name="indexedProps" value="prov-status,equipment-name" />
-                               <xml-property name="container" value="vpls-pes" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="MulticastConfigurations">
-                       <xml-properties>
-                               <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
-                       </xml-properties>
-                       <xml-root-element name="multicast-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.att.com.v9.MulticastConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="MulticastConfiguration">
-                       <xml-root-element name="multicast-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of multicast configuration." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="protocol of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rp type of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="multicast-configuration-id" />
-                               <xml-property name="uniqueProps" value="multicast-configuration-id" />
-                               <xml-property name="container" value="multicast-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma.  This object is deprecated." />
-                       </xml-properties>
-                       <xml-root-element name="vces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.att.com.v9.Vce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vce">
-                       <xml-root-element name="vce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from ASDC.  Expect this to change as ASDC matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="License key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network role being played by this VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of VPE connected to this VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router.  Implied length of /64." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Entitlement resource uuid" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.att.com.v9.PortGroups" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma.  This object is deprecated." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
-                               <xml-property name="searchable" value="vpe-id,vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="vces" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PortGroups">
-                       <xml-root-element name="port-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.att.com.v9.PortGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PortGroup">
-                       <xml-root-element name="port-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network name of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for port group in vmware" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Likely to duplicate value of neutron network name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.att.com.v9.CvlanTags" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
-                               <xml-property name="nameProps" value="port-group-name" />
-                               <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
-                               <xml-property name="dependentOn" value="vce" />
-                               <xml-property name="container" value="port-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CvlanTags">
-                       <xml-root-element name="cvlan-tags" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.att.com.v9.CvlanTagEntry" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CvlanTagEntry">
-                       <xml-root-element name="cvlan-tag-entry" />
-                       <java-attributes>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="dependentOn" value="port-group" />
-                               <xml-property name="indexedProps" value="cvlan-tag" />
-                               <xml-property name="container" value="cvlan-tags" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vpes">
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations." />
-                       </xml-properties>
-                       <xml-root-element name="vpes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vpe" name="vpe" type="inventory.aai.att.com.v9.Vpe" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vpe">
-                       <xml-root-element name="vpe" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="License key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length for oam-address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gateway address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v4Loopback0IpAddress" name="v4-loopback0-ip-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VPE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the vpe operation" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether vpe access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.att.com.v9.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.att.com.v9.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Relationship-list must include related to info for complex." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="vpes" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vnfcs">
-                       <xml-properties>
-                               <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
-                       </xml-properties>
-                       <xml-root-element name="vnfcs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.att.com.v9.Vnfc" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vnfc">
-                       <xml-root-element name="vnfc" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vnfc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="function code" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="prov status of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Oam V4 vip address of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group notation of VNFC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation" />
-                               <xml-property name="searchable" value="vnfc-name" />
-                               <xml-property name="container" value="vnfcs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3Networks">
-                       <xml-root-element name="l3-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.att.com.v9.L3Network" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="L3Network">
-                       <xml-root-element name="l3-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network, governed by some naming convention.." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the network - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role the network plans - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network technology - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBoundToVpn" name="is-bound-to-vpn" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Set to true if bound to VPN" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network role instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the physical network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a provider network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a shared network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is an external network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.att.com.v9.Subnets" />
-                               <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.att.com.v9.CtagAssignments" />
-                               <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.att.com.v9.SegmentationAssignments" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Generic network definition" />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn" />
-                               <xml-property name="searchable" value="network-id,network-name" />
-                               <xml-property name="uniqueProps" value="network-id" />
-                               <xml-property name="container" value="l3-networks" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="NetworkPolicies">
-                       <xml-root-element name="network-policies" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.att.com.v9.NetworkPolicy" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NetworkPolicy">
-                       <xml-root-element name="network-policy" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID representing unique key to this instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the policy" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID for the openStack Heat instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="nameProps" value="network-policy-fqdn" />
-                               <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="searchable" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="uniqueProps" value="network-policy-id" />
-                               <xml-property name="container" value="network-policies" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="CtagAssignments">
-                       <xml-root-element name="ctag-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.att.com.v9.CtagAssignment" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagAssignment">
-                       <xml-root-element name="ctag-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vlan-id-inner" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="ctag-assignments" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Subnets">
-                       <xml-root-element name="subnets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.att.com.v9.Subnet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Subnet">
-                       <xml-root-element name="subnet" />
-                       <java-attributes>
-                               <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subnet ID, should be UUID." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the subnet." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of this subnet" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="gateway ip address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network start address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cidr mask" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="dhcp enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the start address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the last address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="subnet-id,subnet-name" />
-                               <xml-property name="nameProps" value="subnet-name" />
-                               <xml-property name="uniqueProps" value="subnet-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="subnets" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VNFs" />
-                       </xml-properties>
-                       <xml-root-element name="generic-vnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.att.com.v9.GenericVnf" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="GenericVnf">
-                       <xml-root-element name="generic-vnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                               <xml-property name="suggestibleOnSearch" value="true"/>
-                                               <xml-property name="suggestionVerbs" value="is,in,at,with,on,off,changed,changing"/>
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="License key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, used by MSO." />
-                                               <xml-property name="suggestibleOnSearch" value="true"/>
-                        <xml-property name="suggestionVerbs" value="is,in,at,with,on,off,changed,changing"/>
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by ATT or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 Loopback address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 management address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the generic-vnf operation" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the specific entitlement resource" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the license assignment group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the actual license resource" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="represents sub zone of the rr plane" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.att.com.v9.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.att.com.v9.LagInterfaces" />
-                               <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.att.com.v9.VfModules" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="General purpose VNF" />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="generic-vnfs" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                               <xml-property name="containsSuggestibleProps" value="true" />
-                               <xml-property name="suggestionAliases" value="VNFs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VfModules">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
-                       </xml-properties>
-                       <xml-root-element name="vf-modules" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.att.com.v9.VfModule" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VfModule">
-                       <xml-root-element name="vf-module" />
-                       <java-attributes>
-                               <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vf-module." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vf-module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the Contrail unique ID for a service-instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="a deployment unit of VNFCs" />
-                               <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
-                               <xml-property name="searchable" value="vf-module-id, vf-module-name" />
-                               <xml-property name="dependentOn" value="generic-vnf" />
-                               <xml-property name="container" value="vf-modules" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="LagLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregation connections" />
-                       </xml-properties>
-                       <xml-root-element name="lag-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.att.com.v9.LagLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagLink">
-                       <xml-root-element name="lag-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="LAG links can connect lag-interfaces" />
-                               <xml-property name="indexedProps" value="link-name" />
-                               <xml-property name="container" value="lag-links" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Newvces">
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                       </xml-properties>
-                       <xml-root-element name="newvces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.att.com.v9.Newvce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Newvce">
-                       <xml-root-element name="newvce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="License key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.att.com.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
-                               <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id2" />
-                               <xml-property name="container" value="newvces" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Physical Network Functions." />
-                       </xml-properties>
-                       <xml-root-element name="pnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.att.com.v9.Pnf" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Pnf">
-                       <xml-root-element name="pnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="source of name2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id of pnf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by ATT or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="orchestration-status is the status of orchestration on the PNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.att.com.v9.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.att.com.v9.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE." />
-                               <xml-property name="indexedProps" value="pnf-name,orchestration-status" />
-                               <xml-property name="searchable" value="pnf-name" />
-                               <xml-property name="uniqueProps" value="pnf-name" />
-                               <xml-property name="container" value="pnfs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                       </xml-properties>
-                       <xml-root-element name="physical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.att.com.v9.PhysicalLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PhysicalLink">
-                       <xml-root-element name="physical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit it" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Dual access mode (e.g., primary, secondary" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the service Provider on this link." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                               <xml-property name="indexedProps" value="circuit-id,link-name" />
-                               <xml-property name="alternateKeys1" value="circuit-id" />
-                               <xml-property name="container" value="physical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name,circuit-id" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VigServers">
-                       <xml-root-element name="vig-servers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.att.com.v9.VigServer" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VigServer">
-                       <xml-root-element name="vig-server" />
-                       <java-attributes>
-                               <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
-                               <xml-property name="indexedProps" value="vig-address-type" />
-                               <xml-property name="dependentOn" value="ipsec-configuration" />
-                               <xml-property name="container" value="vig-servers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="IpsecConfigurations">
-                       <xml-root-element name="ipsec-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.att.com.v9.IpsecConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IpsecConfiguration">
-                       <xml-root-element name="ipsec-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of this configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ATT can offer a shared DMZ or a DMZ specific to a customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network address of shared DMZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="can be 1 or 2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="pre-shared key for the above group name " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Lifetime for IKEv1 SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Life time for IPSec SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="enable PFS or not" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="user ID for xAuth, sm-user,ucpeHostName,nmteHostName" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The time between DPD probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                               <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.att.com.v9.VigServers" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
-                               <xml-property name="indexedProps" value="ipsec-configuration-id" />
-                               <xml-property name="uniqueProps" value="ipsec-configuration-id" />
-                               <xml-property name="container" value="ipsec-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="NotificationEvent">
-                       <xml-root-element name="notification-event" />
-                       <java-attributes>
-                               <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
-                               <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.att.com.v9.NotificationEventHeader" />
-                               <xml-any-element java-attribute="entity" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NotificationEventHeader">
-                       <xml-root-element name="notification-event-header" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" type="java.lang.String" />
-                               <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String" />
-                               <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String" />
-                               <xml-element java-attribute="domain" name="domain" type="java.lang.String" />
-                               <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String" />
-                               <xml-element java-attribute="severity" name="severity" type="java.lang.String" />
-                               <xml-element java-attribute="eventType" name="event-type" type="java.lang.String" />
-                               <xml-element java-attribute="version" name="version" type="java.lang.String" />
-                               <xml-element java-attribute="action" name="action" type="java.lang.String" />
-                               <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String" />
-                               <xml-element java-attribute="status" name="status" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="AaiInternal">
-                       <xml-root-element name="aai-internal" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.att.com.v9.ReservedPropNames" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.att.com.v9.EdgePropNames" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="ReservedPropNames">
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
-                               <xml-property name="uniqueProps" value="aai-unique-key" />
-                               <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type" />
-                       </xml-properties>
-                       <xml-root-element name="reserved-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String" />
-                               <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="EdgePropNames">
-                       <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules" />
-                               <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV" />
-                       </xml-properties>
-                       <xml-root-element name="edge-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String" />
-                               <xml-element java-attribute="direction" name="direction" type="java.lang.String" />
-                               <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String" />
-                               <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean" />
-                               <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean" />
-                               <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean" />
-                               <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.String" />
-                               <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Models">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
-                       </xml-properties>
-                       <xml-root-element name="models" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.att.com.v9.Model" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Model">
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models" />
-                               <xml-property name="nameProps" value="model-name,model-type" />
-                               <xml-property name="indexedProps" value="model-name-version-id,model-type,model-name,model-id,model-version" />
-                               <xml-property name="alternateKeys1" value="model-id,model-version" />
-                               <xml-property name="uniqueProps" value="model-name-version-id" />
-                               <xml-property name="container" value="models" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <xml-root-element name="model" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Invariant unique ID which does not change from version to version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.att.com.v9.ModelElements" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.att.com.v9.Metadata" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElements">
-                       <xml-root-element name="model-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.att.com.v9.ModelElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElement">
-                       <xml-properties>
-                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
-                               <xml-property name="uniqueProps" value="model-element-uuid" />
-                               <xml-property name="indexedProps" value="model-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-elements" />
-                       </xml-properties>
-                       <xml-root-element name="model-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="How many of this type of element are required/allowed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-point" type="java.lang.String">
-                                       <xml-element-wrapper name="linkage-points" />
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.att.com.v9.ModelElements">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.att.com.v9.ModelConstraints">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraints">
-                       <xml-root-element name="model-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.att.com.v9.ModelConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="model-constraint-uuid" />
-                               <xml-property name="indexedProps" value="model-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="model-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.att.com.v9.ConstrainedElementSets" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSets">
-                       <xml-root-element name="constrained-element-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.att.com.v9.ConstrainedElementSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
-                               <xml-property name="indexedProps" value="constrained-element-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="constrained-element-sets" />
-                       </xml-properties>
-                       <xml-root-element name="constrained-element-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.att.com.v9.ElementChoiceSets" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSets">
-                       <xml-root-element name="element-choice-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.att.com.v9.ElementChoiceSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="element-choice-set-uuid" />
-                               <xml-property name="indexedProps" value="element-choice-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="element-choice-sets" />
-                       </xml-properties>
-                       <xml-root-element name="element-choice-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.att.com.v9.ModelElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueries">
-                       <xml-root-element name="named-queries" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.att.com.v9.NamedQuery" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQuery">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="nameProps" value="named-query-name" />
-                               <xml-property name="uniqueProps" value="named-query-uuid" />
-                               <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
-                               <xml-property name="container" value="named-queries" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <xml-root-element name="named-query" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String">
-                                       <xml-element-wrapper name="required-input-params" />
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.att.com.v9.NamedQueryElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElements">
-                       <xml-root-element name="named-query-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.att.com.v9.NamedQueryElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElement">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="named-query-element-uuid" />
-                               <xml-property name="indexedProps" value="named-query-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="named-query-elements" />
-                       </xml-properties>
-                       <xml-root-element name="named-query-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
-                               <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.att.com.v9.NamedQueryElements" />
-                               <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.att.com.v9.RelatedLookups" />
-                               <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.att.com.v9.PropertyConstraints" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookups">
-                       <xml-root-element name="related-lookups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.att.com.v9.RelatedLookup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookup">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="related-lookup-uuid" />
-                               <xml-property name="indexedProps" value="related-lookup-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="related-lookups" />
-                       </xml-properties>
-                       <xml-root-element name="related-lookup" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraints">
-                       <xml-root-element name="property-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.att.com.v9.PropertyConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="property-constraint-uuid" />
-                               <xml-property name="indexedProps" value="property-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="property-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="property-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="property-name" name="property-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="property-value" name="property-value" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelAndNamedQuerySearch">
-                       <xml-properties>
-                               <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="model-and-named-query-search" />
-                       <java-attributes>
-                               <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.att.com.v9.QueryParameters" />
-                               <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.att.com.v9.InstanceFilters" />
-                               <xml-element java-attribute="topNodeType"     name="top-node-type"    type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="QueryParameters">
-                       <xml-properties>
-                               <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="query-parameters" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.att.com.v9.NamedQuery" />
-                               <xml-element java-attribute="model" name="model" type="inventory.aai.att.com.v9.Model" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilters">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filters" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.att.com.v9.InstanceFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilter">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
-                               <xml-property name="container" value="instance-filters" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filter" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Properties">
-                       <xml-properties>
-                               <xml-property name="description" value="Property holder for query properties or instance properties" />
-                       </xml-properties>
-                       <xml-root-element name="properties" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResponseList">
-                       <xml-properties>
-                               <xml-property name="description" value="Response container for the results of a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="response-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.att.com.v9.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItems">
-                       <xml-properties>
-                               <xml-property name="description" value="Container for inventory items in response list" />
-                               <xml-property name="container" value="response-list" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-items" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.att.com.v9.InventoryResponseItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItem">
-                       <xml-properties>
-                               <xml-property name="description" value="Inventory item for response list" />
-                               <xml-property name="container" value="inventory-response-items" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelName" name="model-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="item" />
-                               <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.att.com.v9.ExtraProperties" />
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.att.com.v9.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperties">
-                       <xml-properties>
-                               <xml-property name="description" value="Extra properties for inventory item for response list" />
-                       </xml-properties>
-                       <xml-root-element name="extra-properties" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.att.com.v9.ExtraProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperty">
-                       <xml-root-element name="extra-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="propertyValue" lax="true" name="property-value" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReferences">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack route table references" />
-                       </xml-properties>
-                       <xml-root-element name="route-table-references" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.att.com.v9.RouteTableReference" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReference">
-                       <xml-root-element name="route-table-reference" />
-                       <java-attributes>
-                               <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="FQDN entry in the route table." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack route table reference." />
-                               <xml-property name="nameProps" value="route-table-reference-fqdn" />
-                               <xml-property name="uniqueProps" value="route-table-reference-id" />
-                               <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
-                               <xml-property name="container" value="route-table-references" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="SegmentationAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack segmentation assignments" />
-                       </xml-properties>
-                       <xml-root-element name="segmentation-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.att.com.v9.SegmentationAssignment" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="SegmentationAssignment">
-                       <xml-root-element name="segmentation-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.att.com.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack segmentation assignment." />
-                               <xml-property name="indexedProps" value="segmentation-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="segmentation-assignments" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="Vnf">
-                       <xml-root-element name="vnf"/>
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Abstract vnf class" />
-                               <xml-property name="indexedProps" value="vnf-id" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="inheritors" value="vce,vpe,generic-vnf" />
-                               <xml-property name="abstract" value="true" />
-                       </xml-properties>
-               </java-type>
-       </java-types>
-</xml-bindings>
\ No newline at end of file
index 68fa1e4..d827c4e 100644 (file)
@@ -8,14 +8,6 @@ data:
 ---
 apiVersion: v1
 kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-model
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/model/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-portal
   namespace: {{ include "common.namespace" . }}
index 278a327..05a808e 100644 (file)
@@ -34,6 +34,19 @@ spec:
         release: {{ .Release.Name }}
       name: {{ include "common.name" . }}
     spec:
+      initContainers:
+      - name: {{ include "common.name" . }}-inject-models
+        command:
+        - /bin/bash
+        - "-c"
+        - |
+          git clone -b {{ .Values.config.gerritBranch }} --single-branch {{ .Values.config.gerritProject }} /tmp/gerrit
+          cp -rp /tmp/gerrit/data-router/appconfig/model/* /model-dir
+        image: "{{ .Values.global.repository | default .Values.dockerHubRepository }}/{{ .Values.ubuntuInitImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - name: modeldir
+          mountPath: "/model-dir"
       containers:
       - name: {{ include "common.name" . }}
         image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
@@ -69,8 +82,6 @@ spec:
         - mountPath: /opt/app/sparky/config/aai.properties
           subPath: aai.properties
           name: {{ include "common.fullname" . }}-config
-        - mountPath: /opt/app/sparky/config/model/
-          name: {{ include "common.fullname" . }}-model-config
         - mountPath: /opt/app/sparky/config/portal/
           name: {{ include "common.fullname" . }}-portal-config
         - mountPath: /var/log/onap
@@ -78,6 +89,8 @@ spec:
         - mountPath: /opt/app/sparky/bundleconfig/etc/logback.xml
           name: {{ include "common.fullname" . }}-log-conf
           subPath: logback.xml
+        - name: modeldir
+          mountPath: /opt/app/sparky/config/model
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         # disable liveness probe when breakpoints set in debugger
@@ -125,9 +138,6 @@ spec:
       - name: {{ include "common.fullname" . }}-config
         configMap:
           name: {{ include "common.fullname" . }}
-      - name: {{ include "common.fullname" . }}-model-config
-        configMap:
-          name: {{ include "common.fullname" . }}-model
       - name: {{ include "common.fullname" . }}-portal-config
         configMap:
           name: {{ include "common.fullname" . }}-portal
@@ -144,6 +154,8 @@ spec:
       - name: {{ include "common.fullname" . }}-log-conf
         configMap:
          name: {{ include "common.fullname" . }}-log
+      - name: modeldir
+        emptyDir: {}
       restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 34be1be..df058a4 100644 (file)
@@ -12,11 +12,16 @@ image: onap/sparky-be:v1.1.0
 pullPolicy: Always
 restartPolicy: Always
 
+dockerhubRepository: registry.hub.docker.com
+ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
 # application configuration
 config:
   elasticsearchHttpPort: 9200
   keyStorePassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
   keyManagerPassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+  gerritBranch: master
+  gerritProject: http://gerrit.onap.org/r/aai/test-config
+
 
 # override chart name (sparky-be) to share a common namespace
 # suffix with parent chart (aai)
index b5a13ef..1330bd2 100644 (file)
@@ -19,12 +19,11 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:1.1.1
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
-# If mountPath is over NFS (e.g. /dockerdata-nfs is NFS mounted between the nodes), uncomment following lines.
-#  persistence:
-#    mountPath: /dockerdata
+  persistence:
+    mountPath: /dockerdata-nfs
 
 #################################################################
 # Application configuration defaults.
@@ -59,8 +58,9 @@ mysql:
 
 dgbuilder:
   nameOverride: appc-dgbuilder
-  dbPodName: appc-db
-  dbServiceName: appc-dbhost
+  config:
+    dbPodName: appc-db
+    dbServiceName: appc-dbhost
 
 # default number of instances
 replicaCount: 3
diff --git a/kubernetes/clamp/charts/mariadb/templates/NOTES.txt b/kubernetes/clamp/charts/mariadb/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..57947a6
--- /dev/null
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
index 91d8ed4..57947a6 100644 (file)
@@ -13,7 +13,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
   echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
 {{- else if contains "ClusterIP" .Values.service.type }}
-  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
   echo "Visit http://127.0.0.1:8080 to use your application"
   kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
 {{- end }}
index 8e01f42..da29908 100644 (file)
@@ -40,10 +40,21 @@ debugEnabled: false
 config:
   mysqlPassword: strong_pitchou
   dataRootDir: /dockerdata-nfs
-  springApplicationJson: '{
-  "spring.datasource.camunda.url": "jdbc:mariadb:sequential://clamp-mariadb.{{include "common.namespace" .}}:3306/camundabpm?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&retriesAllDown=2147483647&failoverLoopRetries=2147483647",
-  "spring.datasource.cldsdb.url": "jdbc:mariadb:sequential://clamp-mariadb.{{include "common.namespace" .}}:3306/cldsdb4?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&retriesAllDown=2147483647&failoverLoopRetries=2147483647"
-  }'
+  springApplicationJson: >
+    {
+        "spring.datasource.cldsdb.url": "jdbc:mariadb:sequential://clamp-mariadb.{{include "common.namespace" .}}:3306/cldsdb4?autoReconnect=true&connectTimeout=10000&socketTimeout=10000&retriesAllDown=3",
+        "clamp.config.sdc.catalog.url": "https://sdc-be.{{include "common.namespace" .}}.svc.cluster.local:8443/sdc/v1/catalog/",
+        "clamp.config.sdc.hostUrl": "https://sdc-be.{{include "common.namespace" .}}.svc.cluster.local:8443/",
+        "clamp.config.sdc.serviceUrl": "https://sdc-be.{{include "common.namespace" .}}.svc.cluster.local:8443/sdc/v1/catalog/services",
+        "clamp.config.sdc.serviceUsername": "clamp",
+        "clamp.config.sdc.servicePassword": "b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981",
+        "clamp.config.dcae.inventory.url": "http://dcaegen2.{{include "common.namespace" .}}.svc.cluster.local:8080",
+        "clamp.config.dcae.dispatcher.url": "http://dcaegen2.{{include "common.namespace" .}}.svc.cluster.local:8080",
+        "clamp.config.policy.pdpUrl1": "https://policy-pdp.{{include "common.namespace" .}}.svc.cluster.local:9091/pdp/ , testpdp, alpha123",
+        "clamp.config.policy.pdpUrl2": "https://policy-pdp.{{include "common.namespace" .}}.svc.cluster.local:9091/pdp/ , testpdp, alpha123",
+        "clamp.config.policy.papUrl": "https://policy-pap.{{include "common.namespace" .}}.svc.cluster.local:8443/pap/ , testpap, alpha123",
+        "clamp.config.policy.clientKey": "5CE79532B3A2CB4D132FC0C04BF916A7"
+    }
 
 # subchart configuration
 mariadb:
diff --git a/kubernetes/common/common/templates/_repository.tpl b/kubernetes/common/common/templates/_repository.tpl
new file mode 100644 (file)
index 0000000..e054b57
--- /dev/null
@@ -0,0 +1,31 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{/*
+  Resolve the name of the common image repository.
+  The value for .Values.repository is used by default,
+  unless either override mechanism is used.
+
+  - .Values.global.repository  : override default image repository for all images
+  - .Values.repositoryOverride : override global and default image repository on a per image basis
+*/}}
+{{- define "common.repository" -}}
+  {{if .Values.repositoryOverride }}
+    {{- printf "%s" .Values.repositoryOverride -}}
+  {{else}}
+    {{- default .Values.repository .Values.global.repository -}}
+  {{end}}
+{{- end -}}
\ No newline at end of file
index fdaf577..dc3980d 100644 (file)
@@ -1,5 +1,5 @@
 org.onap.ccsdk.sli.dbtype=jdbc
-org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.dbServiceName}}.{{ include "common.namespace" . }}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.dbServiceName}}.{{ include "common.namespace" . }}:3306/sdnctl
 org.onap.ccsdk.sli.jdbc.database=sdnctl
 org.onap.ccsdk.sli.jdbc.user=sdnctl
 org.onap.ccsdk.sli.jdbc.password=gamma
index 38f7fe2..76d1770 100755 (executable)
@@ -6,7 +6,7 @@ then
        echo "Usage $0 releaseDir  loginId emailAddress [gitLocalRepository]"
        echo "Note: Specify the gitLocalRepository path if you would want to be able to import flows from your local git repository"
        exit
-fi 
+fi
 if [ ! -e "releases" ]
 then
        mkdir releases
@@ -15,7 +15,7 @@ releaseDir="$1"
 name="Release $releaseDir"
 loginId="$2"
 emailid="$3"
-dbHost="{{.Values.dbServiceName}}.{{.Release.Namespace}}"
+dbHost="{{.Values.config.dbServiceName}}.{{.Release.Namespace}}"
 dbPort="3306"
 dbName="sdnctl"
 dbUser="sdnctl"
@@ -76,7 +76,7 @@ fi
        #echo "Created custom settings  file $customSettingsFile"
        echo "Done ....."
 else
-       echo "ERROR:customSettings file $customSettingsFile already exists for $releaseDir"     
+       echo "ERROR:customSettings file $customSettingsFile already exists for $releaseDir"
        exit
 fi
 #echo "Content of custom settings file"
@@ -86,17 +86,17 @@ fi
 svclogicPropFile="./conf/svclogic.properties"
 if [ ! -d "${appDir}/yangFiles" ]
 then
-       mkdir -p "${appDir}/yangFiles" 
+       mkdir -p "${appDir}/yangFiles"
 fi
 if [ ! -d "${appDir}/generatedJS" ]
 then
-       mkdir -p "${appDir}/generatedJS" 
+       mkdir -p "${appDir}/generatedJS"
 fi
 
 if [ ! -e "./$svclogicPropFile" ]
 then
        echo "org.onap.ccsdk.sli.dbtype=jdbc" >$svclogicPropFile
-       echo "org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.dbServiceName}}.{{.Release.Namespace}}:3306/sdnctl" >>$svclogicPropFile
+       echo "org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.dbServiceName}}.{{.Release.Namespace}}:3306/sdnctl" >>$svclogicPropFile
        echo "org.onap.ccsdk.sli.jdbc.database=sdnctl" >>$svclogicPropFile
        echo "org.onap.ccsdk.sli.jdbc.user=sdnctl" >>$svclogicPropFile
        echo "org.onap.ccsdk.sli.jdbc.password=gamma" >>$svclogicPropFile
index 01bbcc7..22810ba 100644 (file)
@@ -29,7 +29,7 @@ module.exports={
         "user": "dguser",
         "pass": "cc03e747a6afbbcbf8be7668acfebee5"
     },
-    "dbHost": "{{.Values.dbServiceName}}.{{ include "common.namespace" . }}",
+    "dbHost": "{{.Values.config.dbServiceName}}.{{ include "common.namespace" . }}",
     "dbPort": "3306",
     "dbName": "sdnctl",
     "dbUser": "sdnctl",
index 4e1f101..a1e9568 100644 (file)
@@ -21,7 +21,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - {{ .Values.dbPodName }}
+        - {{ .Values.config.dbPodName }}
         env:
         - name: NAMESPACE
           valueFrom:
@@ -35,10 +35,8 @@ spec:
         - name: {{ include "common.name" . }}
           image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-          command:
-          - /bin/bash
-          - -c
-          - cd /opt/onap/sdnc/dgbuilder/ && ./start.sh sdnc1.0 && wait
+          command: ["/bin/bash"]
+          args: ["-c", "cd /opt/onap/ccsdk/dgbuilder/ && ./start.sh sdnc1.0 && wait"]
           ports:
           - containerPort: {{ .Values.service.internalPort }}
           readinessProbe:
index 23f8eea..a53ed83 100644 (file)
@@ -28,13 +28,13 @@ global:
 
   # flag to enable debugging - application support required
   debugEnabled: true
-  
+
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/ccsdk-dgbuilder-image:v0.1.0
+image: onap/ccsdk-dgbuilder-image:0.2.1-SNAPSHOT
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -43,6 +43,9 @@ debugEnabled: false
 # application configuration
 config:
   dbRootPassword: openECOMP1.0
+  dbPodName: mysql-db
+  dbServiceName: sdnc-dbhost
+
 
 # default number of instances
 replicaCount: 1
index 99e7c44..b2e7d4a 100644 (file)
@@ -1,3 +1,17 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 apiVersion: v1
 description: MySQL Server
 name: mysql
index acca8ef..ce82a2f 100644 (file)
@@ -1,4 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 dependencies:
   - name: common
     version: ~2.0.0
-    repository: '@local'
\ No newline at end of file
+    repository: '@local'
index dd2b5b7..ff127e4 100644 (file)
@@ -1,3 +1,19 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
 apiVersion: v1
 kind: ConfigMap
 metadata:
index 478224e..3f19977 100644 (file)
@@ -1,8 +1,24 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
 #{{ if not .Values.disableNfsProvisioner }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
-  name: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+  name: {{ .Release.Name }}-{{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -46,7 +62,7 @@ spec:
                 fieldRef:
                   fieldPath: status.podIP
             - name: SERVICE_NAME
-              value: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+              value: {{ .Release.Name }}-{{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
             - name: POD_NAMESPACE
               valueFrom:
                 fieldRef:
index ba128b9..1cc92ac 100644 (file)
@@ -1,4 +1,20 @@
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if (and (and (.Values.persistence.enabled) (not .Values.persistence.existingClaim)) ( .Values.disableNfsProvisioner)) -}}
 kind: PersistentVolume
 apiVersion: v1
 metadata:
index a2949fe..edb370a 100644 (file)
@@ -1,4 +1,20 @@
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if (and (and (.Values.persistence.enabled) (not .Values.persistence.existingClaim)) ( .Values.disableNfsProvisioner)) -}}
 kind: PersistentVolumeClaim
 apiVersion: v1
 metadata:
@@ -20,4 +36,4 @@ spec:
     requests:
       storage: {{ .Values.persistence.size }}
   storageClassName: "{{ include "common.fullname" . }}-data"
-{{- end -}}
\ No newline at end of file
+{{- end -}}
index 7604be8..7f9b123 100644 (file)
@@ -1,3 +1,19 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
 apiVersion: v1
 kind: Secret
 metadata:
@@ -10,4 +26,4 @@ metadata:
     heritage: {{ .Release.Service }}
 type: Opaque
 data:
-  db-root-password: {{ .Values.config.dbRootPassword | b64enc | quote }}
\ No newline at end of file
+  db-root-password: {{ .Values.config.dbRootPassword | b64enc | quote }}
index c6a28c4..032920c 100644 (file)
@@ -1,3 +1,19 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
 apiVersion: v1
 kind: Service
 metadata:
@@ -21,7 +37,7 @@ spec:
 kind: Service
 apiVersion: v1
 metadata:
-  name: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+  name: {{ .Release.Name }}-{{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
@@ -88,3 +104,27 @@ spec:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
   clusterIP: None
+---
+{{ if .Values.geoEnabled }}
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name }}-nodeport
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
+spec:
+  ports:
+  - name: {{ .Values.service.internalPort }}
+    port: {{ .Values.service.internalPort }}
+    targetPort: {{ .Values.service.internalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort1 }}
+  - name: {{ .Values.xtrabackup.internalPort }}
+    port: {{ .Values.xtrabackup.internalPort }}
+    targetPort: {{ .Values.xtrabackup.internalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort2 }}
+  type: NodePort
+  selector:
+    statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
+    release: {{ .Release.Name }}
+{{ end }}
index 7b55bf2..e436988 100644 (file)
@@ -1,3 +1,19 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
 apiVersion: apps/v1beta1
 kind: StatefulSet
 metadata:
@@ -35,7 +51,7 @@ spec:
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
 #{{ end }}
       - name: init-mysql
-        image: "{{ .Values.repository | default .Values.repository }}/{{ .Values.image }}"
+        image: "{{ .Values.dockerHubRepository }}/{{ .Values.image }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command:
         - bash
@@ -45,10 +61,11 @@ spec:
           # Generate mysql server-id from pod ordinal index.
           [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
           ordinal=${BASH_REMATCH[1]}
+          siteId={{ .Values.geoSiteId }}
           echo BASH_REMATCH=${BASH_REMATCH}
           echo [mysqld] > /mnt/conf.d/server-id.cnf
           # Add an offset to avoid reserved server-id=0 value.
-          echo server-id=$((100 + $ordinal)) >> /mnt/conf.d/server-id.cnf
+          echo server-id=$(($siteId*100 + $ordinal)) >> /mnt/conf.d/server-id.cnf
           # Copy appropriate conf.d files from config-map to emptyDir.
           if [[ $ordinal -eq 0 ]]; then
             cp /mnt/config-map/master.cnf /mnt/conf.d/
@@ -83,21 +100,19 @@ spec:
           echo ${BASH_REMATCH}
           [[ $ordinal -eq 0 ]] && exit 0
           # Clone data from previous peer.
-          ncat --recv-only {{ template "common.name" . }}-$(($ordinal-1)).{{ .Values.service.name }}.{{ include "common.namespace" . }} 3307 | xbstream -x -C /var/lib/mysql
+          ncat --recv-only {{ include "common.fullname" . }}-$(($ordinal-1)).{{ .Values.service.name }}.{{ include "common.namespace" . }} 3307 | xbstream -x -C /var/lib/mysql
           # Prepare the backup.
           xtrabackup --user=root --password=$MYSQL_ROOT_PASSWORD --prepare --target-dir=/var/lib/mysql
           ls -l /var/lib/mysql
         volumeMounts:
         - name: {{ include "common.fullname" . }}-data
           mountPath: /var/lib/mysql
-          subPath: mysql
         - name: conf
           mountPath: /etc/mysql/conf.d
-          
+
       containers:
-        #sdnc-db-container
         - name: {{ include "common.name" . }}
-          image: "{{ .Values.repository | default .Values.repository }}/{{ .Values.image }}"
+          image: "{{ .Values.dockerHubRepository }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
@@ -129,7 +144,6 @@ spec:
           volumeMounts:
           - mountPath: /var/lib/mysql
             name: {{ include "common.fullname" . }}-data
-            subPath: mysql
           - mountPath: /etc/mysql/conf.d
             name: conf
           resources:
@@ -179,20 +193,24 @@ spec:
                     MASTER_LOG_POS=${BASH_REMATCH[2]}" > change_master_to.sql.in
             fi
 
+            [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
+            ordinal=${BASH_REMATCH[1]}
+            echo $ordinal
+
+            mysqlhost={{ include "common.fullname" . }}-$(($ordinal)).{{ .Values.service.name }}.{{ include "common.namespace" . }}
+            echo $mysqlhost
+
             # Check if we need to complete a clone by starting replication.
             if [[ -f change_master_to.sql.in ]]; then
               echo "Waiting for mysqld to be ready (accepting connections)"
-              [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
-              ordinal=${BASH_REMATCH[1]}
-              echo $ordinal
-              until mysql --user=root --password=$MYSQL_ROOT_PASSWORD -h localhost -e "SELECT 1"; do sleep 1; done
+              until mysql --user=root --password=$MYSQL_ROOT_PASSWORD -h $mysqlhost -e "SELECT 1"; do sleep 1; done
 
               echo "Initializing replication from clone position"
               # In case of container restart, attempt this at-most-once.
               mv change_master_to.sql.in change_master_to.sql.orig
-              mysql --user=root --password=$MYSQL_ROOT_PASSWORD -h localhost <<EOF
+              mysql --user=root --password=$MYSQL_ROOT_PASSWORD -h $mysqlhost <<EOF
             $(<change_master_to.sql.orig),
-              MASTER_HOST="{{ template "common.name" . }}-0.{{ .Values.service.name }}.{{ include "common.namespace" . }}",
+              MASTER_HOST="{{ include "common.fullname" . }}-0.{{ .Values.service.name }}.{{ include "common.namespace" . }}",
               MASTER_USER="root",
               MASTER_PASSWORD="$MYSQL_ROOT_PASSWORD",
               MASTER_CONNECT_RETRY=10;
@@ -202,11 +220,10 @@ spec:
 
             # Start a server to send backups when requested by peers.
             exec ncat --listen --keep-open --send-only --max-conns=1 3307 -c \
-              "xtrabackup --user=root --password=$MYSQL_ROOT_PASSWORD --backup --slave-info --stream=xbstream --host=localhost"
+              "xtrabackup --user=root --password=$MYSQL_ROOT_PASSWORD --backup --slave-info --stream=xbstream --host=$mysqlhost"
           volumeMounts:
           - name: {{ include "common.fullname" . }}-data
             mountPath: /var/lib/mysql
-            subPath: mysql
           - name: conf
             mountPath: /etc/mysql/conf.d
       volumes:
@@ -236,3 +253,4 @@ spec:
 #{{ else }}
         emptyDir: {}
 #{{ end }}
+
index 1a4e6b6..398c998 100644 (file)
@@ -1,3 +1,19 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
 kind: StorageClass
 apiVersion: storage.k8s.io/v1
 metadata:
index c0beb6f..1e8c8bd 100644 (file)
@@ -1,3 +1,17 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 #################################################################
 # Global configuration defaults.
 #################################################################
@@ -6,15 +20,14 @@ global:
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   persistence: {}
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:1.1.1
 
 
 #################################################################
 # Application configuration defaults.
 #################################################################
 
-#repository: mysql
-repository: registry.hub.docker.com
+dockerHubRepository: registry.hub.docker.com
 image: library/mysql:5.7
 pullPolicy: Always
 
@@ -29,6 +42,8 @@ nodeSelector: {}
 
 affinity: {}
 
+disableNfsProvisioner: true
+
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 30
@@ -61,7 +76,7 @@ persistence:
   accessMode: ReadWriteMany
   size: 1Gi
   mountPath: /dockerdata-nfs
-  mountSubPath: mysql/data
+  mountSubPath: "mysql/data"
 
 service:
   name: mysql
@@ -109,3 +124,6 @@ nfsprovisionerImage: kubernetes_incubator/nfs-provisioner:v1.0.8
 nfsprovisionerPrefix: mysql
 
 sdnctlPrefix: mysql
+
+geoEnabled: false
+geoSiteId: 1
diff --git a/kubernetes/common/postgres/.helmignore b/kubernetes/common/postgres/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/common/postgres/Chart.yaml b/kubernetes/common/postgres/Chart.yaml
new file mode 100644 (file)
index 0000000..1d00b85
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP Postgres Server
+name: postgres
+version: 2.0.0
diff --git a/kubernetes/common/postgres/requirements.yaml b/kubernetes/common/postgres/requirements.yaml
new file mode 100644 (file)
index 0000000..e597fca
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
diff --git a/kubernetes/common/postgres/templates/pv.yaml b/kubernetes/common/postgres/templates/pv.yaml
new file mode 100644 (file)
index 0000000..e08c934
--- /dev/null
@@ -0,0 +1,58 @@
+{{/*
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-data0
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-data"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Namespace }}/{{ .Values.persistence.mountSubPath }}0
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-data1
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-data"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Namespace }}/{{ .Values.persistence.mountSubPath }}1
+{{- end -}}
diff --git a/kubernetes/common/postgres/templates/secrets.yaml b/kubernetes/common/postgres/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..29de3af
--- /dev/null
@@ -0,0 +1,31 @@
+{{/*
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+type: Opaque
+data:
+  pg-primary-password: {{ .Values.config.pgPrimaryPassword | b64enc | quote }}
+  pg-user-password: {{ .Values.config.pgUserPassword | b64enc | quote }}
+  pg-root-password: {{ .Values.config.pgRootPassword | b64enc | quote }}
+  
diff --git a/kubernetes/common/postgres/templates/service.yaml b/kubernetes/common/postgres/templates/service.yaml
new file mode 100644 (file)
index 0000000..2a4e369
--- /dev/null
@@ -0,0 +1,95 @@
+{{/*
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name2 }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+spec:
+  type: {{ .Values.service.type2 }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.name2 }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      name: {{ .Values.service.name2 }}
+    {{- end}}
+  selector:
+    name: "{{.Values.container.name.primary}}"
+    release: {{ .Release.Name }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name3 }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+spec:
+  type: {{ .Values.service.type3 }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort3 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
+      name: {{ .Values.service.name3 }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort3 }}
+      targetPort: {{ .Values.service.internalPort3 }}
+      name: {{ .Values.service.name3 }}
+    {{- end}}
+  selector:
+    name: "{{.Values.container.name.replica}}"
+    release: {{ .Release.Name }}
diff --git a/kubernetes/common/postgres/templates/statefulset.yaml b/kubernetes/common/postgres/templates/statefulset.yaml
new file mode 100644 (file)
index 0000000..e42e9eb
--- /dev/null
@@ -0,0 +1,147 @@
+{{/*
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+apiVersion: apps/v1beta1
+kind: StatefulSet
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  serviceName: {{ .Values.service.name }}
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - command:
+        - /bin/sh
+        - -c
+        - |
+          for i in $(seq 0 $(({{ .Values.replicaCount }}-1))); do mkdir -p /podroot/data$i; done
+          chmod 777 /podroot/*
+        env:
+        - name: POD_NAME
+          valueFrom: { fieldRef: { fieldPath: metadata.name } }
+        securityContext:
+          privileged: true
+        image: {{ .Values.global.busyboxRepository | default .Values.busyboxRepository }}/{{ .Values.busyboxImage }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: init-sysctl
+        volumeMounts:
+        - name: {{ include "common.fullname" . }}-init
+          mountPath: /podroot/
+      containers:
+      - name: {{ include "common.name" . }}
+        image: "{{ .Values.postgresRepository }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+          name: postgres
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        {{- if eq .Values.liveness.enabled true }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+          timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+        {{end -}}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+        env:
+        - name: PGHOST
+          value: /tmp
+        - name: PG_PRIMARY_USER
+          value: primaryuser
+        - name: PG_MODE
+          value: set
+        - name: PG_PRIMARY_HOST
+          value: "{{.Values.container.name.primary}}"
+        - name: PG_REPLICA_HOST
+          value: "{{.Values.container.name.replica}}"
+        - name: PG_PRIMARY_PORT
+          value: "{{.Values.service.internalPort}}"
+        - name: PG_PRIMARY_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ template "common.fullname" . }}
+              key: pg-primary-password
+        - name: PG_USER
+          value: "{{.Values.config.pgUserName}}"
+        - name: PG_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ template "common.fullname" . }}
+              key: pg-user-password
+        - name: PG_DATABASE
+          value: "{{.Values.config.pgDatabase}}"
+        - name: PG_ROOT_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ template "common.fullname" . }}
+              key: pg-root-password
+        volumeMounts:
+        - mountPath: /pgdata
+          name: {{ include "common.fullname" . }}-data
+        - mountPath: /backup
+          name: {{ include "common.fullname" . }}-backup
+          readOnly: true
+        resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      volumes:
+      - name: localtime
+        hostPath:
+          path: /etc/localtime
+      - name: {{ include "common.fullname" . }}-init
+        hostPath:
+          path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Namespace }}/{{ .Values.persistence.mountInitPath }}
+      - name: {{ include "common.fullname" . }}-backup
+        emptyDir: {}
+#{{ if not .Values.persistence.enabled }}
+      - name: {{ include "common.fullname" . }}-data
+        emptyDir: {}
+#{{ else }}
+  volumeClaimTemplates:
+  - metadata:
+      name: {{ include "common.fullname" . }}-data
+      labels:
+        name: {{ include "common.fullname" . }}
+    spec:
+      accessModes: [ {{ .Values.persistence.accessMode }} ]
+      storageClassName: {{ include "common.fullname" . }}-data
+      resources:
+        requests:
+          storage: {{ .Values.persistence.size }}
+#{{ end }}
diff --git a/kubernetes/common/postgres/values.yaml b/kubernetes/common/postgres/values.yaml
new file mode 100644 (file)
index 0000000..781345a
--- /dev/null
@@ -0,0 +1,127 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  persistence: {}
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+# BusyBox image
+busyboxRepository: registry.hub.docker.com
+busyboxImage: library/busybox:latest
+
+postgresRepository: crunchydata
+image: crunchy-postgres:centos7-10.3-1.8.2
+pullPolicy: Always
+
+# application configuration
+config:
+  pgUserName: testuser
+  pgDatabase: userdb
+  pgPrimaryPassword: password
+  pgUserPassword: password
+  pgRootPassword: password
+
+container:
+  name:
+    primary: pgset-primary
+    replica: pgset-replica
+
+# default number of instances
+replicaCount: 2
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 30
+  periodSeconds: 10
+  timeoutSeconds: 5
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 5
+  periodSeconds: 10
+
+## Persist data to a persitent volume
+persistence:
+  enabled: true
+  ## A manually managed Persistent Volume and Claim
+  ## Requires persistence.enabled: true
+  ## If defined, PVC must be created manually before volume will be bound
+  # existingClaim:
+  volumeReclaimPolicy: Retain
+
+  ## database data Persistent Volume Storage Class
+  ## If defined, storageClassName: <storageClass>
+  ## If set to "-", storageClassName: "", which disables dynamic provisioning
+  ## If undefined (the default) or set to null, no storageClassName spec is
+  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
+  ##   GKE, AWS & OpenStack)
+  accessMode: ReadWriteOnce
+  size: 1Gi
+  mountPath: /dockerdata-nfs
+  mountSubPath: postgres/data
+  mountInitPath: postgres
+
+service:
+  type: ClusterIP
+  name: pgset
+  externalPort: 5432
+  internalPort: 5432
+  type2: ClusterIP
+  name2: pgset-primary
+  externalPort2: 5432
+  internalPort2: 5432
+  type3: ClusterIP
+  name3: pgset-replica
+  externalPort3: 5432
+  internalPort3: 5432
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
+
diff --git a/kubernetes/config/docker/init/src/config/message-router/dmaap/MsgRtrApi.properties b/kubernetes/config/docker/init/src/config/message-router/dmaap/MsgRtrApi.properties
deleted file mode 100755 (executable)
index db8d911..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-###############################################################################
-##
-## Cambria API Server config
-##
-##     - Default values are shown as commented settings.
-##
-
-###############################################################################
-##
-## HTTP service
-##
-##             - 3904 is standard as of 7/29/14.
-#
-## Zookeeper Connection
-##
-##     Both Cambria and Kafka make use of Zookeeper.
-##
-config.zk.servers=zookeeper.namespace-placeholder:2181
-#config.zk.servers=172.17.0.1:2181
-#dmaap.namespace-placeholder:2181
-#10.208.128.229:2181
-#config.zk.root=/fe3c/cambria/config
-
-
-###############################################################################
-##
-## Kafka Connection
-##
-##     Items below are passed through to Kafka's producer and consumer
-##     configurations (after removing "kafka.")
-##     if you want to change request.required.acks it can take this one value
-#kafka.metadata.broker.list=localhost:9092,localhost:9093
-kafka.metadata.broker.list=global-kafka.namespace-placeholder:9092
-#kafka.metadata.broker.list=172.17.0.1:9092
-#dmaap.namespace-placeholder:9092
-#10.208.128.229:9092
-##kafka.request.required.acks=-1
-#kafka.client.zookeeper=${config.zk.servers}
-consumer.timeout.ms=100
-zookeeper.connection.timeout.ms=6000
-zookeeper.session.timeout.ms=6000
-zookeeper.sync.time.ms=2000
-auto.commit.interval.ms=1000
-fetch.message.max.bytes =1000000
-auto.commit.enable=false
-
-
-###############################################################################
-##
-##     Secured Config
-##
-##     Some data stored in the config system is sensitive -- API keys and secrets,
-##     for example. to protect it, we use an encryption layer for this section
-##     of the config.
-##
-## The key is a base64 encode AES key. This must be created/configured for
-## each installation.
-#cambria.secureConfig.key=
-##
-## The initialization vector is a 16 byte value specific to the secured store.
-## This must be created/configured for each installation.
-#cambria.secureConfig.iv=
-
-## Southfield Sandbox
-cambria.secureConfig.key=b/7ouTn9FfEw2PQwL0ov/Q==
-cambria.secureConfig.iv=wR9xP5k5vbz/xD0LmtqQLw==
-authentication.adminSecret=fe3cCompound
-#cambria.secureConfig.key[pc569h]=YT3XPyxEmKCTLI2NK+Sjbw==
-#cambria.secureConfig.iv[pc569h]=rMm2jhR3yVnU+u2V9Ugu3Q==
-
-
-###############################################################################
-##
-## Consumer Caching
-##
-##     Kafka expects live connections from the consumer to the broker, which
-##     obviously doesn't work over connectionless HTTP requests. The Cambria
-##     server proxies HTTP requests into Kafka consumer sessions that are kept
-##     around for later re-use. Not doing so is costly for setup per request,
-##     which would substantially impact a high volume consumer's performance.
-##
-##     This complicates Cambria server failover, because we often need server
-##     A to close its connection before server B brings up the replacement.
-##
-
-## The consumer cache is normally enabled.
-#cambria.consumer.cache.enabled=true
-
-## Cached consumers are cleaned up after a period of disuse. The server inspects
-## consumers every sweepFreqSeconds and will clean up any connections that are
-## dormant for touchFreqMs.
-#cambria.consumer.cache.sweepFreqSeconds=15
-#cambria.consumer.cache.touchFreqMs=120000
-
-## The cache is managed through ZK. The default value for the ZK connection
-## string is the same as config.zk.servers.
-#cambria.consumer.cache.zkConnect=${config.zk.servers}
-
-##
-## Shared cache information is associated with this node's name. The default
-## name is the hostname plus the HTTP service port this host runs on. (The
-## hostname is determined via InetAddress.getLocalHost ().getCanonicalHostName(),
-## which is not always adequate.) You can set this value explicitly here.
-##
-#cambria.api.node.identifier=<use-something-unique-to-this-instance>
-
-###############################################################################
-##
-## Metrics Reporting
-##
-##     This server can report its metrics periodically on a topic.
-##
-#metrics.send.cambria.enabled=true
-#metrics.send.cambria.topic=cambria.apinode.metrics                                  #msgrtr.apinode.metrics.dmaap
-#metrics.send.cambria.sendEverySeconds=60
-
-cambria.consumer.cache.zkBasePath=/fe3c/cambria/consumerCache
-
-##############################################################################
-#100mb
-maxcontentlength=10000
-
-
-##############################################################################
-#AAF Properties
-msgRtr.namespace.aaf=org.openecomp.dcae.dmaap.mtnje2.mr.topic
-msgRtr.topicfactory.aaf=org.openecomp.dcae.dmaap.topicFactory|:org.openecomp.dcae.dmaap.mtnje2.mr.topic:
-enforced.topic.name.AAF=org.openecomp
-forceAAF=false
-transidUEBtopicreqd=false
-defaultNSforUEB=org.openecomp.dmaap.mr.ueb
-##############################################################################
-#Mirror Maker Agent
-msgRtr.mirrormakeradmin.aaf=org.openecomp.dmaap.mr.dev.mirrormaker|*|admin
-msgRtr.mirrormakeruser.aaf=org.openecomp.dmaap.mr.dev.mirrormaker|*|user
-msgRtr.mirrormakeruser.aaf.create=org.openecomp.dmaap.mr.dev.topicFactory|:org.openecomp.dmaap.mr.dev.topic:
-msgRtr.mirrormaker.timeout=15000
-msgRtr.mirrormaker.topic=org.openecomp.dmaap.mr.prod.mm.agent
-msgRtr.mirrormaker.consumergroup=mmagentserver
-msgRtr.mirrormaker.consumerid=1
diff --git a/kubernetes/config/docker/init/src/config/message-router/dmaap/cadi.properties b/kubernetes/config/docker/init/src/config/message-router/dmaap/cadi.properties
deleted file mode 100755 (executable)
index 1cb00a5..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-basic_realm=openecomp.org
-basic_warn=TRUE
-
-cadi_loglevel=DEBUG
-#cadi_keyfile=target/swm/package/nix/dist_files/appl/${artifactId}/etc/keyfile2
-cadi_keyfile=/appl/dmaapMR1/etc/keyfile
-# Configure AAF
-aaf_url=https://DME2RESOLVE/service=org.openecomp.authz.AuthorizationService/version=2.0/envContext=DEV/routeOffer=BAU_SE
-
-aaf_id=dgl@openecomp.org
-aaf_password=enc:f2u5br1mh29M02-
-aaf_timeout=5000
-aaf_clean_interval=1200000
-aaf_user_expires=60000
-aaf_high_count=1000000
-
-
-# The following properties are being set by the AJSC Container and should NOT need to be set here.
-AFT_LATITUDE=33.823589
-AFT_LONGITUDE=-84.366982
-AFT_ENVIRONMENT=AFTUAT
diff --git a/kubernetes/config/docker/init/src/config/message-router/dmaap/mykey b/kubernetes/config/docker/init/src/config/message-router/dmaap/mykey
deleted file mode 100755 (executable)
index c2b8b87..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-_sNOLphPzrU7L0L3oWv0pYwgV_ddGF1XoBsQEIAp34jfP-fGJFPfFYaMpDEZ3gwH59rNw6qyMZHk
-k-4irklvVcWk36lC3twNvc0DueRCVrws1bkuhOLCXdxHJx-YG-1xM8EJfRmzh79WPlPkbAdyPmFF
-Ah44V0GjAnInPOFZA6MHP9rNx9B9qECHRfmvzU13vJCcgTsrmOr-CEiWfRsnzPjsICxpq9OaVT_D
-zn6rNaroGm1OiZNCrCgvRkCUHPOOCw3j9G1GeaImoZNYtozbz9u4sj13PU-MxIIAa64b1bMMMjpz
-Upc8lVPI4FnJKg6axMmEGn5zJ6JUq9mtOVyPj__2GEuDgpx5H4AwodXXVjFsVgR8UJwI_BvS2JVp
-JoQk0J1RqXmAXVamlsMAfzmmbARXgmrBfnuhveZnh9ymFVU-YZeujdANniXAwBGI7c6hG_BXkH7i
-Eyf4Fn41_SV78PskP6qgqJahr9r3bqdjNbKBztIKCOEVrE_w3IM5r02l-iStk_NBRkj6cq_7VCpG
-afxZ2CtZMwuZMiypO_wOgbdpCSKNzsL-NH2b4b08OlKiWb263gz634KJmV5WEfCl-6eH-JUFbWOS
-JwQfActLNT2ZQPl2MyZQNBzJEWoJRgS6k7tPRO-zqeUtYYHGHVMCxMuMHGQcoilNNHEFeBCG_fBh
-yAKb9g9F86Cbx9voMLiyTX2T3rwVHiSJFOzfNxGmfN5JWOthIun_c5hEY1tLQ15BomzkDwk7BAj7
-VbRCrVD45B6xrmSTMBSWYmLyr6mnQxQqeh9cMbD-0ZAncE3roxRnRvPKjFFa208ykYUp2V83r_PJ
-fV5I9ZPKSjk9DwFyrjkcQQEYDhdK6IFqcd6nEthjYVkmunu2fsX0bIOm9GGdIbKGqBnpdgBO5hyT
-rBr9HSlZrHcGdti1R823ckDF0Ekcl6kioDr5NLIpLtg9zUEDRm3QrbX2mv5Zs8W0pYnOqglxy3lz
-bJZTN7oR7VasHUtjmp0RT9nLZkUs5TZ6MHhlIq3ZsQ6w_Q9Rv1-ofxfwfCC4EBrWKbWAGCf6By4K
-Ew8321-2YnodhmsK5BrT4zQ1DZlmUvK8BmYjZe7wTljKjgYcsLTBfX4eMhJ7MIW1kpnl8AbiBfXh
-QzN56Mki51Q8PSQWHm0W9tnQ0z6wKdck6zBJ8JyNzewZahFKueDTn-9DOqIDfr3YHvQLLzeXyJ8e
-h4AgjW-hvlLzRGtkCknjLIgXVa3rMTycseAwbW-mgdCqqkw3SdEG8feAcyntmvE8j2jbtSDStQMB
-9JdvyNLuQdNG4pxpusgvVso0-8NQF0YVa9VFwg9U6IPSx5p8FcW68OAHt_fEgT4ZtiH7o9aur4o9
-oYqUh2lALCY-__9QLq1KkNjMKs33Jz9E8LbRerG9PLclkTrxCjYAeUWBjCwSI7OB7xkuaYDSjkjj
-a46NLpdBN1GNcsFFcZ79GFAK0_DsyxGLX8Tq6q0Bvhs8whD8wlSxpTGxYkyqNX-vcb7SDN_0WkCE
-XSdZWkqTHXcYbOvoCOb_e6SFAztuMenuHWY0utX0gBfx_X5lPDFyoYXErxFQHiA7t27keshXNa6R
-ukQRRS8kMjre1U74sc-fRNXkXpl57rG4rgxaEX0eBeowa53KAsVvUAoSac2aC_nfzXrDvoyf9Xi3
-JpEZNhUDLpFCEycV4I7jGQ9wo9qNaosvlsr6kbLDNdb_1xrGVgjT3xEvRNJNPqslSAu-yD-UFhC3
-AmCdYUnugw_eEFqXCHTARcRkdPPvl2XsmEKY2IqEeO5tz4DyXQFaL-5hEVh6lYEU1EOWHk3UGIXe
-Vc5_Ttp82qNLmlJPbZvgmNTJzYTHDQ_27KBcp7IVVZgPDjVKdWqQvZ18KhxvfF3Idgy82LBZniFV
-IbtxllXiPRxoPQriSXMnXjh3XkvSDI2pFxXfEvLRn1tvcFOwPNCz3QfPIzYg8uYXN5bRt3ZOrR_g
-ZhIlrc7HO0VbNbeqEVPKMZ-cjkqGj4VAuDKoQc0eQ6X_wCoAGO78nPpLeIvZPx1X3z5YoqNA
\ No newline at end of file
index b82c39b..8cb1f1b 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: ONAP Consul Heath Monitor
+description: ONAP Consul Agent
 name: consul
-version: 1.1.0
+version: 2.0.0
diff --git a/kubernetes/consul/charts/consul-server/Chart.yaml b/kubernetes/consul/charts/consul-server/Chart.yaml
new file mode 100644 (file)
index 0000000..13be087
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP Consul Server
+name: consul-server
+version: 2.0.0
diff --git a/kubernetes/consul/charts/consul-server/requirements.yaml b/kubernetes/consul/charts/consul-server/requirements.yaml
new file mode 100644 (file)
index 0000000..f639633
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    # local reference to common chart, as it is
+    # a part of this chart's package and will not
+    # be published independently to a repo (at this point)
+    repository: '@local'
diff --git a/kubernetes/consul/charts/consul-server/templates/NOTES.txt b/kubernetes/consul/charts/consul-server/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..2465e03
--- /dev/null
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if not .Values.disableConsulConsulServer }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
   labels:
-    app: consul-server
-  name: consul-server
-  namespace: "{{ .Values.nsPrefix }}"
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 spec:
-  replicas: {{ .Values.consulServerReplicas }}
+  replicas: {{ .Values.replicaCount }}
   selector:
     matchLabels:
-      app: consul-server
+      app: {{ include "common.name" . }}
   template:
     metadata:
       labels:
-        app: consul-server
-      name: consul-server
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
     spec:
       containers:
-      - image: "{{ .Values.consulserverRegistry }}"
+      - image: "{{ .Values.repository | default .Values.global.repository }}/{{ .Values.image }}"
         command: ["/usr/local/bin/docker-entrypoint.sh"]
-        args: ["agent","-server","-client","0.0.0.0","-enable-script-checks","-bootstrap-expect=3","-ui","-join","consul-server.{{ .Values.nsPrefix }}"]
-        name: consul-server
-#{{ end }}
+        args: ["agent","-server","-client","0.0.0.0","-enable-script-checks","-bootstrap-expect=3","-ui","-join","{{ include "common.fullname" . }}.{{ include "common.namespace" . }}"]
+        name: {{ include "common.name" . }}
diff --git a/kubernetes/consul/charts/consul-server/templates/service.yaml b/kubernetes/consul/charts/consul-server/templates/service.yaml
new file mode 100644 (file)
index 0000000..3b17164
--- /dev/null
@@ -0,0 +1,38 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    - port: {{ .Values.service.internalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    - port: {{ .Values.service.internalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.name2 }}
+  selector:
+    app: {{ template "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/consul/charts/consul-server/values.yaml b/kubernetes/consul/charts/consul-server/values.yaml
new file mode 100644 (file)
index 0000000..2a57e3a
--- /dev/null
@@ -0,0 +1,67 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repository: nexus3.onap.org:10001
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: docker.io
+image: consul:1.0.6
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+replicaCount: 3
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: NodePort
+  name: consul-ui
+  nodePort: 70
+  internalPort: 8500
+  name2: consul-join
+  nodePort2: 71
+  internalPort2: 8301
+
+ingress:
+  enabled: false
+
+resources: {}
diff --git a/kubernetes/consul/requirements.yaml b/kubernetes/consul/requirements.yaml
new file mode 100644 (file)
index 0000000..f639633
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    # local reference to common chart, as it is
+    # a part of this chart's package and will not
+    # be published independently to a repo (at this point)
+    repository: '@local'
index 5ace3e4..25e670c 100644 (file)
         "interval": "15s",
         "timeout": "1s"
       },
+      {
+        "id": "vfc-nokiav2vnfmdriver.{{ .Values.nsPrefix }}",
+        "name": "VFC nokiav2vnfmdriver Health Check",
+        "tcp": "vfc-nokiav2vnfmdriver.{{ .Values.nsPrefix }}:8089",
+        "interval": "15s",
+        "timeout": "1s"
+      },
       {
         "id": "vfc-nslcm.{{ .Values.nsPrefix }}",
         "name": "VFC nslcm Health Check",
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if not .Values.disableConsulConsulAgent }}
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: consul-agent-configmap
-  namespace: {{ .Values.nsPrefix }}
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/consul-agent-config/*").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: consul-agent-scripts-configmap
-  namespace: {{ .Values.nsPrefix }}
+  name: {{ include "common.fullname" . }}-scripts-configmap
+  namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/consul-agent-config/scripts/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: consul-agent-certs-secret
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/consul-agent-config/certs/*").AsSecrets . | indent 2 }}
-#{{ end }}
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if not .Values.disableConsulConsulAgent }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
   labels:
-    app: consul-agent
-  name: consul-agent
-  namespace: "{{ .Values.nsPrefix }}"
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 spec:
-  replicas: {{ .Values.consulAgentReplicas }}
+  replicas: {{ .Values.replicaCount }}
   selector:
     matchLabels:
-      app: consul-agent
+      app: {{ include "common.name" . }}
   template:
     metadata:
       labels:
-        app: consul-agent
-      name: consul-agent
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
     spec:
       containers:
-      - image: "{{ .Values.consulagentRegistry }}"
+      - image: "{{ .Values.repository | default .Values.global.repository }}/{{ .Values.image }}"
         command: ["/usr/local/bin/docker-entrypoint.sh"]
-        args: ["agent","-client","0.0.0.0","-enable-script-checks","-join","consul-server.{{ .Values.nsPrefix }}"]
-        name: consul-server
+        args: ["agent","-client","0.0.0.0","-enable-script-checks","-join","{{ .Release.Name }}-{{ index .Values "consul-server" "nameOverride" }}.{{ include "common.namespace" .}}"]
+        name: {{ include "common.name" . }}
         volumeMounts:
         - mountPath: /consul/config
           name: consul-agent-config
@@ -45,13 +48,13 @@ spec:
           name: consul-agent-certs-config
       volumes:
       - configMap:
-          name: consul-agent-configmap
+          name: {{ include "common.fullname" . }}-configmap
         name: consul-agent-config
       - configMap:
-          name: consul-agent-scripts-configmap
+          name: {{ include "common.fullname" . }}-scripts-configmap
           defaultMode: 0755
         name: consul-agent-scripts-config
       - secret:
-          secretName: consul-agent-certs-secret
+          secretName: {{ include "common.fullname" . }}-certs-secret
         name: consul-agent-certs-config
-#{{ end }}
+
diff --git a/kubernetes/consul/templates/secrets.yaml b/kubernetes/consul/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..2535437
--- /dev/null
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-certs-secret
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/consul-agent-config/certs/*").AsSecrets . | indent 2 }}
index e86937a..74d0ccd 100644 (file)
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repository: nexus3.onap.org:10001
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
 
-nsPrefix: "onap"
-nodePortPrefix: 302
-consulserverRegistry: "docker.io/consul:1.0.6"
-consulagentRegistry: "oomk8s/consul:1.0.0"
-consulAgentReplicas: 1
-consulServerReplicas: 3
-service:
-      type: NodePort
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: oomk8s
+image: consul:1.0.0
+pullPolicy: Always
+
+#subchart name
+consul-server:
+  nameOverride: consul-server
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service: {}
+
+ingress:
+  enabled: false
+
+resources: {}
diff --git a/kubernetes/dmaap/.helmignore b/kubernetes/dmaap/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/dmaap/Chart.yaml b/kubernetes/dmaap/Chart.yaml
new file mode 100644 (file)
index 0000000..a83b50b
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: a Helm chart to deploy ONAP DMaaP componetns in Kubernetes
+name: dmaap
+version: 2.0.0
diff --git a/kubernetes/dmaap/README.md b/kubernetes/dmaap/README.md
new file mode 100644 (file)
index 0000000..e185fdc
--- /dev/null
@@ -0,0 +1,11 @@
+# Helm Chart for ONAP DMaaP Applications
+
+ONAP includes the following Kubernetes services:
+
+1) message-router - a message bus for applications
+2) dmaap-prov - an API to provision DMaaP resources
+
+# Service Dependencies
+
+message-router depends on AAF
+dmaap-prov depends on AAF and Postgresql.  NOTE: until Postgresql is available as a common service in ONAP, this chart deploys a private instance based on kubernetes/stable chart
diff --git a/kubernetes/dmaap/charts/postgresql/Chart.yaml b/kubernetes/dmaap/charts/postgresql/Chart.yaml
new file mode 100644 (file)
index 0000000..c643387
--- /dev/null
@@ -0,0 +1,16 @@
+name: postgresql
+version: 0.9.3
+description: Object-relational database management system (ORDBMS) with an emphasis on extensibility and on standards-compliance.
+keywords:
+- postgresql
+- postgres
+- database
+- sql
+home: https://www.postgresql.org/
+icon: https://www.postgresql.org/media/img/about/press/elephant.png
+sources:
+- https://github.com/kubernetes/charts
+- https://github.com/docker-library/postgres
+maintainers:
+- name: databus23
+engine: gotpl
diff --git a/kubernetes/dmaap/charts/postgresql/templates/Notes.txt b/kubernetes/dmaap/charts/postgresql/templates/Notes.txt
new file mode 100644 (file)
index 0000000..9b49bb2
--- /dev/null
@@ -0,0 +1,35 @@
+# PostgreSQL can be accessed via port 5432 on the following DNS name from within your cluster:
+# {{ template "postgresql.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
+# 
+# To get your user password run:
+# 
+#     PGPASSWORD=$(kubectl get secret --namespace {{ .Values.global.nsPrefix }} {{ template "postgresql.fullname" . }} -o jsonpath="{.data.postgres-password}" | base64 --decode; echo)
+# 
+# To connect to your database run the following command (using the env variable from above):
+# 
+#    kubectl run --namespace {{ .Values.global.nsPrefix }} {{ template "postgresql.fullname" . }}-client --restart=Never --rm --tty -i --image postgres \
+#    --env "PGPASSWORD=$PGPASSWORD" \{{- if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
+#    --labels="{{ template "postgresql.fullname" . }}-client=true" \{{- end }}
+#    --command -- psql -U {{ default "postgres" .Values.postgresUser }} \
+#    -h {{ template "postgresql.fullname" . }} {{ default "postgres" .Values.postgresDatabase }}
+# 
+# {{ if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
+# Note: Since NetworkPolicy is enabled, only pods with label
+# {{ template "postgresql.fullname" . }}-client=true"
+# will be able to connect to this PostgreSQL cluster.
+# {{- end }}
+# 
+# To connect to your database directly from outside the K8s cluster:
+#    {{- if contains "NodePort" .Values.service.type }}
+#      PGHOST=$(kubectl get nodes --namespace {{ .Values.global.nsPrefix }} -o jsonpath='{.items[0].status.addresses[0].address}')
+#      PGPORT=$(kubectl get svc --namespace {{ .Values.global.nsPrefix }} {{ template "postgresql.fullname" . }} -o jsonpath='{.spec.ports[0].nodePort}')
+# 
+#    {{- else if contains "ClusterIP" .Values.service.type }}
+#      PGHOST=127.0.0.1
+#      PGPORT={{ default "5432" .Values.service.port }}
+# 
+#      # Execute the following commands to route the connection:
+#      export POD_NAME=$(kubectl get pods --namespace {{ .Values.global.nsPrefix }} -l "app={{ template "postgresql.fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
+#      kubectl port-forward --namespace {{ .Values.global.nsPrefix }} $POD_NAME {{ default "5432" .Values.service.port }}:{{ default "5432" .Values.service.port }}
+# 
+#    {{- end }}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/_helpers.tpl b/kubernetes/dmaap/charts/postgresql/templates/_helpers.tpl
new file mode 100644 (file)
index 0000000..b2d3d52
--- /dev/null
@@ -0,0 +1,36 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "postgresql.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "postgresql.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Return the appropriate apiVersion for networkpolicy.
+*/}}
+{{- define "postgresql.networkPolicy.apiVersion" -}}
+{{- if and (ge .Capabilities.KubeVersion.Minor "4") (le .Capabilities.KubeVersion.Minor "6") -}}
+"extensions/v1beta1"
+{{- else if ge .Capabilities.KubeVersion.Minor "7" -}}
+"networking.k8s.io/v1"
+{{- end -}}
+{{- end -}}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/deployment.yaml b/kubernetes/dmaap/charts/postgresql/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..57acfbd
--- /dev/null
@@ -0,0 +1,128 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ template "postgresql.fullname" . }}
+  namespace: {{ .Values.global.nsPrefix }}
+  labels:
+    app: {{ template "postgresql.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+spec:
+  template:
+    metadata:
+      labels:
+        app: {{ template "postgresql.fullname" . }}
+    spec:
+      {{- if .Values.affinity }}
+      affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
+      {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+      {{- end }}
+      {{- if .Values.tolerations }}
+      tolerations:
+{{ toYaml .Values.tolerations | indent 8 }}
+      {{- end }}
+      {{- if .Values.schedulerName }}
+      schedulerName: "{{ .Values.schedulerName }}"
+      {{- end }}
+      containers:
+      - name: {{ template "postgresql.fullname" . }}
+        image: "{{ .Values.image }}:{{ .Values.imageTag }}"
+        imagePullPolicy: {{ default "" .Values.imagePullPolicy | quote }}
+        args:
+          {{- range $key, $value := default dict .Values.postgresConfig }}
+          - -c
+          - '{{ $key | snakecase }}={{ $value }}'
+          {{- end }}
+        env:
+        - name: POSTGRES_USER
+          value: {{ default "postgres" .Values.global.postgresUser | quote }}
+          # Required for pg_isready in the health probes.
+        - name: PGUSER
+          value: {{ default "postgres" .Values.global.postgresUser | quote }}
+        - name: POSTGRES_DB
+          value: {{ default "" .Values.global.postgresDatabase | quote }}
+        - name: POSTGRES_INITDB_ARGS
+          value: {{ default "" .Values.postgresInitdbArgs | quote }}
+        - name: PGDATA
+          value: /var/lib/postgresql/data/pgdata
+        - name: POSTGRES_PASSWORD
+          value: {{ default "postgres" .Values.global.postgresPassword | quote }}
+# original code:
+#          valueFrom:
+#            secretKeyRef:
+#              name: {{ template "postgresql.fullname" . }}
+#              key: postgres-password
+        - name: POD_IP
+          valueFrom: { fieldRef: { fieldPath: status.podIP } }
+        ports:
+        - name: postgresql
+          containerPort: 5432
+        livenessProbe:
+          exec:
+            command:
+            - sh
+            - -c
+            - exec pg_isready --host $POD_IP
+          initialDelaySeconds: 120
+          timeoutSeconds: 5
+          failureThreshold: 6
+        readinessProbe:
+          exec:
+            command:
+            - sh
+            - -c
+            - exec pg_isready --host $POD_IP
+          initialDelaySeconds: 5
+          timeoutSeconds: 3
+          periodSeconds: 5
+        resources:
+{{ toYaml .Values.resources | indent 10 }}
+        volumeMounts:
+        - name: data
+          mountPath: {{ .Values.persistence.mountPath }}
+          subPath: {{ .Values.persistence.subPath }}
+{{- if .Values.metrics.enabled }}
+      - name: metrics
+        image: "{{ .Values.metrics.image }}:{{ .Values.metrics.imageTag }}"
+        imagePullPolicy: {{ default "" .Values.metrics.imagePullPolicy | quote }}
+        env:
+        - name: DATA_SOURCE_NAME
+          value: postgresql://postgres@127.0.0.1:5432?sslmode=disable
+        ports:
+        - name: metrics
+          containerPort: 9187
+        {{- if .Values.metrics.customMetrics }}
+        args: ["-extend.query-path", "/conf/custom-metrics.yaml"]
+        volumeMounts:
+          - name: custom-metrics
+            mountPath: /conf
+            readOnly: true
+        {{- end }}
+        resources:
+{{ toYaml .Values.metrics.resources | indent 10 }}
+{{- end }}
+      volumes:
+      - name: data
+      {{- if .Values.persistence.enabled }}
+        persistentVolumeClaim:
+          claimName: {{ .Values.persistence.existingClaim | default (include "postgresql.fullname" .) }}
+      {{- else }}
+        emptyDir: {}
+      {{- end }}
+      {{- if and .Values.metrics.enabled .Values.metrics.customMetrics }}
+      - name: custom-metrics
+        secret:
+          secretName: {{ template "postgresql.fullname" . }}
+          items:
+            - key: custom-metrics.yaml
+              path: custom-metrics.yaml
+      {{- end }}
+      {{- if .Values.imagePullSecrets }}
+      imagePullSecrets:
+        - name: {{ .Values.imagePullSecrets }}
+      {{- end }}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/networkpolicy.yaml b/kubernetes/dmaap/charts/postgresql/templates/networkpolicy.yaml
new file mode 100644 (file)
index 0000000..92f3b71
--- /dev/null
@@ -0,0 +1,28 @@
+{{- if .Values.networkPolicy.enabled }}
+kind: NetworkPolicy
+apiVersion: {{ template "postgresql.networkPolicy.apiVersion" . }}
+metadata:
+  name: "{{ template "postgresql.fullname" . }}"
+  labels:
+    app: {{ template "postgresql.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+spec:
+  podSelector:
+    matchLabels:
+      app: "{{ template "postgresql.fullname" . }}"
+  ingress:
+    # Allow inbound connections
+    - ports:
+      - port: 5432
+    {{- if not .Values.networkPolicy.allowExternal }}
+      from:
+      - podSelector:
+          matchLabels:
+            {{ template "postgresql.fullname" . }}-client: "true"
+    {{- end }}
+    # Allow prometheus scrapes
+    - ports:
+      - port: 9187
+{{- end }}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/pvc.yaml b/kubernetes/dmaap/charts/postgresql/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..f1d38df
--- /dev/null
@@ -0,0 +1,28 @@
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ template "postgresql.fullname" . }}
+  labels:
+    app: {{ template "postgresql.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+  annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+  accessModes:
+    - {{ .Values.persistence.accessMode | quote }}
+  resources:
+    requests:
+      storage: {{ .Values.persistence.size | quote }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/secrets.yaml b/kubernetes/dmaap/charts/postgresql/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..6dd4c7d
--- /dev/null
@@ -0,0 +1,19 @@
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ template "postgresql.fullname" . }}
+  labels:
+    app: {{ template "postgresql.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+type: Opaque
+data:
+  {{ if .Values.postgresPassword }}
+  postgres-password:  {{ .Values.postgresPassword | b64enc | quote }}
+  {{ else }}
+  postgres-password: {{ randAlphaNum 10 | b64enc | quote }}
+  {{ end }}
+  {{- if .Values.metrics.customMetrics }}
+  custom-metrics.yaml: {{ toYaml .Values.metrics.customMetrics | b64enc | quote }}
+  {{- end }}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/svc.yaml b/kubernetes/dmaap/charts/postgresql/templates/svc.yaml
new file mode 100644 (file)
index 0000000..f6373c8
--- /dev/null
@@ -0,0 +1,30 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: dmaap-prov-{{ template "postgresql.name" . }}
+  namespace: {{ .Values.global.nsPrefix  }}
+  labels:
+    app: {{ template "postgresql.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.metrics.enabled }}
+  annotations:
+    prometheus.io/scrape: "true"
+    prometheus.io/port: "9187"
+{{- end }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+  - name: postgresql
+    port: {{ .Values.service.port }}
+    targetPort: postgresql
+  {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
+    nodePort: {{ .Values.service.nodePort }}
+  {{- end }}
+{{- if .Values.service.externalIPs }}
+  externalIPs:
+{{ toYaml .Values.service.externalIPs | indent 4 }}
+{{- end }}
+  selector:
+    app: {{ template "postgresql.fullname" . }}
diff --git a/kubernetes/dmaap/charts/postgresql/values.yaml b/kubernetes/dmaap/charts/postgresql/values.yaml
new file mode 100644 (file)
index 0000000..37bbdda
--- /dev/null
@@ -0,0 +1,123 @@
+## postgres image repository
+image: "postgres"
+## postgres image version
+## ref: https://hub.docker.com/r/library/postgres/tags/
+##
+imageTag: "9.6.2"
+
+## Specify a imagePullPolicy
+## 'Always' if imageTag is 'latest', else set to 'IfNotPresent'
+## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
+##
+# imagePullPolicy:
+
+## Specify imagePullSecrets
+## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
+##
+# imagePullSecrets: myregistrykey
+
+## Create a database user
+## Default: postgres
+#postgresUser: "dmaap"
+## Default: random 10 character string
+#postgresPassword:  "onapdemodb"
+
+## Create a database
+## Default: the postgres user
+#postgresDatabase: "dmaap"
+
+## Specify initdb arguments, e.g. --data-checksums
+## ref: https://github.com/docker-library/docs/blob/master/postgres/content.md#postgres_initdb_args
+## ref: https://www.postgresql.org/docs/current/static/app-initdb.html
+# postgresInitdbArgs:
+
+## Use an alternate scheduler, e.g. "stork".
+## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
+##
+# schedulerName:
+
+## Specify runtime config parameters as a dict, using camelCase, e.g.
+## {"sharedBuffers": "500MB"}
+## ref: https://www.postgresql.org/docs/current/static/runtime-config.html
+# postgresConfig:
+
+## Persist data to a persitent volume
+persistence:
+  enabled: false
+
+  ## A manually managed Persistent Volume and Claim
+  ## Requires persistence.enabled: true
+  ## If defined, PVC must be created manually before volume will be bound
+  # existingClaim:
+
+  ## database data Persistent Volume Storage Class
+  ## If defined, storageClassName: <storageClass>
+  ## If set to "-", storageClassName: "", which disables dynamic provisioning
+  ## If undefined (the default) or set to null, no storageClassName spec is
+  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
+  ##   GKE, AWS & OpenStack)
+  ##
+  # storageClass: "-"
+  accessMode: ReadWriteOnce
+  size: 8Gi
+  subPath: "postgresql-db"
+  mountPath: /var/lib/postgresql/data/pgdata
+
+  # annotations: {}
+
+metrics:
+  enabled: false
+  image: wrouesnel/postgres_exporter
+  imageTag: v0.1.1
+  imagePullPolicy: IfNotPresent
+  resources:
+    requests:
+      memory: 256Mi
+      cpu: 100m
+    ## Define additional custom metrics
+    ## ref: https://github.com/wrouesnel/postgres_exporter#adding-new-metrics-via-a-config-file
+    # customMetrics:
+    #   pg_database:
+    #     query: "SELECT d.datname AS name, CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT') THEN pg_catalog.pg_database_size(d.datname) ELSE 0 END AS size FROM pg_catalog.pg_database d where datname not in ('template0', 'template1', 'postgres')"
+    #     metrics:
+    #       - name:
+    #           usage: "LABEL"
+    #           description: "Name of the database"
+    #       - size_bytes:
+    #           usage: "GAUGE"
+    #           description: "Size of the database in bytes"
+
+## Configure resource requests and limits
+## ref: http://kubernetes.io/docs/user-guide/compute-resources/
+##
+resources:
+  requests:
+    memory: 256Mi
+    cpu: 100m
+
+service:
+  type: ClusterIP
+  port: 5432
+  externalIPs: []
+  ## Manually set NodePort value
+  ## Requires service.type: NodePort
+  # nodePort:
+
+networkPolicy:
+  ## Enable creation of NetworkPolicy resources.
+  ##
+  enabled: false
+
+  ## The Policy model to apply. When set to false, only pods with the correct
+  ## client label will have network access to the port PostgreSQL is listening
+  ## on. When true, PostgreSQL will accept connections from any source
+  ## (with the correct destination port).
+  ##
+  allowExternal: true
+
+## Node labels and tolerations for pod assignment
+## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
+## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
+nodeSelector: {}
+tolerations: []
+affinity: {}
diff --git a/kubernetes/dmaap/requirements.yaml b/kubernetes/dmaap/requirements.yaml
new file mode 100644 (file)
index 0000000..a5ef229
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
diff --git a/kubernetes/dmaap/resources/config/README.txt b/kubernetes/dmaap/resources/config/README.txt
new file mode 100644 (file)
index 0000000..5cc0149
--- /dev/null
@@ -0,0 +1,10 @@
+This directory contains all external configuration files that
+need to be mounted into an application container.
+
+See the configmap.yaml in the templates directory for an example
+of how to load (ie map) config files from this directory, into
+Kubernetes, for distribution within the k8s cluster.
+
+See deployment.yaml in the templates directory for an example
+of how the 'config mapped' files are then mounted into the
+containers.
diff --git a/kubernetes/dmaap/resources/config/application.properties b/kubernetes/dmaap/resources/config/application.properties
new file mode 100644 (file)
index 0000000..496a15a
--- /dev/null
@@ -0,0 +1 @@
+sampleConfigKey=sampleConfigValue
\ No newline at end of file
diff --git a/kubernetes/dmaap/resources/config/buscontroller.env b/kubernetes/dmaap/resources/config/buscontroller.env
new file mode 100644 (file)
index 0000000..74d7822
--- /dev/null
@@ -0,0 +1,12 @@
+DMAAPBC_PG_ENABLED=true
+DMAAPBC_PGHOST=dmaap-prov-postgresql
+DMAAPBC_PGDBNAME={{ .Values.global.postgresDatabase }}
+DMAAPBC_PGCRED={{ .Values.global.postgresPassword }}
+DMAAPBC_PGUSER={{ .Values.global.postgresUser }}
+DMAAPBC_MR_CNAME={{ .Values.dmaapMessageRouterService }}
+DMAAPBC_AAF_URL={{ .Values.aafURL }}
+DMAAPBC_TOPICMGR_USER={{ .Values.topicMgrUser }}
+DMAAPBC_TOPICMGR_PWD={{ .Values.topicMgrPwd }}
+DMAAPBC_ADMIN_USER={{ .Values.adminUser }}
+DMAAPBC_ADMIN_PWD={{ .Values.adminPwd }}
+
diff --git a/kubernetes/dmaap/templates/NOTES.txt b/kubernetes/dmaap/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..33b47cf
--- /dev/null
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ .Values.global.nsPrefix }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }}-prov)
+  export NODE_IP=$(kubectl get nodes --namespace {{ .Values.global.nsPrefix }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ .Values.global.nsPrefix }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ .Values.global.nsPrefix }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/dmaap/templates/configmap.yaml b/kubernetes/dmaap/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..0d6a348
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ .Values.global.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/buscontroller.env").AsConfig . | indent 2 }}
diff --git a/kubernetes/dmaap/templates/deployment.yaml b/kubernetes/dmaap/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..824548b
--- /dev/null
@@ -0,0 +1,113 @@
+# Copyright © 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  #name: {{ .Release.Name }}-{{ include "common.name" . }}-buscontroller
+  name: {{ include "common.name" . }}-{{ .Values.buscontroller.service }}
+  namespace: {{ .Values.global.nsPrefix }}
+  labels:
+    app: {{ include "common.name" . }}-{{ .Values.buscontroller.service }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.buscontroller.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}-{{ .Values.buscontroller.service }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}-{{ .Values.buscontroller.service }}
+          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image.buscontrollerImage }}:{{ .Values.image.buscontrollerVersion }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.buscontroller.httpExternalPort }}
+# wait till we get SSL certs before enabling this port
+#          - containerPort: {{ .Values.buscontroller.httpsPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{- if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            httpGet:
+              port: {{ .Values.buscontroller.httpExternalPort }}
+              path: /webapi/info
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end -}}
+          readinessProbe:
+            httpGet:
+              port: {{ .Values.buscontroller.httpExternalPort }}
+              path: /webapi/info
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+#Example environment variable passed to container
+#            - name: DEBUG_FLAG
+#              value: {{ .Values.global.debugEnabled | default .Values.debugEnabled | quote }}
+          volumeMounts:
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: /opt/app/config
+            name: {{ include "common.name" . }}-config
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+      volumes:
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+        - name: {{ include "common.name" . }}-config
+          configMap:
+            name: {{ include "common.fullname" . }}-configmap
+            items:
+            - key: buscontroller.env
+              path: conf
+#Example config file mount into container
+#        - name: {{ include "common.fullname" . }}-config
+#          configMap:
+#            name: {{ include "common.fullname" . }}-configmap
+#            items:
+#            - key: application.properties
+#              path: application.properties
+      imagePullSecrets:
+      - name: "{{ .Values.global.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dmaap/templates/service.yaml b/kubernetes/dmaap/templates/service.yaml
new file mode 100644 (file)
index 0000000..9580e75
--- /dev/null
@@ -0,0 +1,60 @@
+# Copyright © 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#{{ if not .Values.disableBuscontroller }}
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.name" . }}-{{ .Values.buscontroller.service }}
+  namespace: {{ .Values.global.nsPrefix }}
+  labels:
+    app: {{ .Values.buscontroller.service }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+# Example MSB registration annotation
+#    msb.onap.org/service-info: '[
+#      {
+#          "serviceName": "so",
+#          "version": "v1",
+#          "url": "/ecomp/mso/infra",
+#          "protocol": "REST"
+#          "port": "8080",
+#          "visualRange":"1"
+#      }
+#      ]'
+spec:
+  type: {{ .Values.buscontroller.type }}
+  ports:
+    {{if eq .Values.buscontroller.type "NodePort" -}}
+    - port: {{ .Values.buscontroller.httpExternalPort }}
+      targetPort: {{ .Values.buscontroller.httpExternalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.buscontroller.httpPort }}
+      name: "{{ .Values.buscontroller.name }}-http-port"
+#    This will be needed when we get SSL certificates
+#    - port: {{ .Values.buscontroller.httpsExternalPort }}
+#      targetPort: {{ .Values.buscontroller.httpsExternalPort }}
+#      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.buscontroller.httpsPort }}
+#      name: "{{ .Values.buscontroller.name }}-https-port"
+    {{- else -}}
+    - port: {{ .Values.buscontroller.externalPort }}
+      targetPort: {{ .Values.buscontroller.httpPort }}
+      name: {{ .Values.buscontroller.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}-{{ .Values.buscontroller.service }}
+    release: {{ .Release.Name }}
+
+#{{ end }}
diff --git a/kubernetes/dmaap/values.yaml b/kubernetes/dmaap/values.yaml
new file mode 100644 (file)
index 0000000..9a0bc34
--- /dev/null
@@ -0,0 +1,118 @@
+# Copyright © 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  postgresDatabase: dmaap
+  postgresUser: dmaap_admin
+  postgresPassword: onapdemodb
+  nsPrefix: onap
+
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+#nsPrefix: onap
+pullPolicy: Always
+
+# application images
+repository: nexus3.onap.org:10001
+
+image:
+  buscontrollerImage: onap/dmaap/buscontroller
+  buscontrollerVersion: 1.0.2
+
+
+# application configuration
+# Example:
+config:
+#  username: myusername
+#  password: mypassword
+dmaapMessageRouterService: dmaap
+aafURL: https://onap-aaf:8905/proxy/
+topicMgrUser: m23456@dmaapbc.onap.org
+topicMgrPwd: onapdemo
+adminUser: m12345@dmaapbc.onap.org
+adminPwd: onapdemo
+
+
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+buscontroller:
+  service: prov-api
+  type: NodePort
+  name: buscontroller
+  httpExternalPort: 8080
+  httpsExternalPort: 8443
+  httpPort: 42
+  httpsPort: 43
+# default number of instances
+  replicas: 1
+# flag to enable debugging - application support required
+  debugEnabled: false
+
+service:
+  #Example service definition with external, internal and node ports.
+  #Services may use any combination of ports depending on the 'type' of
+  #service being defined.
+  type: NodePort
+  name: <onap-app>
+  externalPort: <8080>
+  internalPort: <80>
+  nodePort: <replace with unused node port suffix eg. 23>
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
index 8b2bb4e..71aae08 100644 (file)
@@ -48,7 +48,7 @@ spec:
 #        name: {{ include "common.name" . }}-readiness
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
index 60b4682..2e0d7b7 100644 (file)
@@ -17,6 +17,7 @@
 #################################################################
 global:
   nodePortPrefix: 302
+  repository: nexus3.onap.org:10001
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
   readinessImage: readiness-check:1.0.0
index e7933b8..abdab8b 100644 (file)
@@ -116,7 +116,7 @@ http.port: {{.Values.service.externalPort}}
 # If a range is specified, the node will bind to the first available port in the range.
 # Defaults to 9300-9400.
 # More info:
-transport.tcp.port: {{.Values.service.externalPortTcp}}
+transport.tcp.port: {{.Values.service.externalPort2}}
 
 xpack.graph.enabled: false
 #Set to false to disable X-Pack graph features.
index 13caa7e..fdfc614 100644 (file)
@@ -61,8 +61,8 @@ spec:
           ports:
           - containerPort: {{ .Values.service.internalPort }}
             name: {{ .Values.service.name }}
-          - containerPort: {{ .Values.service.internalPortTcp }}
-            name: {{ .Values.service.name }}-tcp
+          - containerPort: {{ .Values.service.internalPort2 }}
+            name: {{ .Values.service.name2 }}
 # disable liveness probe when breakpoints set in debugger
           # so K8s doesn't restart unresponsive container
           {{- if eq .Values.liveness.enabled true }}
@@ -74,7 +74,7 @@ spec:
           {{ end -}}
           readinessProbe:
             tcpSocket:
-              port: {{ .Values.service.internalPortTcp }}
+              port: {{ .Values.service.internalPort2 }}
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
index 72dfc7e..cdc2ea8 100644 (file)
@@ -27,19 +27,40 @@ spec:
   type: {{ .Values.service.type }}
   ports:
     {{if eq .Values.service.type "NodePort" -}}
-    - port: {{ .Values.service.externalPort }}
+    - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
       name: {{ .Values.service.name }}
-    - port: {{ .Values.service.internalPortTcp }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPortTcp }}
-      name: {{ .Values.service.name }}-tcp
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       name: {{ .Values.service.name }}
-    - port: {{ .Values.service.externalPortTcp }}
-      targetPort: {{ .Values.service.internalPortTcp }}
-      name: {{ .Values.service.name }}-tcp
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name2 }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+spec:
+  type: {{ .Values.service.type2 }}
+  ports:
+    {{if eq .Values.service.type2 "NodePort" -}}
+    - port: {{ .Values.service.internalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.name2 }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      name: {{ .Values.service.name2 }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index 2e6e085..d5ac1d1 100644 (file)
@@ -82,15 +82,16 @@ persistence:
   mountSubPathLogs: log
 
 service:
-  #Example service definition with external, internal and node ports.
-  #Services may use any combination of ports depending on the 'type' of
-  #service being defined.
-  type: ClusterIP
+  type: NodePort
   name: log-es
   externalPort: 9200
   internalPort: 9200
-  externalPortTcp: 9300
-  internalPortTcp: 9300
+  nodePort: 54
+  type2: ClusterIP
+  name2: log-es-tcp
+  externalPort2: 9300
+  internalPort2: 9300
+
 ingress:
   enabled: false
 
index bdd5a44..09dc88f 100644 (file)
@@ -53,27 +53,30 @@ spec:
           - containerPort: {{ .Values.service.internalPort }}
             name: {{ .Values.service.name }}
           readinessProbe:
-            tcpSocket:
+            httpGet:
+              path: "/"
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
+            timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
 # disable liveness probe when breakpoints set in debugger
           # so K8s doesn't restart unresponsive container
           {{- if eq .Values.liveness.enabled true }}
           livenessProbe:
-            tcpSocket:
+            httpGet:
+              path: "/"
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
+            timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
           {{ end -}}
           env:
           volumeMounts:
           - mountPath: /etc/localtime
             name: localtime
             readOnly: true
-          - mountPath: /usr/share/kibana/config/kibana.yml
+          - mountPath: /usr/share/kibana/config/
             name: {{ include "common.fullname" . }}
-            subPath: kibana.yml
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
index 50c6e52..b09f91a 100644 (file)
@@ -52,15 +52,17 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 120
+  initialDelaySeconds: 180
   periodSeconds: 10
+  timeoutSeconds: 1
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 180
   periodSeconds: 10
+  timeoutSeconds: 1
 
 service:
   #Example service definition with external, internal and node ports.
index 682c448..7735c82 100644 (file)
@@ -52,8 +52,8 @@ spec:
           ports:
           - containerPort: {{ .Values.service.internalPort }}
             name: {{ .Values.service.name }}
-          - containerPort: {{ .Values.service.internalPortHttp }}
-            name: {{ .Values.service.name }}-http
+          - containerPort: {{ .Values.service.internalPort2 }}
+            name: {{ .Values.service.name2 }}
           readinessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
@@ -73,12 +73,10 @@ spec:
           - mountPath: /etc/localtime
             name: localtime
             readOnly: true
-          - mountPath: /usr/share/logstash/config/logstash.yml
-            name: {{ include "common.fullname" . }}
-            subPath: logstash.yml
-          - mountPath: /usr/share/logstash/pipeline/onap-pipeline.conf
-            name: {{ include "common.fullname" . }}
-            subPath: onap-pipeline.conf
+          - mountPath: /usr/share/logstash/config/
+            name: {{ include "common.fullname" . }}-config
+          - mountPath: /usr/share/logstash/pipeline/
+            name: {{ include "common.fullname" . }}-pipeline
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -93,12 +91,16 @@ spec:
         - name: localtime
           hostPath:
             path: /etc/localtime
-        - name: {{ include "common.fullname" . }}
+        - name: {{ include "common.fullname" . }}-config
           configMap:
             name: {{ include "common.fullname" . }}
             items:
             - key: logstash.yml
               path: logstash.yml
+        - name: {{ include "common.fullname" . }}-pipeline
+          configMap:
+            name: {{ include "common.fullname" . }}
+            items:
             - key: onap-pipeline.conf
               path: onap-pipeline.conf
       imagePullSecrets:
index ca71aa2..cdc2ea8 100644 (file)
@@ -27,19 +27,40 @@ spec:
   type: {{ .Values.service.type }}
   ports:
     {{if eq .Values.service.type "NodePort" -}}
-    - port: {{ .Values.service.externalPort }}
+    - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
       name: {{ .Values.service.name }}
-    - port: {{ .Values.service.internalPortHttp }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPortHttp }}
-      name: {{ .Values.service.name }}-http
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       name: {{ .Values.service.name }}
-    - port: {{ .Values.service.externalPortHttp }}
-      targetPort: {{ .Values.service.internalPortHttp }}
-      name: {{ .Values.service.name }}-http
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name2 }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+spec:
+  type: {{ .Values.service.type2 }}
+  ports:
+    {{if eq .Values.service.type2 "NodePort" -}}
+    - port: {{ .Values.service.internalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.name2 }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      name: {{ .Values.service.name2 }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index bfe50b5..4fcb189 100644 (file)
@@ -62,12 +62,15 @@ service:
   #Example service definition with external, internal and node ports.
   #Services may use any combination of ports depending on the 'type' of
   #service being defined.
-  type: ClusterIP
+  type: NodePort
   name: log-ls
   externalPort: 5044
   internalPort: 5044
-  externalPortHttp: 9600
-  internalPortHttp: 9600
+  nodePort: 55
+  type2: ClusterIP
+  name2: log-ls-http
+  externalPort2: 9600
+  internalPort2: 9600
 ingress:
   enabled: false
 
diff --git a/kubernetes/message-router/.helmignore b/kubernetes/message-router/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
index 109cce2..b3a7491 100644 (file)
@@ -13,6 +13,7 @@
 # limitations under the License.
 
 apiVersion: v1
-description: A Helm chart for Kubernetes
+appVersion: "1.0"
+description: ONAP Message Router
 name: message-router
-version: 0.1.0
+version: 2.0.0
diff --git a/kubernetes/message-router/charts/kafka/.helmignore b/kubernetes/message-router/charts/kafka/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/message-router/charts/kafka/Chart.yaml b/kubernetes/message-router/charts/kafka/Chart.yaml
new file mode 100644 (file)
index 0000000..b26f91a
--- /dev/null
@@ -0,0 +1,19 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP Global Kafka Service
+name: kafka
+version: 2.0.0
+
diff --git a/kubernetes/message-router/charts/kafka/templates/NOTES.txt b/kubernetes/message-router/charts/kafka/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..c60c745
--- /dev/null
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/message-router/charts/kafka/templates/deployment.yaml b/kubernetes/message-router/charts/kafka/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..347442f
--- /dev/null
@@ -0,0 +1,111 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app:  {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - command:
+        - bash
+        args:
+        - -c
+        - "if [ -d /var/tmp/SDC-DISTR-NOTIF-TOPIC-SDC-OPENSOURCE-ENV1-0 ]; then echo nothing to do; else cp -a /opt/config/src/message-router/dcae-startup-vm-message-router/docker_files/data-kafka/* /var/tmp/; fi"
+        image: "{{ .Values.global.configRepository }}/{{ .Values.global.configImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - mountPath: /var/tmp
+          name: kafka-data
+        name: kafka-primer
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - {{ .Values.zookeeper.nameOverride }}
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
+      containers:
+      - name: {{ include "common.name" .  }}
+        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+        imagePullPolicy:  {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        {{- if eq .Values.liveness.enabled true }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+        {{ end -}}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+        env:
+        - name: KAFKA_ZOOKEEPER_CONNECT
+          value: "{{.Values.zookeeper.nameOverride}}:{{.Values.config.zookeeperPort}}"
+        - name: KAFKA_ADVERTISED_HOST_NAME
+          value: "{{ include "common.fullname" .  }}"
+        - name: KAFKA_BROKER_ID
+          value: "0"
+        - name: KAFKA_ADVERTISED_LISTENERS
+          value: PLAINTEXT://{{ include "common.name" .  }}:{{.Values.service.internalPort}}
+        - name: KAFKA_ADVERTISED_PORT
+          value: "{{.Values.service.internalPort}}"
+        - name: KAFKA_PORT
+          value: "{{.Values.service.internalPort}}"
+        volumeMounts:
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+        - mountPath: /var/run/docker.sock
+          name: docker-socket
+        - mountPath: /kafka
+          name: kafka-data
+      volumes:
+      - name: localtime
+        hostPath:
+          path: /etc/localtime
+      - name: docker-socket
+        hostPath:
+          path: /var/run/docker.sock
+      - name: kafka-data
+        persistentVolumeClaim:
+          claimName: {{ include "common.fullname" . }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/message-router/charts/kafka/templates/pv.yaml b/kubernetes/message-router/charts/kafka/templates/pv.yaml
new file mode 100644 (file)
index 0000000..8be3d4c
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size }}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Namespace }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
diff --git a/kubernetes/message-router/charts/kafka/templates/pvc.yaml b/kubernetes/message-router/charts/kafka/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..e27c331
--- /dev/null
@@ -0,0 +1,48 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+  annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+  selector:
+    matchLabels:
+      name: {{ include "common.fullname" . }}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  resources:
+    requests:
+      storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
diff --git a/kubernetes/message-router/charts/kafka/templates/service.yaml b/kubernetes/message-router/charts/kafka/templates/service.yaml
new file mode 100644 (file)
index 0000000..c57d190
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  ports:
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/message-router/charts/kafka/values.yaml b/kubernetes/message-router/charts/kafka/values.yaml
new file mode 100644 (file)
index 0000000..ff05104
--- /dev/null
@@ -0,0 +1,115 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  configRepository: oomk8s
+  configImage: config-init:2.0.0-SNAPSHOT
+  persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: wurstmeister
+image: kafka:latest
+pullPolicy: Always
+
+zookeeper:
+  nameOverride: zookeeper
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+  zookeeperPort: 2181
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+## Persist data to a persitent volume
+persistence:
+  enabled: true
+
+  ## A manually managed Persistent Volume and Claim
+  ## Requires persistence.enabled: true
+  ## If defined, PVC must be created manually before volume will be bound
+  # existingClaim:
+  volumeReclaimPolicy: Retain
+
+  ## database data Persistent Volume Storage Class
+  ## If defined, storageClassName: <storageClass>
+  ## If set to "-", storageClassName: "", which disables dynamic provisioning
+  ## If undefined (the default) or set to null, no storageClassName spec is
+  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
+  ##   GKE, AWS & OpenStack)
+  ##
+  # storageClass: "-"
+  accessMode: ReadWriteMany
+  size: 2Gi
+  mountPath: /dockerdata-nfs
+  mountSubPath: message-router/data-kafka
+
+service:
+  type: NodePort
+  name: global-kafka
+  internalPort: 9092
+  externalPort: 9092
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/message-router/charts/zookeeper/.helmignore b/kubernetes/message-router/charts/zookeeper/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/message-router/charts/zookeeper/Chart.yaml b/kubernetes/message-router/charts/zookeeper/Chart.yaml
new file mode 100644 (file)
index 0000000..dd999e5
--- /dev/null
@@ -0,0 +1,19 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP Dmaap Zookeeper Service
+name: zookeeper
+version: 2.0.0
+
diff --git a/kubernetes/message-router/charts/zookeeper/templates/NOTES.txt b/kubernetes/message-router/charts/zookeeper/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..c60c745
--- /dev/null
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/message-router/charts/zookeeper/templates/deployment.yaml b/kubernetes/message-router/charts/zookeeper/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..678b83e
--- /dev/null
@@ -0,0 +1,79 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - command:
+        - bash
+        args:
+        - -c
+        - "if [ -d /var/tmp/version-2 ]; then echo nothing to do; else cp -a /opt/config/src/message-router/dcae-startup-vm-message-router/docker_files/data-zookeeper/* /var/tmp/; fi"
+        image: "{{ .Values.global.configRepository }}/{{ .Values.global.configImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - mountPath: /var/tmp
+          name: zookeeper-data
+        name: zookeeper-primer
+      containers:
+      - name: {{ include "common.name" . }}
+        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+        imagePullPolicy:  {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        {{- if eq .Values.liveness.enabled true }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+        {{ end -}}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+        volumeMounts:
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+        - mountPath: /opt/zookeeper-3.4.9/data
+          name: zookeeper-data
+      volumes:
+      - name: localtime
+        hostPath:
+          path: /etc/localtime
+      - name: zookeeper-data
+        persistentVolumeClaim:
+          claimName: {{ include "common.fullname" .  }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/message-router/charts/zookeeper/templates/pv.yaml b/kubernetes/message-router/charts/zookeeper/templates/pv.yaml
new file mode 100644 (file)
index 0000000..8be3d4c
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size }}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Namespace }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
diff --git a/kubernetes/message-router/charts/zookeeper/templates/pvc.yaml b/kubernetes/message-router/charts/zookeeper/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..e27c331
--- /dev/null
@@ -0,0 +1,48 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+  annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+  selector:
+    matchLabels:
+      name: {{ include "common.fullname" . }}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  resources:
+    requests:
+      storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if not .Values.disableConsulConsulServer }}
 apiVersion: v1
 kind: Service
 metadata:
+  name: {{ .Values.service.name }}
+  namespace: {{ include "common.namespace" . }}
   labels:
-    app: consul-server
-  name: consul-server
-  namespace: "{{ .Values.nsPrefix }}"
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 spec:
   ports:
-  - name: consul-ui
-    nodePort: {{ .Values.nodePortPrefix }}70
-    port: 8500
-    protocol: TCP
-    targetPort: 8500
-  - name: consul-join
-    nodePort: {{ .Values.nodePortPrefix }}71
-    port: 8301
-    protocol: TCP
-    targetPort: 8301
+    - port: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
   selector:
-    app: consul-server
-  type: {{ .Values.service.type | quote }}
-#{{ end }}
\ No newline at end of file
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+  clusterIP: None
diff --git a/kubernetes/message-router/charts/zookeeper/values.yaml b/kubernetes/message-router/charts/zookeeper/values.yaml
new file mode 100644 (file)
index 0000000..66dc67e
--- /dev/null
@@ -0,0 +1,110 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  configRepository: oomk8s
+  configImage: config-init:2.0.0-SNAPSHOT
+  persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: wurstmeister
+image: zookeeper:latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+## Persist data to a persitent volume
+persistence:
+  enabled: true
+
+  ## A manually managed Persistent Volume and Claim
+  ## Requires persistence.enabled: true
+  ## If defined, PVC must be created manually before volume will be bound
+  # existingClaim:
+  volumeReclaimPolicy: Retain
+
+  ## database data Persistent Volume Storage Class
+  ## If defined, storageClassName: <storageClass>
+  ## If set to "-", storageClassName: "", which disables dynamic provisioning
+  ## If undefined (the default) or set to null, no storageClassName spec is
+  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
+  ##   GKE, AWS & OpenStack)
+  ##
+  # storageClass: "-"
+  accessMode: ReadWriteMany
+  size: 2Gi
+  mountPath: /dockerdata-nfs
+  mountSubPath: message-router/data-zookeeper/
+
+service:
+  type: NodePort
+  name: zookeeper
+  internalPort: 2181
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/message-router/requirements.yaml b/kubernetes/message-router/requirements.yaml
new file mode 100644 (file)
index 0000000..7beecb3
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    # local reference to common chart, as it is
+    # a part of this chart's package and will not
+    # be published independently to a repo (at this point)
+    repository: '@local'
+
index 568d0d4..ed3999d 100755 (executable)
@@ -1,3 +1,17 @@
+# Copyright © 2017 Amdocs, Bell Canada, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 ###############################################################################
 ##
 ## Cambria API Server config
@@ -5,7 +19,7 @@
 ##     - Default values are shown as commented settings.
 ##
 
-###############################################################################
+##############################################################################
 ##
 ## HTTP service
 ##
 ##
 ##     Both Cambria and Kafka make use of Zookeeper.
 ##
-# config.zk.servers=zookeeper.namespace-placeholder:2181
-config.zk.servers=zookeeper:2181
+config.zk.servers={{.Values.zookeeper.nameOverride}}:{{.Values.config.zookeeperPort}}
 #config.zk.servers=172.17.0.1:2181
-#dmaap.namespace-placeholder:2181
+#dmaap.onap-message-router:2181
 #10.208.128.229:2181
 #config.zk.root=/fe3c/cambria/config
 
@@ -31,9 +44,9 @@ config.zk.servers=zookeeper:2181
 ##     configurations (after removing "kafka.")
 ##     if you want to change request.required.acks it can take this one value
 #kafka.metadata.broker.list=localhost:9092,localhost:9093
-kafka.metadata.broker.list=global-kafka:9092
+kafka.metadata.broker.list={{.Values.kafka.nameOverride}}:{{.Values.config.kafkaPort}}
 #kafka.metadata.broker.list=172.17.0.1:9092
-#dmaap.namespace-placeholder:9092
+#dmaap.onap-message-router:9092
 #10.208.128.229:9092
 ##kafka.request.required.acks=-1
 #kafka.client.zookeeper=${config.zk.servers}
index 1cb00a5..9079794 100755 (executable)
@@ -1,3 +1,17 @@
+# Copyright © 2017 Amdocs, Bell Canada, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 basic_realm=openecomp.org
 basic_warn=TRUE
 
diff --git a/kubernetes/message-router/templates/NOTES.txt b/kubernetes/message-router/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..c60c745
--- /dev/null
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/message-router/templates/all-services.yaml b/kubernetes/message-router/templates/all-services.yaml
deleted file mode 100644 (file)
index da6fee1..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMessageRouterZookeeper }}
-apiVersion: v1
-kind: Service
-metadata:
-  name: zookeeper
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: zookeeper
-spec:
-  ports:
-  - name: zookeeper1
-    port: 2181
-  selector:
-    app: zookeeper
-  clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableMessageRouterGlobalKafka }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: global-kafka
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: global-kafka
-spec:
-  ports:
-  - name: kafka1
-    port: 9092
-  selector:
-    app: global-kafka
-  clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableMessageRouterDmaap }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: dmaap
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: dmaap
-    version: 1.0.0
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "message-router",
-          "version": "v1",
-          "url": "/",
-          "protocol": "REST",
-          "port": "3904",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: mr1
-    port: 3904
-    nodePort: {{ .Values.nodePortPrefix }}27
-  - name: mr2
-    port: 3905
-    nodePort: {{ .Values.nodePortPrefix }}26
-  selector:
-    app: dmaap
-  type: NodePort
-#{{ end }}
\ No newline at end of file
diff --git a/kubernetes/message-router/templates/configmap.yaml b/kubernetes/message-router/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..911d2e9
--- /dev/null
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-msgrtrapi-prop-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/dmaap/MsgRtrApi.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-cadi-prop-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/dmaap/cadi.properties").AsConfig . | indent 2 }}
diff --git a/kubernetes/message-router/templates/deployment.yaml b/kubernetes/message-router/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..ed3c4eb
--- /dev/null
@@ -0,0 +1,95 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - {{ .Values.kafka.nameOverride }}
+        - --container-name
+        - {{ .Values.zookeeper.nameOverride }}
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.externalPort }}
+          - containerPort: {{ .Values.service.externalPort2 }}
+          {{- if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.externalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end -}}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.externalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          volumeMounts:
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: /appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
+            subPath: MsgRtrApi.properties
+            name: appprops
+          - mountPath: /appl/dmaapMR1/etc/cadi.properties
+            subPath: cadi.properties
+            name: cadi
+          - mountPath: /appl/dmaapMR1/etc/keyfile
+            subPath: mykey
+            name: mykey
+      volumes:
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+        - name: appprops
+          configMap:
+            name: {{ include "common.fullname" . }}-msgrtrapi-prop-configmap
+        - name: cadi
+          configMap:
+            name: {{ include "common.fullname" . }}-cadi-prop-configmap
+        - name: mykey
+          secret:
+            secretName: {{ include "common.fullname" . }}-secret
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/message-router/templates/dmaap-configmap.yaml b/kubernetes/message-router/templates/dmaap-configmap.yaml
deleted file mode 100644 (file)
index bd1e629..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mr-dmaap-cadi-prop-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/dmaap/cadi.properties").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mr-dmaap-msgrtrapi-prop-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/dmaap/MsgRtrApi.properties").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mr-dmaap-mykey-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/dmaap/mykey").AsConfig . | indent 2 }}
diff --git a/kubernetes/message-router/templates/message-router-dmaap.yaml b/kubernetes/message-router/templates/message-router-dmaap.yaml
deleted file mode 100644 (file)
index a0c1380..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMessageRouterDmaap }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: message-router-dmaap
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.dmaapReplicas }}
-  selector:
-    matchLabels:
-      app: dmaap
-  template:
-    metadata:
-      labels:
-        app: dmaap
-      name: message-router-dmaap
-    spec:
-      initContainers:
-      - command:
-        - /root/ready.py
-        args:
-        - --container-name
-        - global-kafka
-        - --container-name
-        - zookeeper
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: {{ .Values.image.readiness }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: dmaap-readiness
-      containers:
-      - image: {{ .Values.image.dmaap }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: dmaap
-        ports:
-        - containerPort: 3904
-        - containerPort: 3905
-        readinessProbe:
-          tcpSocket:
-            port: 3904
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        volumeMounts:
-        - mountPath: /etc/localtime
-          name: localtime
-          readOnly: true
-        - mountPath: /appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
-          subPath: MsgRtrApi.properties
-          name: appprops
-        - mountPath: /appl/dmaapMR1/etc/cadi.properties
-          subPath: cadi.properties
-          name: cadi
-        - mountPath: /appl/dmaapMR1/etc/keyfile
-          subPath: mykey
-          name: mykey
-      restartPolicy: Always
-      volumes:
-      - name: localtime
-        hostPath:
-          path: /etc/localtime
-      - name: appprops
-        configMap:
-          name: mr-dmaap-msgrtrapi-prop-configmap
-      - name: cadi
-        configMap:
-          name: mr-dmaap-cadi-prop-configmap
-      - name: mykey
-        configMap:
-          name: mr-dmaap-mykey-configmap
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-{{ end }}
-
diff --git a/kubernetes/message-router/templates/message-router-kafka.yaml b/kubernetes/message-router/templates/message-router-kafka.yaml
deleted file mode 100644 (file)
index 844de04..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMessageRouterGlobalKafka }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: message-router-global-kafka
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.kafkaReplicas }}
-  selector:
-    matchLabels:
-      app: global-kafka
-  template:
-    metadata:
-      labels:
-        app: global-kafka
-      name: message-router-global-kafka
-    spec:
-      initContainers:
-      - command:
-        - bash
-        args:
-        - -c
-        - "if [ -d /var/tmp/SDC-DISTR-NOTIF-TOPIC-SDC-OPENSOURCE-ENV1-0 ]; then echo nothing to do; else cp -a /opt/config/src/message-router/dcae-startup-vm-message-router/docker_files/data-kafka/* /var/tmp/; fi"
-        image: {{ .Values.image.config }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        volumeMounts:
-        - mountPath: /var/tmp
-          name: kafka-data
-        name: kafka-primer
-      - command:
-        - /root/ready.py
-        args:
-        - --container-name
-        - zookeeper
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: {{ .Values.image.readiness }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: kafka-readiness
-      containers:
-      - image: {{ .Values.image.kafka }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: global-kafka
-        ports:
-        - containerPort: 9092
-        readinessProbe:
-          tcpSocket:
-            port: 9092
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        env:
-        - name: KAFKA_ZOOKEEPER_CONNECT
-          value: "zookeeper.{{ .Values.nsPrefix }}:2181"
-        - name: KAFKA_ADVERTISED_HOST_NAME
-          value: "global-kafka"
-        - name: KAFKA_BROKER_ID
-          value: "1"
-        - name: KAFKA_ADVERTISED_PORT
-          value: "9092"
-        - name: KAFKA_PORT
-          value: "9092"
-        volumeMounts:
-        - mountPath: /etc/localtime
-          name: localtime
-          readOnly: true
-        - mountPath: /var/run/docker.sock
-          name: docker-socket
-        - mountPath: /kafka
-          name: kafka-data
-      restartPolicy: Always
-      volumes:
-      - name: localtime
-        hostPath:
-          path: /etc/localtime
-      - name: docker-socket
-        hostPath:
-          path: /var/run/docker.sock
-      - name: kafka-data
-        persistentVolumeClaim:
-          claimName: message-router-kafka
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
-
diff --git a/kubernetes/message-router/templates/message-router-pv-pvc.yaml b/kubernetes/message-router/templates/message-router-pv-pvc.yaml
deleted file mode 100644 (file)
index a39a975..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-{{/*
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-*/}}
-
-#{{ if not .Values.disableMessageRouterGlobalKafka }}
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: "{{ .Values.nsPrefix }}-message-router-kafka"
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    name: "{{ .Values.nsPrefix }}-message-router-kafka"
-spec:
-  capacity:
-    storage: 2Gi
-  accessModes:
-    - ReadWriteMany
-  persistentVolumeReclaimPolicy: Retain
-  hostPath:
-    path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/message-router/dcae-startup-vm-message-router/docker_files/data-kafka/
----
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
-  name: message-router-kafka
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  accessModes:
-    - ReadWriteMany
-  resources:
-    requests:
-      storage: 2Gi
-  selector:
-    matchLabels:
-      name: "{{ .Values.nsPrefix }}-message-router-kafka"
-#{{ end }}
-#{{ if not .Values.disableMessageRouterZookeeper }}
----
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: "{{ .Values.nsPrefix }}-message-router-zookeeper"
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    name: "{{ .Values.nsPrefix }}-message-router-zookeeper"
-spec:
-  capacity:
-    storage: 2Gi
-  accessModes:
-    - ReadWriteMany
-  persistentVolumeReclaimPolicy: Retain
-  hostPath:
-    path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/message-router/dcae-startup-vm-message-router/docker_files/data-zookeeper
----
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
-  name: message-router-zookeeper
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  accessModes:
-    - ReadWriteMany
-  resources:
-    requests:
-      storage: 2Gi
-  selector:
-    matchLabels:
-      name: "{{ .Values.nsPrefix }}-message-router-zookeeper"
-#{{ end }}
diff --git a/kubernetes/message-router/templates/message-router-zookeeper.yaml b/kubernetes/message-router/templates/message-router-zookeeper.yaml
deleted file mode 100644 (file)
index 1b3e8f8..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMessageRouterZookeeper }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: message-router-zookeeper
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.zookeeperReplicas }}
-  selector:
-    matchLabels:
-      app: zookeeper
-  template:
-    metadata:
-      labels:
-        app: zookeeper
-      name: message-router-zookeeper
-    spec:
-      initContainers:
-      - command:
-        - bash
-        args:
-        - -c
-        - "if [ -d /var/tmp/version-2 ]; then echo nothing to do; else cp -a /opt/config/src/message-router/dcae-startup-vm-message-router/docker_files/data-zookeeper/* /var/tmp/; fi"
-        image: {{ .Values.image.config }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        volumeMounts:
-        - mountPath: /var/tmp
-          name: zookeeper-data
-        name: zookeeper-primer
-      containers:
-      - image: {{ .Values.image.zookeeper }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: zookeeper
-        ports:
-        - containerPort: 2181
-        readinessProbe:
-          tcpSocket:
-            port: 2181
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        volumeMounts:
-        - mountPath: /etc/localtime
-          name: localtime
-          readOnly: true
-        - mountPath: /opt/zookeeper-3.4.9/data
-          name: zookeeper-data
-      restartPolicy: Always
-      volumes:
-      - name: localtime
-        hostPath:
-          path: /etc/localtime
-      - name: zookeeper-data
-        persistentVolumeClaim:
-          claimName: message-router-zookeeper
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
-
diff --git a/kubernetes/message-router/templates/secrets.yaml b/kubernetes/message-router/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..a7f6e18
--- /dev/null
@@ -0,0 +1,27 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-secret
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ (.Files.Glob "resources/config/dmaap/mykey").AsSecrets | indent 2 }}
+type: Opaque
diff --git a/kubernetes/message-router/templates/service.yaml b/kubernetes/message-router/templates/service.yaml
new file mode 100644 (file)
index 0000000..7265ecb
--- /dev/null
@@ -0,0 +1,54 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name  }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "{{ include "common.fullname" . }}",
+          "version": "v1",
+          "url": "/",
+          "protocol": "REST",
+          "port": "{{.Values.service.internalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}-{{ .Values.service.externalPort }}
+    - port: {{ .Values.service.externalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.name }}-{{ .Values.service.externalPort2 }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
index 6825147..884cd3e 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-nsPrefix: onap
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/dmaap/dmaap-mr:1.1.3
 pullPolicy: Always
-nodePortPrefix: 302
-dmaapReplicas: 1
-kafkaReplicas: 1
-zookeeperReplicas: 1
-dataRootDir: /dockerdata-nfs
-image:
-  readiness: oomk8s/readiness-check:1.1.0
-  dmaap: attos/dmaap:latest
-  kafka: wurstmeister/kafka:latest
-  zookeeper: wurstmeister/zookeeper:latest
-  config: oomk8s/config-init:2.0.0-SNAPSHOT
 
+nameOverride: dmaap
+
+kafka:
+  nameOverride: global-kafka
+zookeeper:
+  nameOverride: zookeeper
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+  zookeeperPort: 2181
+  kafkaPort: 9092
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: NodePort
+  name: message-router
+  externalPort: 3904
+  nodePort: 27
+  externalPort2: 3905
+  nodePort2: 26
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
index 94b25a1..ad38750 100644 (file)
@@ -33,11 +33,6 @@ spec:
         name: {{ include "common.name" . }}-readiness
       containers:
         - name: {{ include "common.name" . }}
-          # TODO: Temporary command:
-          command:
-          - /bin/sh
-          - -c
-          - export AUTH_TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token); /bin/kube2msb --kube_master_url=${KUBE_MASTER_URL} --msb_url=${MSB_URL}
           image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           env:
index 43810a9..8c494c0 100644 (file)
@@ -19,7 +19,7 @@ pullPolicy: Always
 config:
   routeLabels: "visualRange:1"
   kubeMasterUrl: https://kubernetes.default:443
-  discoveryUrl: http://{{.Release.Name}}-msb-discovery.{{include "common.namespace" .}}:10081
+  discoveryUrl: http://msb-discovery.{{include "common.namespace" .}}:10081
 
 # default number of instances
 replicaCount: 1
diff --git a/kubernetes/msb/charts/msb-discovery/resources/config/log/logback.xml b/kubernetes/msb/charts/msb-discovery/resources/config/log/logback.xml
new file mode 100644 (file)
index 0000000..3377596
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+   <!--<jmxConfigurator /> -->
+   <!--  specify the base path of the log directory -->
+   <property name="logDir" value="/var/log/onap" />
+   <!--  specify the component name -->
+   <property name="componentName" value="msb" />
+   <!-- specify the sub component name -->
+   <property name="subComponentName" value="discovery" />
+   <!-- The directories where logs are written -->
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+   <!--  log file names -->
+   <property name="errorLogName" value="error" />
+   <property name="metricsLogName" value="metrics" />
+   <property name="auditLogName" value="audit" />
+   <property name="debugLogName" value="debug" />
+   <property name="queueSize" value="256" />
+   <property name="maxFileSize" value="50MB" />
+   <property name="maxHistory" value="30" />
+   <property name="totalSizeCap" value="10GB" />
+   <!-- Example evaluator filter applied against console appender -->
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+      <encoder>
+         <pattern>${pattern}</pattern>
+      </encoder>
+   </appender>
\ No newline at end of file
diff --git a/kubernetes/msb/charts/msb-discovery/templates/configmap.yaml b/kubernetes/msb/charts/msb-discovery/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..97c720a
--- /dev/null
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
index f32a5d1..b266005 100644 (file)
@@ -53,11 +53,13 @@ spec:
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
           - name: CONSUL_IP
-            value: {{.Release.Name}}-msb-consul.{{ include "common.namespace" . }}
+            value: msb-consul.{{ include "common.namespace" . }}
           volumeMounts:
           - mountPath: /etc/localtime
             name: localtime
             readOnly: true
+          - mountPath: /usr/local/discover-works/logs
+            name: msb-discovery-logs
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -68,9 +70,23 @@ spec:
         affinity:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
+
+        # side car containers
+        - name: filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - mountPath: /var/log/onap
+            name: msb-discovery-logs
+          - mountPath: /usr/share/filebeat/data
+            name: msb-discovery-filebeat
       volumes:
         - name: localtime
           hostPath:
             path: /etc/localtime
+        - name: msb-discovery-logs
+          emptyDir: {}
+        - name: msb-discovery-filebeat
+          emptyDir: {}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/msb/charts/msb-eag/resources/config/log/logback.xml b/kubernetes/msb/charts/msb-eag/resources/config/log/logback.xml
new file mode 100644 (file)
index 0000000..3377596
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+   <!--<jmxConfigurator /> -->
+   <!--  specify the base path of the log directory -->
+   <property name="logDir" value="/var/log/onap" />
+   <!--  specify the component name -->
+   <property name="componentName" value="msb" />
+   <!-- specify the sub component name -->
+   <property name="subComponentName" value="discovery" />
+   <!-- The directories where logs are written -->
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+   <!--  log file names -->
+   <property name="errorLogName" value="error" />
+   <property name="metricsLogName" value="metrics" />
+   <property name="auditLogName" value="audit" />
+   <property name="debugLogName" value="debug" />
+   <property name="queueSize" value="256" />
+   <property name="maxFileSize" value="50MB" />
+   <property name="maxHistory" value="30" />
+   <property name="totalSizeCap" value="10GB" />
+   <!-- Example evaluator filter applied against console appender -->
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+      <encoder>
+         <pattern>${pattern}</pattern>
+      </encoder>
+   </appender>
\ No newline at end of file
diff --git a/kubernetes/msb/charts/msb-eag/templates/configmap.yaml b/kubernetes/msb/charts/msb-eag/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..97c720a
--- /dev/null
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
index d41518d..7ca8a8e 100644 (file)
@@ -56,15 +56,17 @@ spec:
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
           - name: CONSUL_IP
-            value: {{.Release.Name}}-msb-consul.{{ include "common.namespace" . }}
+            value: msb-consul.{{ include "common.namespace" . }}
           - name: SDCLIENT_IP
-            value: {{.Release.Name}}-msb-discovery.{{ include "common.namespace" . }}
+            value: msb-discovery.{{ include "common.namespace" . }}
           - name: ROUTE_LABELS
             value: {{ .Values.config.routeLabels }}
           volumeMounts:
           - mountPath: /etc/localtime
             name: localtime
             readOnly: true
+          - mountPath: /usr/local/apiroute-works/logs
+            name: msb-discovery-logs
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -75,9 +77,22 @@ spec:
         affinity:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
+        # side car containers
+        - name: filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - mountPath: /var/log/onap
+            name: msb-discovery-logs
+          - mountPath: /usr/share/filebeat/data
+            name: msb-discovery-filebeat
       volumes:
         - name: localtime
           hostPath:
             path: /etc/localtime
+        - name: msb-discovery-logs
+          emptyDir: {}
+        - name: msb-discovery-filebeat
+          emptyDir: {}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/msb/charts/msb-iag/resources/config/log/logback.xml b/kubernetes/msb/charts/msb-iag/resources/config/log/logback.xml
new file mode 100644 (file)
index 0000000..3377596
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+   <!--<jmxConfigurator /> -->
+   <!--  specify the base path of the log directory -->
+   <property name="logDir" value="/var/log/onap" />
+   <!--  specify the component name -->
+   <property name="componentName" value="msb" />
+   <!-- specify the sub component name -->
+   <property name="subComponentName" value="discovery" />
+   <!-- The directories where logs are written -->
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+   <!--  log file names -->
+   <property name="errorLogName" value="error" />
+   <property name="metricsLogName" value="metrics" />
+   <property name="auditLogName" value="audit" />
+   <property name="debugLogName" value="debug" />
+   <property name="queueSize" value="256" />
+   <property name="maxFileSize" value="50MB" />
+   <property name="maxHistory" value="30" />
+   <property name="totalSizeCap" value="10GB" />
+   <!-- Example evaluator filter applied against console appender -->
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+      <encoder>
+         <pattern>${pattern}</pattern>
+      </encoder>
+   </appender>
\ No newline at end of file
diff --git a/kubernetes/msb/charts/msb-iag/templates/configmap.yaml b/kubernetes/msb/charts/msb-iag/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..97c720a
--- /dev/null
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
index d41518d..7ca8a8e 100644 (file)
@@ -56,15 +56,17 @@ spec:
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
           - name: CONSUL_IP
-            value: {{.Release.Name}}-msb-consul.{{ include "common.namespace" . }}
+            value: msb-consul.{{ include "common.namespace" . }}
           - name: SDCLIENT_IP
-            value: {{.Release.Name}}-msb-discovery.{{ include "common.namespace" . }}
+            value: msb-discovery.{{ include "common.namespace" . }}
           - name: ROUTE_LABELS
             value: {{ .Values.config.routeLabels }}
           volumeMounts:
           - mountPath: /etc/localtime
             name: localtime
             readOnly: true
+          - mountPath: /usr/local/apiroute-works/logs
+            name: msb-discovery-logs
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -75,9 +77,22 @@ spec:
         affinity:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
+        # side car containers
+        - name: filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - mountPath: /var/log/onap
+            name: msb-discovery-logs
+          - mountPath: /usr/share/filebeat/data
+            name: msb-discovery-filebeat
       volumes:
         - name: localtime
           hostPath:
             path: /etc/localtime
+        - name: msb-discovery-logs
+          emptyDir: {}
+        - name: msb-discovery-filebeat
+          emptyDir: {}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/msb/resources/config/log/discovery/logback.xml b/kubernetes/msb/resources/config/log/discovery/logback.xml
new file mode 100644 (file)
index 0000000..3377596
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+   <!--<jmxConfigurator /> -->
+   <!--  specify the base path of the log directory -->
+   <property name="logDir" value="/var/log/onap" />
+   <!--  specify the component name -->
+   <property name="componentName" value="msb" />
+   <!-- specify the sub component name -->
+   <property name="subComponentName" value="discovery" />
+   <!-- The directories where logs are written -->
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+   <!--  log file names -->
+   <property name="errorLogName" value="error" />
+   <property name="metricsLogName" value="metrics" />
+   <property name="auditLogName" value="audit" />
+   <property name="debugLogName" value="debug" />
+   <property name="queueSize" value="256" />
+   <property name="maxFileSize" value="50MB" />
+   <property name="maxHistory" value="30" />
+   <property name="totalSizeCap" value="10GB" />
+   <!-- Example evaluator filter applied against console appender -->
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+      <encoder>
+         <pattern>${pattern}</pattern>
+      </encoder>
+   </appender>
\ No newline at end of file
diff --git a/kubernetes/msb/resources/config/log/eag/logback.xml b/kubernetes/msb/resources/config/log/eag/logback.xml
new file mode 100644 (file)
index 0000000..dafba4b
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+   <!--<jmxConfigurator /> -->
+   <!--  specify the base path of the log directory -->
+   <property name="logDir" value="/var/log/onap" />
+   <!--  specify the component name -->
+   <property name="componentName" value="msb" />
+   <!-- specify the sub component name -->
+   <property name="subComponentName" value="eag" />
+   <!-- The directories where logs are written -->
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+   <!--  log file names -->
+   <property name="errorLogName" value="error" />
+   <property name="metricsLogName" value="metrics" />
+   <property name="auditLogName" value="audit" />
+   <property name="debugLogName" value="debug" />
+   <property name="queueSize" value="256" />
+   <property name="maxFileSize" value="50MB" />
+   <property name="maxHistory" value="30" />
+   <property name="totalSizeCap" value="10GB" />
+   <!-- Example evaluator filter applied against console appender -->
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+      <encoder>
+         <pattern>${pattern}</pattern>
+      </encoder>
+   </appender>
\ No newline at end of file
@@ -21,7 +21,7 @@ output.logstash:
   #List of logstash server ip addresses with port number.
   #But, in our case, this will be the loadbalancer IP address.
   #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
-  hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
+  hosts: ["logstash.{{.Values.nsPrefix}}:5044"]
   #If enable will do load balancing among availabe Logstash, automatically.
   loadbalance: true
 
diff --git a/kubernetes/msb/resources/config/log/iag/logback.xml b/kubernetes/msb/resources/config/log/iag/logback.xml
new file mode 100644 (file)
index 0000000..f841859
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+   <!--<jmxConfigurator /> -->
+   <!--  specify the base path of the log directory -->
+   <property name="logDir" value="/var/log/onap" />
+   <!--  specify the component name -->
+   <property name="componentName" value="msb" />
+   <!-- specify the sub component name -->
+   <property name="subComponentName" value="iag" />
+   <!-- The directories where logs are written -->
+   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+   <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+   <!--  log file names -->
+   <property name="errorLogName" value="error" />
+   <property name="metricsLogName" value="metrics" />
+   <property name="auditLogName" value="audit" />
+   <property name="debugLogName" value="debug" />
+   <property name="queueSize" value="256" />
+   <property name="maxFileSize" value="50MB" />
+   <property name="maxHistory" value="30" />
+   <property name="totalSizeCap" value="10GB" />
+   <!-- Example evaluator filter applied against console appender -->
+   <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+      <encoder>
+         <pattern>${pattern}</pattern>
+      </encoder>
+   </appender>
\ No newline at end of file
index 49e5196..2a0dbe2 100644 (file)
@@ -18,3 +18,5 @@
 global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
diff --git a/kubernetes/mso/resources/config/docker-files/scripts/start-jboss-server.sh b/kubernetes/mso/resources/config/docker-files/scripts/start-jboss-server.sh
deleted file mode 100755 (executable)
index 3280253..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/sh
-# Copyright 2015 AT&T Intellectual Properties
-##############################################################################
-#       Script to initialize the chef-repo branch and.chef
-#
-##############################################################################
-# Copy the certificates
-echo 'Copying the *.crt provided in /shared folder'
-cp --verbose /shared/*.crt /usr/local/share/ca-certificates
-update-ca-certificates
-
-echo 'Running in JBOSS'
-su - jboss
-
-DEBUG=''
-if [ "$JBOSS_DEBUG" = true ] ; then
-  DEBUG="--debug"
-fi
-
-#Start the chef-solo if mso-docker.json contains some data.
-if [ -s /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json ]
-then
-       echo "mso-docker.json has some configuration, replay the recipes."
-       chef-solo -c /var/berks-cookbooks/${CHEF_REPO_NAME}/solo.rb -o recipe[mso-config::apih],recipe[mso-config::bpmn],recipe[mso-config::jra]
-else
-       echo "mso-docker.json is empty, do not replay the recipes."
-fi
-
-JBOSS_PIDFILE=/tmp/jboss-standalone.pid
-$JBOSS_HOME/bin/standalone.sh ${DEBUG} -c standalone-full-ha-mso.xml &
-JBOSS_PID=$!
-# Trap common signals and relay them to the jboss process
-trap "kill -HUP  $JBOSS_PID" HUP
-trap "kill -TERM $JBOSS_PID" INT
-trap "kill -QUIT $JBOSS_PID" QUIT
-trap "kill -PIPE $JBOSS_PID" PIPE
-trap "kill -TERM $JBOSS_PID" TERM
-if [ "x$JBOSS_PIDFILE" != "x" ]; then
-  echo $JBOSS_PID > $JBOSS_PIDFILE
-fi
-# Wait until the background process exits
-WAIT_STATUS=128
-while [ "$WAIT_STATUS" -ge 128 ]; do
-   wait $JBOSS_PID 2>/dev/null
-   WAIT_STATUS=$?
-   if [ "$WAIT_STATUS" -gt 128 ]; then
-      SIGNAL=`expr $WAIT_STATUS - 128`
-      SIGNAL_NAME=`kill -l $SIGNAL`
-      echo "*** JBossAS process ($JBOSS_PID) received $SIGNAL_NAME signal ***" >&2
-   fi
-done
-if [ "$WAIT_STATUS" -lt 127 ]; then
-   JBOSS_STATUS=$WAIT_STATUS
-else
-   JBOSS_STATUS=0
-fi
-if [ "$JBOSS_STATUS" -ne 10 ]; then
-      # Wait for a complete shudown
-      wait $JBOSS_PID 2>/dev/null
-fi
-if [ "x$JBOSS_PIDFILE" != "x" ]; then
-      grep "$JBOSS_PID" $JBOSS_PIDFILE && rm $JBOSS_PIDFILE
-fi
diff --git a/kubernetes/mso/resources/config/log/logback.apihandler-infra.xml b/kubernetes/mso/resources/config/log/logback.apihandler-infra.xml
deleted file mode 100644 (file)
index 3e0ea61..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<configuration scan="false" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="/var/log/onap" />
-  
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="/var/log/onap" />
-  
-  <!--  specify the component name 
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="MSO"></property>
-  <property name="subComponentName" value="ApiHandlerInfra"></property>
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n" />
-
-  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
-  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
-  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-    
-  <appender name="EELFAudit"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-         <pattern>${auditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-<appender name="EELFMetrics"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-        %msg%n"</pattern> -->
-      <pattern>${metricPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-   
-  <appender name="EELFError"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <encoder>
-      <pattern>${errorPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-  
-   <appender name="EELFDebug"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${debugPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-  
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <logger name="com.att.eelf.error" level="debug" additivity="false">
-    <appender-ref ref="asyncEELFError" />
-  </logger> 
-  <root level="INFO">
-    <appender-ref ref="asyncEELFDebug" />
-  </root>
-
-</configuration>
diff --git a/kubernetes/mso/resources/config/log/logback.appc.xml b/kubernetes/mso/resources/config/log/logback.appc.xml
deleted file mode 100644 (file)
index 588f6f3..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<configuration scan="false" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="/var/log/onap" />
-  
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="/var/log/onap" />
-  
-  <!--  specify the component name 
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="MSO"></property>
-  <property name="subComponentName" value="AppCAdapter"></property>
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n" />
-
-  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
-  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
-  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-    
-  <appender name="EELFAudit"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-         <pattern>${auditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-<appender name="EELFMetrics"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-        %msg%n"</pattern> -->
-      <pattern>${metricPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-   
-  <appender name="EELFError"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <encoder>
-      <pattern>${errorPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-  
-   <appender name="EELFDebug"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${debugPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-  
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <logger name="com.att.eelf.error" level="debug" additivity="false">
-    <appender-ref ref="asyncEELFError" />
-  </logger> 
-  <root level="INFO">
-    <appender-ref ref="asyncEELFDebug" />
-  </root>
-
-</configuration>
diff --git a/kubernetes/mso/resources/config/log/logback.asdc.xml b/kubernetes/mso/resources/config/log/logback.asdc.xml
deleted file mode 100644 (file)
index b4879e0..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<configuration scan="false" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="/var/log/onap" />
-  
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="/var/log/onap" />
-  
-  <!--  specify the component name 
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="MSO"></property>
-  <property name="subComponentName" value="ASDCController"></property>
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n" />
-
-  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
-  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
-  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-    
-  <appender name="EELFAudit"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-         <pattern>${auditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-<appender name="EELFMetrics"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-        %msg%n"</pattern> -->
-      <pattern>${metricPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-   
-  <appender name="EELFError"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <encoder>
-      <pattern>${errorPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-  
-   <appender name="EELFDebug"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${debugPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-  
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <logger name="com.att.eelf.error" level="debug" additivity="false">
-    <appender-ref ref="asyncEELFError" />
-  </logger> 
-  <root level="INFO">
-    <appender-ref ref="asyncEELFDebug" />
-  </root>
-
-</configuration>
diff --git a/kubernetes/mso/resources/config/log/logback.bpmn.xml b/kubernetes/mso/resources/config/log/logback.bpmn.xml
deleted file mode 100644 (file)
index 3bc3ca1..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<configuration scan="true" scanPeriod="3 seconds" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="/var/log/onap" />
-
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="/var/log/onap" />
-
-  <!--  specify the component name
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="MSO"></property>
-  <property name="subComponentName" value="BPMN"></property>
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n" />
-  
-  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
-  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
-  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application
-    log -->
-
-  <!-- EELF Audit Appender. This appender is used to record audit engine
-    related logging events. The audit logger and appender are specializations
-    of the EELF application root logger and appender. This can be used to segregate
-    Policy engine events from other components, or it can be eliminated to record
-    these events as part of the application root log. -->
-
-  <appender name="EELFAudit"
-            class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${auditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-  <appender name="EELFMetrics"
-            class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} -
-        %msg%n"</pattern> -->
-      <pattern>${metricPattern}</pattern>
-    </encoder>
-  </appender>
-
-
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-
-  <appender name="EELFError"
-            class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <encoder>
-      <pattern>${errorPattern}</pattern>
-    </encoder>
-  </appender>
-
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-
-  <appender name="EELFDebug"
-            class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${debugPattern}</pattern>
-    </encoder>
-  </appender>
-
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-
-
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-    <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <logger name="com.att.eelf.error" level="debug" additivity="false">
-    <appender-ref ref="asyncEELFError" />
-  </logger>
-  <root level="INFO">
-    <appender-ref ref="asyncEELFDebug" />
-  </root>
-
-</configuration>
diff --git a/kubernetes/mso/resources/config/log/logback.msorequestsdbadapter.xml b/kubernetes/mso/resources/config/log/logback.msorequestsdbadapter.xml
deleted file mode 100644 (file)
index 64a5022..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<configuration scan="false" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="/var/log/onap" />
-  
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="/var/log/onap" />
-  
-  <!--  specify the component name 
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="MSO"></property>
-  <property name="subComponentName" value="RequestDB"></property>
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n" />
-
-  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
-  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
-  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-    
-  <appender name="EELFAudit"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-         <pattern>${auditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-<appender name="EELFMetrics"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-        %msg%n"</pattern> -->
-      <pattern>${metricPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-   
-  <appender name="EELFError"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <encoder>
-      <pattern>${errorPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-  
-   <appender name="EELFDebug"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${debugPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-  
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <logger name="com.att.eelf.error" level="debug" additivity="false">
-    <appender-ref ref="asyncEELFError" />
-  </logger> 
-  <root level="INFO">
-    <appender-ref ref="asyncEELFDebug" />
-  </root>
-
-</configuration>
diff --git a/kubernetes/mso/resources/config/log/logback.network.xml b/kubernetes/mso/resources/config/log/logback.network.xml
deleted file mode 100644 (file)
index 542a8f6..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<configuration scan="false" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="/var/log/onap" />
-  
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="/var/log/onap" />
-  
-  <!--  specify the component name 
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="MSO"></property>
-  <property name="subComponentName" value="NetworkAdapter"></property>
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n" />
-
-  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
-  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
-  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-  
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-    
-  <appender name="EELFAudit"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-         <pattern>${auditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-<appender name="EELFMetrics"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-        %msg%n"</pattern> -->
-      <pattern>${metricPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-   
-  <appender name="EELFError"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <encoder>
-      <pattern>${errorPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-  
-   <appender name="EELFDebug"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${debugPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-  
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <logger name="com.att.eelf.error" level="debug" additivity="false">
-    <appender-ref ref="asyncEELFError" />
-  </logger> 
-  <root level="INFO">
-    <appender-ref ref="asyncEELFDebug" />
-  </root>
-
-</configuration>
diff --git a/kubernetes/mso/resources/config/log/logback.sdnc.xml b/kubernetes/mso/resources/config/log/logback.sdnc.xml
deleted file mode 100644 (file)
index 1323a89..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<configuration scan="false" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="/var/log/onap" />
-  
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="/var/log/onap" />
-  
-  <!--  specify the component name 
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="MSO"></property>
-  <property name="subComponentName" value="SDNCAdapter"></property>
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n" />
-
-  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
-  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
-  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-    
-  <appender name="EELFAudit"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-         <pattern>${auditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-<appender name="EELFMetrics"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-        %msg%n"</pattern> -->
-      <pattern>${metricPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-   
-  <appender name="EELFError"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <encoder>
-      <pattern>${errorPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-  
-   <appender name="EELFDebug"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${debugPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-  
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <logger name="com.att.eelf.error" level="debug" additivity="false">
-    <appender-ref ref="asyncEELFError" />
-  </logger> 
-  <root level="INFO">
-    <appender-ref ref="asyncEELFDebug" />
-  </root>
-
-</configuration>
diff --git a/kubernetes/mso/resources/config/log/logback.tenant.xml b/kubernetes/mso/resources/config/log/logback.tenant.xml
deleted file mode 100644 (file)
index a25c182..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<configuration scan="false" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="/var/log/onap" />
-  
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="/var/log/onap" />
-  
-  <!--  specify the component name 
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="MSO"></property>
-  <property name="subComponentName" value="TenantAdapter"></property>
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n" />
-
-  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
-  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
-  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-  
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-    
-  <appender name="EELFAudit"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-         <pattern>${auditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-<appender name="EELFMetrics"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-        %msg%n"</pattern> -->
-      <pattern>${metricPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-   
-  <appender name="EELFError"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <encoder>
-      <pattern>${errorPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-  
-   <appender name="EELFDebug"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${debugPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-  
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <logger name="com.att.eelf.error" level="debug" additivity="false">
-    <appender-ref ref="asyncEELFError" />
-  </logger> 
-  <root level="INFO">
-    <appender-ref ref="asyncEELFDebug" />
-  </root>
-
-</configuration>
diff --git a/kubernetes/mso/resources/config/log/logback.vfc.xml b/kubernetes/mso/resources/config/log/logback.vfc.xml
deleted file mode 100644 (file)
index d0b66be..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<configuration scan="false" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="/var/log/onap" />
-  
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="/var/log/onap" />
-  
-  <!--  specify the component name 
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="MSO"></property>
-  <property name="subComponentName" value="vfcadapter"></property>
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n" />
-
-  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
-  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
-  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-    
-  <appender name="EELFAudit"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-         <pattern>${auditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-<appender name="EELFMetrics"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-        %msg%n"</pattern> -->
-      <pattern>${metricPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-   
-  <appender name="EELFError"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <encoder>
-      <pattern>${errorPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-  
-   <appender name="EELFDebug"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${debugPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-  
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <logger name="com.att.eelf.error" level="debug" additivity="false">
-    <appender-ref ref="asyncEELFError" />
-  </logger> 
-  <root level="INFO">
-    <appender-ref ref="asyncEELFDebug" />
-  </root>
-
-</configuration>
diff --git a/kubernetes/mso/resources/config/log/logback.vnf.xml b/kubernetes/mso/resources/config/log/logback.vnf.xml
deleted file mode 100644 (file)
index 32f6e69..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<configuration scan="false" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="/var/log/onap" />
-  
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="/var/log/onap" />
-  
-  <!--  specify the component name 
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="MSO"></property>
-  <property name="subComponentName" value="VnfAdapter"></property>
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n" />
-
-  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
-  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
-  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-    
-  <appender name="EELFAudit"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-         <pattern>${auditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-<appender name="EELFMetrics"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-        %msg%n"</pattern> -->
-      <pattern>${metricPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-   
-  <appender name="EELFError"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <encoder>
-      <pattern>${errorPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-  
-   <appender name="EELFDebug"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${debugPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-  
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <logger name="com.att.eelf.error" level="debug" additivity="false">
-    <appender-ref ref="asyncEELFError" />
-  </logger> 
-  <root level="INFO">
-    <appender-ref ref="asyncEELFDebug" />
-  </root>
-
-</configuration>
diff --git a/kubernetes/mso/resources/config/log/logback.workflow-message-adapter.xml b/kubernetes/mso/resources/config/log/logback.workflow-message-adapter.xml
deleted file mode 100644 (file)
index a7130a1..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<configuration scan="false" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="/var/log/onap" />
-
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="/var/log/onap" />
-
-  <!--  specify the component name
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="MSO"></property>
-  <property name="subComponentName" value="WorkflowMessageAdapter"></property>
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n" />
-
-  <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
-  <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
-  <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-  <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application
-    log -->
-
-  <!-- EELF Audit Appender. This appender is used to record audit engine
-    related logging events. The audit logger and appender are specializations
-    of the EELF application root logger and appender. This can be used to segregate
-    Policy engine events from other components, or it can be eliminated to record
-    these events as part of the application root log. -->
-
-  <appender name="EELFAudit"
-            class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${auditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-  <appender name="EELFMetrics"
-            class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} -
-        %msg%n"</pattern> -->
-      <pattern>${metricPattern}</pattern>
-    </encoder>
-  </appender>
-
-
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-
-  <appender name="EELFError"
-            class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <encoder>
-      <pattern>${errorPattern}</pattern>
-    </encoder>
-  </appender>
-
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-
-  <appender name="EELFDebug"
-            class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
-    <rollingPolicy
-            class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern>
-      <!--<maxHistory>30</maxHistory>-->
-    </rollingPolicy>
-    <encoder>
-      <pattern>${debugPattern}</pattern>
-    </encoder>
-  </appender>
-
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
-
-
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-    <appender-ref ref="asyncEELFMetrics" />
-  </logger>
-
-  <logger name="com.att.eelf.error" level="debug" additivity="false">
-    <appender-ref ref="asyncEELFError" />
-  </logger>
-  <root level="INFO">
-    <appender-ref ref="asyncEELFDebug" />
-  </root>
-
-</configuration>
\ No newline at end of file
diff --git a/kubernetes/mso/resources/config/mariadb/conf.d/mariadb1.cnf b/kubernetes/mso/resources/config/mariadb/conf.d/mariadb1.cnf
deleted file mode 100644 (file)
index 39ed022..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-# Example MySQL config file for medium systems.
-#
-# This is for a system with memory 8G where MySQL plays
-# an important part, or systems up to 128M where MySQL is used together with
-# other programs (such as a web server)
-#
-# In this file, you can use all long options that a program supports.
-# If you want to know which options a program supports, run the program
-# with the "--help" option.
-
-# The following options will be passed to all MySQL clients
-##[client]
-##user            = root
-##port            = 3306
-##socket          = //opt/app/mysql/mysql.sock
-
-# Here follows entries for some specific programs
-
-# The MySQL server
-[mysqld]
-##performance_schema
-
-slow_query_log =ON
-long_query_time =2
-slow_query_log_file =//var/lib/mysql/slow_query.log
-
-skip-external-locking
-explicit_defaults_for_timestamp = true
-skip-symbolic-links
-local-infile = 0
-key_buffer_size = 16M
-max_allowed_packet = 4M
-table_open_cache = 100
-sort_buffer_size = 512K
-net_buffer_length = 8K
-read_buffer_size = 256K
-read_rnd_buffer_size = 512K
-myisam_sort_buffer_size = 8M
-max_connections = 500
-lower_case_table_names = 1
-thread_stack = 256K
-thread_cache_size = 25
-query_cache_size = 8M
-query_cache_type = 0
-query_prealloc_size = 512K
-query_cache_limit = 1M
-
-# Password validation
-##plugin-load-add=simple_password_check.so
-##simple_password_check_other_characters=0
-
-# Audit Log settings
-plugin-load-add=server_audit.so
-server_audit=FORCE_PLUS_PERMANENT
-server_audit_file_path=//var/lib/mysql/audit.log
-server_audit_file_rotate_size=50M
-server_audit_events=CONNECT,QUERY,TABLE
-server_audit_logging=on
-
-# Don't listen on a TCP/IP port at all. This can be a security enhancement,
-# if all processes that need to connect to mysqld run on the same host.
-# All interaction with mysqld must be made via Unix sockets or named pipes.
-# Note that using this option without enabling named pipes on Windows
-# (via the "enable-named-pipe" option) will render mysqld useless!
-#
-#skip-networking
-
-# Replication Master Server (default)
-# binary logging is required for replication
-##log-bin=//var/lib/mysql/mysql-bin
-
-# binary logging format - mixed recommended
-binlog_format=row
-
-# required unique id between 1 and 2^32 - 1
-# defaults to 1 if master-host is not set
-# but will not function as a master if omitted
-
-# Replication Slave (comment out master section to use this)
-#
-# To configure this host as a replication slave, you can choose between
-# two methods :
-#
-# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
-#    the syntax is:
-#
-#    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
-#    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
-#
-#    where you replace <host>, <user>, <password> by quoted strings and
-#    <port> by the master's port number (3306 by default).
-#
-#    Example:
-#
-#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
-#    MASTER_USER='joe', MASTER_PASSWORD='secret';
-#
-# OR
-#
-# 2) Set the variables below. However, in case you choose this method, then
-#    start replication for the first time (even unsuccessfully, for example
-#    if you mistyped the password in master-password and the slave fails to
-#    connect), the slave will create a master.info file, and any later
-#    change in this file to the variables' values below will be ignored and
-#    overridden by the content of the master.info file, unless you shutdown
-#    the slave server, delete master.info and restart the slaver server.
-#    For that reason, you may want to leave the lines below untouched
-#    (commented) and instead use CHANGE MASTER TO (see above)
-#
-# required unique id between 2 and 2^32 - 1
-# (and different from the master)
-# defaults to 2 if master-host is set
-# but will not function as a slave if omitted
-#server-id       = 2
-#
-# The replication master for this slave - required
-#master-host     =   <hostname>
-#
-# The username the slave will use for authentication when connecting
-# to the master - required
-#master-user     =   <username>
-#
-# The password the slave will authenticate with when connecting to
-# the master - required
-#master-password =   <password>
-#
-# The port the master is listening on.
-# optional - defaults to 3306
-#master-port     =  <port>
-#
-# binary logging - not required for slaves, but recommended
-#log-bin=mysql-bin
-
-# Uncomment the following if you are using InnoDB tables
-##innodb_data_home_dir = //opt/app/mysql/data
-##innodb_data_file_path = ibdata1:20M:autoextend:max:32G
-##innodb_log_group_home_dir = //opt/app/mysql/iblogs
-# You can set .._buffer_pool_size up to 50 - 80 %
-# of RAM but beware of setting memory usage too high
-#innodb_buffer_pool_size = 6380M
-#innodb_additional_mem_pool_size = 2M
-# Set .._log_file_size to 25 % of buffer pool size
-innodb_log_file_size = 150M
-innodb_log_files_in_group = 3
-innodb_log_buffer_size = 8M
-#innodb_flush_log_at_trx_commit = 1
-innodb_lock_wait_timeout = 50
-innodb_autoextend_increment = 100
-expire_logs_days = 8
-open_files_limit = 2000
-transaction-isolation=READ-COMMITTED
-####### Galera parameters #######
-## Galera Provider configuration
-wsrep_provider=/usr/lib/galera/libgalera_smm.so
-wsrep_provider_options="gcache.size=2G; gcache.page_size=1G"
-## Galera Cluster configuration
-wsrep_cluster_name="MSO-automated-tests-cluster"
-wsrep_cluster_address="gcomm://"
-#wsrep_cluster_address="gcomm://mariadb1,mariadb2,mariadb3"
-##wsrep_cluster_address="gcomm://192.169.3.184,192.169.3.185,192.169.3.186"
-## Galera Synchronization configuration
-wsrep_sst_method=rsync
-#wsrep_sst_method=xtrabackup-v2
-#wsrep_sst_auth="sstuser:Mon#2o!6"
-## Galera Node configuration
-wsrep_node_name="mariadb1"
-##wsrep_node_address="192.169.3.184"
-wsrep_on=ON
-## Status notification
-#wsrep_notify_cmd=/opt/app/mysql/bin/wsrep_notify
-#######
-
-
-[mysqldump]
-quick
-max_allowed_packet = 16M
-
-[mysql]
-no-auto-rehash
-# Remove the next comment character if you are not familiar with SQL
-#safe-updates
-
-[myisamchk]
-key_buffer_size = 20971520
-
-##[mysqlhotcopy]
-##interactive-timeout
-##[mysqld_safe]
-##malloc-lib=//opt/app/mysql/local/lib/libjemalloc.so.1
-##log-error=//opt/app/mysql/log/mysqld.log
-
-general_log_file        = /var/log/mysql/mysql.log
-general_log             = 1
diff --git a/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/02-load-additional-changes.sh b/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/02-load-additional-changes.sh
deleted file mode 100644 (file)
index a163801..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-#
-# ============LICENSE_START==========================================
-# ===================================================================
-# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-# ===================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#        http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END============================================
-#
-# ECOMP and OpenECOMP are trademarks
-# and service marks of AT&T Intellectual Property.
-#
-#
-
-# TODO: update this script to work with the new DB schema
-
-# mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "UPDATE heat_environment SET ENVIRONMENT='parameters:\n  vfw_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n  vfw_flavor_name: 4 GB General Purpose v1\n  public_net_id: 00000000-0000-0000-0000-000000000000\n  unprotected_private_net_id: zdfw1fwl01_unprotected\n  protected_private_net_id: zdfw1fwl01_protected\n  ecomp_private_net_id: oam_ecomp\n  unprotected_private_net_cidr: 192.168.10.0/24\n  protected_private_net_cidr: 192.168.20.0/24\n  ecomp_private_net_cidr: 192.168.9.0/24\n  vfw_private_ip_0: 192.168.10.100\n  vfw_private_ip_1: 192.168.20.100\n  vfw_private_ip_2: 192.168.9.100\n  vpg_private_ip_0: 192.168.10.200\n  vpg_private_ip_1: 192.168.9.200\n  vsn_private_ip_0: 192.168.20.250\n  vsn_private_ip_1: 192.168.9.250\n  vfw_name_0: zdfw1fwl01fwl01\n  vpg_name_0: zdfw1fwl01pgn01\n  vsn_name_0: zdfw1fwl01snk01\n  vnf_id: vFirewall_demo_app\n  vf_module_id: vFirewall\n  webserver_ip: 162.242.237.182\n  dcae_collector_ip: 192.168.9.1\n  key_name: vfw_key\n  pub_key: INSERT YOUR PUBLIC KEY HERE' where id=5;" mso_catalog
diff --git a/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql b/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql
deleted file mode 100644 (file)
index 0b3dde5..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright © 2017 AT&T, Amdocs, Bell Canada
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*       http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-SOURCE ../default/create_mso_db-default.sql
-
-USE `mso_requests`;
-DROP USER 'mso';
-CREATE USER 'mso';
-GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION;
-FLUSH PRIVILEGES;
-
-USE `mso_catalog`;
-DROP USER 'catalog';
-CREATE USER 'catalog';
-GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION;
-FLUSH PRIVILEGES;
-
-LOCK TABLES `NETWORK_RESOURCE` WRITE;
-/*!40000 ALTER TABLE `NETWORK_RESOURCE` DISABLE KEYS */;
-/*!40000 ALTER TABLE `NETWORK_RESOURCE` ENABLE KEYS */;
-insert into NETWORK_RESOURCE (id, NETWORK_TYPE, VERSION_STR, ORCHESTRATION_MODE ,DESCRIPTION, TEMPLATE_ID, NEUTRON_NETWORK_TYPE, AIC_VERSION_MIN) values
-(1, "vlan",'1',"NEUTRON","Cool network",1,"BASIC","0");
-UNLOCK TABLES;
-
-LOCK TABLES `NETWORK_RECIPE` WRITE;
-/*!40000 ALTER TABLE `NETWORK_RECIPE` DISABLE KEYS */;
-INSERT INTO `NETWORK_RECIPE`(`NETWORK_TYPE`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES
-('vlan','CREATE','1',NULL,'/active-bpel/services/REST/CreateNetwork',NULL,180,NULL),
-('vlan','DELETE','1',NULL,'/active-bpel/services/REST/DeleteNetwork',NULL,180,NULL);
-/*!40000 ALTER TABLE `NETWORK_RECIPE` ENABLE KEYS */;
-UNLOCK TABLES;
-
-LOCK TABLES `VNF_RECIPE` WRITE;
-INSERT INTO `VNF_RECIPE`(`ID`, `VNF_TYPE`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES
-(100,'VPE','CREATE','1','','/active-bpel/services/REST/CreateGenericVNF','',180,'SDN-ETHERNET-INTERNET'),
-(101,'VPE','DELETE','1','','/active-bpel/services/REST/DeleteGenericVNF','',180,'SDN-ETHERNET-INTERNET');
-UNLOCK TABLES;
-
-LOCK TABLES `VF_MODULE` WRITE;
-INSERT INTO `VF_MODULE`(`ID`, `TYPE`, `ASDC_SERVICE_MODEL_VERSION`, `MODEL_NAME`, `MODEL_VERSION`, `IS_BASE`, `VNF_RESOURCE_ID`) VALUES
-(100,'dns-servicetest/DNSResource-1::VF_DNS::module-1','1.0','VF_DNS::module-1','1.0','1','7'),
-(101,'dns-servicetest/DNSResource-1::Mog111..mog_psm..module-1','1.0','Mog111..mog_psm..module-1','1.0','1','7');
-UNLOCK TABLES;
-
-LOCK TABLES `VNF_RESOURCE` WRITE;
-INSERT INTO `VNF_RESOURCE`(`ID`, `VNF_TYPE`, `ASDC_SERVICE_MODEL_VERSION`, `ORCHESTRATION_MODE`, `MODEL_VERSION`) VALUES
-(100,'dns-servicetest/DNSResource-1','1.0','VF_DNS::module-1','1.0');
-UNLOCK TABLES;
-
-DELETE FROM HEAT_TEMPLATE_PARAMS;
-DELETE FROM HEAT_TEMPLATE;
-DELETE FROM HEAT_ENVIRONMENT;
diff --git a/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql b/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql
deleted file mode 100644 (file)
index ad303db..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Copyright © 2017 AT&T, Amdocs, Bell Canada
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*       http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-SOURCE ../../camunda/mariadb_engine_7.7.3-ee.sql
-
---
--- Create an admin user automatically for the cockpit
---
-SOURCE ../../camunda/mysql_create_camunda_admin.sql
-
---
--- Current Database: `mso_requests`
---
-
-DROP DATABASE IF EXISTS `mso_requests`;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mso_requests` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `mso_requests`;
-
-SOURCE ../../main-schemas/MySQL-Requests-schema.sql
-
---
--- Current Database: `mso_catalog`
---
-
-DROP DATABASE IF EXISTS `mso_catalog`;
-
-CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mso_catalog` /*!40100 DEFAULT CHARACTER SET latin1 */;
-
-USE `mso_catalog`;
-
-SOURCE ../../main-schemas/MySQL-Catalog-schema.sql
-
-SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
-
-INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','Contrail30-l2nodhcp','1',NULL,'heat_template_version: 2015-04-30\n\ndescription:\n  HOT template that creates a Contrail Virtual Network with L2NODHCP\n\nparameters:\n  network_name:\n     type: string\n     description: Name of direct network (e.g. core, dmz)\n     default: ECOMPNetwork\n  shared:\n     type: boolean\n     description: Shared amongst tenants\n     default: False\n  external:\n     type: boolean\n     description: router_external for the VirtualNetwork\n     default: False\n  route_targets:\n    type: comma_delimited_list\n    description: Network route-targets (RT)\n    default: \"\"\n  subnet_list:\n     type: json\n     description: Network subnets\n     default: []\n  policy_refs:\n     type: comma_delimited_list\n     description: Policies referenced by Network\n     default: \"\"\n  policy_refsdata:\n     type: json\n     description: Policies referenced by Network\n     default: []\n  route_table_refs:\n     type: comma_delimited_list\n     description: Route Tables referenced by Network\n     default: \"\"\n  virtual_network_properties_allow_transit:\n     type: boolean\n     description: allow_transit for the VirtualNetwork\n     default: True\n  virtual_network_properties_forwarding_mode:\n     type: string\n     description: forwarding_mode for the VirtualNetwork\n     default: l2\n  virtual_network_properties_rpf:\n     type: string\n     description: rpf for the VirtualNetwork\n     default: disable\n  flood_unknown_unicast:\n     type: boolean\n     description: flood_unknown_unicast for the VirtualNetwork\n     default: True\n\noutputs:\n  network_id:\n    description: Openstack network identifier\n    value: { get_resource: network }\n  network_fqdn:\n    description: Openstack network identifier\n    value: {list_join: [\':\', { get_attr: [network, fq_name] } ] }\n\nresources:\n  networkIpam:\n    type: OS::ContrailV2::NetworkIpam\n    properties:\n      name: { get_param: network_name }\n\n  network:\n    type: OS::ContrailV2::VirtualNetwork\n    properties:\n      name: { get_param: network_name }\n      is_shared: {get_param: shared}\n      router_external: { get_param: external }\n      route_target_list:\n        {\n           route_target_list_route_target: { get_param: route_targets }\n        }\n      network_ipam_refs: [{ get_resource: networkIpam }]\n      network_ipam_refs_data:\n        [\n          {\n             network_ipam_refs_data_ipam_subnets: { get_param: subnet_list }\n          }\n        ]\n      network_policy_refs:  { get_param: policy_refs }\n      network_policy_refs_data: { get_param: policy_refsdata }\n      route_table_refs: { get_param: route_table_refs }\n      flood_unknown_unicast: { get_param: flood_unknown_unicast }  \n      virtual_network_properties:\n        {\n           virtual_network_properties_allow_transit: { get_param: virtual_network_properties_allow_transit },\n           virtual_network_properties_forwarding_mode: { get_param: virtual_network_properties_forwarding_mode },\n           virtual_network_properties_rpf: { get_param: virtual_network_properties_rpf },\n        }\n',10,'MANUAL RECORD','2017-10-05 18:52:03');
-
-INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','Contrail30-gndirect','1',NULL,'heat_template_version: 2015-04-30\n\ndescription:\n  HOT template that creates a Contrail Virtual Network for GNDIRECT\n\nparameters:\n  network_name:\n     type: string\n     description: Name of direct network (e.g. core, dmz)\n     default: ECOMPNetwork\n  shared:\n     type: boolean\n     description: Shared amongst tenants\n     default: False\n  external:\n     type: boolean\n     description: router_external for the VirtualNetwork\n     default: False\n  route_targets:\n    type: comma_delimited_list\n    description: Network route-targets (RT)\n    default: \"\"\n  subnet_list:\n     type: json\n     description: Network subnets\n     default: []\n  policy_refs:\n     type: comma_delimited_list\n     description: Policies referenced by Network\n     default: \"\"\n  policy_refsdata:\n     type: json\n     description: Policies referenced by Network\n     default: []\n  route_table_refs:\n     type: comma_delimited_list\n     description: Route Tables referenced by Network\n     default: \"\"\n  virtual_network_properties_rpf:\n     type: string\n     description: rpf for the VirtualNetwork\n     default: disable\n\noutputs:\n  network_id:\n    description: Openstack network identifier\n    value: { get_resource: network }\n  network_fqdn:\n    description: Openstack network identifier\n    value: {list_join: [\':\', { get_attr: [network, fq_name] } ] }\n\nresources:\n  networkIpam:\n    type: OS::ContrailV2::NetworkIpam\n    properties:\n      name: { get_param: network_name }\n\n  network:\n    type: OS::ContrailV2::VirtualNetwork\n    properties:\n      name: { get_param: network_name }\n      is_shared: {get_param: shared}\n      router_external: { get_param: external }\n      route_target_list:\n        {\n           route_target_list_route_target: { get_param: route_targets }\n        }\n      network_ipam_refs: [{ get_resource: networkIpam }]\n      network_ipam_refs_data:\n        [\n          {\n             network_ipam_refs_data_ipam_subnets: { get_param: subnet_list }\n          }\n        ]\n      network_policy_refs:  { get_param: policy_refs }\n      network_policy_refs_data: { get_param: policy_refsdata }\n      route_table_refs: { get_param: route_table_refs }\n      virtual_network_properties:\n        {\n           virtual_network_properties_rpf: { get_param: virtual_network_properties_rpf }\n        }\n',10,'MANUAL RECORD','2017-10-05 18:52:03');
-
-INSERT INTO `heat_template` (`ARTIFACT_UUID`,`NAME`,`VERSION`,`BODY`,`TIMEOUT_MINUTES`,`DESCRIPTION`,`CREATION_TIMESTAMP`,`ARTIFACT_CHECKSUM`) VALUES ('efee1d84-b8ec-11e7-abc4-cec278b6b50a','Generic NeutronNet','1','heat_template_version: 2013-05-23\n\ndescription:\n  HOT template that creates a Generic Neutron Network\n\nparameters:\n  network_name:\n     type: string\n     description: Name of direct network (e.g. core, dmz)\n     default: ECOMPNetwork\n  network_subnet_name:\n     type: string\n     description: Name of subnet network (e.g. core, dmz)\n     default: ECOMPNetwork\n  network_subnet_cidr:\n     type: string\n     description: CIDR of subnet network (e.g. core, dmz)\n     default: 10.0.0.0/16\n\noutputs:\n  network_id:\n    description: Openstack network identifier\n    value: { get_resource: network }\n  network_fqdn:\n    description: Openstack network identifier\n    value: {list_join: [\':\', { get_attr: [network, fq_name] } ] }\n\nresources:\n              network:\n                type: OS::Neutron::Net\n                properties:\n                name: {get_param: network_name }\n\n              subnet:\n                type: OS::Neutron::Subnet\n                properties:\n                name: { get_param: network_subnet_name  }\n                network_id: { get_resource: network }\n                cidr: { get_param: network_subnet_cidr }\n                enable_dhcp: false\n',10,'Generic Neutron Template','2017-10-26 14:44:00', 'MANUAL RECORD');
-
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','external','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','flood_unknown_unicast','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','network_name','','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','policy_refs','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','policy_refsdata','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','route_table_refs','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','route_targets','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','shared','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','virtual_network_properties_allow_transit','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','virtual_network_properties_forwarding_mode','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','virtual_network_properties_rpf','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','external','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','network_name','','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','policy_refs','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','policy_refsdata','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','route_table_refs','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','route_targets','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','shared','\0','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','virtual_network_properties_rpf','\0','string',NULL);
-
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (1,'CONTRAIL_BASIC','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (2,'CONTRAIL_BASIC','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (3,'CONTRAIL_BASIC','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (4,'CONTRAIL_SHARED','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (5,'CONTRAIL_SHARED','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (6,'CONTRAIL_SHARED','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (7,'CONTRAIL_EXTERNAL','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (8,'CONTRAIL_EXTERNAL','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (9,'CONTRAIL_EXTERNAL','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (10,'CONTRAIL30_BASIC','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (11,'CONTRAIL30_BASIC','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (12,'CONTRAIL30_BASIC','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (13,'CONTRAIL30_MPSCE','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (14,'CONTRAIL30_MPSCE','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (15,'CONTRAIL30_MPSCE','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (16,'VID_DEFAULT','createInstance','VID_DEFAULT recipe to create network if no custom BPMN flow is found','/mso/async/services/CreateNetworkInstance',NULL,180,NULL,'2017-10-05 18:52:03','1.0');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (17,'VID_DEFAULT','updateInstance','VID_DEFAULT recipe to update network if no custom BPMN flow is found','/mso/async/services/UpdateNetworkInstance',NULL,180,NULL,'2017-10-05 18:52:03','1.0');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (18,'VID_DEFAULT','deleteInstance','VID_DEFAULT recipe to delete network if no custom BPMN flow is found','/mso/async/services/DeleteNetworkInstance',NULL,180,NULL,'2017-10-05 18:52:03','1.0');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (19,'CONTRAIL30_L2NODHCP','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (20,'CONTRAIL30_L2NODHCP','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (21,'CONTRAIL30_L2NODHCP','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (22,'CONTRAIL30_GNDIRECT','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (23,'CONTRAIL30_GNDIRECT','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (24,'CONTRAIL30_GNDIRECT','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1');
-
-INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('48cc36cc-a9fe-11e7-8b4b-0242ac120002','VID_DEFAULT','48cd56c8-a9fe-11e7-8b4b-0242ac120002','1.0','Default service for VID to use for infra APIH orchestration1707MIGRATED1707MIGRATED','2017-10-05 18:52:03',NULL);
-INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('48cc3acd-a9fe-11e7-8b4b-0242ac120002','*','48ce2256-a9fe-11e7-8b4b-0242ac120002','1.0','Default service to use for infra APIH orchestration1707MIGRATED1707MIGRATED','2017-10-05 18:52:03',NULL);
-
-INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (1,'createInstance','1','VID_DEFAULT recipe to create service-instance if no custom BPMN flow is found','/mso/async/services/CreateGenericALaCarteServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','48cc36cc-a9fe-11e7-8b4b-0242ac120002');
-INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (2,'deleteInstance','1','VID_DEFAULT recipe to delete service-instance if no custom BPMN flow is found','/mso/async/services/DeleteGenericALaCarteServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','48cc36cc-a9fe-11e7-8b4b-0242ac120002');
-INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (3,'createInstance','1','DEFAULT recipe to create service-instance if no custom BPMN flow is found','/mso/async/services/CreateGenericALaCarteServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','48cc3acd-a9fe-11e7-8b4b-0242ac120002');
-INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (4,'deleteInstance','1','DEFAULT recipe to delete service-instance if no custom BPMN flow is found','/mso/async/services/DeleteGenericALaCarteServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','48cc3acd-a9fe-11e7-8b4b-0242ac120002');
-
---
--- Custom Reciepe for the VoLTE service added temporarily
---
-
-INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('dfcd7471-16c7-444e-8268-d4c50d90593a','UUI_DEFAULT','dfcd7471-16c7-444e-8268-d4c50d90593a','1.0','Default service for UUI to use for infra APIH orchestration1707MIGRATED1707MIGRATED','2017-10-23 18:52:03',NULL);
-
-INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (11,'createInstance','1','Custom recipe to create E2E service-instance if no custom BPMN flow is found','/mso/async/services/CreateCustomE2EServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','dfcd7471-16c7-444e-8268-d4c50d90593a');
-INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (12,'deleteInstance','1','Custom recipe to delete E2E service-instance if no custom BPMN flow is found','/mso/async/services/DeleteCustomE2EServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','dfcd7471-16c7-444e-8268-d4c50d90593a');
-
-INSERT INTO `temp_network_heat_template_lookup` (`NETWORK_RESOURCE_MODEL_NAME`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`) VALUES ('CONTRAIL30_GNDIRECT','4885c7a1-a9fe-11e7-8b4b-0242ac120002','3.0',NULL);
-INSERT INTO `temp_network_heat_template_lookup` (`NETWORK_RESOURCE_MODEL_NAME`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`) VALUES ('CONTRAIL30_L2NODHCP','4885c198-a9fe-11e7-8b4b-0242ac120002','3.0',NULL);
-INSERT INTO `temp_network_heat_template_lookup` (`NETWORK_RESOURCE_MODEL_NAME`, `HEAT_TEMPLATE_ARTIFACT_UUID`,`AIC_VERSION_MIN` , `AIC_VERSION_MAX` ) VALUES ('Generic NeutronNet','efee1d84-b8ec-11e7-abc4-cec278b6b50a','2.0','NULL');
-
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (1,'*','VOLUME_GROUP',NULL,'CREATE',NULL,'1','Recipe Match All for','/mso/async/services/createCinderVolumeV1',null,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (2,'*','VOLUME_GROUP',NULL,'DELETE',NULL,'1','Recipe Match All for','/mso/async/services/deleteCinderVolumeV1',null,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (3,'*','VOLUME_GROUP',NULL,'UPDATE',NULL,'1','Recipe Match All for','/mso/async/services/updateCinderVolumeV1',null,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (4,NULL,'VOLUME_GROUP',NULL,'CREATE_VF_MODULE_VOL',NULL,'1','Recipe Match All for','/mso/async/services/CreateVfModuleVolume',null,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (5,NULL,'VOLUME_GROUP',NULL,'DELETE_VF_MODULE_VOL',NULL,'1','Recipe Match All for','/mso/async/services/DeleteVfModuleVolume',null,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (6,NULL,'VOLUME_GROUP',NULL,'UPDATE_VF_MODULE_VOL',NULL,'1','Recipe Match All for','/mso/async/services/UpdateVfModuleVolume',null,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (7,NULL,'volumeGroup','VID_DEFAULT','createInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/CreateVfModuleVolumeInfraV1',null,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (8,NULL,'volumeGroup','VID_DEFAULT','deleteInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/DeleteVfModuleVolumeInfraV1',null,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (9,NULL,'volumeGroup','VID_DEFAULT','updateInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/UpdateVfModuleVolumeInfraV1',null,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (10,NULL,'vfModule','VID_DEFAULT','createInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/CreateVfModuleInfra',null,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (11,NULL,'vfModule','VID_DEFAULT','deleteInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/DeleteVfModuleInfra',null,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (12,NULL,'vfModule','VID_DEFAULT','updateInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/UpdateVfModuleInfra',null,180,'2017-10-05 18:52:03');
-
---
--- Default Reciepe for the VNF componnets added start #SO-334, to unblock the VNF operations
---
-
-INSERT INTO `vnf_components_recipe` (`VNF_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`,`VNF_COMPONENT_TYPE`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES  (NULL,'POLICY_DEFAULT','createInstance','1','Recipe Match POLICY_DEFAULT for VF Modules if no custom flow exists','/mso/async/services/CreateVfModuleInfra','vfModule',NULL,180,NULL);
-INSERT INTO `vnf_components_recipe` (`VNF_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`,`VNF_COMPONENT_TYPE`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES (NULL,'POLICY_DEFAULT','updateInstance','1','Recipe Match POLICY_DEFAULT for VF Modules if no custom flow exists','/mso/async/services/UpdateVfModuleInfra','vfModule',NULL,180,NULL);
-INSERT INTO `vnf_components_recipe` (`VNF_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`,`VNF_COMPONENT_TYPE`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES (NULL,'POLICY_DEFAULT','deleteInstance','1','Recipe Match POLICY_DEFAULT for VF Modules if no custom flow exists','/mso/async/services/DeleteVfModuleInfra','vfModule',NULL,180,NULL);
---
--- Default Reciepe for the VNF componnets added End
---
-
-INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (1,NULL,'CREATE',NULL,'1','*','Recipe Match All for VNFs if no custom flow exists','/mso/workflow/services/CreateGenericVNFV1',NULL,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (2,NULL,'DELETE',NULL,'1','*','Recipe Match All for VNFs if no custom flow exists','/mso/async/services//deleteGenericVNFV1',NULL,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (3,NULL,'UPDATE',NULL,'1','*','Recipe Match All for VNFs if no custom flow exists','/mso/workflow/services/updateGenericVNFV1',NULL,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (4,'*','CREATE_VF_MODULE',NULL,'1',NULL,'Recipe Match All for VNFs if no custom flow exists','/mso/async/services/CreateVfModule',NULL,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (5,'*','DELETE_VF_MODULE',NULL,'1',NULL,'Recipe Match All for VNFs if no custom flow exists','/mso/async/services/DeleteVfModule',NULL,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (6,'*','UPDATE_VF_MODULE',NULL,'1',NULL,'Recipe Match All for VNFs if no custom flow exists','/mso/async/services/UpdateVfModule',NULL,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (7,NULL,'createInstance',NULL,'1','VID_DEFAULT','VID_DEFAULT recipe to create VNF if no custom BPMN flow is found','/mso/async/services/CreateVnfInfra',NULL,180,'2017-10-05 18:52:03');
-INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (8,NULL,'deleteInstance',NULL,'1','VID_DEFAULT','VID_DEFAULT recipe to delete VNF if no custom BPMN flow is found','/mso/async/services/DeleteVnfInfra',NULL,180,'2017-10-05 18:52:03');
-
-SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
diff --git a/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql b/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql
deleted file mode 100644 (file)
index 2bb939b..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright © 2017 AT&T, Amdocs, Bell Canada
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*       http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-SOURCE ../default/create_mso_db-default.sql
-
-USE `mso_requests`;
-DROP USER 'mso';
-CREATE USER 'mso';
-GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION;
-FLUSH PRIVILEGES;
-
-USE `mso_catalog`;
-DROP USER 'catalog';
-CREATE USER 'catalog';
-GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION;
-FLUSH PRIVILEGES;
-
-SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
-
-INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID1','base_vlb.env','1.0','BASE VLB ENV file','parameters:\n  vlb_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n  vlb_flavor_name: 4 GB General Purpose v1\n  public_net_id: 00000000-0000-0000-0000-000000000000\n  vlb_private_net_id: zdfw1lb01_private\n  ecomp_private_net_id: oam_ecomp\n  vlb_private_net_cidr: 192.168.10.0/24\n  ecomp_private_net_cidr: 192.168.9.0/24\n  vlb_private_ip_0: 192.168.10.111\n  vlb_private_ip_1: 192.168.9.111\n  vdns_private_ip_0: 192.168.10.211\n  vdns_private_ip_1: 192.168.9.211\n  vlb_name_0: zdfw1lb01lb01\n  vdns_name_0: zdfw1lb01dns01\n  vnf_id: vLoadBalancer_demo_app\n  vf_module_id: vLoadBalancer\n  webserver_ip: 162.242.237.182\n  dcae_collector_ip: 192.168.9.1\n  key_name: vlb_key\n  pub_key: INSERT YOUR PUBLIC KEY HERE','MANUAL RECORD','2016-11-14 13:04:07');
-
-INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID2','dnsscaling.env','1.0','DNS Scaling ENV file','parameters:\n  vlb_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n  vlb_flavor_name: 4 GB General Purpose v1\n  public_net_id: 00000000-0000-0000-0000-000000000000\n  vlb_private_net_id: zdfw1lb01_private\n  ecomp_private_net_id: oam_ecomp\n  vlb_private_ip_0: 192.168.10.111\n  vlb_private_ip_1: 192.168.9.111\n  vdns_private_ip_0: 192.168.10.222\n  vdns_private_ip_1: 192.168.9.222\n  vdns_name_0: zdfw1lb01dns02\n  vnf_id: vLoadBalancer_demo_app\n  vf_module_id: vLoadBalancer\n  webserver_ip: 162.242.237.182\n  dcae_collector_ip: 192.168.9.1\n  key_name: vlb_key\n  pub_key: INSERT YOUR PUBLIC KEY HERE','MANUAL RECORD','2016-11-14 13:04:07');
-
-INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID1','base_vlb.yaml','1.0','Base VLB Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vLoadBalancer/vDNS demo app for OpenECOMP\n\nparameters:\n  vlb_image_name:\n    type: string\n    label: Image name or ID\n    description: Image to be used for compute instance\n  vlb_flavor_name:\n    type: string\n    label: Flavor\n    description: Type of instance (flavor) to be used\n  public_net_id:\n    type: string\n    label: Public network name or ID\n    description: Public network that enables remote connection to VNF\n  vlb_private_net_id:\n    type: string\n    label: vLoadBalancer private network name or ID\n    description: Private network that connects vLoadBalancer with vDNSs\n  ecomp_private_net_id:\n    type: string\n    label: ECOMP management network name or ID\n    description: Private network that connects ECOMP component and the VNF\n  vlb_private_net_cidr:\n    type: string\n    label: vLoadBalancer private network CIDR\n    description: The CIDR of the vLoadBalancer private network\n  ecomp_private_net_cidr:\n    type: string\n    label: ECOMP private network CIDR\n    description: The CIDR of the protected private network\n  vlb_private_ip_0:\n    type: string\n    label: vLoadBalancer private IP address towards the private network\n    description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs\n  vlb_private_ip_1:\n    type: string\n    label: vLoadBalancer private IP address towards the ECOMP management network\n    description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components\n  vdns_private_ip_0:\n    type: string\n    label: vDNS private IP address towards the private network\n    description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer\n  vdns_private_ip_1:\n    type: string\n    label: vDNS private IP address towards the ECOMP management network\n    description: Private IP address that is assigned to the vDNS to communicate with ECOMP components\n  vlb_name_0:\n    type: string\n    label: vLoadBalancer name\n    description: Name of the vLoadBalancer\n  vdns_name_0:\n    type: string\n    label: vDNS name\n    description: Name of the vDNS\n  vnf_id:\n    type: string\n    label: VNF ID\n    description: The VNF ID is provided by ECOMP\n  vf_module_id:\n    type: string\n    label: vFirewall module ID\n    description: The vLoadBalancer Module ID is provided by ECOMP\n  webserver_ip:\n    type: string\n    label: Webserver IP address\n    description: IP address of the webserver that hosts the source code and binaries\n  dcae_collector_ip:\n    type: string\n    label: DCAE collector IP address\n    description: IP address of the DCAE collector\n  key_name:\n    type: string\n    label: Key pair name\n    description: Public/Private key pair name\n  pub_key:\n    type: string\n    label: Public key\n    description: Public key to be installed on the compute instance\n\nresources:\n  my_keypair:\n    type: OS::Nova::KeyPair\n    properties:\n      name: { get_param: key_name }\n      public_key: { get_param: pub_key }\n      save_private_key: false\n\n  vlb_private_network:\n    type: OS::Neutron::Net\n    properties:\n      name: { get_param: vlb_private_net_id }\n\n  vlb_private_subnet:\n    type: OS::Neutron::Subnet\n    properties:\n      name: { get_param: vlb_private_net_id }\n      network_id: { get_resource: vlb_private_network }\n      cidr: { get_param: vlb_private_net_cidr }\n\n  vlb_0:\n    type: OS::Nova::Server\n    properties:\n      image: { get_param: vlb_image_name }\n      flavor: { get_param: vlb_flavor_name }\n      name: { get_param: vlb_name_0 }\n      key_name: { get_resource: my_keypair }\n      networks:\n        - network: { get_param: public_net_id }\n        - port: { get_resource: vlb_private_0_port }\n        - port: { get_resource: vlb_private_1_port }\n      metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n      user_data_format: RAW\n      user_data:\n        str_replace:\n          params:\n            __webserver__: { get_param: webserver_ip }\n            __dcae_collector_ip__: { get_param: dcae_collector_ip }\n            __local_private_ipaddr__: { get_param: vlb_private_ip_0 }\n          template: |\n            #!/bin/bash\n\n            WEBSERVER_IP=__webserver__\n            DCAE_COLLECTOR_IP=__dcae_collector_ip__\n            LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n            mkdir /opt/config\n            cd /opt\n            wget http://$WEBSERVER_IP/demo_repo/v_lb_init.sh\n            wget http://$WEBSERVER_IP/demo_repo/vlb.sh\n            chmod +x v_lb_init.sh\n            chmod +x vlb.sh\n            echo $WEBSERVER_IP > config/webserver_ip.txt\n            echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt\n            echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n            echo \"no\" > config/install.txt\n            LOCAL_PUBLIC_IPADDR=$(ifconfig eth0 | grep \"inet addr\" | tr -s \' \' | cut -d\' \' -f3 | cut -d\':\' -f2)\n            echo $LOCAL_PUBLIC_IPADDR > config/local_public_ipaddr.txt\n            mv vlb.sh /etc/init.d\n            update-rc.d vlb.sh defaults\n            ./v_lb_init.sh\n\n  vlb_private_0_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_resource: vlb_private_network }\n      fixed_ips: [{\"subnet\": { get_resource: vlb_private_subnet }, \"ip_address\": { get_param: vlb_private_ip_0 }}]\n\n  vlb_private_1_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_param: ecomp_private_net_id }\n      fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vlb_private_ip_1 }}]\n\n  vdns_0:\n    type: OS::Nova::Server\n    properties:\n      image: { get_param: vlb_image_name }\n      flavor: { get_param: vlb_flavor_name }\n      name: { get_param: vdns_name_0 }\n      key_name: { get_resource: my_keypair }\n      networks:\n        - network: { get_param: public_net_id }\n        - port: { get_resource: vdns_private_0_port }\n        - port: { get_resource: vdns_private_1_port }\n      metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n      user_data_format: RAW\n      user_data:\n        str_replace:\n          params:\n            __webserver__: { get_param: webserver_ip }\n            __lb_oam_int__ : { get_param: vlb_private_ip_1 }\n            __lb_private_ipaddr__: { get_param: vlb_private_ip_0 }\n            __local_private_ipaddr__: { get_param: vdns_private_ip_0 }\n          template: |\n            #!/bin/bash\n\n            WEBSERVER_IP=__webserver__\n            LB_OAM_INT=__lb_oam_int__\n            LB_PRIVATE_IPADDR=__lb_private_ipaddr__\n            LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n            mkdir /opt/config\n            cd /opt\n            wget http://$WEBSERVER_IP/demo_repo/v_dns_init.sh\n            wget http://$WEBSERVER_IP/demo_repo/vdns.sh\n            chmod +x v_dns_init.sh\n            chmod +x vdns.sh\n            echo $WEBSERVER_IP > config/webserver_ip.txt\n            echo $LB_OAM_INT > config/lb_oam_int.txt\n            echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt\n            echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n            echo \"no\" > config/install.txt\n            mv vdns.sh /etc/init.d\n            update-rc.d vdns.sh defaults\n            ./v_dns_init.sh\n\n  vdns_private_0_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_resource: vlb_private_network }\n      fixed_ips: [{\"subnet\": { get_resource: vlb_private_subnet }, \"ip_address\": { get_param: vdns_private_ip_0 }}]\n\n  vdns_private_1_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_param: ecomp_private_net_id }\n      fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vdns_private_ip_1 }}]\n',300,'MANUAL RECORD','2016-11-14 13:04:07');
-
-INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID2','dnsscaling.yaml','1.0','DNS Scaling Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy a vDNS for OpenECOMP (scaling-up scenario)\n\nparameters:\n  vlb_image_name:\n    type: string\n    label: Image name or ID\n    description: Image to be used for compute instance\n  vlb_flavor_name:\n    type: string\n    label: Flavor\n    description: Type of instance (flavor) to be used\n  public_net_id:\n    type: string\n    label: Public network name or ID\n    description: Public network that enables remote connection to VNF\n  vlb_private_net_id:\n    type: string\n    label: vLoadBalancer private network name or ID\n    description: Private network that connects vLoadBalancer with vDNSs\n  ecomp_private_net_id:\n    type: string\n    label: ECOMP management network name or ID\n    description: Private network that connects ECOMP component and the VNF\n  vlb_private_ip_0:\n    type: string\n    label: vLoadBalancer private IP address towards the private network\n    description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs\n  vlb_private_ip_1:\n    type: string\n    label: vLoadBalancer private IP address towards the ECOMP management network\n    description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components\n  vdns_private_ip_0:\n    type: string\n    label: vDNS private IP address towards the private network\n    description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer\n  vdns_private_ip_1:\n    type: string\n    label: vDNS private IP address towards the ECOMP management network\n    description: Private IP address that is assigned to the vDNS to communicate with ECOMP components\n  vdns_name_0:\n    type: string\n    label: vDNS name\n    description: Name of the vDNS\n  vnf_id:\n    type: string\n    label: VNF ID\n    description: The VNF ID is provided by ECOMP\n  vf_module_id:\n    type: string\n    label: vFirewall module ID\n    description: The vLoadBalancer Module ID is provided by ECOMP\n  webserver_ip:\n    type: string\n    label: Webserver IP address\n    description: IP address of the webserver that hosts the source code and binaries\n  dcae_collector_ip:\n    type: string\n    label: DCAE collector IP address\n    description: IP address of the DCAE collector\n  key_name:\n    type: string\n    label: Key pair name\n    description: Public/Private key pair name\n  pub_key:\n    type: string\n    label: Public key\n    description: Public key to be installed on the compute instance\n\nresources:\n  vdns_0:\n    type: OS::Nova::Server\n    properties:\n      image: { get_param: vlb_image_name }\n      flavor: { get_param: vlb_flavor_name }\n      name: { get_param: vdns_name_0 }\n      key_name: { get_param: key_name }\n      networks:\n        - network: { get_param: public_net_id }\n        - port: { get_resource: vdns_private_0_port }\n        - port: { get_resource: vdns_private_1_port }\n      metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n      user_data_format: RAW\n      user_data:\n        str_replace:\n          params:\n            __webserver__: { get_param: webserver_ip }\n            __lb_oam_int__ : { get_param: vlb_private_ip_1 }\n            __lb_private_ipaddr__: { get_param: vlb_private_ip_0 }\n            __local_private_ipaddr__: { get_param: vdns_private_ip_0 }\n          template: |\n            #!/bin/bash\n\n            WEBSERVER_IP=__webserver__\n            LB_OAM_INT=__lb_oam_int__\n            LB_PRIVATE_IPADDR=__lb_private_ipaddr__\n            LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n            mkdir /opt/config\n            cd /opt\n            wget http://$WEBSERVER_IP/demo_repo/v_dns_init.sh\n            wget http://$WEBSERVER_IP/demo_repo/vdns.sh\n            chmod +x v_dns_init.sh\n            chmod +x vdns.sh\n            echo $WEBSERVER_IP > config/webserver_ip.txt\n            echo $LB_OAM_INT > config/lb_oam_int.txt\n            echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt\n            echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n            echo \"no\" > config/install.txt\n            mv vdns.sh /etc/init.d\n            update-rc.d vdns.sh defaults\n            ./v_dns_init.sh\n\n  vdns_private_0_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_param: vlb_private_net_id }\n      fixed_ips: [{\"subnet\": { get_param: vlb_private_net_id }, \"ip_address\": { get_param: vdns_private_ip_0 }}]\n\n  vdns_private_1_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_param: ecomp_private_net_id }\n      fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vdns_private_ip_1 }}]\n',300,'MANUAL RECORD','2016-11-14 13:04:07');
-
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','dcae_collector_ip','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','ecomp_private_net_cidr','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','ecomp_private_net_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','key_name','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','public_net_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','pub_key','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vdns_private_ip_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vdns_private_ip_1','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vdsn_name_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vf_module_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_flavor_name','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_image_name','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_name_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_private_ip_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_private_ip_1','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_private_net_cidr','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_private_net_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vnf_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','webserver_ip','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','dcae_collector_ip','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','ecomp_private_net_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','key_name','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','public_net_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','pub_key','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdns_private_ip_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdns_private_ip_1','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdsn_name_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vf_module_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vlb_flavor_name','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vlb_image_name','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vlb_private_ip_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vlb_private_net_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vnf_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','webserver_ip','\ 1','string',NULL);
-
-INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('1e34774e-715e-4fd6-bd09-7b654622f35i','dns-service','585822c8-4027-4f84-ba50-e9248606f111','1.0','dns service for unit test','2016-11-14 13:04:07',NULL);
-
-INSERT INTO `service_to_resource_customizations` (`SERVICE_MODEL_UUID`, `RESOURCE_MODEL_CUSTOMIZATION_UUID`, `MODEL_TYPE`, `CREATION_TIMESTAMP`) VALUES ('1e34774e-715e-4fd6-bd09-7b654622f35i','302aa6be-a9fe-11e7-8b4b-0242ac120002','vnf','2017-10-05 18:51:28');
-
-INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-1::module-1.group','585822c7-4027-4f84-ba50-e9248606f132','1.0','VF_RI1_DNS::module-1',NULL,1,'Artifact-UUID1',NULL,'2016-11-14 13:04:07','585822c7-4027-4f84-ba50-e9248606f131');
-INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-2::module-1.group','585822c7-4027-4f84-ba50-e9248606f133','1.0','VF_RI1_DNS::module-2',NULL,0,'Artifact-UUID2',NULL,'2016-11-14 13:04:07','585822c7-4027-4f84-ba50-e9248606f131');
-
-INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('30316d81-a9fe-11e7-8b4b-0242ac120002',NULL,1,0,NULL,NULL,'EnvArtifact-UUID1',NULL,'2017-10-05 18:51:25','1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-1::module-1.group');
-INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('303170ae-a9fe-11e7-8b4b-0242ac120002',NULL,0,0,NULL,NULL,'EnvArtifact-UUID2',NULL,'2017-10-05 18:51:25','1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-2::module-1.group');
-INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('302aa6be-a9fe-11e7-8b4b-0242ac120002','30316d81-a9fe-11e7-8b4b-0242ac120002','2017-10-05 18:51:26');
-
-INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('302aa6be-a9fe-11e7-8b4b-0242ac120002','303170ae-a9fe-11e7-8b4b-0242ac120002','2017-10-05 18:51:26');
-
-INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`) VALUES ('HEAT','dns service for unit test1707MIGRATED','2016-11-14 13:04:07','585822c7-4027-4f84-ba50-e9248606f131',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f112','1.0','DNSResource',NULL,NULL);
-
-INSERT INTO `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('302aa6be-a9fe-11e7-8b4b-0242ac120002','DNSResource-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2017-10-05 18:51:25','585822c7-4027-4f84-ba50-e9248606f131');
-
-SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
diff --git a/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql b/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql
deleted file mode 100644 (file)
index 3206efc..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright © 2017 AT&T, Amdocs, Bell Canada
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*       http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-SOURCE ../default/create_mso_db-default.sql
-
-USE `mso_requests`;
-DROP USER 'mso';
-CREATE USER 'mso';
-GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION;
-FLUSH PRIVILEGES;
-
-USE `mso_catalog`;
-DROP USER 'catalog';
-CREATE USER 'catalog';
-GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION;
-FLUSH PRIVILEGES;
-
-SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
-
-INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID3','base_vfw.env','1.0','base_vfw ENV file','parameters:\n  vfw_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n  vfw_flavor_name: 4 GB General Purpose v1\n  public_net_id: 00000000-0000-0000-0000-000000000000\n  unprotected_private_net_id: zdfw1fwl01_unprotected\n  protected_private_net_id: zdfw1fwl01_protected\n  ecomp_private_net_id: oam_ecomp\n  unprotected_private_net_cidr: 192.168.10.0/24\n  protected_private_net_cidr: 192.168.20.0/24\n  ecomp_private_net_cidr: 192.168.9.0/24\n  vfw_private_ip_0: 192.168.10.100\n  vfw_private_ip_1: 192.168.20.100\n  vfw_private_ip_2: 192.168.9.100\n  vpg_private_ip_0: 192.168.10.200\n  vpg_private_ip_1: 192.168.9.200\n  vsn_private_ip_0: 192.168.20.250\n  vsn_private_ip_1: 192.168.9.250\n  vfw_name_0: zdfw1fwl01fwl01\n  vpg_name_0: zdfw1fwl01pgn01\n  vsn_name_0: zdfw1fwl01snk01\n  vnf_id: vFirewall_demo_app\n  vf_module_id: vFirewall\n  webserver_ip: 162.242.237.182\n  dcae_collector_ip: 192.168.9.1\n  key_name: vfw_key\n  pub_key: INSERT YOUR PUBLIC KEY HERE','MANUAL RECORD','2016-11-14 13:04:07');
-
-INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID3','base_vfw.yaml','1.0','Base VFW Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vFirewall demo app for OpenECOMP\n\nparameters:\n  vfw_image_name:\n    type: string\n    label: Image name or ID\n    description: Image to be used for compute instance\n  vfw_flavor_name:\n    type: string\n    label: Flavor\n    description: Type of instance (flavor) to be used\n  public_net_id:\n    type: string\n    label: Public network name or ID\n    description: Public network that enables remote connection to VNF\n  unprotected_private_net_id:\n    type: string\n    label: Unprotected private network name or ID\n    description: Private network that connects vPacketGenerator with vFirewall\n  protected_private_net_id:\n    type: string\n    label: Protected private network name or ID\n    description: Private network that connects vFirewall with vSink\n  ecomp_private_net_id:\n    type: string\n    label: ECOMP management network name or ID\n    description: Private network that connects ECOMP component and the VNF\n  unprotected_private_net_cidr:\n    type: string\n    label: Unprotected private network CIDR\n    description: The CIDR of the unprotected private network\n  protected_private_net_cidr:\n    type: string\n    label: Protected private network CIDR\n    description: The CIDR of the protected private network\n  ecomp_private_net_cidr:\n    type: string\n    label: ECOMP private network CIDR\n    description: The CIDR of the protected private network\n  vfw_private_ip_0:\n    type: string\n    label: vFirewall private IP address towards the unprotected network\n    description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator\n  vfw_private_ip_1:\n    type: string\n    label: vFirewall private IP address towards the protected network\n    description: Private IP address that is assigned to the vFirewall to communicate with the vSink\n  vfw_private_ip_2:\n    type: string\n    label: vFirewall private IP address towards the ECOMP management network\n    description: Private IP address that is assigned to the vFirewall to communicate with ECOMP components\n  vpg_private_ip_0:\n    type: string\n    label: vPacketGenerator private IP address towards the unprotected network\n    description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall\n  vpg_private_ip_1:\n    type: string\n    label: vPacketGenerator private IP address towards the ECOMP management network\n    description: Private IP address that is assigned to the vPacketGenerator to communicate with ECOMP components\n  vsn_private_ip_0:\n    type: string\n    label: vSink private IP address towards the protected network\n    description: Private IP address that is assigned to the vSink to communicate with the vFirewall\n  vsn_private_ip_1:\n    type: string\n    label: vSink private IP address towards the ECOMP management network\n    description: Private IP address that is assigned to the vSink to communicate with ECOMP components\n  vfw_name_0:\n    type: string\n    label: vFirewall name\n    description: Name of the vFirewall\n  vpg_name_0:\n    type: string\n    label: vPacketGenerator name\n    description: Name of the vPacketGenerator\n  vsn_name_0:\n    type: string\n    label: vSink name\n    description: Name of the vSink\n  vnf_id:\n    type: string\n    label: VNF ID\n    description: The VNF ID is provided by ECOMP\n  vf_module_id:\n    type: string\n    label: vFirewall module ID\n    description: The vFirewall Module ID is provided by ECOMP\n  webserver_ip:\n    type: string\n    label: Webserver IP address\n    description: IP address of the webserver that hosts the source code and binaries\n  dcae_collector_ip:\n    type: string\n    label: DCAE collector IP address\n    description: IP address of the DCAE collector\n  key_name:\n    type: string\n    label: Key pair name\n    description: Public/Private key pair name\n  pub_key:\n    type: string\n    label: Public key\n    description: Public key to be installed on the compute instance\n\nresources:\n  my_keypair:\n    type: OS::Nova::KeyPair\n    properties:\n      name: { get_param: key_name }\n      public_key: { get_param: pub_key }\n      save_private_key: false\n\n  unprotected_private_network:\n    type: OS::Neutron::Net\n    properties:\n      name: { get_param: unprotected_private_net_id }\n\n  protected_private_network:\n    type: OS::Neutron::Net\n    properties:\n      name: { get_param: protected_private_net_id }\n\n  unprotected_private_subnet:\n    type: OS::Neutron::Subnet\n    properties:\n      network_id: { get_resource: unprotected_private_network }\n      cidr: { get_param: unprotected_private_net_cidr }\n\n  protected_private_subnet:\n    type: OS::Neutron::Subnet\n    properties:\n      network_id: { get_resource: protected_private_network }\n      cidr: { get_param: protected_private_net_cidr }\n\n  vfw_0:\n    type: OS::Nova::Server\n    properties:\n      image: { get_param: vfw_image_name }\n      flavor: { get_param: vfw_flavor_name }\n      name: { get_param: vfw_name_0 }\n      key_name: { get_resource: my_keypair }\n      networks:\n        - network: { get_param: public_net_id }\n        - port: { get_resource: vfw_private_0_port }\n        - port: { get_resource: vfw_private_1_port }\n        - port: { get_resource: vfw_private_2_port }\n      metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n      user_data_format: RAW\n      user_data:\n        str_replace:\n          params:\n            __webserver__: { get_param: webserver_ip }\n            __dcae_collector_ip__ : { get_param: dcae_collector_ip }\n          template: |\n            #!/bin/bash\n\n            WEBSERVER_IP=__webserver__\n            DCAE_COLLECTOR_IP=__dcae_collector_ip__\n\n            mkdir /opt/config\n            cd /opt\n            wget http://$WEBSERVER_IP/demo_repo/v_firewall_init.sh\n            wget http://$WEBSERVER_IP/demo_repo/vfirewall.sh\n            chmod +x v_firewall_init.sh\n            chmod +x vfirewall.sh\n            echo $WEBSERVER_IP > config/webserver_ip.txt\n            echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt\n            echo \"no\" > config/install.txt\n            mv vfirewall.sh /etc/init.d\n            sudo update-rc.d vfirewall.sh defaults\n            ./v_firewall_init.sh\n\n  vfw_private_0_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_resource: unprotected_private_network }\n      fixed_ips: [{\"subnet\": { get_resource: unprotected_private_subnet }, \"ip_address\": { get_param: vfw_private_ip_0 }}]\n\n  vfw_private_1_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_resource: protected_private_network }\n      fixed_ips: [{\"subnet\": { get_resource: protected_private_subnet }, \"ip_address\": { get_param: vfw_private_ip_1 }}]\n\n  vfw_private_2_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_param: ecomp_private_net_id }\n      fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vfw_private_ip_2 }}]\n\n  vpg_0:\n    type: OS::Nova::Server\n    properties:\n      image: { get_param: vfw_image_name }\n      flavor: { get_param: vfw_flavor_name }\n      name: { get_param: vpg_name_0 }\n      key_name: { get_resource: my_keypair }\n      networks:\n        - network: { get_param: public_net_id }\n        - port: { get_resource: vpg_private_0_port }\n        - port: { get_resource: vpg_private_1_port }\n      metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n      user_data_format: RAW\n      user_data:\n        str_replace:\n          params:\n            __webserver__: { get_param: webserver_ip }\n            __fw_ipaddr__: { get_param: vfw_private_ip_0 }\n            __protected_net_cidr__: { get_param: protected_private_net_cidr }\n            __sink_ipaddr__: { get_param: vsn_private_ip_0 }\n          template: |\n            #!/bin/bash\n\n            WEBSERVER_IP=__webserver__\n            FW_IPADDR=__fw_ipaddr__\n            PROTECTED_NET_CIDR=__protected_net_cidr__\n            SINK_IPADDR=__sink_ipaddr__\n\n            mkdir /opt/config\n            cd /opt\n            wget http://$WEBSERVER_IP/demo_repo/v_packetgen_init.sh\n            wget http://$WEBSERVER_IP/demo_repo/vpacketgen.sh\n            chmod +x v_packetgen_init.sh\n            chmod +x vpacketgen.sh\n            echo $WEBSERVER_IP > config/webserver_ip.txt\n            echo $FW_IPADDR > config/fw_ipaddr.txt\n            echo $PROTECTED_NET_CIDR > config/protected_net_cidr.txt\n            echo $SINK_IPADDR > config/sink_ipaddr.txt\n            echo \"no\" > config/install.txt\n            mv vpacketgen.sh /etc/init.d\n            sudo update-rc.d vpacketgen.sh defaults\n            ./v_packetgen_init.sh\n\n  vpg_private_0_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_resource: unprotected_private_network }\n      fixed_ips: [{\"subnet\": { get_resource: unprotected_private_subnet }, \"ip_address\": { get_param: vpg_private_ip_0 }}]\n\n  vpg_private_1_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_param: ecomp_private_net_id }\n      fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vpg_private_ip_1 }}]\n\n  vsn_0:\n    type: OS::Nova::Server\n    properties:\n      image: { get_param: vfw_image_name }\n      flavor: { get_param: vfw_flavor_name }\n      name: { get_param: vsn_name_0 }\n      key_name: { get_resource: my_keypair }\n      networks:\n        - network: { get_param: public_net_id }\n        - port: { get_resource: vsn_private_0_port }\n        - port: { get_resource: vsn_private_1_port }\n      metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n      user_data_format: RAW\n      user_data:\n        str_replace:\n          params:\n            __webserver__: { get_param: webserver_ip }\n            __protected_net_gw__: { get_param: vfw_private_ip_1 }\n            __unprotected_net__: { get_param: unprotected_private_net_cidr }\n          template: |\n            #!/bin/bash\n\n            WEBSERVER_IP=__webserver__\n            PROTECTED_NET_GW=__protected_net_gw__\n            UNPROTECTED_NET=__unprotected_net__\n            UNPROTECTED_NET=$(echo $UNPROTECTED_NET | cut -d\'/\' -f1)\n\n            mkdir /opt/config\n            cd /opt\n            wget http://$WEBSERVER_IP/demo_repo/v_sink_init.sh\n            wget http://$WEBSERVER_IP/demo_repo/vsink.sh\n            chmod +x v_sink_init.sh\n            chmod +x vsink.sh\n            echo $PROTECTED_NET_GW > config/protected_net_gw.txt\n            echo $UNPROTECTED_NET > config/unprotected_net.txt\n            echo \"no\" > config/install.txt\n            mv vsink.sh /etc/init.d\n            sudo update-rc.d vsink.sh defaults\n            ./v_sink_init.sh\n\n  vsn_private_0_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_resource: protected_private_network }\n      fixed_ips: [{\"subnet\": { get_resource: protected_private_subnet }, \"ip_address\": { get_param: vsn_private_ip_0 }}]\n\n  vsn_private_1_port:\n    type: OS::Neutron::Port\n    properties:\n      network: { get_param: ecomp_private_net_id }\n      fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vsn_private_ip_1 }}]\n \n',300,'MANUAL RECORD','2016-11-14 13:04:07');
-
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','dcae_collector_ip','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','ecomp_private_net_cidr','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','ecomp_private_net_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','key_name','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','protected_private_net_cidr','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','protected_private_net_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','public_net_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','pub_key','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','unprotected_private_net_cidr','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','unprotected_private_net_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_flavor_name','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_image_name','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_name_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_private_ip_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_private_ip_1','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_private_ip_2','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vf_module_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vnf_id','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vpg_name_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vpg_private_ip_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vpg_private_ip_1','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vsn_name_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vsn_private_ip_0','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vsn_private_ip_1','\ 1','string',NULL);
-INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','webserver_ip','\ 1','string',NULL);
-
-INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('2e34774e-715e-4fd5-bd09-7b654622f35i','vfw-service','585822c7-4027-4f84-ba50-e9248606f112','1.0','VFW service','2016-11-14 13:04:07',NULL);
-
-INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group','585822c7-4027-4f84-ba50-e9248606f134','1.0','VF_RI1_VFW::module-1',NULL,1,'Artifact-UUID3',NULL,'2016-11-14 13:04:07','685822c7-4027-4f84-ba50-e9248606f132');
-
-INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('5aa23938-a9fe-11e7-8b4b-0242ac120002',NULL,1,0,NULL,NULL,'EnvArtifact-UUID3',NULL,'2017-10-05 18:52:03','1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group');
-
-INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','5aa23938-a9fe-11e7-8b4b-0242ac120002','2017-10-05 18:52:03');
-
-INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`) VALUES ('HEAT','VFW service1707MIGRATED','2016-11-14 13:04:07','685822c7-4027-4f84-ba50-e9248606f132',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f113','1.0','VFWResource',NULL,NULL);
-
-INSERT INTO `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','VFWResource-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2017-10-05 18:52:03','685822c7-4027-4f84-ba50-e9248606f132');
-
-SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
diff --git a/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mariadb_engine_7.7.3-ee.sql b/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mariadb_engine_7.7.3-ee.sql
deleted file mode 100644 (file)
index b7adb4e..0000000
+++ /dev/null
@@ -1,1210 +0,0 @@
-/* Copyright © 2017 AT&T, Amdocs, Bell Canada
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*       http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-DROP DATABASE IF EXISTS `camundabpmn`;
-
-CREATE DATABASE `camundabpmn`;
-
-USE `camundabpmn`;
-
-# DROP USER IF EXISTS 'camunda';
-delete from mysql.user where User='camunda';
-CREATE USER 'camunda';
-GRANT ALL on camundabpmn.* to 'camunda' identified by 'camunda123' with GRANT OPTION;
-FLUSH PRIVILEGES;
-
-USE `camundabpmn`;
-
-create table ACT_GE_PROPERTY (
-    NAME_ varchar(64),
-    VALUE_ varchar(300),
-    REV_ integer,
-    primary key (NAME_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-insert into ACT_GE_PROPERTY
-values ('schema.version', 'fox', 1);
-
-insert into ACT_GE_PROPERTY
-values ('schema.history', 'create(fox)', 1);
-
-insert into ACT_GE_PROPERTY
-values ('next.dbid', '1', 1);
-
-insert into ACT_GE_PROPERTY
-values ('deployment.lock', '0', 1);
-
-insert into ACT_GE_PROPERTY
-values ('history.cleanup.job.lock', '0', 1);
-
-create table ACT_GE_BYTEARRAY (
-    ID_ varchar(64),
-    REV_ integer,
-    NAME_ varchar(255),
-    DEPLOYMENT_ID_ varchar(64),
-    BYTES_ LONGBLOB,
-    GENERATED_ TINYINT,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RE_DEPLOYMENT (
-    ID_ varchar(64),
-    NAME_ varchar(255),
-    DEPLOY_TIME_ timestamp(3),
-    SOURCE_ varchar(255),
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_EXECUTION (
-    ID_ varchar(64),
-    REV_ integer,
-    PROC_INST_ID_ varchar(64),
-    BUSINESS_KEY_ varchar(255),
-    PARENT_ID_ varchar(64),
-    PROC_DEF_ID_ varchar(64),
-    SUPER_EXEC_ varchar(64),
-    SUPER_CASE_EXEC_ varchar(64),
-    CASE_INST_ID_ varchar(64),
-    ACT_ID_ varchar(255),
-    ACT_INST_ID_ varchar(64),
-    IS_ACTIVE_ TINYINT,
-    IS_CONCURRENT_ TINYINT,
-    IS_SCOPE_ TINYINT,
-    IS_EVENT_SCOPE_ TINYINT,
-    SUSPENSION_STATE_ integer,
-    CACHED_ENT_STATE_ integer,
-    SEQUENCE_COUNTER_ bigint,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_JOB (
-    ID_ varchar(64) NOT NULL,
-    REV_ integer,
-    TYPE_ varchar(255) NOT NULL,
-    LOCK_EXP_TIME_ timestamp(3) NULL,
-    LOCK_OWNER_ varchar(255),
-    EXCLUSIVE_ boolean,
-    EXECUTION_ID_ varchar(64),
-    PROCESS_INSTANCE_ID_ varchar(64),
-    PROCESS_DEF_ID_ varchar(64),
-    PROCESS_DEF_KEY_ varchar(255),
-    RETRIES_ integer,
-    EXCEPTION_STACK_ID_ varchar(64),
-    EXCEPTION_MSG_ varchar(4000),
-    DUEDATE_ timestamp(3) NULL,
-    REPEAT_ varchar(255),
-    HANDLER_TYPE_ varchar(255),
-    HANDLER_CFG_ varchar(4000),
-    DEPLOYMENT_ID_ varchar(64),
-    SUSPENSION_STATE_ integer NOT NULL DEFAULT 1,
-    JOB_DEF_ID_ varchar(64),
-    PRIORITY_ bigint NOT NULL DEFAULT 0,
-    SEQUENCE_COUNTER_ bigint,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_JOBDEF (
-    ID_ varchar(64) NOT NULL,
-    REV_ integer,
-    PROC_DEF_ID_ varchar(64),
-    PROC_DEF_KEY_ varchar(255),
-    ACT_ID_ varchar(255),
-    JOB_TYPE_ varchar(255) NOT NULL,
-    JOB_CONFIGURATION_ varchar(255),
-    SUSPENSION_STATE_ integer,
-    JOB_PRIORITY_ bigint,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RE_PROCDEF (
-    ID_ varchar(64) not null,
-    REV_ integer,
-    CATEGORY_ varchar(255),
-    NAME_ varchar(255),
-    KEY_ varchar(255) not null,
-    VERSION_ integer not null,
-    DEPLOYMENT_ID_ varchar(64),
-    RESOURCE_NAME_ varchar(4000),
-    DGRM_RESOURCE_NAME_ varchar(4000),
-    HAS_START_FORM_KEY_ TINYINT,
-    SUSPENSION_STATE_ integer,
-    TENANT_ID_ varchar(64),
-    VERSION_TAG_ varchar(64),
-    HISTORY_TTL_ integer,
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_TASK (
-    ID_ varchar(64),
-    REV_ integer,
-    EXECUTION_ID_ varchar(64),
-    PROC_INST_ID_ varchar(64),
-    PROC_DEF_ID_ varchar(64),
-    CASE_EXECUTION_ID_ varchar(64),
-    CASE_INST_ID_ varchar(64),
-    CASE_DEF_ID_ varchar(64),
-    NAME_ varchar(255),
-    PARENT_TASK_ID_ varchar(64),
-    DESCRIPTION_ varchar(4000),
-    TASK_DEF_KEY_ varchar(255),
-    OWNER_ varchar(255),
-    ASSIGNEE_ varchar(255),
-    DELEGATION_ varchar(64),
-    PRIORITY_ integer,
-    CREATE_TIME_ timestamp(3),
-    DUE_DATE_ datetime(3),
-    FOLLOW_UP_DATE_ datetime(3),
-    SUSPENSION_STATE_ integer,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_IDENTITYLINK (
-    ID_ varchar(64),
-    REV_ integer,
-    GROUP_ID_ varchar(255),
-    TYPE_ varchar(255),
-    USER_ID_ varchar(255),
-    TASK_ID_ varchar(64),
-    PROC_DEF_ID_ varchar(64),
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_VARIABLE (
-    ID_ varchar(64) not null,
-    REV_ integer,
-    TYPE_ varchar(255) not null,
-    NAME_ varchar(255) not null,
-    EXECUTION_ID_ varchar(64),
-    PROC_INST_ID_ varchar(64),
-    CASE_EXECUTION_ID_ varchar(64),
-    CASE_INST_ID_ varchar(64),
-    TASK_ID_ varchar(64),
-    BYTEARRAY_ID_ varchar(64),
-    DOUBLE_ double,
-    LONG_ bigint,
-    TEXT_ LONGBLOB NULL,
-    TEXT2_ LONGBLOB NULL,
-    VAR_SCOPE_ varchar(64) not null,
-    SEQUENCE_COUNTER_ bigint,
-    IS_CONCURRENT_LOCAL_ TINYINT,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_EVENT_SUBSCR (
-    ID_ varchar(64) not null,
-    REV_ integer,
-    EVENT_TYPE_ varchar(255) not null,
-    EVENT_NAME_ varchar(255),
-    EXECUTION_ID_ varchar(64),
-    PROC_INST_ID_ varchar(64),
-    ACTIVITY_ID_ varchar(255),
-    CONFIGURATION_ varchar(255),
-    CREATED_ timestamp(3) not null,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_INCIDENT (
-  ID_ varchar(64) not null,
-  REV_ integer not null,
-  INCIDENT_TIMESTAMP_ timestamp(3) not null,
-  INCIDENT_MSG_ varchar(4000),
-  INCIDENT_TYPE_ varchar(255) not null,
-  EXECUTION_ID_ varchar(64),
-  ACTIVITY_ID_ varchar(255),
-  PROC_INST_ID_ varchar(64),
-  PROC_DEF_ID_ varchar(64),
-  CAUSE_INCIDENT_ID_ varchar(64),
-  ROOT_CAUSE_INCIDENT_ID_ varchar(64),
-  CONFIGURATION_ varchar(255),
-  TENANT_ID_ varchar(64),
-  JOB_DEF_ID_ varchar(64),
-  primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_AUTHORIZATION (
-  ID_ varchar(64) not null,
-  REV_ integer not null,
-  TYPE_ integer not null,
-  GROUP_ID_ varchar(255),
-  USER_ID_ varchar(255),
-  RESOURCE_TYPE_ integer not null,
-  RESOURCE_ID_ varchar(64),
-  PERMS_ integer,
-  primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_FILTER (
-  ID_ varchar(64) not null,
-  REV_ integer not null,
-  RESOURCE_TYPE_ varchar(255) not null,
-  NAME_ varchar(255) not null,
-  OWNER_ varchar(255),
-  QUERY_ LONGTEXT not null,
-  PROPERTIES_ LONGTEXT,
-  primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_METER_LOG (
-  ID_ varchar(64) not null,
-  NAME_ varchar(64) not null,
-  REPORTER_ varchar(255),
-  VALUE_ bigint,
-  TIMESTAMP_ timestamp(3),
-  MILLISECONDS_ bigint DEFAULT 0,
-  primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_EXT_TASK (
-  ID_ varchar(64) not null,
-  REV_ integer not null,
-  WORKER_ID_ varchar(255),
-  TOPIC_NAME_ varchar(255),
-  RETRIES_ integer,
-  ERROR_MSG_ varchar(4000),
-  ERROR_DETAILS_ID_ varchar(64),
-  LOCK_EXP_TIME_ timestamp(3) NULL,
-  SUSPENSION_STATE_ integer,
-  EXECUTION_ID_ varchar(64),
-  PROC_INST_ID_ varchar(64),
-  PROC_DEF_ID_ varchar(64),
-  PROC_DEF_KEY_ varchar(255),
-  ACT_ID_ varchar(255),
-  ACT_INST_ID_ varchar(64),
-  TENANT_ID_ varchar(64),
-  PRIORITY_ bigint NOT NULL DEFAULT 0,
-  primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_RU_BATCH (
-  ID_ varchar(64) not null,
-  REV_ integer not null,
-  TYPE_ varchar(255),
-  TOTAL_JOBS_ integer,
-  JOBS_CREATED_ integer,
-  JOBS_PER_SEED_ integer,
-  INVOCATIONS_PER_JOB_ integer,
-  SEED_JOB_DEF_ID_ varchar(64),
-  BATCH_JOB_DEF_ID_ varchar(64),
-  MONITOR_JOB_DEF_ID_ varchar(64),
-  SUSPENSION_STATE_ integer,
-  CONFIGURATION_ varchar(255),
-  TENANT_ID_ varchar(64),
-  primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
-create index ACT_IDX_EXEC_TENANT_ID on ACT_RU_EXECUTION(TENANT_ID_);
-create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
-create index ACT_IDX_TASK_ASSIGNEE on ACT_RU_TASK(ASSIGNEE_);
-create index ACT_IDX_TASK_TENANT_ID on ACT_RU_TASK(TENANT_ID_);
-create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
-create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
-create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
-create index ACT_IDX_EVENT_SUBSCR_TENANT_ID on ACT_RU_EVENT_SUBSCR(TENANT_ID_);
-create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
-create index ACT_IDX_VARIABLE_TENANT_ID on ACT_RU_VARIABLE(TENANT_ID_);
-create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
-create index ACT_IDX_INC_CONFIGURATION on ACT_RU_INCIDENT(CONFIGURATION_);
-create index ACT_IDX_INC_TENANT_ID on ACT_RU_INCIDENT(TENANT_ID_);
--- CAM-5914
-create index ACT_IDX_JOB_EXECUTION_ID on ACT_RU_JOB(EXECUTION_ID_);
--- this index needs to be limited in mariadb see CAM-6938
-create index ACT_IDX_JOB_HANDLER on ACT_RU_JOB(HANDLER_TYPE_(100),HANDLER_CFG_(155));
-create index ACT_IDX_JOB_PROCINST on ACT_RU_JOB(PROCESS_INSTANCE_ID_);
-create index ACT_IDX_JOB_TENANT_ID on ACT_RU_JOB(TENANT_ID_);
-create index ACT_IDX_JOBDEF_TENANT_ID on ACT_RU_JOBDEF(TENANT_ID_);
-
--- new metric milliseconds column
-CREATE INDEX ACT_IDX_METER_LOG_MS ON ACT_RU_METER_LOG(MILLISECONDS_);
-CREATE INDEX ACT_IDX_METER_LOG_NAME_MS ON ACT_RU_METER_LOG(NAME_, MILLISECONDS_);
-CREATE INDEX ACT_IDX_METER_LOG_REPORT ON ACT_RU_METER_LOG(NAME_, REPORTER_, MILLISECONDS_);
-
--- old metric timestamp column
-CREATE INDEX ACT_IDX_METER_LOG_TIME ON ACT_RU_METER_LOG(TIMESTAMP_);
-CREATE INDEX ACT_IDX_METER_LOG ON ACT_RU_METER_LOG(NAME_, TIMESTAMP_);
-
-create index ACT_IDX_EXT_TASK_TOPIC on ACT_RU_EXT_TASK(TOPIC_NAME_);
-create index ACT_IDX_EXT_TASK_TENANT_ID on ACT_RU_EXT_TASK(TENANT_ID_);
-create index ACT_IDX_EXT_TASK_PRIORITY ON ACT_RU_EXT_TASK(PRIORITY_);
-create index ACT_IDX_EXT_TASK_ERR_DETAILS ON ACT_RU_EXT_TASK(ERROR_DETAILS_ID_);
-create index ACT_IDX_AUTH_GROUP_ID ON ACT_RU_AUTHORIZATION(GROUP_ID_);
-create index ACT_IDX_JOB_JOB_DEF_ID on ACT_RU_JOB(JOB_DEF_ID_);
-
-alter table ACT_GE_BYTEARRAY
-    add constraint ACT_FK_BYTEARR_DEPL
-    foreign key (DEPLOYMENT_ID_)
-    references ACT_RE_DEPLOYMENT (ID_);
-
-alter table ACT_RU_EXECUTION
-    add constraint ACT_FK_EXE_PROCINST
-    foreign key (PROC_INST_ID_)
-    references ACT_RU_EXECUTION (ID_) on delete cascade on update cascade;
-
-alter table ACT_RU_EXECUTION
-    add constraint ACT_FK_EXE_PARENT
-    foreign key (PARENT_ID_)
-    references ACT_RU_EXECUTION (ID_);
-
-alter table ACT_RU_EXECUTION
-    add constraint ACT_FK_EXE_SUPER
-    foreign key (SUPER_EXEC_)
-    references ACT_RU_EXECUTION (ID_);
-
-alter table ACT_RU_EXECUTION
-    add constraint ACT_FK_EXE_PROCDEF
-    foreign key (PROC_DEF_ID_)
-    references ACT_RE_PROCDEF (ID_);
-
-alter table ACT_RU_IDENTITYLINK
-    add constraint ACT_FK_TSKASS_TASK
-    foreign key (TASK_ID_)
-    references ACT_RU_TASK (ID_);
-
-alter table ACT_RU_IDENTITYLINK
-    add constraint ACT_FK_ATHRZ_PROCEDEF
-    foreign key (PROC_DEF_ID_)
-    references ACT_RE_PROCDEF(ID_);
-
-alter table ACT_RU_TASK
-    add constraint ACT_FK_TASK_EXE
-    foreign key (EXECUTION_ID_)
-    references ACT_RU_EXECUTION (ID_);
-
-alter table ACT_RU_TASK
-    add constraint ACT_FK_TASK_PROCINST
-    foreign key (PROC_INST_ID_)
-    references ACT_RU_EXECUTION (ID_);
-
-alter table ACT_RU_TASK
-  add constraint ACT_FK_TASK_PROCDEF
-  foreign key (PROC_DEF_ID_)
-  references ACT_RE_PROCDEF (ID_);
-
-alter table ACT_RU_VARIABLE
-    add constraint ACT_FK_VAR_EXE
-    foreign key (EXECUTION_ID_)
-    references ACT_RU_EXECUTION (ID_);
-
-alter table ACT_RU_VARIABLE
-    add constraint ACT_FK_VAR_PROCINST
-    foreign key (PROC_INST_ID_)
-    references ACT_RU_EXECUTION(ID_);
-
-alter table ACT_RU_VARIABLE
-    add constraint ACT_FK_VAR_BYTEARRAY
-    foreign key (BYTEARRAY_ID_)
-    references ACT_GE_BYTEARRAY (ID_);
-
-alter table ACT_RU_JOB
-    add constraint ACT_FK_JOB_EXCEPTION
-    foreign key (EXCEPTION_STACK_ID_)
-    references ACT_GE_BYTEARRAY (ID_);
-
-alter table ACT_RU_EVENT_SUBSCR
-    add constraint ACT_FK_EVENT_EXEC
-    foreign key (EXECUTION_ID_)
-    references ACT_RU_EXECUTION(ID_);
-
-alter table ACT_RU_INCIDENT
-    add constraint ACT_FK_INC_EXE
-    foreign key (EXECUTION_ID_)
-    references ACT_RU_EXECUTION (ID_);
-
-alter table ACT_RU_INCIDENT
-    add constraint ACT_FK_INC_PROCINST
-    foreign key (PROC_INST_ID_)
-    references ACT_RU_EXECUTION (ID_);
-
-alter table ACT_RU_INCIDENT
-    add constraint ACT_FK_INC_PROCDEF
-    foreign key (PROC_DEF_ID_)
-    references ACT_RE_PROCDEF (ID_);
-
-alter table ACT_RU_INCIDENT
-    add constraint ACT_FK_INC_CAUSE
-    foreign key (CAUSE_INCIDENT_ID_)
-    references ACT_RU_INCIDENT (ID_) on delete cascade on update cascade;
-
-alter table ACT_RU_INCIDENT
-    add constraint ACT_FK_INC_RCAUSE
-    foreign key (ROOT_CAUSE_INCIDENT_ID_)
-    references ACT_RU_INCIDENT (ID_) on delete cascade on update cascade;
-
-alter table ACT_RU_EXT_TASK
-    add constraint ACT_FK_EXT_TASK_ERROR_DETAILS
-    foreign key (ERROR_DETAILS_ID_)
-    references ACT_GE_BYTEARRAY (ID_);
-
-create index ACT_IDX_INC_JOB_DEF on ACT_RU_INCIDENT(JOB_DEF_ID_);
-alter table ACT_RU_INCIDENT
-    add constraint ACT_FK_INC_JOB_DEF
-    foreign key (JOB_DEF_ID_)
-    references ACT_RU_JOBDEF (ID_);
-
-alter table ACT_RU_AUTHORIZATION
-    add constraint ACT_UNIQ_AUTH_USER
-    unique (USER_ID_,TYPE_,RESOURCE_TYPE_,RESOURCE_ID_);
-
-alter table ACT_RU_AUTHORIZATION
-    add constraint ACT_UNIQ_AUTH_GROUP
-    unique (GROUP_ID_,TYPE_,RESOURCE_TYPE_,RESOURCE_ID_);
-
-alter table ACT_RU_VARIABLE
-    add constraint ACT_UNIQ_VARIABLE
-    unique (VAR_SCOPE_, NAME_);
-
-alter table ACT_RU_EXT_TASK
-    add constraint ACT_FK_EXT_TASK_EXE
-    foreign key (EXECUTION_ID_)
-    references ACT_RU_EXECUTION (ID_);
-
-create index ACT_IDX_BATCH_SEED_JOB_DEF ON ACT_RU_BATCH(SEED_JOB_DEF_ID_);
-alter table ACT_RU_BATCH
-    add constraint ACT_FK_BATCH_SEED_JOB_DEF
-    foreign key (SEED_JOB_DEF_ID_)
-    references ACT_RU_JOBDEF (ID_);
-
-create index ACT_IDX_BATCH_MONITOR_JOB_DEF ON ACT_RU_BATCH(MONITOR_JOB_DEF_ID_);
-alter table ACT_RU_BATCH
-    add constraint ACT_FK_BATCH_MONITOR_JOB_DEF
-    foreign key (MONITOR_JOB_DEF_ID_)
-    references ACT_RU_JOBDEF (ID_);
-
-create index ACT_IDX_BATCH_JOB_DEF ON ACT_RU_BATCH(BATCH_JOB_DEF_ID_);
-alter table ACT_RU_BATCH
-    add constraint ACT_FK_BATCH_JOB_DEF
-    foreign key (BATCH_JOB_DEF_ID_)
-    references ACT_RU_JOBDEF (ID_);
-
--- indexes for deadlock problems - https://app.camunda.com/jira/browse/CAM-2567 --
-create index ACT_IDX_INC_CAUSEINCID on ACT_RU_INCIDENT(CAUSE_INCIDENT_ID_);
-create index ACT_IDX_INC_EXID on ACT_RU_INCIDENT(EXECUTION_ID_);
-create index ACT_IDX_INC_PROCDEFID on ACT_RU_INCIDENT(PROC_DEF_ID_);
-create index ACT_IDX_INC_PROCINSTID on ACT_RU_INCIDENT(PROC_INST_ID_);
-create index ACT_IDX_INC_ROOTCAUSEINCID on ACT_RU_INCIDENT(ROOT_CAUSE_INCIDENT_ID_);
--- index for deadlock problem - https://app.camunda.com/jira/browse/CAM-4440 --
-create index ACT_IDX_AUTH_RESOURCE_ID on ACT_RU_AUTHORIZATION(RESOURCE_ID_);
--- index to prevent deadlock on fk constraint - https://app.camunda.com/jira/browse/CAM-5440 --
-create index ACT_IDX_EXT_TASK_EXEC on ACT_RU_EXT_TASK(EXECUTION_ID_);
-
--- indexes to improve deployment
-create index ACT_IDX_BYTEARRAY_NAME on ACT_GE_BYTEARRAY(NAME_);
-create index ACT_IDX_DEPLOYMENT_NAME on ACT_RE_DEPLOYMENT(NAME_);
-create index ACT_IDX_DEPLOYMENT_TENANT_ID on ACT_RE_DEPLOYMENT(TENANT_ID_);
-create index ACT_IDX_JOBDEF_PROC_DEF_ID ON ACT_RU_JOBDEF(PROC_DEF_ID_);
-create index ACT_IDX_JOB_HANDLER_TYPE ON ACT_RU_JOB(HANDLER_TYPE_);
-create index ACT_IDX_EVENT_SUBSCR_EVT_NAME ON ACT_RU_EVENT_SUBSCR(EVENT_NAME_);
-create index ACT_IDX_PROCDEF_DEPLOYMENT_ID ON ACT_RE_PROCDEF(DEPLOYMENT_ID_);
-create index ACT_IDX_PROCDEF_TENANT_ID ON ACT_RE_PROCDEF(TENANT_ID_);
-create index ACT_IDX_PROCDEF_VER_TAG ON ACT_RE_PROCDEF(VERSION_TAG_);
--- create case definition table --
-create table ACT_RE_CASE_DEF (
-    ID_ varchar(64) not null,
-    REV_ integer,
-    CATEGORY_ varchar(255),
-    NAME_ varchar(255),
-    KEY_ varchar(255) not null,
-    VERSION_ integer not null,
-    DEPLOYMENT_ID_ varchar(64),
-    RESOURCE_NAME_ varchar(4000),
-    DGRM_RESOURCE_NAME_ varchar(4000),
-    TENANT_ID_ varchar(64),
-    HISTORY_TTL_ integer,
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
--- create case execution table --
-create table ACT_RU_CASE_EXECUTION (
-    ID_ varchar(64) NOT NULL,
-    REV_ integer,
-    CASE_INST_ID_ varchar(64),
-    SUPER_CASE_EXEC_ varchar(64),
-    SUPER_EXEC_ varchar(64),
-    BUSINESS_KEY_ varchar(255),
-    PARENT_ID_ varchar(64),
-    CASE_DEF_ID_ varchar(64),
-    ACT_ID_ varchar(255),
-    PREV_STATE_ integer,
-    CURRENT_STATE_ integer,
-    REQUIRED_ boolean,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
--- create case sentry part table --
-
-create table ACT_RU_CASE_SENTRY_PART (
-    ID_ varchar(64) NOT NULL,
-    REV_ integer,
-    CASE_INST_ID_ varchar(64),
-    CASE_EXEC_ID_ varchar(64),
-    SENTRY_ID_ varchar(255),
-    TYPE_ varchar(255),
-    SOURCE_CASE_EXEC_ID_ varchar(64),
-    STANDARD_EVENT_ varchar(255),
-    SOURCE_ varchar(255),
-    VARIABLE_EVENT_ varchar(255),
-    VARIABLE_NAME_ varchar(255),
-    SATISFIED_ boolean,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
--- create index on business key --
-create index ACT_IDX_CASE_EXEC_BUSKEY on ACT_RU_CASE_EXECUTION(BUSINESS_KEY_);
-
--- create foreign key constraints on ACT_RU_CASE_EXECUTION --
-alter table ACT_RU_CASE_EXECUTION
-    add constraint ACT_FK_CASE_EXE_CASE_INST
-    foreign key (CASE_INST_ID_)
-    references ACT_RU_CASE_EXECUTION(ID_) on delete cascade on update cascade;
-
-alter table ACT_RU_CASE_EXECUTION
-    add constraint ACT_FK_CASE_EXE_PARENT
-    foreign key (PARENT_ID_)
-    references ACT_RU_CASE_EXECUTION(ID_);
-
-alter table ACT_RU_CASE_EXECUTION
-    add constraint ACT_FK_CASE_EXE_CASE_DEF
-    foreign key (CASE_DEF_ID_)
-    references ACT_RE_CASE_DEF(ID_);
-
--- create foreign key constraints on ACT_RU_VARIABLE --
-alter table ACT_RU_VARIABLE
-    add constraint ACT_FK_VAR_CASE_EXE
-    foreign key (CASE_EXECUTION_ID_)
-    references ACT_RU_CASE_EXECUTION(ID_);
-
-alter table ACT_RU_VARIABLE
-    add constraint ACT_FK_VAR_CASE_INST
-    foreign key (CASE_INST_ID_)
-    references ACT_RU_CASE_EXECUTION(ID_);
-
--- create foreign key constraints on ACT_RU_TASK --
-alter table ACT_RU_TASK
-    add constraint ACT_FK_TASK_CASE_EXE
-    foreign key (CASE_EXECUTION_ID_)
-    references ACT_RU_CASE_EXECUTION(ID_);
-
-alter table ACT_RU_TASK
-  add constraint ACT_FK_TASK_CASE_DEF
-  foreign key (CASE_DEF_ID_)
-  references ACT_RE_CASE_DEF(ID_);
-
--- create foreign key constraints on ACT_RU_CASE_SENTRY_PART --
-alter table ACT_RU_CASE_SENTRY_PART
-    add constraint ACT_FK_CASE_SENTRY_CASE_INST
-    foreign key (CASE_INST_ID_)
-    references ACT_RU_CASE_EXECUTION(ID_);
-
-alter table ACT_RU_CASE_SENTRY_PART
-    add constraint ACT_FK_CASE_SENTRY_CASE_EXEC
-    foreign key (CASE_EXEC_ID_)
-    references ACT_RU_CASE_EXECUTION(ID_);
-
-create index ACT_IDX_CASE_DEF_TENANT_ID on ACT_RE_CASE_DEF(TENANT_ID_);
-create index ACT_IDX_CASE_EXEC_TENANT_ID on ACT_RU_CASE_EXECUTION(TENANT_ID_);
--- create decision definition table --
-create table ACT_RE_DECISION_DEF (
-    ID_ varchar(64) not null,
-    REV_ integer,
-    CATEGORY_ varchar(255),
-    NAME_ varchar(255),
-    KEY_ varchar(255) not null,
-    VERSION_ integer not null,
-    DEPLOYMENT_ID_ varchar(64),
-    RESOURCE_NAME_ varchar(4000),
-    DGRM_RESOURCE_NAME_ varchar(4000),
-    DEC_REQ_ID_ varchar(64),
-    DEC_REQ_KEY_ varchar(255),
-    TENANT_ID_ varchar(64),
-    HISTORY_TTL_ integer,
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
--- create decision requirements definition table --
-create table ACT_RE_DECISION_REQ_DEF (
-    ID_ varchar(64) NOT NULL,
-    REV_ integer,
-    CATEGORY_ varchar(255),
-    NAME_ varchar(255),
-    KEY_ varchar(255) NOT NULL,
-    VERSION_ integer NOT NULL,
-    DEPLOYMENT_ID_ varchar(64),
-    RESOURCE_NAME_ varchar(4000),
-    DGRM_RESOURCE_NAME_ varchar(4000),
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-alter table ACT_RE_DECISION_DEF
-    add constraint ACT_FK_DEC_REQ
-    foreign key (DEC_REQ_ID_)
-    references ACT_RE_DECISION_REQ_DEF(ID_);
-
-create index ACT_IDX_DEC_DEF_TENANT_ID on ACT_RE_DECISION_DEF(TENANT_ID_);
-create index ACT_IDX_DEC_DEF_REQ_ID on ACT_RE_DECISION_DEF(DEC_REQ_ID_);
-create index ACT_IDX_DEC_REQ_DEF_TENANT_ID on ACT_RE_DECISION_REQ_DEF(TENANT_ID_);
-create table ACT_HI_PROCINST (
-    ID_ varchar(64) not null,
-    PROC_INST_ID_ varchar(64) not null,
-    BUSINESS_KEY_ varchar(255),
-    PROC_DEF_KEY_ varchar(255),
-    PROC_DEF_ID_ varchar(64) not null,
-    START_TIME_ datetime(3) not null,
-    END_TIME_ datetime(3),
-    DURATION_ bigint,
-    START_USER_ID_ varchar(255),
-    START_ACT_ID_ varchar(255),
-    END_ACT_ID_ varchar(255),
-    SUPER_PROCESS_INSTANCE_ID_ varchar(64),
-    SUPER_CASE_INSTANCE_ID_ varchar(64),
-    CASE_INST_ID_ varchar(64),
-    DELETE_REASON_ varchar(4000),
-    TENANT_ID_ varchar(64),
-    STATE_ varchar(255),
-    primary key (ID_),
-    unique (PROC_INST_ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_ACTINST (
-    ID_ varchar(64) not null,
-    PARENT_ACT_INST_ID_ varchar(64),
-    PROC_DEF_KEY_ varchar(255),
-    PROC_DEF_ID_ varchar(64) not null,
-    PROC_INST_ID_ varchar(64) not null,
-    EXECUTION_ID_ varchar(64) not null,
-    ACT_ID_ varchar(255) not null,
-    TASK_ID_ varchar(64),
-    CALL_PROC_INST_ID_ varchar(64),
-    CALL_CASE_INST_ID_ varchar(64),
-    ACT_NAME_ varchar(255),
-    ACT_TYPE_ varchar(255) not null,
-    ASSIGNEE_ varchar(64),
-    START_TIME_ datetime(3) not null,
-    END_TIME_ datetime(3),
-    DURATION_ bigint,
-    ACT_INST_STATE_ integer,
-    SEQUENCE_COUNTER_ bigint,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_TASKINST (
-    ID_ varchar(64) not null,
-    TASK_DEF_KEY_ varchar(255),
-    PROC_DEF_KEY_ varchar(255),
-    PROC_DEF_ID_ varchar(64),
-    PROC_INST_ID_ varchar(64),
-    EXECUTION_ID_ varchar(64),
-    CASE_DEF_KEY_ varchar(255),
-    CASE_DEF_ID_ varchar(64),
-    CASE_INST_ID_ varchar(64),
-    CASE_EXECUTION_ID_ varchar(64),
-    ACT_INST_ID_ varchar(64),
-    NAME_ varchar(255),
-    PARENT_TASK_ID_ varchar(64),
-    DESCRIPTION_ varchar(4000),
-    OWNER_ varchar(255),
-    ASSIGNEE_ varchar(255),
-    START_TIME_ datetime(3) not null,
-    END_TIME_ datetime(3),
-    DURATION_ bigint,
-    DELETE_REASON_ varchar(4000),
-    PRIORITY_ integer,
-    DUE_DATE_ datetime(3),
-    FOLLOW_UP_DATE_ datetime(3),
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_VARINST (
-    ID_ varchar(64) not null,
-    PROC_DEF_KEY_ varchar(255),
-    PROC_DEF_ID_ varchar(64),
-    PROC_INST_ID_ varchar(64),
-    EXECUTION_ID_ varchar(64),
-    ACT_INST_ID_ varchar(64),
-    CASE_DEF_KEY_ varchar(255),
-    CASE_DEF_ID_ varchar(64),
-    CASE_INST_ID_ varchar(64),
-    CASE_EXECUTION_ID_ varchar(64),
-    TASK_ID_ varchar(64),
-    NAME_ varchar(255) not null,
-    VAR_TYPE_ varchar(100),
-    REV_ integer,
-    BYTEARRAY_ID_ varchar(64),
-    DOUBLE_ double,
-    LONG_ bigint,
-    TEXT_ LONGBLOB NULL,
-    TEXT2_ LONGBLOB NULL,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_DETAIL (
-    ID_ varchar(64) not null,
-    TYPE_ varchar(255) not null,
-    PROC_DEF_KEY_ varchar(255),
-    PROC_DEF_ID_ varchar(64),
-    PROC_INST_ID_ varchar(64),
-    EXECUTION_ID_ varchar(64),
-    CASE_DEF_KEY_ varchar(255),
-    CASE_DEF_ID_ varchar(64),
-    CASE_INST_ID_ varchar(64),
-    CASE_EXECUTION_ID_ varchar(64),
-    TASK_ID_ varchar(64),
-    ACT_INST_ID_ varchar(64),
-    VAR_INST_ID_ varchar(64),
-    NAME_ varchar(255) not null,
-    VAR_TYPE_ varchar(255),
-    REV_ integer,
-    TIME_ datetime(3) not null,
-    BYTEARRAY_ID_ varchar(64),
-    DOUBLE_ double,
-    LONG_ bigint,
-    TEXT_ LONGBLOB NULL,
-    TEXT2_ LONGBLOB NULL,
-    SEQUENCE_COUNTER_ bigint,
-    TENANT_ID_ varchar(64),
-    OPERATION_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_IDENTITYLINK (
-    ID_ varchar(64) not null,
-    TIMESTAMP_ timestamp(3) not null,
-    TYPE_ varchar(255),
-    USER_ID_ varchar(255),
-    GROUP_ID_ varchar(255),
-    TASK_ID_ varchar(64),
-    PROC_DEF_ID_ varchar(64),
-    OPERATION_TYPE_ varchar(64),
-    ASSIGNER_ID_ varchar(64),
-    PROC_DEF_KEY_ varchar(255),
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_COMMENT (
-    ID_ varchar(64) not null,
-    TYPE_ varchar(255),
-    TIME_ datetime(3) not null,
-    USER_ID_ varchar(255),
-    TASK_ID_ varchar(64),
-    PROC_INST_ID_ varchar(64),
-    ACTION_ varchar(255),
-    MESSAGE_ varchar(4000),
-    FULL_MSG_ LONGBLOB,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_ATTACHMENT (
-    ID_ varchar(64) not null,
-    REV_ integer,
-    USER_ID_ varchar(255),
-    NAME_ varchar(255),
-    DESCRIPTION_ varchar(4000),
-    TYPE_ varchar(255),
-    TASK_ID_ varchar(64),
-    PROC_INST_ID_ varchar(64),
-    URL_ varchar(4000),
-    CONTENT_ID_ varchar(64),
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_OP_LOG (
-    ID_ varchar(64) not null,
-    DEPLOYMENT_ID_ varchar(64),
-    PROC_DEF_ID_ varchar(64),
-    PROC_DEF_KEY_ varchar(255),
-    PROC_INST_ID_ varchar(64),
-    EXECUTION_ID_ varchar(64),
-    CASE_DEF_ID_ varchar(64),
-    CASE_INST_ID_ varchar(64),
-    CASE_EXECUTION_ID_ varchar(64),
-    TASK_ID_ varchar(64),
-    JOB_ID_ varchar(64),
-    JOB_DEF_ID_ varchar(64),
-    BATCH_ID_ varchar(64),
-    USER_ID_ varchar(255),
-    TIMESTAMP_ timestamp(3) not null,
-    OPERATION_TYPE_ varchar(64),
-    OPERATION_ID_ varchar(64),
-    ENTITY_TYPE_ varchar(30),
-    PROPERTY_ varchar(64),
-    ORG_VALUE_ varchar(4000),
-    NEW_VALUE_ varchar(4000),
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_INCIDENT (
-  ID_ varchar(64) not null,
-  PROC_DEF_KEY_ varchar(255),
-  PROC_DEF_ID_ varchar(64),
-  PROC_INST_ID_ varchar(64),
-  EXECUTION_ID_ varchar(64),
-  CREATE_TIME_ timestamp(3) not null,
-  END_TIME_ timestamp(3) null,
-  INCIDENT_MSG_ varchar(4000),
-  INCIDENT_TYPE_ varchar(255) not null,
-  ACTIVITY_ID_ varchar(255),
-  CAUSE_INCIDENT_ID_ varchar(64),
-  ROOT_CAUSE_INCIDENT_ID_ varchar(64),
-  CONFIGURATION_ varchar(255),
-  INCIDENT_STATE_ integer,
-  TENANT_ID_ varchar(64),
-  JOB_DEF_ID_ varchar(64),
-  primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_JOB_LOG (
-    ID_ varchar(64) not null,
-    TIMESTAMP_ timestamp(3) not null,
-    JOB_ID_ varchar(64) not null,
-    JOB_DUEDATE_ timestamp(3) NULL,
-    JOB_RETRIES_ integer,
-    JOB_PRIORITY_ bigint NOT NULL DEFAULT 0,
-    JOB_EXCEPTION_MSG_ varchar(4000),
-    JOB_EXCEPTION_STACK_ID_ varchar(64),
-    JOB_STATE_ integer,
-    JOB_DEF_ID_ varchar(64),
-    JOB_DEF_TYPE_ varchar(255),
-    JOB_DEF_CONFIGURATION_ varchar(255),
-    ACT_ID_ varchar(255),
-    EXECUTION_ID_ varchar(64),
-    PROCESS_INSTANCE_ID_ varchar(64),
-    PROCESS_DEF_ID_ varchar(64),
-    PROCESS_DEF_KEY_ varchar(255),
-    DEPLOYMENT_ID_ varchar(64),
-    SEQUENCE_COUNTER_ bigint,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_BATCH (
-    ID_ varchar(64) not null,
-    TYPE_ varchar(255),
-    TOTAL_JOBS_ integer,
-    JOBS_PER_SEED_ integer,
-    INVOCATIONS_PER_JOB_ integer,
-    SEED_JOB_DEF_ID_ varchar(64),
-    MONITOR_JOB_DEF_ID_ varchar(64),
-    BATCH_JOB_DEF_ID_ varchar(64),
-    TENANT_ID_  varchar(64),
-    START_TIME_ datetime(3) not null,
-    END_TIME_ datetime(3),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_EXT_TASK_LOG (
-    ID_ varchar(64) not null,
-    TIMESTAMP_ timestamp(3) not null,
-    EXT_TASK_ID_ varchar(64) not null,
-    RETRIES_ integer,
-    TOPIC_NAME_ varchar(255),
-    WORKER_ID_ varchar(255),
-    PRIORITY_ bigint NOT NULL DEFAULT 0,
-    ERROR_MSG_ varchar(4000),
-    ERROR_DETAILS_ID_ varchar(64),
-    ACT_ID_ varchar(255),
-    ACT_INST_ID_ varchar(64),
-    EXECUTION_ID_ varchar(64),
-    PROC_INST_ID_ varchar(64),
-    PROC_DEF_ID_ varchar(64),
-    PROC_DEF_KEY_ varchar(255),
-    TENANT_ID_ varchar(64),
-    STATE_ integer,
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
-create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
-create index ACT_IDX_HI_PRO_INST_TENANT_ID on ACT_HI_PROCINST(TENANT_ID_);
-create index ACT_IDX_HI_PRO_INST_PROC_DEF_KEY on ACT_HI_PROCINST(PROC_DEF_KEY_);
-
-create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
-create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
-create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
-create index ACT_IDX_HI_ACT_INST_COMP on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_, END_TIME_, ID_);
-create index ACT_IDX_HI_ACT_INST_STATS on ACT_HI_ACTINST(PROC_DEF_ID_, ACT_ID_, END_TIME_, ACT_INST_STATE_);
-create index ACT_IDX_HI_ACT_INST_TENANT_ID on ACT_HI_ACTINST(TENANT_ID_);
-create index ACT_IDX_HI_ACT_INST_PROC_DEF_KEY on ACT_HI_ACTINST(PROC_DEF_KEY_);
-
-create index ACT_IDX_HI_TASK_INST_TENANT_ID on ACT_HI_TASKINST(TENANT_ID_);
-create index ACT_IDX_HI_TASK_INST_PROC_DEF_KEY on ACT_HI_TASKINST(PROC_DEF_KEY_);
-
-create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
-create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
-create index ACT_IDX_HI_DETAIL_CASE_INST on ACT_HI_DETAIL(CASE_INST_ID_);
-create index ACT_IDX_HI_DETAIL_CASE_EXEC on ACT_HI_DETAIL(CASE_EXECUTION_ID_);
-create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
-create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
-create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
-create index ACT_IDX_HI_DETAIL_TENANT_ID on ACT_HI_DETAIL(TENANT_ID_);
-create index ACT_IDX_HI_DETAIL_PROC_DEF_KEY on ACT_HI_DETAIL(PROC_DEF_KEY_);
-
-create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
-create index ACT_IDX_HI_IDENT_LNK_GROUP on ACT_HI_IDENTITYLINK(GROUP_ID_);
-create index ACT_IDX_HI_IDENT_LNK_TENANT_ID on ACT_HI_IDENTITYLINK(TENANT_ID_);
-create index ACT_IDX_HI_IDENT_LNK_PROC_DEF_KEY on ACT_HI_IDENTITYLINK(PROC_DEF_KEY_);
-
-create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
-create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
-create index ACT_IDX_HI_CASEVAR_CASE_INST on ACT_HI_VARINST(CASE_INST_ID_);
-create index ACT_IDX_HI_VAR_INST_TENANT_ID on ACT_HI_VARINST(TENANT_ID_);
-create index ACT_IDX_HI_VAR_INST_PROC_DEF_KEY on ACT_HI_VARINST(PROC_DEF_KEY_);
-
-create index ACT_IDX_HI_INCIDENT_TENANT_ID on ACT_HI_INCIDENT(TENANT_ID_);
-create index ACT_IDX_HI_INCIDENT_PROC_DEF_KEY on ACT_HI_INCIDENT(PROC_DEF_KEY_);
-
-create index ACT_IDX_HI_JOB_LOG_PROCINST on ACT_HI_JOB_LOG(PROCESS_INSTANCE_ID_);
-create index ACT_IDX_HI_JOB_LOG_PROCDEF on ACT_HI_JOB_LOG(PROCESS_DEF_ID_);
-create index ACT_IDX_HI_JOB_LOG_TENANT_ID on ACT_HI_JOB_LOG(TENANT_ID_);
-create index ACT_IDX_HI_JOB_LOG_JOB_DEF_ID on ACT_HI_JOB_LOG(JOB_DEF_ID_);
-create index ACT_IDX_HI_JOB_LOG_PROC_DEF_KEY on ACT_HI_JOB_LOG(PROCESS_DEF_KEY_);
-
-create index ACT_HI_EXT_TASK_LOG_PROCINST on ACT_HI_EXT_TASK_LOG(PROC_INST_ID_);
-create index ACT_HI_EXT_TASK_LOG_PROCDEF on ACT_HI_EXT_TASK_LOG(PROC_DEF_ID_);
-create index ACT_HI_EXT_TASK_LOG_PROC_DEF_KEY on ACT_HI_EXT_TASK_LOG(PROC_DEF_KEY_);
-create index ACT_HI_EXT_TASK_LOG_TENANT_ID on ACT_HI_EXT_TASK_LOG(TENANT_ID_);
-
-create index ACT_IDX_HI_OP_LOG_PROCINST on ACT_HI_OP_LOG(PROC_INST_ID_);
-create index ACT_IDX_HI_OP_LOG_PROCDEF on ACT_HI_OP_LOG(PROC_DEF_ID_);
-create table ACT_HI_CASEINST (
-    ID_ varchar(64) not null,
-    CASE_INST_ID_ varchar(64) not null,
-    BUSINESS_KEY_ varchar(255),
-    CASE_DEF_ID_ varchar(64) not null,
-    CREATE_TIME_ datetime(3) not null,
-    CLOSE_TIME_ datetime(3),
-    DURATION_ bigint,
-    STATE_ integer,
-    CREATE_USER_ID_ varchar(255),
-    SUPER_CASE_INSTANCE_ID_ varchar(64),
-    SUPER_PROCESS_INSTANCE_ID_ varchar(64),
-    TENANT_ID_ varchar(64),
-    primary key (ID_),
-    unique (CASE_INST_ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_HI_CASEACTINST (
-    ID_ varchar(64) not null,
-    PARENT_ACT_INST_ID_ varchar(64),
-    CASE_DEF_ID_ varchar(64) not null,
-    CASE_INST_ID_ varchar(64) not null,
-    CASE_ACT_ID_ varchar(255) not null,
-    TASK_ID_ varchar(64),
-    CALL_PROC_INST_ID_ varchar(64),
-    CALL_CASE_INST_ID_ varchar(64),
-    CASE_ACT_NAME_ varchar(255),
-    CASE_ACT_TYPE_ varchar(255),
-    CREATE_TIME_ datetime(3) not null,
-    END_TIME_ datetime(3),
-    DURATION_ bigint,
-    STATE_ integer,
-    REQUIRED_ boolean,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create index ACT_IDX_HI_CAS_I_CLOSE on ACT_HI_CASEINST(CLOSE_TIME_);
-create index ACT_IDX_HI_CAS_I_BUSKEY on ACT_HI_CASEINST(BUSINESS_KEY_);
-create index ACT_IDX_HI_CAS_I_TENANT_ID on ACT_HI_CASEINST(TENANT_ID_);
-create index ACT_IDX_HI_CAS_A_I_CREATE on ACT_HI_CASEACTINST(CREATE_TIME_);
-create index ACT_IDX_HI_CAS_A_I_END on ACT_HI_CASEACTINST(END_TIME_);
-create index ACT_IDX_HI_CAS_A_I_COMP on ACT_HI_CASEACTINST(CASE_ACT_ID_, END_TIME_, ID_);
-create index ACT_IDX_HI_CAS_A_I_CASEINST on ACT_HI_CASEACTINST(CASE_INST_ID_, CASE_ACT_ID_);
-create index ACT_IDX_HI_CAS_A_I_TENANT_ID on ACT_HI_CASEACTINST(TENANT_ID_);
--- create history decision instance table --
-create table ACT_HI_DECINST (
-    ID_ varchar(64) NOT NULL,
-    DEC_DEF_ID_ varchar(64) NOT NULL,
-    DEC_DEF_KEY_ varchar(255) NOT NULL,
-    DEC_DEF_NAME_ varchar(255),
-    PROC_DEF_KEY_ varchar(255),
-    PROC_DEF_ID_ varchar(64),
-    PROC_INST_ID_ varchar(64),
-    CASE_DEF_KEY_ varchar(255),
-    CASE_DEF_ID_ varchar(64),
-    CASE_INST_ID_ varchar(64),
-    ACT_INST_ID_ varchar(64),
-    ACT_ID_ varchar(255),
-    EVAL_TIME_ datetime(3) not null,
-    COLLECT_VALUE_ double,
-    USER_ID_ varchar(255),
-    ROOT_DEC_INST_ID_ varchar(64),
-    DEC_REQ_ID_ varchar(64),
-    DEC_REQ_KEY_ varchar(255),
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
--- create history decision input table --
-create table ACT_HI_DEC_IN (
-    ID_ varchar(64) NOT NULL,
-    DEC_INST_ID_ varchar(64) NOT NULL,
-    CLAUSE_ID_ varchar(64),
-    CLAUSE_NAME_ varchar(255),
-    VAR_TYPE_ varchar(100),
-    BYTEARRAY_ID_ varchar(64),
-    DOUBLE_ double,
-    LONG_ bigint,
-    TEXT_ LONGBLOB NULL,
-    TEXT2_ LONGBLOB NULL,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
--- create history decision output table --
-create table ACT_HI_DEC_OUT (
-    ID_ varchar(64) NOT NULL,
-    DEC_INST_ID_ varchar(64) NOT NULL,
-    CLAUSE_ID_ varchar(64),
-    CLAUSE_NAME_ varchar(255),
-    RULE_ID_ varchar(64),
-    RULE_ORDER_ integer,
-    VAR_NAME_ varchar(255),
-    VAR_TYPE_ varchar(100),
-    BYTEARRAY_ID_ varchar(64),
-    DOUBLE_ double,
-    LONG_ bigint,
-    TEXT_ LONGBLOB NULL,
-    TEXT2_ LONGBLOB NULL,
-    TENANT_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-
-create index ACT_IDX_HI_DEC_INST_ID on ACT_HI_DECINST(DEC_DEF_ID_);
-create index ACT_IDX_HI_DEC_INST_KEY on ACT_HI_DECINST(DEC_DEF_KEY_);
-create index ACT_IDX_HI_DEC_INST_PI on ACT_HI_DECINST(PROC_INST_ID_);
-create index ACT_IDX_HI_DEC_INST_CI on ACT_HI_DECINST(CASE_INST_ID_);
-create index ACT_IDX_HI_DEC_INST_ACT on ACT_HI_DECINST(ACT_ID_);
-create index ACT_IDX_HI_DEC_INST_ACT_INST on ACT_HI_DECINST(ACT_INST_ID_);
-create index ACT_IDX_HI_DEC_INST_TIME on ACT_HI_DECINST(EVAL_TIME_);
-create index ACT_IDX_HI_DEC_INST_TENANT_ID on ACT_HI_DECINST(TENANT_ID_);
-create index ACT_IDX_HI_DEC_INST_ROOT_ID on ACT_HI_DECINST(ROOT_DEC_INST_ID_);
-create index ACT_IDX_HI_DEC_INST_REQ_ID on ACT_HI_DECINST(DEC_REQ_ID_);
-create index ACT_IDX_HI_DEC_INST_REQ_KEY on ACT_HI_DECINST(DEC_REQ_KEY_);
-
-
-create index ACT_IDX_HI_DEC_IN_INST on ACT_HI_DEC_IN(DEC_INST_ID_);
-create index ACT_IDX_HI_DEC_IN_CLAUSE on ACT_HI_DEC_IN(DEC_INST_ID_, CLAUSE_ID_);
-
-create index ACT_IDX_HI_DEC_OUT_INST on ACT_HI_DEC_OUT(DEC_INST_ID_);
-create index ACT_IDX_HI_DEC_OUT_RULE on ACT_HI_DEC_OUT(RULE_ORDER_, CLAUSE_ID_);
-
-
--- mariadb identity:
-
-create table ACT_ID_GROUP (
-    ID_ varchar(64),
-    REV_ integer,
-    NAME_ varchar(255),
-    TYPE_ varchar(255),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_ID_MEMBERSHIP (
-    USER_ID_ varchar(64),
-    GROUP_ID_ varchar(64),
-    primary key (USER_ID_, GROUP_ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_ID_USER (
-    ID_ varchar(64),
-    REV_ integer,
-    FIRST_ varchar(255),
-    LAST_ varchar(255),
-    EMAIL_ varchar(255),
-    PWD_ varchar(255),
-    SALT_ varchar(255),
-    PICTURE_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_ID_INFO (
-    ID_ varchar(64),
-    REV_ integer,
-    USER_ID_ varchar(64),
-    TYPE_ varchar(64),
-    KEY_ varchar(255),
-    VALUE_ varchar(255),
-    PASSWORD_ LONGBLOB,
-    PARENT_ID_ varchar(255),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_ID_TENANT (
-    ID_ varchar(64),
-    REV_ integer,
-    NAME_ varchar(255),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-create table ACT_ID_TENANT_MEMBER (
-    ID_ varchar(64) not null,
-    TENANT_ID_ varchar(64) not null,
-    USER_ID_ varchar(64),
-    GROUP_ID_ varchar(64),
-    primary key (ID_)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
-alter table ACT_ID_MEMBERSHIP
-    add constraint ACT_FK_MEMB_GROUP
-    foreign key (GROUP_ID_)
-    references ACT_ID_GROUP (ID_);
-
-alter table ACT_ID_MEMBERSHIP
-    add constraint ACT_FK_MEMB_USER
-    foreign key (USER_ID_)
-    references ACT_ID_USER (ID_);
-
-alter table ACT_ID_TENANT_MEMBER
-    add constraint ACT_UNIQ_TENANT_MEMB_USER
-    unique (TENANT_ID_, USER_ID_);
-
-alter table ACT_ID_TENANT_MEMBER
-    add constraint ACT_UNIQ_TENANT_MEMB_GROUP
-    unique (TENANT_ID_, GROUP_ID_);
-
-alter table ACT_ID_TENANT_MEMBER
-    add constraint ACT_FK_TENANT_MEMB
-    foreign key (TENANT_ID_)
-    references ACT_ID_TENANT (ID_);
-
-alter table ACT_ID_TENANT_MEMBER
-    add constraint ACT_FK_TENANT_MEMB_USER
-    foreign key (USER_ID_)
-    references ACT_ID_USER (ID_);
-
-alter table ACT_ID_TENANT_MEMBER
-    add constraint ACT_FK_TENANT_MEMB_GROUP
-    foreign key (GROUP_ID_)
-    references ACT_ID_GROUP (ID_);
-
diff --git a/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_create_camunda_admin.sql b/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_create_camunda_admin.sql
deleted file mode 100644 (file)
index 40fda9a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright © 2017 AT&T, Amdocs, Bell Canada
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*       http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-USE camundabpmn;
-
-INSERT INTO `act_id_group` (`ID_`, `REV_`, `NAME_`, `TYPE_`) VALUES ('camunda-admin',1,'camunda BPM Administrators','SYSTEM');
-
-INSERT INTO `act_id_user` (`ID_`, `REV_`, `FIRST_`, `LAST_`, `EMAIL_`, `PWD_`, `SALT_`, `PICTURE_ID_`) VALUES ('admin',1,'admin','user','camundaadmin@onap.org','{SHA-512}n5jUw7fvXM9sZBcrIkLiAOCqiPHutaqEkbg6IQVQdylVP1im8SczBJf4f2xL7cvWwIAZjkcSSQzgFTsdaJSEiA==','ftTn4gNgMcq07wdSD0lEJQ==',NULL);
-
-INSERT INTO `act_id_membership` (`USER_ID_`, `GROUP_ID_`) VALUES ('admin','camunda-admin');
-
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49b0e028-a3c6-11e7-b0ec-0242ac120003',1,1,NULL,'admin',1,'admin',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49b525e9-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,2,'camunda-admin',2);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49b8814a-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,0,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49baa42b-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,1,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49bd8a5c-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,2,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49bfd44d-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,3,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49c1f72e-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,4,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49c41a0f-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,5,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49c77570-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,6,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49ca5ba1-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,7,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49cca592-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,8,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49ceef83-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,9,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49d11264-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,10,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49d38365-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,11,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49d5a646-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,12,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49d83e57-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,13,'*',2147483647);
-INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49da3a28-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,14,'*',2147483647);
diff --git a/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Catalog-schema.sql b/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Catalog-schema.sql
deleted file mode 100644 (file)
index d05bc49..0000000
+++ /dev/null
@@ -1,477 +0,0 @@
-/* Copyright © 2017 AT&T, Amdocs, Bell Canada
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*       http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-    alter table HEAT_TEMPLATE_PARAMS 
-        drop 
-        foreign key FK_p3ol1xcvp831glqohrlu6o07o;
-
-    alter table MODEL_RECIPE 
-        drop 
-        foreign key FK_c23r0puyqug6n44jg39dutm1c;
-
-    alter table SERVICE 
-        drop 
-        foreign key FK_l3qy594u2xr1tfpmma3uigsna;
-
-    alter table SERVICE_RECIPE 
-        drop 
-        foreign key FK_i3r1b8j6e7dg9hkp49evnnm5y;
-
-    alter table SERVICE_TO_RESOURCE_CUSTOMIZATIONS 
-        drop 
-        foreign key FK_kiddaay6cfe0aob1f1jaio1bb;
-
-    alter table VF_MODULE 
-        drop 
-        foreign key FK_12jptc9it7gs3pru08skobxxc;
-
-    alter table VNF_RESOURCE_CUSTOMIZATION 
-        drop 
-        foreign key FK_iff1ayhb1hrp5jhea3vvikuni;
-
-    drop table if exists ALLOTTED_RESOURCE;
-
-    drop table if exists ALLOTTED_RESOURCE_CUSTOMIZATION;
-
-    drop table if exists HEAT_ENVIRONMENT;
-
-    drop table if exists HEAT_FILES;
-
-    drop table if exists HEAT_NESTED_TEMPLATE;
-
-    drop table if exists HEAT_TEMPLATE;
-
-    drop table if exists HEAT_TEMPLATE_PARAMS;
-
-    drop table if exists MODEL;
-
-    drop table if exists MODEL_RECIPE;
-
-    drop table if exists NETWORK_RECIPE;
-
-    drop table if exists NETWORK_RESOURCE;
-
-    drop table if exists NETWORK_RESOURCE_CUSTOMIZATION;
-
-    drop table if exists SERVICE;
-
-    drop table if exists SERVICE_RECIPE;
-
-    drop table if exists SERVICE_TO_ALLOTTED_RESOURCES;
-
-    drop table if exists SERVICE_TO_NETWORKS;
-
-    drop table if exists SERVICE_TO_RESOURCE_CUSTOMIZATIONS;
-
-    drop table if exists TEMP_NETWORK_HEAT_TEMPLATE_LOOKUP;
-
-    drop table if exists TOSCA_CSAR;
-
-    drop table if exists VF_MODULE;
-
-    drop table if exists VF_MODULE_CUSTOMIZATION;
-
-    drop table if exists VF_MODULE_TO_HEAT_FILES;
-
-    drop table if exists VNF_COMPONENTS;
-
-    drop table if exists VNF_COMPONENTS_RECIPE;
-
-    drop table if exists VNF_RECIPE;
-
-    drop table if exists VNF_RESOURCE;
-
-    drop table if exists VNF_RESOURCE_CUSTOMIZATION;
-
-    drop table if exists VNF_RES_CUSTOM_TO_VF_MODULE_CUSTOM;
-
-    create table ALLOTTED_RESOURCE (
-        MODEL_UUID varchar(255) not null,
-        MODEL_INVARIANT_UUID varchar(255),
-        MODEL_VERSION varchar(255),
-        MODEL_NAME varchar(255),
-        TOSCA_NODE_TYPE varchar(255),
-        SUBCATEGORY varchar(255),
-        DESCRIPTION varchar(255),
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (MODEL_UUID)
-    );
-
-    create table ALLOTTED_RESOURCE_CUSTOMIZATION (
-        MODEL_CUSTOMIZATION_UUID varchar(200) not null,
-        MODEL_INSTANCE_NAME varchar(255),
-        AR_MODEL_UUID varchar(255),
-        PROVIDING_SERVICE_MODEL_INVARIANT_UUID varchar(255),
-        TARGET_NETWORK_ROLE varchar(255),
-        NF_FUNCTION varchar(255),
-        NF_TYPE varchar(255),
-        NF_ROLE varchar(255),
-        NF_NAMING_CODE varchar(255),
-        MIN_INSTANCES integer,
-        MAX_INSTANCES integer,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (MODEL_CUSTOMIZATION_UUID)
-    );
-
-    create table HEAT_ENVIRONMENT (
-        ARTIFACT_UUID varchar(200) not null,
-        NAME varchar(100) not null,
-        VERSION varchar(20) not null,
-        DESCRIPTION varchar(1200),
-        BODY longtext not null,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        ARTIFACT_CHECKSUM varchar(200) default 'MANUAL RECORD',
-        primary key (ARTIFACT_UUID)
-    );
-
-    create table HEAT_FILES (
-        ARTIFACT_UUID varchar(255) not null,
-        DESCRIPTION varchar(255),
-        NAME varchar(255),
-        VERSION varchar(255),
-        BODY longtext,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        ARTIFACT_CHECKSUM varchar(255),
-        primary key (ARTIFACT_UUID)
-    );
-
-    create table HEAT_NESTED_TEMPLATE (
-        PARENT_HEAT_TEMPLATE_UUID varchar(200) not null,
-        CHILD_HEAT_TEMPLATE_UUID varchar(200) not null,
-        PROVIDER_RESOURCE_FILE varchar(100),
-        primary key (PARENT_HEAT_TEMPLATE_UUID, CHILD_HEAT_TEMPLATE_UUID)
-    );
-
-    create table HEAT_TEMPLATE (
-        ARTIFACT_UUID varchar(200) not null,
-        NAME varchar(200) not null,
-        VERSION varchar(20) not null,
-        BODY longtext not null,
-        TIMEOUT_MINUTES integer,
-        DESCRIPTION varchar(1200),
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        ARTIFACT_CHECKSUM varchar(200) default 'MANUAL RECORD' not null,
-        primary key (ARTIFACT_UUID)
-    );
-
-    create table HEAT_TEMPLATE_PARAMS (
-        HEAT_TEMPLATE_ARTIFACT_UUID varchar(255) not null,
-        PARAM_NAME varchar(255) not null,
-        IS_REQUIRED bit not null,
-        PARAM_TYPE varchar(20),
-        PARAM_ALIAS varchar(45),
-        primary key (HEAT_TEMPLATE_ARTIFACT_UUID, PARAM_NAME)
-    );
-
-    create table MODEL (
-        id integer not null auto_increment,
-        MODEL_TYPE varchar(20) not null,
-        MODEL_VERSION_ID varchar(40) not null,
-        MODEL_INVARIANT_ID varchar(40),
-        MODEL_NAME varchar(40) not null,
-        MODEL_VERSION varchar(20),
-        MODEL_CUSTOMIZATION_ID varchar(40),
-        MODEL_CUSTOMIZATION_NAME varchar(40),
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (id)
-    );
-
-    create table MODEL_RECIPE (
-        id integer not null auto_increment,
-        MODEL_ID integer not null,
-        ACTION varchar(20) not null,
-        SCHEMA_VERSION varchar(20),
-        DESCRIPTION varchar(1200),
-        ORCHESTRATION_URI varchar(256) not null,
-        MODEL_PARAM_XSD varchar(2048),
-        RECIPE_TIMEOUT integer,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (id)
-    );
-
-    create table NETWORK_RECIPE (
-        id integer not null auto_increment,
-        MODEL_NAME varchar(20) not null,
-        ACTION varchar(20) not null,
-        VERSION_STR varchar(20) not null,
-        SERVICE_TYPE varchar(45),
-        DESCRIPTION varchar(1200),
-        ORCHESTRATION_URI varchar(256) not null,
-        NETWORK_PARAM_XSD varchar(2048),
-        RECIPE_TIMEOUT integer,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (id)
-    );
-
-    create table NETWORK_RESOURCE (
-        MODEL_UUID varchar(200) not null,
-        MODEL_NAME varchar(200) not null,
-        MODEL_INVARIANT_UUID varchar(200),
-        MODEL_VERSION varchar(20),
-        TOSCA_NODE_TYPE varchar(200),
-        NEUTRON_NETWORK_TYPE varchar(20),
-        DESCRIPTION varchar(1200),
-        ORCHESTRATION_MODE varchar(20),
-        HEAT_TEMPLATE_ARTIFACT_UUID varchar(200) not null,
-        AIC_VERSION_MIN varchar(20) default 2.5 not null,
-        AIC_VERSION_MAX varchar(20) default 2.5,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (MODEL_UUID)
-    );
-
-    create table NETWORK_RESOURCE_CUSTOMIZATION (
-        MODEL_CUSTOMIZATION_UUID varchar(200) not null,
-        NETWORK_RESOURCE_MODEL_UUID varchar(200) not null,
-        MODEL_INSTANCE_NAME varchar(255),
-        NETWORK_TECHNOLOGY varchar(255),
-        NETWORK_TYPE varchar(255),
-        NETWORK_SCOPE varchar(255),
-        NETWORK_ROLE varchar(255),
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (MODEL_CUSTOMIZATION_UUID)
-    );
-
-    create table SERVICE (
-        MODEL_UUID varchar(200) not null,
-        MODEL_NAME varchar(200) not null,
-        MODEL_VERSION varchar(20) not null,
-        DESCRIPTION varchar(1200),
-        TOSCA_CSAR_ARTIFACT_UUID varchar(200),
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        MODEL_INVARIANT_UUID varchar(200) default 'MANUAL_RECORD' not null,
-        SERVICE_TYPE varchar(20),
-        SERVICE_ROLE varchar(20),
-        primary key (MODEL_UUID)
-    );
-
-    create table SERVICE_RECIPE (
-        id integer not null auto_increment,
-        SERVICE_MODEL_UUID varchar(200) not null,
-        ACTION varchar(40) not null,
-        ORCHESTRATION_URI varchar(256) not null,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        VERSION_STR varchar(20),
-        DESCRIPTION varchar(1200),
-        SERVICE_PARAM_XSD varchar(2048),
-        RECIPE_TIMEOUT integer,
-        SERVICE_TIMEOUT_INTERIM integer,
-        primary key (id)
-    );
-
-    create table SERVICE_TO_ALLOTTED_RESOURCES (
-        SERVICE_MODEL_UUID varchar(200) not null,
-        AR_MODEL_CUSTOMIZATION_UUID varchar(200) not null,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (SERVICE_MODEL_UUID, AR_MODEL_CUSTOMIZATION_UUID)
-    );
-
-    create table SERVICE_TO_NETWORKS (
-        SERVICE_MODEL_UUID varchar(200) not null,
-        NETWORK_MODEL_CUSTOMIZATION_UUID varchar(200) not null,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (SERVICE_MODEL_UUID, NETWORK_MODEL_CUSTOMIZATION_UUID)
-    );
-
-    create table SERVICE_TO_RESOURCE_CUSTOMIZATIONS (
-        MODEL_TYPE varchar(20) not null,
-        RESOURCE_MODEL_CUSTOMIZATION_UUID varchar(200) not null,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        SERVICE_MODEL_UUID varchar(200) not null,
-        primary key (MODEL_TYPE, RESOURCE_MODEL_CUSTOMIZATION_UUID)
-    );
-
-    create table TEMP_NETWORK_HEAT_TEMPLATE_LOOKUP (
-        NETWORK_RESOURCE_MODEL_NAME varchar(200) not null,
-        HEAT_TEMPLATE_ARTIFACT_UUID varchar(200) not null,
-        AIC_VERSION_MIN varchar(20) not null,
-        AIC_VERSION_MAX varchar(20),
-        primary key (NETWORK_RESOURCE_MODEL_NAME)
-    );
-
-    create table TOSCA_CSAR (
-        ARTIFACT_UUID varchar(200) not null,
-        NAME varchar(200) not null,
-        VERSION varchar(20) not null,
-        ARTIFACT_CHECKSUM varchar(200) not null,
-        URL varchar(200) not null,
-        DESCRIPTION varchar(1200),
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (ARTIFACT_UUID)
-    );
-
-    create table VF_MODULE (
-        MODEL_UUID varchar(200) not null,
-        VNF_RESOURCE_MODEL_UUID varchar(200),
-        MODEL_INVARIANT_UUID varchar(200),
-        MODEL_VERSION varchar(20) not null,
-        MODEL_NAME varchar(200) not null,
-        DESCRIPTION varchar(1200),
-        IS_BASE integer not null,
-        HEAT_TEMPLATE_ARTIFACT_UUID varchar(200) not null,
-        VOL_HEAT_TEMPLATE_ARTIFACT_UUID varchar(200),
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (MODEL_UUID)
-    );
-
-    create table VF_MODULE_CUSTOMIZATION (
-        MODEL_CUSTOMIZATION_UUID varchar(200) not null,
-        VF_MODULE_MODEL_UUID varchar(200) not null,
-        VOL_ENVIRONMENT_ARTIFACT_UUID varchar(200),
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        HEAT_ENVIRONMENT_ARTIFACT_UUID varchar(200),
-        MIN_INSTANCES integer,
-        MAX_INSTANCES integer,
-        INITIAL_COUNT integer,
-        AVAILABILITY_ZONE_COUNT integer,
-        LABEL varchar(200),
-        primary key (MODEL_CUSTOMIZATION_UUID)
-    );
-
-    create table VF_MODULE_TO_HEAT_FILES (
-        VF_MODULE_MODEL_UUID varchar(200) not null,
-        HEAT_FILES_ARTIFACT_UUID varchar(200) not null,
-        primary key (VF_MODULE_MODEL_UUID, HEAT_FILES_ARTIFACT_UUID)
-    );
-
-    create table VNF_COMPONENTS (
-        VNF_ID integer not null,
-        COMPONENT_TYPE varchar(20) not null,
-        HEAT_TEMPLATE_ID integer,
-        HEAT_ENVIRONMENT_ID integer,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (VNF_ID, COMPONENT_TYPE)
-    );
-
-    create table VNF_COMPONENTS_RECIPE (
-        id integer not null auto_increment,
-        VNF_TYPE varchar(200),
-        VF_MODULE_MODEL_UUID varchar(100),
-        VNF_COMPONENT_TYPE varchar(45) not null,
-        ACTION varchar(20) not null,
-        SERVICE_TYPE varchar(45),
-        VERSION varchar(20),
-        DESCRIPTION varchar(1200),
-        ORCHESTRATION_URI varchar(256) not null,
-        VNF_COMPONENT_PARAM_XSD varchar(2048),
-        RECIPE_TIMEOUT integer,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (id)
-    );
-
-    create table VNF_RECIPE (
-        id integer not null auto_increment,
-        VF_MODULE_ID varchar(100),
-        ACTION varchar(20) not null,
-        VERSION_STR varchar(20) not null,
-        VNF_TYPE varchar(200),
-        SERVICE_TYPE varchar(45) default null,
-        DESCRIPTION varchar(1200),
-        ORCHESTRATION_URI varchar(256) not null,
-        VNF_PARAM_XSD varchar(2048),
-        RECIPE_TIMEOUT integer,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (id)
-    );
-
-    create table VNF_RESOURCE (
-        MODEL_UUID varchar(200) not null,
-        MODEL_INVARIANT_UUID varchar(200),
-        MODEL_VERSION varchar(20) not null,
-        MODEL_NAME varchar(200),
-        TOSCA_NODE_TYPE varchar(200),
-        DESCRIPTION varchar(1200),
-        ORCHESTRATION_MODE varchar(20) not null,
-        AIC_VERSION_MIN varchar(20),
-        AIC_VERSION_MAX varchar(20),
-        HEAT_TEMPLATE_ARTIFACT_UUID varchar(200),
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (MODEL_UUID)
-    );
-
-    create table VNF_RESOURCE_CUSTOMIZATION (
-        MODEL_CUSTOMIZATION_UUID varchar(200) not null,
-        MODEL_INSTANCE_NAME varchar(200) not null,
-        MIN_INSTANCES integer,
-        MAX_INSTANCES integer,
-        AVAILABILITY_ZONE_MAX_COUNT integer,
-        NF_FUNCTION varchar(200),
-        NF_TYPE varchar(200),
-        NF_ROLE varchar(200),
-        NF_NAMING_CODE varchar(200),
-        VNF_RESOURCE_MODEL_UUID varchar(200) not null,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (MODEL_CUSTOMIZATION_UUID)
-    );
-
-    create table VNF_RES_CUSTOM_TO_VF_MODULE_CUSTOM (
-        VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID varchar(200) not null,
-        VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID varchar(200) not null,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID, VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID)
-    );
-
-    alter table MODEL 
-        add constraint UK_rra00f1rk6eyy7g00k9raxh2v  unique (MODEL_TYPE, MODEL_VERSION_ID);
-
-    alter table MODEL_RECIPE 
-        add constraint UK_b4g8j9wtqrkxfycyi3ursk7gb  unique (MODEL_ID, ACTION);
-
-    alter table NETWORK_RECIPE 
-        add constraint UK_pbsa8i44m8p10f9529jdgfuk9  unique (MODEL_NAME, ACTION, VERSION_STR);
-
-    alter table SERVICE_RECIPE 
-        add constraint UK_2lr377dpqnvl5aqlp5dtj2fcp  unique (SERVICE_MODEL_UUID, ACTION);
-
-    alter table VNF_COMPONENTS_RECIPE 
-        add constraint UK_g3je95aaxxiuest25f0qoy2u8  unique (VNF_TYPE, VF_MODULE_MODEL_UUID, VNF_COMPONENT_TYPE, ACTION, SERVICE_TYPE, VERSION);
-
-    alter table VNF_RECIPE 
-        add constraint UK_f3tvqau498vrifq3cr8qnigkr  unique (VF_MODULE_ID, ACTION, VERSION_STR);
-
-    alter table HEAT_TEMPLATE_PARAMS 
-        add constraint FK_p3ol1xcvp831glqohrlu6o07o 
-        foreign key (HEAT_TEMPLATE_ARTIFACT_UUID) 
-        references HEAT_TEMPLATE (ARTIFACT_UUID);
-
-    alter table MODEL_RECIPE 
-        add constraint FK_c23r0puyqug6n44jg39dutm1c 
-        foreign key (MODEL_ID) 
-        references MODEL (id);
-
-    alter table SERVICE 
-        add constraint FK_l3qy594u2xr1tfpmma3uigsna 
-        foreign key (TOSCA_CSAR_ARTIFACT_UUID) 
-        references TOSCA_CSAR (ARTIFACT_UUID);
-
-    alter table SERVICE_RECIPE 
-        add constraint FK_i3r1b8j6e7dg9hkp49evnnm5y 
-        foreign key (SERVICE_MODEL_UUID) 
-        references SERVICE (MODEL_UUID);
-
-    alter table SERVICE_TO_RESOURCE_CUSTOMIZATIONS 
-        add constraint FK_kiddaay6cfe0aob1f1jaio1bb 
-        foreign key (SERVICE_MODEL_UUID) 
-        references SERVICE (MODEL_UUID);
-
-    alter table VF_MODULE 
-        add constraint FK_12jptc9it7gs3pru08skobxxc 
-        foreign key (VNF_RESOURCE_MODEL_UUID) 
-        references VNF_RESOURCE (MODEL_UUID);
-
-    alter table VNF_RESOURCE_CUSTOMIZATION 
-        add constraint FK_iff1ayhb1hrp5jhea3vvikuni 
-        foreign key (VNF_RESOURCE_MODEL_UUID) 
-        references VNF_RESOURCE (MODEL_UUID);
diff --git a/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Requests-schema.sql b/kubernetes/mso/resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Requests-schema.sql
deleted file mode 100644 (file)
index eff696d..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Copyright © 2017 AT&T, Amdocs, Bell Canada
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*       http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-    drop table if exists INFRA_ACTIVE_REQUESTS;
-
-    drop table if exists SITE_STATUS;
-
-    create table INFRA_ACTIVE_REQUESTS (
-        REQUEST_ID varchar(45) not null,
-        CLIENT_REQUEST_ID varchar(45),
-        ACTION varchar(45) not null,
-        REQUEST_STATUS varchar(20),
-        STATUS_MESSAGE varchar(2000),
-        PROGRESS bigint,
-        START_TIME datetime,
-        END_TIME datetime,
-        SOURCE varchar(45),
-        VNF_ID varchar(45),
-        VNF_NAME varchar(80),
-        VNF_TYPE varchar(200),
-        SERVICE_TYPE varchar(45),
-        AIC_NODE_CLLI varchar(11),
-        TENANT_ID varchar(45),
-        PROV_STATUS varchar(20),
-        VNF_PARAMS longtext,
-        VNF_OUTPUTS longtext,
-        REQUEST_BODY longtext,
-        RESPONSE_BODY longtext,
-        LAST_MODIFIED_BY varchar(50),
-        MODIFY_TIME datetime,
-        REQUEST_TYPE varchar(20),
-        VOLUME_GROUP_ID varchar(45),
-        VOLUME_GROUP_NAME varchar(45),
-        VF_MODULE_ID varchar(45),
-        VF_MODULE_NAME varchar(200),
-        VF_MODULE_MODEL_NAME varchar(200),
-        AAI_SERVICE_ID varchar(50),
-        AIC_CLOUD_REGION varchar(11),
-        CALLBACK_URL varchar(200),
-        CORRELATOR varchar(80),
-        SERVICE_INSTANCE_ID varchar(45),
-        SERVICE_INSTANCE_NAME varchar(80),
-        REQUEST_SCOPE varchar(20),
-        REQUEST_ACTION varchar(45) not null,
-        NETWORK_ID varchar(45),
-        NETWORK_NAME varchar(80),
-        NETWORK_TYPE varchar(80),
-        REQUESTOR_ID varchar(80),
-        primary key (REQUEST_ID)
-    );
-
-    create table SITE_STATUS (
-        SITE_NAME varchar(255) not null,
-        STATUS bit,
-        CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP,
-        primary key (SITE_NAME)
-    );
-       create table OPERATION_STATUS (
-        SERVICE_ID varchar(255) not null,
-        OPERATION_ID varchar(255) not null,
-               SERVICE_NAME varchar(255),
-               OPERATION_TYPE varchar(255),
-               USER_ID varchar(255),
-               RESULT varchar(255),
-               OPERATION_CONTENT varchar(255),
-               PROGRESS varchar(255),
-               REASON varchar(255),
-        OPERATE_AT datetime,
-               FINISHED_AT datetime,
-        primary key (SERVICE_ID,OPERATION_ID)
-    );
-       create table RESOURCE_OPERATION_STATUS (
-        SERVICE_ID varchar(255) not null,
-        OPERATION_ID varchar(255) not null,
-        RESOURCE_TEMPLATE_UUID varchar(255) not null,
-               OPER_TYPE varchar(255),
-               RESOURCE_INSTANCE_ID varchar(255),
-               JOB_ID varchar(255),
-               STATUS varchar(255),
-               PROGRESS varchar(255),
-               ERROR_CODE varchar(255) ,
-               STATUS_DESCRIPOTION varchar(255) ,
-        primary key (SERVICE_ID,OPERATION_ID,RESOURCE_TEMPLATE_UUID)
-    );
-    alter table INFRA_ACTIVE_REQUESTS 
-        add constraint UK_bhu6w8p7wvur4pin0gjw2d5ak  unique (CLIENT_REQUEST_ID);
diff --git a/kubernetes/mso/resources/config/mso/aai.crt b/kubernetes/mso/resources/config/mso/aai.crt
deleted file mode 100755 (executable)
index d51c056..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-Bag Attributes
-    friendlyName: aaiopenecomp
-    localKeyID: 54 69 6D 65 20 31 35 31 30 30 33 33 31 37 31 38 39 32 
-subject=/C=US/ST=NJ/L=Bedminister/O=ONAP/CN=aai.api.simpledemo.openecomp.org/emailAddress=aai-host@api.simpledemo.openecomp.org
-issuer=/C=US/ST=NJ/L=Bedminster/O=OpenECOMP/OU=simpledemo/CN=OpenECOMP simpledemo Server CA X1/emailAddress=simpledemo@openecomp.org
------BEGIN CERTIFICATE-----
-MIIDyzCCArMCCQDrA8zzZKXznDANBgkqhkiG9w0BAQsFADCBrTELMAkGA1UEBhMC
-VVMxCzAJBgNVBAgMAk5KMRMwEQYDVQQHDApCZWRtaW5zdGVyMRIwEAYDVQQKDAlP
-cGVuRUNPTVAxEzARBgNVBAsMCnNpbXBsZWRlbW8xKjAoBgNVBAMMIU9wZW5FQ09N
-UCBzaW1wbGVkZW1vIFNlcnZlciBDQSBYMTEnMCUGCSqGSIb3DQEJARYYc2ltcGxl
-ZGVtb0BvcGVuZWNvbXAub3JnMB4XDTE3MTEwMzIzNDUzNVoXDTE4MTIwNjIzNDUz
-NVowgaAxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOSjEUMBIGA1UEBwwLQmVkbWlu
-aXN0ZXIxDTALBgNVBAoMBE9OQVAxKTAnBgNVBAMMIGFhaS5hcGkuc2ltcGxlZGVt
-by5vcGVuZWNvbXAub3JnMTQwMgYJKoZIhvcNAQkBFiVhYWktaG9zdEBhcGkuc2lt
-cGxlZGVtby5vcGVuZWNvbXAub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
-CgKCAQEA6gFktbGZVt4o78kU6oeCdqx04yPNTd1qRmJ06CD87fgrIDCTXVC+PE7R
-hHd1V71aNnoElBzn+mwetn4qG4T9IqAJvFIXxrzLpS7WlKBxStFhe4GNXl+RDqWc
-UM+47+s32TwZ3czQrhMVR9VNENUHo2d6XylGaUDcVgrMYWbFYWfmIJ4tO1latW9n
-h+perB0nNBxNDK9nYtjLHQk6ukTmONSnldvCgu/TFX5C34qB49cI0LmCf5Lwk9tv
-8dmTZ6Um8A0EbQen+uPaaHeEXm/EtFy0FSVzoKmxuQS0g4JNhfnfNCHVDO7zGE+N
-pCb9VfUI2fXIZvjNBAemKN/b2i5d6QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBh
-93eaeAw0aA4ukAPpuWIODxxAnZlFfDH4uzwnv6smDJzO1biRwQ5BBZfL8qSVozrp
-aDKeIPWP7fZvjl3mGfCp8mLkI6WkfXVcZy5IlJGDTnW+G8Cpohq910W/Ibp1J9zx
-Ki4IdgKx7FbSYLpgwH2g2EPshHXQX2qFdxYvnEH0PzJjYBKeyyHV3N2kNr6+kM3Q
-HpXXIiLNbNcqLT+9zOmuJszN8ILLV56vu8Clzwxld+ru0tiO2OJk2eT+mtw2PI1/
-jcYqEEdOIZycrQiytxXgvte7A9VFQP/1Tl22BBYrAW2BhyW67kopATeiSunK1FmO
-DLcT7mR+59F964RV9BJR
------END CERTIFICATE-----
-Bag Attributes
-    friendlyName: root
-    2.16.840.1.113894.746875.1.1: <Unsupported tag 6>
-subject=/C=US/ST=NJ/L=Bedminster/O=OpenECOMP/OU=simpledemo/CN=OpenECOMP simpledemo Server CA X1/emailAddress=simpledemo@openecomp.org
-issuer=/C=US/ST=NJ/L=Bedminster/O=OpenECOMP/OU=simpledemo/CN=OpenECOMP simpledemo Root Certification Authority/emailAddress=simpledemo@openecomp.org
------BEGIN CERTIFICATE-----
-MIIFpTCCA42gAwIBAgIJAJqx8dKnCZZoMA0GCSqGSIb3DQEBCwUAMIG9MQswCQYD
-VQQGEwJVUzELMAkGA1UECAwCTkoxEzARBgNVBAcMCkJlZG1pbnN0ZXIxEjAQBgNV
-BAoMCU9wZW5FQ09NUDETMBEGA1UECwwKc2ltcGxlZGVtbzE6MDgGA1UEAwwxT3Bl
-bkVDT01QIHNpbXBsZWRlbW8gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEn
-MCUGCSqGSIb3DQEJARYYc2ltcGxlZGVtb0BvcGVuZWNvbXAub3JnMB4XDTE2MTEy
-ODIxMTQyNloXDTIxMTEyNzIxMTQyNlowga0xCzAJBgNVBAYTAlVTMQswCQYDVQQI
-DAJOSjETMBEGA1UEBwwKQmVkbWluc3RlcjESMBAGA1UECgwJT3BlbkVDT01QMRMw
-EQYDVQQLDApzaW1wbGVkZW1vMSowKAYDVQQDDCFPcGVuRUNPTVAgc2ltcGxlZGVt
-byBTZXJ2ZXIgQ0EgWDExJzAlBgkqhkiG9w0BCQEWGHNpbXBsZWRlbW9Ab3BlbmVj
-b21wLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALr4rivKQuRk
-YNf5Ig40e1nqj6s6LB1vgMOYbKfRziOFpPcUpsHPOhusHowiUsrU1vdFSzPz6Ej7
-PjlmNSg2Qka8YCn9kd6QgM7U0KcPJvIucBp+qjifH3EvP0jgDPhDeVRYxzV454dv
-5kQ9uCpswJP7YAnX51dkWeH8nwPUoagt31bOl9LXENSrgxEThxdLYMJnQJWk2CmV
-otXM4tT1dxyJxFUrZ6uJCEAYw5VtlplqihHf8lHy+sWQavtsLz/4dc+sGeXSTfoI
-voKvoh3uZ5gEhGV8yfJxk1veX5y5/AxP80vQ+smWYjTnQL5QQ57y4bciez4XVBmQ
-SWimWtOi4e8CAwEAAaOBtTCBsjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
-AwIBhjAdBgNVHQ4EFgQUTqdsYgGNGubdJHq9tsaJhM9HE5wwcAYDVR0gBGkwZzBl
-BgRVHSAAMF0wWwYIKwYBBQUHAgIwTxpNSWYgeW91IHRydXN0IHRoaXMgY2VydCB0
-aGVuIHdlIGhhdmUgYSBicmlkZ2UgdGhhdCB5b3UgbWlnaHQgYmUgaW50ZXJlc3Rl
-ZCBpbi4wDQYJKoZIhvcNAQELBQADggIBAKNNlRqFuE/JgV1BHyYK0xoSXH4aZP/7
-IoHtDVcSaZAOOuFOUrwVMUbzRBebbb6RpFwt/X+NLFUGysd+XNLF7W7lzxKtmFNX
-n4OpNkBe0y5O7yurus8rERHzu3jiOSgVo+WzDlGpYSRnG3hI2qPWqD+Puzx/WwI8
-XUTuzEQQ3gUSyVFfXHpay3VpYmLZiLJ9WKY5SDw7Ie6Sxrju4Qm1HwnFY8wHZGcs
-2KMQzorJ1ZNQf523yUTghbT0rKaSFaD8zugPtI2ONfFG/QgrkQXo78opzPsHnHwa
-SxGSiAgeLbwAUCvPNl27zr6k6+7TcNjV0VUivAs0OG3VEAdgi7UWYB+30KfWwHwE
-zGmvd4IAGqIqlqLcSVArN5z8JK1B5nfjQn5UrclU1vK+dnuiKE2X4rKuBTRYRFR/
-km+mj4koYFPKFHndmJl1uv2OCJK9l5CSIuKWeI1qv8BASKqgNdoT/SKBXqxgYlCb
-o+j4IDjxrxChRO+e5vl9lA7INfRrbljCkUjfLRa+v2q9tWQ3+EQUwwnSrSfihh2T
-j0Tksr6b8dDsvMlCdOKG1B+JPcEXORSFKNXVTEfjqpJG8s16kFAocWt3S6xO0k1t
-qbQp+3tWQgW2TGnX0rMZzB6NGRNfWhlYmq2zHgXkiCIZ26Ztgt/LNbwEvN3+VlLo
-z/Rd+SKtlrfb
------END CERTIFICATE-----
diff --git a/kubernetes/mso/resources/config/mso/encryption.key b/kubernetes/mso/resources/config/mso/encryption.key
deleted file mode 100644 (file)
index eb52241..0000000
+++ /dev/null
@@ -1 +0,0 @@
-aa3871669d893c7fb8abbcda31b88b4f
diff --git a/kubernetes/mso/resources/config/mso/jboss/standalone-full-ha-mso.xml b/kubernetes/mso/resources/config/mso/jboss/standalone-full-ha-mso.xml
deleted file mode 100644 (file)
index 86edeb3..0000000
+++ /dev/null
@@ -1,609 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-
-<server xmlns="urn:jboss:domain:4.2">
-
-    <extensions>
-        <extension module="org.jboss.as.clustering.infinispan"/>
-        <extension module="org.jboss.as.clustering.jgroups"/>
-        <extension module="org.jboss.as.connector"/>
-        <extension module="org.jboss.as.deployment-scanner"/>
-        <extension module="org.jboss.as.ee"/>
-        <extension module="org.jboss.as.ejb3"/>
-        <extension module="org.jboss.as.jaxrs"/>
-        <extension module="org.jboss.as.jdr"/>
-        <extension module="org.jboss.as.jmx"/>
-        <extension module="org.jboss.as.jpa"/>
-        <extension module="org.jboss.as.jsf"/>
-        <extension module="org.jboss.as.jsr77"/>
-        <extension module="org.jboss.as.logging"/>
-        <extension module="org.jboss.as.mail"/>
-        <extension module="org.jboss.as.modcluster"/>
-        <extension module="org.jboss.as.naming"/>
-        <extension module="org.jboss.as.pojo"/>
-        <extension module="org.jboss.as.remoting"/>
-        <extension module="org.jboss.as.sar"/>
-        <extension module="org.jboss.as.security"/>
-        <extension module="org.jboss.as.transactions"/>
-        <extension module="org.jboss.as.webservices"/>
-        <extension module="org.jboss.as.weld"/>
-        <extension module="org.wildfly.extension.batch.jberet"/>
-        <extension module="org.wildfly.extension.bean-validation"/>
-        <extension module="org.wildfly.extension.clustering.singleton"/>
-        <extension module="org.wildfly.extension.io"/>
-        <extension module="org.wildfly.extension.messaging-activemq"/>
-        <extension module="org.wildfly.extension.request-controller"/>
-        <extension module="org.wildfly.extension.security.manager"/>
-        <extension module="org.wildfly.extension.undertow"/>
-        <extension module="org.wildfly.iiop-openjdk"/>
-    </extensions>
-
-
-    <management>
-        <security-realms>
-            <security-realm name="ManagementRealm">
-                <authentication>
-                    <local default-user="$local" skip-group-loading="true"/>
-                    <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
-                </authentication>
-                <authorization map-groups-to-roles="false">
-                    <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
-                </authorization>
-            </security-realm>
-            <security-realm name="ApplicationRealm">
-                <server-identities>
-                    <ssl>
-                        <keystore path="application.keystore" relative-to="jboss.server.config.dir" keystore-password="password" alias="server" key-password="password" generate-self-signed-certificate-host="localhost"/>
-                    </ssl>
-                </server-identities>
-                <authentication>
-                    <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
-                    <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
-                </authentication>
-                <authorization>
-                    <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
-                </authorization>
-            </security-realm>
-        </security-realms>
-        <audit-log>
-            <formatters>
-                <json-formatter name="json-formatter"/>
-            </formatters>
-            <handlers>
-                <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
-            </handlers>
-            <logger log-boot="true" log-read-only="false" enabled="false">
-                <handlers>
-                    <handler name="file"/>
-                </handlers>
-            </logger>
-        </audit-log>
-        <management-interfaces>
-            <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
-                <socket-binding http="management-http"/>
-            </http-interface>
-        </management-interfaces>
-        <access-control provider="simple">
-            <role-mapping>
-                <role name="SuperUser">
-                    <include>
-                        <user name="$local"/>
-                    </include>
-                </role>
-            </role-mapping>
-        </access-control>
-    </management>
-
-    <profile>
-        <subsystem xmlns="urn:jboss:domain:logging:3.0">
-            <console-handler name="CONSOLE">
-                <level name="INFO"/>
-                <formatter>
-                    <named-formatter name="COLOR-PATTERN"/>
-                </formatter>
-            </console-handler>
-            <periodic-rotating-file-handler name="FILE" autoflush="true">
-                <formatter>
-                    <named-formatter name="PATTERN"/>
-                </formatter>
-                <file relative-to="jboss.server.log.dir" path="server.log"/>
-                <suffix value=".yyyy-MM-dd"/>
-                <append value="true"/>
-            </periodic-rotating-file-handler>
-            <logger category="com.arjuna">
-                <level name="WARN"/>
-            </logger>
-            <logger category="org.jboss.as.config">
-                <level name="DEBUG"/>
-            </logger>
-            <logger category="sun.rmi">
-                <level name="WARN"/>
-            </logger>
-            <root-logger>
-                <level name="INFO"/>
-                <handlers>
-                    <handler name="CONSOLE"/>
-                    <handler name="FILE"/>
-                </handlers>
-            </root-logger>
-            <formatter name="PATTERN">
-                <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
-            </formatter>
-            <formatter name="COLOR-PATTERN">
-                <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
-            </formatter>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:batch-jberet:1.0">
-            <default-job-repository name="in-memory"/>
-            <default-thread-pool name="batch"/>
-            <job-repository name="in-memory">
-                <in-memory/>
-            </job-repository>
-            <thread-pool name="batch">
-                <max-threads count="10"/>
-                <keepalive-time time="30" unit="seconds"/>
-            </thread-pool>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:datasources:4.0">
-            <datasources>
-                <datasource jndi-name="java:jboss/datasources/mso-requests" pool-name="mso-requests" enabled="true" use-ccm="true">
-                    <connection-url>jdbc:mariadb://mso-mariadb.{{.Values.nsPrefix}}:3306/mso_requests?autoReconnect=true&amp;connectTimeout=60000&amp;socketTimeout=60000</connection-url>
-                    <driver>mariadb</driver>
-                    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
-                    <pool>
-                        <min-pool-size>10</min-pool-size>
-                        <max-pool-size>100</max-pool-size>
-                        <prefill>true</prefill>
-                        <use-strict-min>false</use-strict-min>
-                        <flush-strategy>FailingConnectionOnly</flush-strategy>
-                    </pool>
-                    <security>
-                        <user-name>mso</user-name>
-                        <password>mso123</password>
-                    </security>
-                    <validation>
-                        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
-                        <validate-on-match>false</validate-on-match>
-                        <background-validation>true</background-validation>
-                        <background-validation-millis>20000</background-validation-millis>
-                        <use-fast-fail>true</use-fast-fail>
-                        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
-                    </validation>
-                    <timeout>
-                        <idle-timeout-minutes>15</idle-timeout-minutes>
-                        <query-timeout>30</query-timeout>
-                        <allocation-retry>1</allocation-retry>
-                        <allocation-retry-wait-millis>3000</allocation-retry-wait-millis>
-                    </timeout>
-                </datasource>
-                <datasource jndi-name="java:jboss/datasources/mso-catalog" pool-name="mso-catalog" enabled="true" use-ccm="true">
-                    <connection-url>jdbc:mariadb://mso-mariadb.{{.Values.nsPrefix}}:3306/mso_catalog?autoReconnect=true&amp;connectTimeout=60000&amp;socketTimeout=60000</connection-url>
-                    <driver>mariadb</driver>
-                    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
-                    <pool>
-                        <min-pool-size>10</min-pool-size>
-                        <max-pool-size>100</max-pool-size>
-                        <prefill>true</prefill>
-                        <use-strict-min>false</use-strict-min>
-                        <flush-strategy>FailingConnectionOnly</flush-strategy>
-                    </pool>
-                    <security>
-                        <user-name>catalog</user-name>
-                        <password>catalog123</password>
-                    </security>
-                    <validation>
-                        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
-                        <validate-on-match>false</validate-on-match>
-                        <background-validation>true</background-validation>
-                        <background-validation-millis>20000</background-validation-millis>
-                        <use-fast-fail>true</use-fast-fail>
-                        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
-                    </validation>
-                    <timeout>
-                        <idle-timeout-minutes>15</idle-timeout-minutes>
-                        <query-timeout>30</query-timeout>
-                        <allocation-retry>1</allocation-retry>
-                        <allocation-retry-wait-millis>3000</allocation-retry-wait-millis>
-                    </timeout>
-                </datasource>
-                <datasource jta="true" jndi-name="java:jboss/datasources/ProcessEngine" pool-name="ProcessEngine" enabled="true" use-java-context="true" use-ccm="true">
-                    <connection-url>jdbc:mariadb://mso-mariadb.{{.Values.nsPrefix}}:3306/camundabpmn?autoReconnect=true&amp;connectTimeout=60000&amp;socketTimeout=60000</connection-url>
-                    <driver>mariadb</driver>
-                    <new-connection-sql>set autocommit=1</new-connection-sql>
-                    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
-                    <pool>
-                        <min-pool-size>10</min-pool-size>
-                        <max-pool-size>100</max-pool-size>
-                        <prefill>true</prefill>
-                        <use-strict-min>false</use-strict-min>
-                        <flush-strategy>FailingConnectionOnly</flush-strategy>
-                    </pool>
-                    <security>
-                        <user-name>camunda</user-name>
-                        <password>camunda123</password>
-                    </security>
-                    <validation>
-                        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
-                        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
-                    </validation>
-                    <statement>
-                        <prepared-statement-cache-size>32</prepared-statement-cache-size>
-                        <share-prepared-statements>true</share-prepared-statements>
-                    </statement>
-                </datasource>
-                <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
-                    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
-                    <driver>h2</driver>
-                    <security>
-                        <user-name>sa</user-name>
-                        <password>sa</password>
-                    </security>
-                </datasource>
-                <drivers>
-                    <driver name="h2" module="com.h2database.h2">
-                        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
-                    </driver>
-                    <driver name="mariadb" module="mariadb">
-                        <xa-datasource-class>org.mariadb.jdbc.MySQLDataSource</xa-datasource-class>
-                    </driver>
-                </drivers>
-            </datasources>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
-            <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:ee:4.0">
-            <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
-            <concurrent>
-                <context-services>
-                    <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>
-                </context-services>
-                <managed-thread-factories>
-                    <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
-                </managed-thread-factories>
-                <managed-executor-services>
-                    <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" keepalive-time="5000"/>
-                </managed-executor-services>
-                <managed-scheduled-executor-services>
-                    <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" keepalive-time="3000"/>
-                </managed-scheduled-executor-services>
-            </concurrent>
-            <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" jms-connection-factory="java:jboss/DefaultJMSConnectionFactory" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:ejb3:4.0">
-            <session-bean>
-                <stateless>
-                    <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
-                </stateless>
-                <stateful default-access-timeout="5000" cache-ref="distributable" passivation-disabled-cache-ref="simple"/>
-                <singleton default-access-timeout="5000"/>
-            </session-bean>
-            <mdb>
-                <resource-adapter-ref resource-adapter-name="${ejb.resource-adapter-name:activemq-ra.rar}"/>
-                <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
-            </mdb>
-            <pools>
-                <bean-instance-pools>
-                    <strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
-                    <strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
-                </bean-instance-pools>
-            </pools>
-            <caches>
-                <cache name="simple"/>
-                <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
-            </caches>
-            <passivation-stores>
-                <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
-            </passivation-stores>
-            <async thread-pool-name="default"/>
-            <timer-service thread-pool-name="default" default-data-store="default-file-store">
-                <data-stores>
-                    <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
-                </data-stores>
-            </timer-service>
-            <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>
-            <thread-pools>
-                <thread-pool name="default">
-                    <max-threads count="10"/>
-                    <keepalive-time time="100" unit="milliseconds"/>
-                </thread-pool>
-            </thread-pools>
-            <iiop enable-by-default="false" use-qualified-name="false"/>
-            <default-security-domain value="other"/>
-            <default-missing-method-permissions-deny-access value="true"/>
-            <log-system-exceptions value="true"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:io:1.1">
-            <worker name="default"/>
-            <buffer-pool name="default"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:infinispan:4.0">
-            <cache-container name="server" aliases="singleton cluster" default-cache="default" module="org.wildfly.clustering.server">
-                <transport lock-timeout="60000"/>
-                <replicated-cache name="default" mode="SYNC">
-                    <transaction mode="BATCH"/>
-                </replicated-cache>
-            </cache-container>
-            <cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan">
-                <transport lock-timeout="60000"/>
-                <distributed-cache name="dist" mode="ASYNC" l1-lifespan="0" owners="2">
-                    <locking isolation="REPEATABLE_READ"/>
-                    <transaction mode="BATCH"/>
-                    <file-store/>
-                </distributed-cache>
-                <distributed-cache name="concurrent" mode="SYNC" l1-lifespan="0" owners="2">
-                    <file-store/>
-                </distributed-cache>
-            </cache-container>
-            <cache-container name="ejb" aliases="sfsb" default-cache="dist" module="org.wildfly.clustering.ejb.infinispan">
-                <transport lock-timeout="60000"/>
-                <distributed-cache name="dist" mode="ASYNC" l1-lifespan="0" owners="2">
-                    <locking isolation="REPEATABLE_READ"/>
-                    <transaction mode="BATCH"/>
-                    <file-store/>
-                </distributed-cache>
-            </cache-container>
-            <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan">
-                <transport lock-timeout="60000"/>
-                <local-cache name="local-query">
-                    <eviction strategy="LRU" max-entries="10000"/>
-                    <expiration max-idle="100000"/>
-                </local-cache>
-                <invalidation-cache name="entity" mode="SYNC">
-                    <transaction mode="NON_XA"/>
-                    <eviction strategy="LRU" max-entries="10000"/>
-                    <expiration max-idle="100000"/>
-                </invalidation-cache>
-                <replicated-cache name="timestamps" mode="ASYNC"/>
-            </cache-container>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:iiop-openjdk:1.0">
-            <orb socket-binding="iiop" ssl-socket-binding="iiop-ssl"/>
-            <initializers security="identity" transactions="spec"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:jca:4.0">
-            <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
-            <bean-validation enabled="true"/>
-            <default-workmanager>
-                <short-running-threads>
-                    <core-threads count="50"/>
-                    <queue-length count="50"/>
-                    <max-threads count="50"/>
-                    <keepalive-time time="10" unit="seconds"/>
-                </short-running-threads>
-                <long-running-threads>
-                    <core-threads count="50"/>
-                    <queue-length count="50"/>
-                    <max-threads count="50"/>
-                    <keepalive-time time="10" unit="seconds"/>
-                </long-running-threads>
-            </default-workmanager>
-            <cached-connection-manager/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:jgroups:4.0">
-            <channels default="ee">
-                <channel name="ee" stack="udp"/>
-            </channels>
-            <stacks>
-                <stack name="udp">
-                    <transport type="UDP" socket-binding="jgroups-udp"/>
-                    <protocol type="PING"/>
-                    <protocol type="MERGE3"/>
-                    <protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/>
-                    <protocol type="FD_ALL"/>
-                    <protocol type="VERIFY_SUSPECT"/>
-                    <protocol type="pbcast.NAKACK2"/>
-                    <protocol type="UNICAST3"/>
-                    <protocol type="pbcast.STABLE"/>
-                    <protocol type="pbcast.GMS"/>
-                    <protocol type="UFC"/>
-                    <protocol type="MFC"/>
-                    <protocol type="FRAG2"/>
-                </stack>
-                <stack name="tcp">
-                    <transport type="TCP" socket-binding="jgroups-tcp"/>
-                    <protocol type="MPING" socket-binding="jgroups-mping"/>
-                    <protocol type="MERGE3"/>
-                    <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
-                    <protocol type="FD"/>
-                    <protocol type="VERIFY_SUSPECT"/>
-                    <protocol type="pbcast.NAKACK2"/>
-                    <protocol type="UNICAST3"/>
-                    <protocol type="pbcast.STABLE"/>
-                    <protocol type="pbcast.GMS"/>
-                    <protocol type="MFC"/>
-                    <protocol type="FRAG2"/>
-                </stack>
-            </stacks>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:jmx:1.3">
-            <expose-resolved-model/>
-            <expose-expression-model/>
-            <remoting-connector/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:jpa:1.1">
-            <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:jsr77:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:mail:2.0">
-            <mail-session name="default" jndi-name="java:jboss/mail/Default">
-                <smtp-server outbound-socket-binding-ref="mail-smtp"/>
-            </mail-session>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0">
-            <server name="default">
-                <cluster password="${jboss.messaging.cluster.password:CHANGE ME!!}"/>
-                <security-setting name="#">
-                    <role name="guest" send="true" consume="true" create-non-durable-queue="true" delete-non-durable-queue="true"/>
-                </security-setting>
-                <address-setting name="#" dead-letter-address="jms.queue.DLQ" expiry-address="jms.queue.ExpiryQueue" max-size-bytes="10485760" page-size-bytes="2097152" message-counter-history-day-limit="10" redistribution-delay="1000"/>
-                <http-connector name="http-connector" socket-binding="http" endpoint="http-acceptor"/>
-                <http-connector name="http-connector-throughput" socket-binding="http" endpoint="http-acceptor-throughput">
-                    <param name="batch-delay" value="50"/>
-                </http-connector>
-                <in-vm-connector name="in-vm" server-id="0"/>
-                <http-acceptor name="http-acceptor" http-listener="default"/>
-                <http-acceptor name="http-acceptor-throughput" http-listener="default">
-                    <param name="batch-delay" value="50"/>
-                    <param name="direct-deliver" value="false"/>
-                </http-acceptor>
-                <in-vm-acceptor name="in-vm" server-id="0"/>
-                <broadcast-group name="bg-group1" jgroups-channel="activemq-cluster" connectors="http-connector"/>
-                <discovery-group name="dg-group1" jgroups-channel="activemq-cluster"/>
-                <cluster-connection name="my-cluster" address="jms" connector-name="http-connector" discovery-group="dg-group1"/>
-                <jms-queue name="ExpiryQueue" entries="java:/jms/queue/ExpiryQueue"/>
-                <jms-queue name="DLQ" entries="java:/jms/queue/DLQ"/>
-                <connection-factory name="InVmConnectionFactory" entries="java:/ConnectionFactory" connectors="in-vm"/>
-                <connection-factory name="RemoteConnectionFactory" entries="java:jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector" ha="true" block-on-acknowledge="true" reconnect-attempts="-1"/>
-                <pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" transaction="xa"/>
-            </server>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:modcluster:2.0">
-            <mod-cluster-config advertise-socket="modcluster" connector="ajp">
-                <dynamic-load-provider>
-                    <load-metric type="cpu"/>
-                </dynamic-load-provider>
-            </mod-cluster-config>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:naming:2.0">
-            <remote-naming/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:remoting:3.0">
-            <endpoint/>
-            <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:resource-adapters:4.0"/>
-        <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
-        <subsystem xmlns="urn:jboss:domain:security-manager:1.0">
-            <deployment-permissions>
-                <maximum-set>
-                    <permission class="java.security.AllPermission"/>
-                </maximum-set>
-            </deployment-permissions>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:security:1.2">
-            <security-domains>
-                <security-domain name="other" cache-type="default">
-                    <authentication>
-                        <login-module code="Remoting" flag="optional">
-                            <module-option name="password-stacking" value="useFirstPass"/>
-                        </login-module>
-                        <login-module code="RealmDirect" flag="required">
-                            <module-option name="password-stacking" value="useFirstPass"/>
-                        </login-module>
-                    </authentication>
-                </security-domain>
-                <security-domain name="jboss-web-policy" cache-type="default">
-                    <authorization>
-                        <policy-module code="Delegating" flag="required"/>
-                    </authorization>
-                </security-domain>
-                <security-domain name="jboss-ejb-policy" cache-type="default">
-                    <authorization>
-                        <policy-module code="Delegating" flag="required"/>
-                    </authorization>
-                </security-domain>
-                <security-domain name="jaspitest" cache-type="default">
-                    <authentication-jaspi>
-                        <login-module-stack name="dummy">
-                            <login-module code="Dummy" flag="optional"/>
-                        </login-module-stack>
-                        <auth-module code="Dummy"/>
-                    </authentication-jaspi>
-                </security-domain>
-            </security-domains>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:singleton:1.0">
-            <singleton-policies default="default">
-                <singleton-policy name="default" cache-container="server">
-                    <simple-election-policy/>
-                </singleton-policy>
-            </singleton-policies>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:transactions:3.0">
-            <core-environment>
-                <process-id>
-                    <uuid/>
-                </process-id>
-            </core-environment>
-            <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:undertow:3.1">
-            <buffer-cache name="default"/>
-            <server name="default-server">
-                <ajp-listener name="ajp" socket-binding="ajp"/>
-                <http-listener name="default" socket-binding="http" enable-http2="true"/>
-                <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
-                <host name="default-host" alias="localhost">
-                    <location name="/" handler="welcome-content"/>
-                    <filter-ref name="server-header"/>
-                    <filter-ref name="x-powered-by-header"/>
-                </host>
-            </server>
-            <servlet-container name="default">
-                <jsp-config/>
-                <websockets/>
-            </servlet-container>
-            <handlers>
-                <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
-            </handlers>
-            <filters>
-                <response-header name="server-header" header-name="Server" header-value="WildFly/10"/>
-                <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
-            </filters>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:webservices:2.0">
-            <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
-            <endpoint-config name="Standard-Endpoint-Config"/>
-            <endpoint-config name="Recording-Endpoint-Config">
-                <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
-                    <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
-                </pre-handler-chain>
-            </endpoint-config>
-            <client-config name="Standard-Client-Config"/>
-        </subsystem>
-        <subsystem xmlns="urn:jboss:domain:weld:3.0"/>
-    </profile>
-
-    <interfaces>
-        <interface name="management">
-            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
-        </interface>
-        <interface name="public">
-            <inet-address value="${jboss.bind.address:127.0.0.1}"/>
-        </interface>
-        <interface name="private">
-            <inet-address value="${jboss.bind.address.private:127.0.0.1}"/>
-        </interface>
-        <interface name="unsecure">
-            <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
-        </interface>
-    </interfaces>
-
-    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
-        <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
-        <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
-        <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
-        <socket-binding name="http" port="${jboss.http.port:8080}"/>
-        <socket-binding name="https" port="${jboss.https.port:8443}"/>
-        <socket-binding name="iiop" interface="unsecure" port="3528"/>
-        <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/>
-        <socket-binding name="jgroups-mping" interface="private" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>
-        <socket-binding name="jgroups-tcp" interface="private" port="7600"/>
-        <socket-binding name="jgroups-tcp-fd" interface="private" port="57600"/>
-        <socket-binding name="jgroups-udp" interface="private" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
-        <socket-binding name="jgroups-udp-fd" interface="private" port="54200"/>
-        <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
-        <socket-binding name="txn-recovery-environment" port="4712"/>
-        <socket-binding name="txn-status-manager" port="4713"/>
-        <outbound-socket-binding name="mail-smtp">
-            <remote-destination host="localhost" port="25"/>
-        </outbound-socket-binding>
-    </socket-binding-group>
-
-</server>
diff --git a/kubernetes/mso/resources/config/mso/mso-docker.json b/kubernetes/mso/resources/config/mso/mso-docker.json
deleted file mode 100755 (executable)
index b277559..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-{
-  "name": "mso-docker",
-  "description": "MSO Docker Images",
-  "chef_type": "environment",
-  "json_class": "Chef::Environment",
-  "default_attributes":
-  {
-    "mso_config_path": "/etc/mso/config.d/",
-
-    "mso-api-handler-infra-config":
-    {
-      "bpelURL": "http://localhost:8080",
-      "bpelAuth": "786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1",
-      "camundaURL": "http://localhost:8080",
-      "camundaAuth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1"
-    },
-
-    "asdc-connections":
-    {
-      "asdc-controller1":
-      {
-        "user": "mso",
-        "consumerGroup": "sdc-OpenSource-Env1",
-        "consumerId": "sdc-COpenSource-Env11",
-        "environmentName": "{{ .Values.dmaapTopic }}",
-        "asdcAddress": "sdc-be.{{.Values.nsPrefix}}:8443",
-        "password": "613AF3483E695524F9857643B697FA51C7A9A0951094F53791485BF3458F9EADA37DBACCCEBD0CB242B85B4062745247",
-        "pollingInterval": 60,
-        "pollingTimeout": 60,
-        "relevantArtifactTypes": "HEAT,HEAT_ENV,HEAT_VOL",
-        "activateServerTLSAuth": "false",
-        "keyStorePassword": "",
-        "keyStorePath": ""
-      }
-    },
-
-    "mso-sdnc-adapter-config":
-    {
-      "sdncurls":
-      [
-        "http://sdnhost.{{.Values.nsPrefix}}:8282/restconf/operations/L3SDN-API:",
-        "http://sdnhost.{{.Values.nsPrefix}}:8282/restconf/config/L3SDN-API:",
-        "http://sdnhost.{{.Values.nsPrefix}}:8282/restconf/operations/Firewall-API:",
-        "http://sdnhost.{{.Values.nsPrefix}}:8282/restconf/config",
-        "http://sdnhost.{{.Values.nsPrefix}}:8282/restconf/operations/VNF-API:",
-        "http://sdnhost.{{.Values.nsPrefix}}:8282/restconf/operations/NBNC-API:",
-        "http://sdnhost.{{.Values.nsPrefix}}:8282/restconf/operations/NORTHBOUND-API:service-topology-operation",
-        "http://sdnhost.{{.Values.nsPrefix}}:8282/restconf/operations/GENERIC-RESOURCE-API:",
-        "http://sdnhost.{{.Values.nsPrefix}}:8282/restconf/operations/VNFTOPOLOGYAIC-API:"
-      ],
-
-      "bpelurl": "http://localhost:8080/mso/SDNCAdapterCallbackService",
-      "restbpelurl": "http://localhost:8080/mso/WorkflowMessage",
-      "myurl": "http://localhost:8080/adapters/rest/SDNCNotify",
-      "sdncauth": "263f7d5f944d4d0c76db74b4148bec67d0bc796a874bc0d2a2a12aae89a866aa69133f700f391f784719a37f6a68d29bf5a2fbae1dab0402db7788c800c5ba73",
-      "bpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1",
-      "sdncconnecttime": "5000"
-    },
-    "mso-po-adapter-config":
-    {
-      "identity_services":
-      [
-        {
-          "dcp_clli": "DEFAULT_KEYSTONE",
-          "identity_url": "{{ .Values.openStackKeyStoneUrl }}/v2.0",
-          "mso_id": "{{ .Values.openStackUserName }}",
-          "mso_pass": "{{ .Values.openStackEncryptedPasswordHere }}",
-          "admin_tenant":"{{ .Values.openStackServiceTenantName }}",
-          "member_role": "admin",
-          "tenant_metadata": "true",
-          "identity_server_type": "KEYSTONE",
-          "identity_authentication_type": "USERNAME_PASSWORD"
-        }
-      ],
-
-      "cloud_sites":
-      [
-        {
-          "id": "{{ .Values.openStackRegion }}",
-          "aic_version": "2.5",
-          "lcp_clli": "{{ .Values.openStackRegion }}",
-          "region_id": "{{ .Values.openStackRegion }}",
-          "identity_service_id": "DEFAULT_KEYSTONE"
-        }
-      ],
-
-      "vnfbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1",
-      "checkrequiredparameters": "true",
-      "nwbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1"
-    },
-
-
-    "mso-workflow-message-adapter-config":
-    {
-      "wmbpelurl": "http://localhost:8080/mso/WorkflowMessage",
-      "wmbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1"
-    },
-
-    "mso-appc-adapter-config":
-    {
-      "appc_url": "http://localhost:18080",
-      "appc_stub": "/AppC-Simulator/action/execute",
-      "appc_auth": "786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1",
-      "appc_timeout": "30",
-      "ueb_cluster_address": "http://localhost:18080",
-      "ueb_consumer_group": "testgroup",
-      "ueb_consumer_id": "testuser",
-      "ueb_topic": "queuetopic",
-      "ueb_polling_interval": "30",
-      "ueb_polling_interval": "30",
-      "ueb_user": "user",
-      "ueb_password": "1ec0d74615d4e4639f991c0590c83b88",
-      "bpel_url": "http://localhost:18080",
-      "bpel_stub": "/AppC-Simulator/bpmn/appCResponse",
-      "bpel_auth": "786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1",
-      "bpel_timeout": "30"
-    },
-
-    "mso-bpmn-config":
-    {
-      "urnFileSystemLoadingEnabled": "true"
-    },
-
-    "mso-bpmn-urn-config":
-    {
-      "debug":"false",
-      "invariantIdL3ToHigherLayerDeleteBonding": "50359538-066f-4a8d-807f-f2bc8eaa79dc",
-      "versionIdL3ToHigherLayerDeleteBonding": "52dbec20-47aa-42e4-936c-331d8e350d44",
-      "infraCustomerId": "21014aa2-526b-11e6-beb8-9e71128cae77",
-      "sniroAuth": "test:testpwd",
-      "sniroEndpoint": "http://sniro-emulator.{{.Values.nsPrefix}}:8080/sniro/api/v2/placement",
-      "sniroTimeout": "PT30M",
-      "serviceAgnosticSniroHost": "http://sniro-emulator.{{.Values.nsPrefix}}:8080",
-      "serviceAgnosticSniroEndpoint": "/sniro/api/v2/placement",
-      "aaiEndpoint": "https://aai-service.{{.Values.nsPrefix}}:8443",
-      "aaiAuth": "2630606608347B7124C244AB0FE34F6F",
-      "adaptersNamespace": "http://org.openecomp.mso",
-      "adaptersCompletemsoprocessEndpoint": "http://localhost:8080/CompleteMsoProcess",
-      "adaptersDbEndpoint": "http://localhost:8080/dbadapters/MsoRequestsDbAdapter",
-      "adaptersOpenecompDbEndpoint": "http://localhost:8080/dbadapters/RequestsDbAdapter",
-      "catalogDbEndpoint": "http://localhost:8080/ecomp/mso/catalog",
-      "adaptersSdncEndpoint": "http://localhost:8080/adapters/SDNCAdapter",
-      "adaptersSdncRestEndpoint": "http://localhost:8080/adapters/rest/v1/sdnc",
-      "adaptersTenantEndpoint": "http://localhost:8080/tenants/TenantAdapter",
-      "adaptersDbAuth": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74",
-      "adaptersWorkflowMessageEndpoint": "http://localhost:8080/workflows/messages/message",
-      "workflowMessageEndpoint": "http://localhost:8080/mso/WorkflowMessage",
-      "workflowSdncAdapterCallback": "http://localhost:8080/mso/SDNCAdapterCallbackService",
-      "workflowSdncReplicationDelay": "PT5S",
-      "workflowAaiDistributionDelay": "PT30S",
-      "msoKey": "07a7159d3bf51a0e53be7a8f89699be7",
-      "adaptersPoAuth": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74",
-      "sdncTimeout": "PT5M",
-      "rollback": "true",
-      "adaptersNetworkEndpoint": "http://localhost:8080/networks/NetworkAdapter",
-      "adaptersNetworkRestEndpoint": "http://localhost:8080/networks/rest/v1/networks",
-      "adaptersVnfAsyncEndpoint": "http://localhost:8080/vnfs/VnfAdapterAsync",
-      "workflowVnfAdapterDeleteCallback": "http://localhost:8080/mso/vnfAdapterNotify",
-      "workflowVnfAdapterCreateCallback": "http://localhost:8080/mso/vnfAdapterNotify",
-      "adaptersVnfRestEndpoint": "http://localhost:8080/vnfs/rest/v1/vnfs",
-      "workflowVnfAdapterRestCallback": "http://localhost:8080/mso/vnfAdapterRestNotify",
-      "poTimeout": "PT5M",
-      "sdncFirewallYangModel": "http://com/att/svc/mis/firewall-lite-gui",
-      "sdncFirewallYangModelVersion": "2015-05-15",
-      "sdncTimeoutFirewall": "20",
-      "callbackRetryAttempts": "30",
-      "callbackRetrySleepTime": "1000",
-      "workflowL3ToHigherLayerAddBondingModelName" : "WAN Bonding",
-      "workflowL3ToHigherLayerAddBondingModelVersion" : "2.0"
-    }
-  },
-
-  "override_attributes":
-  {
-  },
-
-  "cookbook_versions":
-  {
-    "mso-config": "~> 1.0.0"
-  }
-}
diff --git a/kubernetes/mso/templates/all-services.yaml b/kubernetes/mso/templates/all-services.yaml
deleted file mode 100644 (file)
index 70e67e4..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMsoMariadb }}
-apiVersion: v1
-kind: Service
-metadata:
-  name: mso-mariadb
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: mso-mariadb
-spec:
-  ports:
-  - port: 3306
-    name: mso-mariadb-3306
-  selector:
-    app: mso-mariadb
-  clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableMsoMso }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: mso
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: mso
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "so",
-          "version": "v1",
-          "url": "/ecomp/mso/infra",
-          "protocol": "REST"
-          "port": "8080",
-          "visualRange":"1"
-      },
-      {
-          "serviceName": "so-deprecated",
-          "version": "v1",
-          "url": "/ecomp/mso/infra",
-          "protocol": "REST"
-          "port": "8080",
-          "visualRange":"1",
-          "path":"/ecomp/mso/infra"
-      }
-      ]'
-spec:
-  selector:
-    app: mso
-  ports:
-    - name: mso1
-      port: 8080
-      nodePort: {{ .Values.nodePortPrefix }}23
-    - name: mso2
-      port: 3904
-      nodePort: {{ .Values.nodePortPrefix }}25
-    - name: mso3
-      port: 3905
-      nodePort: {{ .Values.nodePortPrefix }}24
-    - name: mso4
-      port: 9990
-      nodePort: {{ .Values.nodePortPrefix }}22
-    - name: mso5
-      port: 8787
-      nodePort: {{ .Values.nodePortPrefix }}50
-  type: NodePort
-#{{ end }}
diff --git a/kubernetes/mso/templates/db-deployment-configmap.yaml b/kubernetes/mso/templates/db-deployment-configmap.yaml
deleted file mode 100644 (file)
index 2949876..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMsoMariadb }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mso-confd-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/mariadb/conf.d/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mso-docker-entry-initd-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mso-automated-tests-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mso-bulkload-default-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mso-demo-dns-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mso-demo-vfw-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mso-scripts-camunda-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mso-main-schemas-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/mso/templates/db-deployment.yaml b/kubernetes/mso/templates/db-deployment.yaml
deleted file mode 100644 (file)
index 801b7d4..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMsoMariadb }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: mso-mariadb
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.dbReplicas }}
-  selector:
-    matchLabels:
-      app: mso-mariadb
-  template:
-    metadata:
-      labels:
-        app: mso-mariadb
-      name: mso-mariadb
-    spec:
-      hostname: mso-mariadb
-      containers:
-      - args:
-        image: {{ .Values.image.mariadb }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: "mso-mariadb"
-        env:
-          - name: MYSQL_ROOT_PASSWORD
-            value: password
-        volumeMounts:
-        - mountPath: /etc/localtime
-          name: localtime
-          readOnly: true
-        - mountPath: /etc/mysql/conf.d
-          name: mso-mariadb-conf
-        - mountPath: /docker-entrypoint-initdb.d/02-load-additional-changes.sh
-          name: mso-mariadb-docker-entrypoint-initdb
-          subPath: 02-load-additional-changes.sh
-        - mountPath: /docker-entrypoint-initdb.d/01-load-default-sql-files.sh
-          name: mso-mariadb-docker-entrypoint-initdb
-          subPath: 01-load-default-sql-files.sh
-        - mountPath: /docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests
-          name: mso-mariadb-docker-entrypoint-automated-tests
-        - mountPath: /docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default
-          name: mso-mariadb-docker-entrypoint-bulkload-default
-        - mountPath: /docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns
-          name: mso-mariadb-docker-entrypoint-demo-dns
-        - mountPath: /docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw
-          name: mso-mariadb-docker-entrypoint-demo-vfw
-        - mountPath: /docker-entrypoint-initdb.d/db-sql-scripts/camunda
-          name: mso-mariadb-docker-entrypoint-camunda
-        - mountPath: /docker-entrypoint-initdb.d/db-sql-scripts/main-schemas
-          name: mso-mariadb-docker-entrypoint-main-schemas
-        - mountPath: /var/lib/mysql
-          name: mso-mariadb-data
-        ports:
-        - containerPort: 3306
-          name: mso-mariadb
-        readinessProbe:
-          tcpSocket:
-            port: 3306
-          initialDelaySeconds: 5
-          periodSeconds: 10
-      volumes:
-        - name: mso-mariadb-conf
-          configMap:
-            name: mso-confd-configmap
-        - name: mso-mariadb-docker-entrypoint-initdb
-          configMap:
-            name: mso-docker-entry-initd-configmap
-        - name: mso-mariadb-docker-entrypoint-automated-tests
-          configMap:
-            name: mso-automated-tests-configmap
-        - name: mso-mariadb-docker-entrypoint-bulkload-default
-          configMap:
-            name: mso-bulkload-default-configmap
-        - name: mso-mariadb-docker-entrypoint-demo-dns
-          configMap:
-            name: mso-demo-dns-configmap
-        - name: mso-mariadb-docker-entrypoint-demo-vfw
-          configMap:
-            name: mso-demo-vfw-configmap
-        - name: mso-mariadb-docker-entrypoint-camunda
-          configMap:
-            name: mso-scripts-camunda-configmap
-        - name: mso-mariadb-docker-entrypoint-main-schemas
-          configMap:
-            name: mso-main-schemas-configmap
-        - name: localtime
-          hostPath:
-            path: /etc/localtime
-        - name: mso-mariadb-data
-          persistentVolumeClaim:
-            claimName: mso-db
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/mso/templates/mso-deployment-configmap.yaml b/kubernetes/mso/templates/mso-deployment-configmap.yaml
deleted file mode 100644 (file)
index 4704c6c..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMsoMso }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mso-config-mso-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/mso/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mso-docker-file-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/docker-files/scripts/start-jboss-server.sh").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mso-jboss-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/mso/jboss/standalone-full-ha-mso.xml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/mso/templates/mso-deployment.yaml b/kubernetes/mso/templates/mso-deployment.yaml
deleted file mode 100644 (file)
index 8a099a4..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMsoMso }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: mso
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.msoReplicas }}
-  selector:
-    matchLabels:
-      app: mso
-  template:
-    metadata:
-      labels:
-        app: mso
-      name: mso
-    spec:
-      initContainers:
-      - command:
-        - /root/ready.py
-        args:
-        - --container-name
-        - mso-mariadb
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: {{ .Values.image.readiness }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: mso-readiness
-      containers:
-      - command:
-        - /tmp/start-jboss-server.sh
-        image: {{ .Values.image.mso }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: mso
-        volumeMounts:
-        - mountPath: /etc/localtime
-          name: localtime
-          readOnly: true
-        - mountPath: /shared/
-          name: mso
-        - mountPath: /tmp/start-jboss-server.sh
-          name: mso-docker-files
-          subPath: start-jboss-server.sh
-        - mountPath: /opt/jboss/standalone/configuration/standalone-full-ha-mso.xml
-          name: mso-jboss-config
-          subPath: standalone-full-ha-mso.xml
-        - mountPath: /var/log/onap
-          name: mso-logs
-        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-po-adapter-config/logback.network.xml
-          name: mso-logback
-          subPath: logback.network.xml
-        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-po-adapter-config/logback.tenant.xml
-          name: mso-logback
-          subPath: logback.tenant.xml
-        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-po-adapter-config/logback.vnf.xml
-          name: mso-logback
-          subPath: logback.vnf.xml
-        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-po-adapter-config/logback.vfc.xml
-          name: mso-logback
-          subPath: logback.vfc.xml
-        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-api-handler-infra-config/logback.apihandler-infra.xml
-          name: mso-logback
-          subPath: logback.apihandler-infra.xml
-        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-appc-adapter-config/logback.appc.xml
-          name: mso-logback
-          subPath: logback.appc.xml
-        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-requests-db-adapter-config/logback.msorequestsdbadapter.xml
-          name: mso-logback
-          subPath: logback.msorequestsdbadapter.xml
-        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-asdc-controller-config/logback.asdc.xml
-          name: mso-logback
-          subPath: logback.asdc.xml
-        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-sdnc-adapter-config/logback.sdnc.xml
-          name: mso-logback
-          subPath: logback.sdnc.xml
-        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-bpmn-config/logback.bpmn.xml
-          name: mso-logback
-          subPath: logback.bpmn.xml
-        - mountPath: /var/berks-cookbooks/mso-config/files/default/mso-workflow-message-adapter-config/logback.workflow-message-adapter.xml
-          name: mso-logback
-          subPath: logback.workflow-message-adapter.xml
-        env:
-        - name: JBOSS_DEBUG
-          value: "false"
-        ports:
-        - containerPort: 3904
-        - containerPort: 3905
-        - containerPort: 8080
-        - containerPort: 9990
-        - containerPort: 8787
-        readinessProbe:
-          tcpSocket:
-            port: 8080
-          initialDelaySeconds: 5
-          periodSeconds: 10
-      - image: {{ .Values.image.filebeat }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: filebeat-onap
-        volumeMounts:
-        - mountPath: /usr/share/filebeat/filebeat.yml
-          name: filebeat-conf
-          subPath: filebeat.yml
-        - mountPath: /var/log/onap
-          name: mso-logs
-        - mountPath: /usr/share/filebeat/data
-          name: mso-data-filebeat
-      volumes:
-        - name: localtime
-          hostPath:
-            path: /etc/localtime
-        - name: mso-logback
-          configMap:
-            name: mso-log-configmap
-        - name: filebeat-conf
-          configMap:
-            name: mso-filebeat-configmap
-        - name: mso
-          configMap:
-            name: mso-config-mso-configmap
-            items:
-            - key: mso-docker.json
-              path: mso-docker.json
-              mode: 0755
-            - key: aai.crt
-              path: aai.crt
-              mode: 0755
-            - key: encryption.key
-              path: encryption.key
-              mode: 0644
-        - name: mso-logs
-          emptyDir: {}
-        - name: mso-data-filebeat
-          emptyDir: {}
-        - name: mso-docker-files
-          configMap:
-            name: mso-docker-file-configmap
-            items:
-            - key: start-jboss-server.sh
-              path: start-jboss-server.sh
-              mode: 0755
-        - name: mso-jboss-config
-          configMap:
-            name: mso-jboss-configmap
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/mso/templates/mso-pv-pvc.yaml b/kubernetes/mso/templates/mso-pv-pvc.yaml
deleted file mode 100644 (file)
index 1ee4ab0..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-{{/*
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-*/}}
-
-#{{ if not .Values.disableMsoMariadb }}
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: "{{ .Values.nsPrefix }}-mso"
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    name: "{{ .Values.nsPrefix }}-mso"
-spec:
-  capacity:
-    storage: 2Gi
-  accessModes:
-    - ReadWriteMany
-  persistentVolumeReclaimPolicy: Retain
-  hostPath:
-    path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/mso/mariadb/data
----
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
-  name: mso-db
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  accessModes:
-    - ReadWriteMany
-  resources:
-    requests:
-      storage: 2Gi
-  selector:
-    matchLabels:
-      name: "{{ .Values.nsPrefix }}-mso"
-#{{ end }}
diff --git a/kubernetes/mso/values.yaml b/kubernetes/mso/values.yaml
deleted file mode 100644 (file)
index 410246f..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-nsPrefix: onap
-pullPolicy: Always
-nodePortPrefix: 302
-openStackUserName: "vnf_user"
-openStackRegion: "RegionOne"
-openStackKeyStoneUrl: "http://1.2.3.4:5000"
-dmaapTopic: "AUTO"
-openStackServiceTenantName: "service"
-openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
-msoReplicas: 1
-dbReplicas: 1
-dataRootDir: /dockerdata-nfs
-image:
-  readiness: oomk8s/readiness-check:1.1.0
-  mso: nexus3.onap.org:10001/openecomp/mso:v1.1.2
-  mariadb: nexus3.onap.org:10001/mariadb:10.1.11
-  filebeat: docker.elastic.co/beats/filebeat:5.5.0
-
-config:
-  logstashServiceName: log-ls
-  logstashPort: 5044
diff --git a/kubernetes/multicloud/.helmignore b/kubernetes/multicloud/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
index 4f9a154..3dbbe29 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: A Helm chart for Kubernetes
+description: ONAP multicloud broker
 name: multicloud
-version: 1.1.0
+version: 2.0.0
diff --git a/kubernetes/multicloud/charts/multicloud-ocata/.helmignore b/kubernetes/multicloud/charts/multicloud-ocata/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/multicloud/charts/multicloud-ocata/Chart.yaml b/kubernetes/multicloud/charts/multicloud-ocata/Chart.yaml
new file mode 100644 (file)
index 0000000..3dfc80a
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP multicloud OpenStack Ocata Plugin
+name: multicloud-ocata
+version: 2.0.0
@@ -26,9 +26,9 @@ handlers:
 
 formatters:
     standard:
-        format: "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+        format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s"
     mdcFormat:
-        format: "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:[%(mdc)s]: %(message)s"
-        mdcfmt: "{requestID}"
+        format: "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+        mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
         datefmt: "%Y-%m-%d %H:%M:%S"
-        (): onaplogging.mdcformatter.MDCFormatter
\ No newline at end of file
+        (): onaplogging.mdcformatter.MDCFormatter
diff --git a/kubernetes/multicloud/charts/multicloud-ocata/templates/configmap.yaml b/kubernetes/multicloud/charts/multicloud-ocata/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..8d506fb
--- /dev/null
@@ -0,0 +1,23 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-log-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/multicloud/charts/multicloud-ocata/templates/deployment.yaml b/kubernetes/multicloud/charts/multicloud-ocata/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..db8bcdc
--- /dev/null
@@ -0,0 +1,117 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ include "common.name" . }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
+    spec:
+     containers:
+     - env:
+       - name: MSB_ADDR
+         value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
+       - name: MSB_PORT
+         value: "{{ .Values.config.msbPort }}"
+       - name: AAI_ADDR
+         value: aai.{{ include "common.namespace" . }}
+       - name: AAI_PORT
+         value: "{{ .Values.config.aai.port }}"
+       - name: AAI_SCHEMA_VERSION
+         value: "{{ .Values.config.aai.schemaVersion }}"
+       - name: AAI_USERNAME
+         value: "{{ .Values.config.aai.username }}"
+       - name: AAI_PASSWORD
+         value: "{{ .Values.config.aai.password }}"
+       name: {{ include "common.name" . }}
+       volumeMounts:
+       - mountPath: /var/log/onap
+         name: ocata-log
+       - mountPath: /opt/ocata/ocata/pub/config/log.yml
+         name: ocata-logconfig
+         subPath: log.yml
+       image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       ports:
+       - containerPort: {{ .Values.service.internalPort }}
+       # disable liveness probe when breakpoints set in debugger
+       # so K8s doesn't restart unresponsive container
+       {{ if .Values.liveness.enabled }}
+       livenessProbe:
+         httpGet:
+           path: /api/multicloud-ocata/v0/swagger.json
+           port: {{ .Values.service.internalPort }}
+           scheme: HTTP
+         initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+         periodSeconds: {{ .Values.liveness.periodSeconds }}
+         timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+         successThreshold: {{ .Values.liveness.successThreshold }}
+         failureThreshold: {{ .Values.liveness.failureThreshold }}
+       {{ end }}
+       resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+     nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+     {{- end -}}
+     {{- if .Values.affinity }}
+     affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+     {{- end }}
+
+     # side car containers
+     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       name: filebeat-onap
+       volumeMounts:
+       - mountPath: /usr/share/filebeat/filebeat.yml
+         name: filebeat-conf
+         subPath: filebeat.yml
+       - mountPath: /var/log/onap
+         name: ocata-log
+       - mountPath: /usr/share/filebeat/data
+         name: ocata-data-filebeat
+
+     volumes:
+     - name: ocata-log
+       emptyDir: {}
+     - name: ocata-data-filebeat
+       emptyDir: {}
+     - name: filebeat-conf
+       configMap:
+         name: multicloud-filebeat-configmap
+     - name: ocata-logconfig
+       configMap:
+         name: {{ include "common.fullname" . }}-log-configmap
+     imagePullSecrets:
+     - name: "{{ include "common.namespace" . }}-docker-registry-key"
+     restartPolicy: Always
diff --git a/kubernetes/multicloud/charts/multicloud-ocata/templates/service.yaml b/kubernetes/multicloud/charts/multicloud-ocata/templates/service.yaml
new file mode 100644 (file)
index 0000000..f47383e
--- /dev/null
@@ -0,0 +1,52 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+    {
+      "serviceName": "multicloud-ocata",
+      "version": "v0",
+      "url": "/api/multicloud-ocata/v0",
+      "protocol": "REST",
+      "port": "{{ .Values.service.externalPort }}",
+      "visualRange": "1"
+    }
+    ]'
+spec:
+  ports:
+  {{if eq .Values.service.type "NodePort" -}}
+  - name: {{ .Values.service.name }}
+    port: {{ .Values.service.externalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+  {{- else -}}
+  - port: {{ .Values.service.externalPort }}
+    targetPort: {{ .Values.service.internalPort }}
+    name: {{ .Values.service.name }}
+  {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+  type: {{ .Values.service.type }}
diff --git a/kubernetes/multicloud/charts/multicloud-ocata/values.yaml b/kubernetes/multicloud/charts/multicloud-ocata/values.yaml
new file mode 100644 (file)
index 0000000..db03975
--- /dev/null
@@ -0,0 +1,80 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/multicloud/openstack-ocata:latest
+pullPolicy: Always
+
+# application configuration
+config:
+  msbgateway: msb-iag
+  msbPort: 80
+  aai:
+    port: 8443
+    schemaVersion: v11
+    username: AAI
+    password: AAI
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 30
+  periodSeconds: 10
+  timeoutSeconds: 10
+  successThreshold: 1
+  failureThreshold: 5
+  enabled: true
+
+service:
+  type: NodePort
+  name: multicloud-ocata
+  externalPort: 9006
+  internalPort: 9006
+  nodePort: 93
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/multicloud/charts/multicloud-vio/.helmignore b/kubernetes/multicloud/charts/multicloud-vio/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/multicloud/charts/multicloud-vio/Chart.yaml b/kubernetes/multicloud/charts/multicloud-vio/Chart.yaml
new file mode 100644 (file)
index 0000000..83aa96a
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP multicloud VIO plugin
+name: multicloud-vio
+version: 2.0.0
diff --git a/kubernetes/multicloud/charts/multicloud-vio/templates/configmap.yaml b/kubernetes/multicloud/charts/multicloud-vio/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..8d506fb
--- /dev/null
@@ -0,0 +1,23 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-log-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/multicloud/charts/multicloud-vio/templates/deployment.yaml b/kubernetes/multicloud/charts/multicloud-vio/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..903963b
--- /dev/null
@@ -0,0 +1,115 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  selector:
+    matchLabels:
+      app: multicloud-vio
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
+    spec:
+     containers:
+     - env:
+       - name: MSB_ADDR
+         value: "{{ .Values.config.msbgateway }}"
+       - name: MSB_PORT
+         value: "{{ .Values.config.msbPort }}.{{ include "common.namespace" . }}"
+       - name: AAI_ADDR
+         value: aai.{{ include "common.namespace" . }}
+       - name: AAI_PORT
+         value: "{{ .Values.config.aai.port }}"
+       - name: AAI_SCHEMA_VERSION
+         value: "{{ .Values.config.aai.schemaVersion }}"
+       - name: AAI_USERNAME
+         value: "{{ .Values.config.aai.username }}"
+       - name: AAI_PASSWORD
+         value: "{{ .Values.config.aai.password }}"
+       name: {{ include "common.name" . }}
+       volumeMounts:
+       - mountPath: /var/log/onap
+         name: vio-log
+       - mountPath: /opt/vio/vio/pub/config/log.yml
+         name: vio-logconfig
+         subPath: log.yml
+       image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       ports:
+       - containerPort: {{ .Values.service.internalPort }}
+       {{- if eq .Values.liveness.enabled true }}
+       livenessProbe:
+         httpGet:
+           path: /api/multicloud-vio/v0/swagger.json
+           port: {{ .Values.service.internalPort }}
+           scheme: HTTP
+         initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+         periodSeconds: {{ .Values.liveness.periodSeconds }}
+         timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+         successThreshold: {{ .Values.liveness.successThreshold }}
+         failureThreshold: {{ .Values.liveness.failureThreshold }}
+       {{ end -}}
+
+       # side car containers
+     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       name: filebeat-onap
+       volumeMounts:
+       - mountPath: /usr/share/filebeat/filebeat.yml
+         name: filebeat-conf
+         subPath: filebeat.yml
+       - mountPath: /var/log/onap
+         name: vio-log
+       - mountPath: /usr/share/filebeat/data
+         name: vio-data-filebeat
+       resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+     nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+     {{- end -}}
+     {{- if .Values.affinity }}
+     affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+     {{- end }}
+
+     volumes:
+     - name: vio-log
+       emptyDir: {}
+     - name: vio-data-filebeat
+       emptyDir: {}
+     - name: filebeat-conf
+       configMap:
+         name: multicloud-filebeat-configmap
+     - name: vio-logconfig
+       configMap:
+         name: {{ include "common.fullname" . }}-log-configmap
+     imagePullSecrets:
+     - name: "{{ include "common.namespace" . }}-docker-registry-key"
+     restartPolicy: Always
diff --git a/kubernetes/multicloud/charts/multicloud-vio/templates/service.yaml b/kubernetes/multicloud/charts/multicloud-vio/templates/service.yaml
new file mode 100644 (file)
index 0000000..dcaf37d
--- /dev/null
@@ -0,0 +1,52 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+    {
+      "serviceName": "multicloud-vio",
+      "version": "v0",
+      "url": "/api/multicloud-vio/v0",
+      "protocol": "REST",
+      "port": "{{ .Values.service.externalPort }}",
+      "visualRange": "1"
+    }
+    ]'
+spec:
+  ports:
+  {{if eq .Values.service.type "NodePort" -}}
+  - name: {{ .Values.service.name }}
+    port: {{ .Values.service.externalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+  {{- else -}}
+  - port: {{ .Values.service.externalPort }}
+    targetPort: {{ .Values.service.internalPort }}
+    name: {{ .Values.service.name }}
+  {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+  type: {{ .Values.service.type }}
diff --git a/kubernetes/multicloud/charts/multicloud-vio/values.yaml b/kubernetes/multicloud/charts/multicloud-vio/values.yaml
new file mode 100644 (file)
index 0000000..187f2b9
--- /dev/null
@@ -0,0 +1,80 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/multicloud/vio:latest
+pullPolicy: Always
+
+# application configuration
+config:
+  msbgateway: msb-iag
+  msbPort: 80
+  aai:
+    port: 8443
+    schemaVersion: v11
+    username: AAI
+    password: AAI
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 30
+  periodSeconds: 10
+  timeoutSeconds: 10
+  successThreshold: 1
+  failureThreshold: 5
+  enabled: true
+
+service:
+  type: NodePort
+  name: multicloud-vio
+  externalPort: 9004
+  internalPort: 9004
+  nodePort: 92
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/multicloud/charts/multicloud-windriver/.helmignore b/kubernetes/multicloud/charts/multicloud-windriver/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/multicloud/charts/multicloud-windriver/Chart.yaml b/kubernetes/multicloud/charts/multicloud-windriver/Chart.yaml
new file mode 100644 (file)
index 0000000..ef345f6
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP multicloud OpenStack WindRiver Plugin
+name: multicloud-windriver
+version: 2.0.0
@@ -26,9 +26,9 @@ handlers:
 
 formatters:
     standard:
-        format: "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+        format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s"
     mdcFormat:
-        format: "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:[%(mdc)s]: %(message)s"
-        mdcfmt: "{requestID}"
+        format: "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+        mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
         datefmt: "%Y-%m-%d %H:%M:%S"
-        (): onaplogging.mdcformatter.MDCFormatter
\ No newline at end of file
+        (): onaplogging.mdcformatter.MDCFormatter
diff --git a/kubernetes/multicloud/charts/multicloud-windriver/templates/configmap.yaml b/kubernetes/multicloud/charts/multicloud-windriver/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..8d506fb
--- /dev/null
@@ -0,0 +1,23 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-log-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml b/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..02a78bb
--- /dev/null
@@ -0,0 +1,117 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ include "common.name" . }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
+    spec:
+     containers:
+     - env:
+       - name: MSB_ADDR
+         value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
+       - name: MSB_PORT
+         value: "{{ .Values.config.msbPort }}"
+       - name: AAI_ADDR
+         value: aai-service.{{ include "common.namespace" . }}
+       - name: AAI_PORT
+         value: "{{ .Values.config.aai.port }}"
+       - name: AAI_SCHEMA_VERSION
+         value: "{{ .Values.config.aai.schemaVersion }}"
+       - name: AAI_USERNAME
+         value: "{{ .Values.config.aai.username }}"
+       - name: AAI_PASSWORD
+         value: "{{ .Values.config.aai.password }}"
+       name: {{ include "common.name" . }}
+       volumeMounts:
+       - mountPath: /var/log/onap
+         name: windriver-log
+       - mountPath: /opt/windriver/titanium_cloud/pub/config/log.yml
+         name: windriver-logconfig
+         subPath: log.yml
+       image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       ports:
+       - containerPort: {{ .Values.service.internalPort }}
+       # disable liveness probe when breakpoints set in debugger
+       # so K8s doesn't restart unresponsive container
+       {{ if .Values.liveness.enabled }}
+       livenessProbe:
+         httpGet:
+           path: /api/multicloud-titanium_cloud/v0/swagger.json
+           port: {{ .Values.service.internalPort }}
+           scheme: HTTP
+         initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+         periodSeconds: {{ .Values.liveness.periodSeconds }}
+         timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+         successThreshold: {{ .Values.liveness.successThreshold }}
+         failureThreshold: {{ .Values.liveness.failureThreshold }}
+       {{ end }}
+       resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+     nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+     {{- end -}}
+     {{- if .Values.affinity }}
+     affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+     {{- end }}
+
+     # side car containers
+     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       name: filebeat-onap
+       volumeMounts:
+       - mountPath: /usr/share/filebeat/filebeat.yml
+         name: filebeat-conf
+         subPath: filebeat.yml
+       - mountPath: /var/log/onap
+         name: windriver-log
+       - mountPath: /usr/share/filebeat/data
+         name: windriver-data-filebeat
+
+     volumes:
+     - name: windriver-log
+       emptyDir: {}
+     - name: windriver-data-filebeat
+       emptyDir: {}
+     - name: filebeat-conf
+       configMap:
+         name: multicloud-filebeat-configmap
+     - name: windriver-logconfig
+       configMap:
+         name: {{ include "common.fullname" . }}-log-configmap
+     imagePullSecrets:
+     - name: "{{ include "common.namespace" . }}-docker-registry-key"
+     restartPolicy: Always
diff --git a/kubernetes/multicloud/charts/multicloud-windriver/templates/service.yaml b/kubernetes/multicloud/charts/multicloud-windriver/templates/service.yaml
new file mode 100644 (file)
index 0000000..dd3bd42
--- /dev/null
@@ -0,0 +1,53 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+    {
+      "serviceName": "multicloud-titanium_cloud",
+      "version": "v0",
+      "url": "/api/multicloud-titanium_cloud/v0",
+      "protocol": "REST",
+      "port": "{{ .Values.service.internalPort }}",
+      "visualRange": "1"
+    }
+    ]'
+
+spec:
+  ports:
+  {{ if eq .Values.service.type "NodePort" }}
+  - name: {{ .Values.service.name }}
+    port: {{ .Values.service.externalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+  {{ else }}
+  - port: {{ .Values.service.externalPort }}
+    targetPort: {{ .Values.service.internalPort }}
+    name: {{ .Values.service.name }}
+  {{ end }}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+  type: {{ .Values.service.type }}
diff --git a/kubernetes/multicloud/charts/multicloud-windriver/values.yaml b/kubernetes/multicloud/charts/multicloud-windriver/values.yaml
new file mode 100644 (file)
index 0000000..1126284
--- /dev/null
@@ -0,0 +1,80 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/multicloud/openstack-windriver:latest
+pullPolicy: Always
+
+# application configuration
+config:
+  msbgateway: msb-iag
+  msbPort: 80
+  aai:
+    port: 8443
+    schemaVersion: v11
+    username: AAI
+    password: AAI
+
+service:
+  type: NodePort
+  name: multicloud-windriver
+  externalPort: 9005
+  internalPort: 9005
+  nodePort: 94
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 30
+  periodSeconds: 10
+  timeoutSeconds: 10
+  successThreshold: 1
+  failureThreshold: 5
+  enabled: true
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/multicloud/requirements.yaml b/kubernetes/multicloud/requirements.yaml
new file mode 100644 (file)
index 0000000..ce82a2f
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
diff --git a/kubernetes/multicloud/templates/all-services.yaml b/kubernetes/multicloud/templates/all-services.yaml
deleted file mode 100644 (file)
index c58cd74..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMulticloudFramework }}
-apiVersion: v1
-kind: Service
-metadata:
-  name: framework
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    name: framework
-  annotations:
-    msb.onap.org/service-info: '[
-    {
-      "serviceName": "multicloud",
-      "version": "v0",
-      "url": "/api/multicloud/v0",
-      "protocol": "REST",
-      "port": "9001",
-      "visualRange": "1"
-    }
-    ]'
-spec:
-  ports:
-  - name: "framework-port"
-    port: 9001
-    nodePort: {{ .Values.nodePortPrefix }}91
-  selector:
-    app: framework
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableMulticloudMulticloudVio }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: multicloud-vio
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    name: multicloud-vio
-  annotations:
-    msb.onap.org/service-info: '[
-    {
-      "serviceName": "multicloud-vio",
-      "version": "v0",
-      "url": "/api/multicloud-vio/v0",
-      "protocol": "REST",
-      "port": "9004",
-      "visualRange": "1"
-    }
-    ]'
-
-spec:
-  ports:
-  - name: "multicloud-port"
-    port: 9004
-    nodePort: {{ .Values.nodePortPrefix }}92
-  selector:
-    app: multicloud-vio
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableMulticloudMulticloudOcata }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: multicloud-ocata
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    name: multicloud-ocata
-  annotations:
-    msb.onap.org/service-info: '[
-    {
-      "serviceName": "multicloud-ocata",
-      "version": "v0",
-      "url": "/api/multicloud-ocata/v0",
-      "protocol": "REST",
-      "port": "9006",
-      "visualRange": "1"
-    }
-    ]'
-
-spec:
-  ports:
-  - name: "multicloud-port"
-    port: 9006
-    nodePort: {{ .Values.nodePortPrefix }}93
-  selector:
-    app: multicloud-ocata
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableMulticloudMulticloudWindriver }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: multicloud-windriver
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    name: multicloud-windriver
-  annotations:
-    msb.onap.org/service-info: '[
-    {
-      "serviceName": "multicloud-titanium_cloud",
-      "version": "v0",
-      "url": "/api/multicloud-titanium_cloud/v0",
-      "protocol": "REST",
-      "port": "9005",
-      "visualRange": "1"
-    }
-    ]'
-
-spec:
-  ports:
-  - name: "multicloud-port"
-    port: 9005
-    nodePort: {{ .Values.nodePortPrefix }}94
-  selector:
-    app: multicloud-windriver
-  type: NodePort
-#{{ end }}
\ No newline at end of file
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2017 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+*/}}
 
-#{{ if not .Values.disableMsoMso }}
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: mso-log-configmap
-  namespace: {{ .Values.nsPrefix }}
+  name: multicloud-filebeat-configmap
+  namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: mso-filebeat-configmap
-  namespace: {{ .Values.nsPrefix }}
+  name: {{ include "common.fullname" . }}-log-configmap
+  namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
-#{{ end }}
+{{ tpl (.Files.Glob "resources/config/log/framework/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/multicloud/templates/deployment.yaml b/kubernetes/multicloud/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..f42d5f3
--- /dev/null
@@ -0,0 +1,117 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ include "common.name" . }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
+    spec:
+     containers:
+     - env:
+       - name: MSB_ADDR
+         value: {{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}
+       - name: MSB_PORT
+         value: "{{ .Values.config.msbPort }}"
+       - name: AAI_ADDR
+         value: "aai.{{ include "common.namespace" . }}"
+       - name: AAI_PORT
+         value: "{{ .Values.config.aai.port }}"
+       - name: AAI_SCHEMA_VERSION
+         value: "{{ .Values.config.aai.schemaVersion }}"
+       - name: AAI_USERNAME
+         value: "{{ .Values.config.aai.username }}"
+       - name: AAI_PASSWORD
+         value: "{{ .Values.config.aai.password }}"
+       image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       name: {{ include "common.name" . }}
+       volumeMounts:
+       - mountPath: /var/log/onap
+         name: framework-log
+       - mountPath: /opt/multivimbroker/multivimbroker/pub/config/log.yml
+         name: framework-logconfig
+         subPath: log.yml
+       ports:
+       - containerPort: {{ .Values.service.internalPort }}
+       # disable liveness probe when breakpoints set in debugger
+       # so K8s doesn't restart unresponsive container
+       {{- if eq .Values.liveness.enabled true }}
+       livenessProbe:
+         httpGet:
+           path: /api/multicloud/v0/swagger.json
+           port: {{ .Values.service.internalPort }}
+           scheme: HTTP
+         initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+         periodSeconds: {{ .Values.liveness.periodSeconds }}
+         timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+         successThreshold: {{ .Values.liveness.successThreshold }}
+         failureThreshold: {{ .Values.liveness.failureThreshold }}
+       {{ end -}}
+
+      # side car containers
+     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       name: filebeat-onap
+       volumeMounts:
+       - mountPath: /usr/share/filebeat/filebeat.yml
+         name: filebeat-conf
+         subPath: filebeat.yml
+       - mountPath: /var/log/onap
+         name: framework-log
+       - mountPath: /usr/share/filebeat/data
+         name: framework-data-filebeat
+       resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+     nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+     {{- end -}}
+     {{- if .Values.affinity }}
+     affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+     {{- end }}
+
+     volumes:
+     - name: framework-log
+       emptyDir: {}
+     - name: framework-data-filebeat
+       emptyDir: {}
+     - name: filebeat-conf
+       configMap:
+         name: multicloud-filebeat-configmap
+     - name: framework-logconfig
+       configMap:
+         name: {{ include "common.fullname" . }}-log-configmap
+     imagePullSecrets:
+     - name: "{{ include "common.namespace" . }}-docker-registry-key"
+     restartPolicy: Always
diff --git a/kubernetes/multicloud/templates/framework-deployment.yaml b/kubernetes/multicloud/templates/framework-deployment.yaml
deleted file mode 100644 (file)
index b2f0440..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMulticloudFramework }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: multicloud-framework
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.frameworkReplicas }}
-  selector:
-    matchLabels:
-      app: framework
-  template:
-    metadata:
-      labels:
-        app: framework
-      name: multicloud-framework
-    spec:
-     containers:
-     - env:
-       - name: MSB_ADDR
-         value: {{ tpl .Values.msbgateway . }}
-       - name: MSB_PORT
-         value: "{{ .Values.msbPort }}"
-       - name: AAI_ADDR
-         value: aai-service.{{ .Values.nsPrefix }}
-       - name: AAI_PORT
-         value: "8443"
-       - name: AAI_SCHEMA_VERSION
-         value: "v11"
-       - name: AAI_USERNAME
-         value: "AAI"
-       - name: AAI_PASSWORD
-         value: "AAI"
-       image: {{ .Values.image.framework }}
-       imagePullPolicy: {{ .Values.pullPolicy }}
-       name: framework
-       volumeMounts:
-       - mountPath: /var/log/onap
-         name: framework-log
-       - mountPath: /opt/multivimbroker/multivimbroker/pub/config/log.yml
-         name: framework-logconfig
-         subPath: log.yml
-       ports:
-       - containerPort: 9001
-       livenessProbe:
-         httpGet:
-           path: /api/multicloud/v0/swagger.json
-           port: 9001
-           scheme: HTTP
-         initialDelaySeconds: 30
-         periodSeconds: 10
-         timeoutSeconds: 10
-         successThreshold: 1
-         failureThreshold: 5
-     - image: {{ .Values.image.filebeat }}
-       imagePullPolicy: {{ .Values.pullPolicy }}
-       name: filebeat-onap
-       volumeMounts:
-       - mountPath: /usr/share/filebeat/filebeat.yml
-         name: filebeat-conf
-         subPath: filebeat.yml
-       - mountPath: /var/log/onap
-         name: framework-log
-       - mountPath: /usr/share/filebeat/data
-         name: framework-data-filebeat
-     volumes:
-     - name: framework-log
-       emptyDir: {}
-     - name: framework-data-filebeat
-       emptyDir: {}
-     - name: filebeat-conf
-       configMap:
-         name: multicloud-filebeat-configmap
-     - name: framework-logconfig
-       configMap:
-         name: multicloud-framework-log-configmap
-     imagePullSecrets:
-     - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-     restartPolicy: Always
-#{{ end }}
diff --git a/kubernetes/multicloud/templates/multicloud-log-configmap.yaml b/kubernetes/multicloud/templates/multicloud-log-configmap.yaml
deleted file mode 100644 (file)
index 1050f10..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVidVidServer }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: multicloud-filebeat-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: multicloud-framework-log-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/framework/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: multicloud-vio-log-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/vio/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: multicloud-ocata-log-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/ocata/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: multicloud-windriver-log-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/windriver/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/multicloud/templates/multicloud-ocata-deployment.yaml b/kubernetes/multicloud/templates/multicloud-ocata-deployment.yaml
deleted file mode 100644 (file)
index ecbd74b..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMulticloudMulticloudOcata }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: multicloud-ocata
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.ocataReplicas }}
-  selector:
-    matchLabels:
-      app: multicloud-ocata
-  template:
-    metadata:
-      labels:
-        app: multicloud-ocata
-      name: multicloud-ocata
-    spec:
-     containers:
-     - env:
-       - name: MSB_ADDR
-         value: "{{ tpl .Values.msbgateway . }}"
-       - name: MSB_PORT
-         value: "{{ .Values.msbPort }}"
-       - name: AAI_ADDR
-         value: aai-service.{{ .Values.nsPrefix }}
-       - name: AAI_PORT
-         value: "8443"
-       - name: AAI_SCHEMA_VERSION
-         value: "v11"
-       - name: AAI_USERNAME
-         value: "AAI"
-       - name: AAI_PASSWORD
-         value: "AAI"
-       name: multicloud-ocata
-       volumeMounts:
-       - mountPath: /var/log/onap
-         name: ocata-log
-       - mountPath: /opt/ocata/ocata/pub/config/log.yml
-         name: ocata-logconfig
-         subPath: log.yml
-       image: {{ .Values.image.ocata }}
-       imagePullPolicy: {{ .Values.pullPolicy }}
-       ports:
-       - containerPort: 9006
-       livenessProbe:
-         httpGet:
-           path: /api/multicloud-ocata/v0/swagger.json
-           port: 9006
-           scheme: HTTP
-         initialDelaySeconds: 30
-         periodSeconds: 10
-         timeoutSeconds: 10
-         successThreshold: 1
-         failureThreshold: 5
-     - image: {{ .Values.image.filebeat }}
-       imagePullPolicy: {{ .Values.pullPolicy }}
-       name: filebeat-onap
-       volumeMounts:
-       - mountPath: /usr/share/filebeat/filebeat.yml
-         name: filebeat-conf
-         subPath: filebeat.yml
-       - mountPath: /var/log/onap
-         name: ocata-log
-       - mountPath: /usr/share/filebeat/data
-         name: ocata-data-filebeat
-     volumes:
-     - name: ocata-log
-       emptyDir: {}
-     - name: ocata-data-filebeat
-       emptyDir: {}
-     - name: filebeat-conf
-       configMap:
-         name: multicloud-filebeat-configmap
-     - name: ocata-logconfig
-       configMap:
-         name: multicloud-ocata-log-configmap
-     imagePullSecrets:
-     - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-     restartPolicy: Always
-#{{ end }}
diff --git a/kubernetes/multicloud/templates/multicloud-vio-deployment.yaml b/kubernetes/multicloud/templates/multicloud-vio-deployment.yaml
deleted file mode 100644 (file)
index e151081..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMulticloudMulticloudVio }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: multicloud-vio
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.vioReplicas }}
-  selector:
-    matchLabels:
-      app: multicloud-vio
-  template:
-    metadata:
-      labels:
-        app: multicloud-vio
-      name: multicloud-vio
-    spec:
-     containers:
-     - env:
-       - name: MSB_ADDR
-         value: "{{ tpl .Values.msbgateway . }}"
-       - name: MSB_PORT
-         value: "{{ .Values.msbPort }}"
-       - name: AAI_ADDR
-         value: aai-service.{{ .Values.nsPrefix }}
-       - name: AAI_PORT
-         value: "8443"
-       - name: AAI_SCHEMA_VERSION
-         value: "v11"
-       - name: AAI_USERNAME
-         value: "AAI"
-       - name: AAI_PASSWORD
-         value: "AAI"
-       name: multicloud-vio
-       volumeMounts:
-       - mountPath: /var/log/onap
-         name: vio-log
-       - mountPath: /opt/vio/vio/pub/config/log.yml
-         name: vio-logconfig
-         subPath: log.yml
-       image: {{ .Values.image.vio }}
-       imagePullPolicy: {{ .Values.pullPolicy }}
-       ports:
-       - containerPort: 9004
-       livenessProbe:
-         httpGet:
-           path: /api/multicloud-vio/v0/swagger.json
-           port: 9004
-           scheme: HTTP
-         initialDelaySeconds: 30
-         periodSeconds: 10
-         timeoutSeconds: 10
-         successThreshold: 1
-         failureThreshold: 5
-     - image: {{ .Values.image.filebeat }}
-       imagePullPolicy: {{ .Values.pullPolicy }}
-       name: filebeat-onap
-       volumeMounts:
-       - mountPath: /usr/share/filebeat/filebeat.yml
-         name: filebeat-conf
-         subPath: filebeat.yml
-       - mountPath: /var/log/onap
-         name: vio-log
-       - mountPath: /usr/share/filebeat/data
-         name: vio-data-filebeat
-     volumes:
-     - name: vio-log
-       emptyDir: {}
-     - name: vio-data-filebeat
-       emptyDir: {}
-     - name: filebeat-conf
-       configMap:
-         name: multicloud-filebeat-configmap
-     - name: vio-logconfig
-       configMap:
-         name: multicloud-vio-log-configmap
-     imagePullSecrets:
-     - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-     restartPolicy: Always
-#{{ end }}
diff --git a/kubernetes/multicloud/templates/multicloud-windriver-deployment.yaml b/kubernetes/multicloud/templates/multicloud-windriver-deployment.yaml
deleted file mode 100644 (file)
index c1b3858..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableMulticloudMulticloudWindriver }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: multicloud-windriver
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.windRiverReplicas }}
-  selector:
-    matchLabels:
-      app: multicloud-windriver
-  template:
-    metadata:
-      labels:
-        app: multicloud-windriver
-      name: multicloud-windriver
-    spec:
-     containers:
-     - env:
-       - name: MSB_ADDR
-         value: "{{ tpl .Values.msbgateway . }}"
-       - name: MSB_PORT
-         value: "{{ .Values.msbPort }}"
-       - name: AAI_ADDR
-         value: aai-service.{{ .Values.nsPrefix }}
-       - name: AAI_PORT
-         value: "8443"
-       - name: AAI_SCHEMA_VERSION
-         value: "v11"
-       - name: AAI_USERNAME
-         value: "AAI"
-       - name: AAI_PASSWORD
-         value: "AAI"
-       name: multicloud-windriver
-       volumeMounts:
-       - mountPath: /var/log/onap
-         name: windriver-log
-       - mountPath: /opt/windriver/titanium_cloud/pub/config/log.yml
-         name: windriver-logconfig
-         subPath: log.yml
-       image: {{ .Values.image.windriver }}
-       imagePullPolicy: {{ .Values.pullPolicy }}
-       ports:
-       - containerPort: 9005
-       livenessProbe:
-         httpGet:
-           path: /api/multicloud-titanium_cloud/v0/swagger.json
-           port: 9005
-           scheme: HTTP
-         initialDelaySeconds: 30
-         periodSeconds: 10
-         timeoutSeconds: 10
-         successThreshold: 1
-         failureThreshold: 5
-     - image: {{ .Values.image.filebeat }}
-       imagePullPolicy: {{ .Values.pullPolicy }}
-       name: filebeat-onap
-       volumeMounts:
-       - mountPath: /usr/share/filebeat/filebeat.yml
-         name: filebeat-conf
-         subPath: filebeat.yml
-       - mountPath: /var/log/onap
-         name: windriver-log
-       - mountPath: /usr/share/filebeat/data
-         name: windriver-data-filebeat
-     volumes:
-     - name: windriver-log
-       emptyDir: {}
-     - name: windriver-data-filebeat
-       emptyDir: {}
-     - name: filebeat-conf
-       configMap:
-         name: multicloud-filebeat-configmap
-     - name: windriver-logconfig
-       configMap:
-         name: multicloud-windriver-log-configmap
-     imagePullSecrets:
-     - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-     restartPolicy: Always
-#{{ end }}
diff --git a/kubernetes/multicloud/templates/service.yaml b/kubernetes/multicloud/templates/service.yaml
new file mode 100644 (file)
index 0000000..9f18c5e
--- /dev/null
@@ -0,0 +1,52 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+    {
+      "serviceName": "multicloud",
+      "version": "v0",
+      "url": "/api/multicloud/v0",
+      "protocol": "REST",
+      "port": {{ .Values.service.externalPort }},
+      "visualRange": "1"
+    }
+    ]'
+spec:
+  ports:
+  {{if eq .Values.service.type "NodePort" -}}
+  - name: {{ .Values.service.name }}
+    port: {{ .Values.service.externalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+  {{- else -}}
+  - port: {{ .Values.service.externalPort }}
+    targetPort: {{ .Values.service.internalPort }}
+    name: {{ .Values.service.name }}
+  {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+  type: {{ .Values.service.type }}
index d43ee61..8a30d1a 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-nsPrefix: onap
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/multicloud/framework:latest
 pullPolicy: Always
-nodePortPrefix: 302
-dataRootDir: /dockerdata-nfs
-frameworkReplicas: 1
-ocataReplicas: 1
-vioReplicas: 1
-windRiverReplicas: 1
-image:
-  readiness: oomk8s/readiness-check:1.1.0
-  framework: nexus3.onap.org:10001/onap/multicloud/framework:latest
-  vio: nexus3.onap.org:10001/onap/multicloud/vio:latest
-  ocata: nexus3.onap.org:10001/onap/multicloud/openstack-ocata:latest
-  windriver: nexus3.onap.org:10001/onap/multicloud/openstack-windriver:latest
-  filebeat: docker.elastic.co/beats/filebeat:5.5.0
-# domain name of msb gateway
-msbgateway: msb-iag.{{ .Values.nsPrefix }}
-msbPort: 80
 
+# application configuration
 config:
+  msbgateway: msb-iag
+  msbPort: 80
   logstashServiceName: log-ls
   logstashPort: 5044
+  aai:
+    port: 8443
+    schemaVersion: v11
+    username: AAI
+    password: AAI
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 30
+  periodSeconds: 10
+  timeoutSeconds: 10
+  successThreshold: 1
+  failureThreshold: 5
+  enabled: true
+
+service:
+  type: NodePort
+  name: multicloud
+  externalPort: 9001
+  internalPort: 9001
+  nodePort: 91
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
index 7d33742..b507c10 100644 (file)
@@ -41,7 +41,7 @@ dependencies:
     version: ~2.0.0
     repository: '@local'
   - name: consul
-    version: ~1.1.0
+    version: ~2.0.0
     repository: '@local'
     condition: consul.enabled
   - name: dcaegen2
@@ -57,7 +57,7 @@ dependencies:
     repository: '@local'
     condition: log.enabled
   - name: message-router
-    version: ~0.1.0
+    version: ~2.0.0
     repository: '@local'
     condition: message-router.enabled
   - name: mock
@@ -69,7 +69,7 @@ dependencies:
     repository: '@local'
     condition: msb.enabled
   - name: multicloud
-    version: ~1.1.0
+    version: ~2.0.0
     repository: '@local'
     condition: multicloud.enabled
   - name: policy
@@ -89,7 +89,7 @@ dependencies:
     repository: '@local'
     condition: sdc.enabled
   - name: sdnc
-    version: ~0.1.0
+    version: ~2.0.0
     repository: '@local'
     condition: sdnc.enabled
   - name: so
@@ -101,7 +101,7 @@ dependencies:
     repository: '@local'
     condition: uui.enabled
   - name: vfc
-    version: ~0.1.0
+    version: ~2.0.0
     repository: '@local'
     condition: vfc.enabled
   - name: vid
index 8bbaa27..61a7546 100644 (file)
@@ -23,12 +23,17 @@ global:
   # with other instances running within the same k8s cluster
   nodePortPrefix: 302
 
-  # image repositories
-  repository: nexus3.onap.org:10001
-  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
-  # readiness check
+  # ONAP Repository
+  # Uncomment the following to enable the use of a single docker
+  # repository but ONLY if your repository mirrors all ONAP
+  # docker images. This includes all images from dockerhub and
+  # any other repository that hosts images for ONAP components.
+  #repository: nexus3.onap.org:10001
+  #repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+  # readiness check - temporary repo until images migrated to nexus3
   readinessRepository: oomk8s
-  # logging agent
+  # logging agent - temporary repo until images migrated to nexus3
   loggingRepository: docker.elastic.co
 
   # image pull policy
@@ -56,7 +61,7 @@ clamp:
   enabled: true
 cli:
   enabled: false
-consul: # Consul Health Check Monitoring
+consul:
   enabled: false
 dcaegen2:
   enabled: false
@@ -76,13 +81,17 @@ policy:
   enabled: false
 portal:
   enabled: false
-robot: # Robot Health Check
+robot:
   enabled: true
 sdc:
   enabled: false
 sdnc:
   enabled: false
-so: # Service Orchestrator
+
+  dmaap-listener:
+    config:
+      dmaapPort: 3904
+so:
   enabled: true
 
   replicaCount: 1
diff --git a/kubernetes/onap/resources/environments/disable-allcharts.yaml b/kubernetes/onap/resources/environments/disable-allcharts.yaml
new file mode 100644 (file)
index 0000000..7e27a31
--- /dev/null
@@ -0,0 +1,73 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# This override file is useful to test one or more subcharts.
+# It overrides the default ONAP parent chart behaviour to deploy
+# all of ONAP.
+#
+# Example use to enable a single subchart (from this directory):
+#
+# helm install local/onap -n onap --namespace onap -f disable-allcharts.yaml --set so.enabled=true
+
+#################################################################
+# Enable/disable and configure helm charts (ie. applications)
+# to customize the ONAP deployment.
+#################################################################
+aaf:
+  enabled: false
+aai:
+  enabled: false
+appc:
+  enabled: false
+clamp:
+  enabled: false
+cli:
+  enabled: false
+consul:
+  enabled: false
+dcaegen2:
+  enabled: false
+esr:
+  enabled: false
+log:
+  enabled: false
+message-router:
+  enabled: false
+mock:
+  enabled: false
+msb:
+  enabled: false
+multicloud:
+  enabled: false
+policy:
+  enabled: false
+portal:
+  enabled: false
+robot:
+  enabled: false
+sdc:
+  enabled: false
+sdnc:
+  enabled: false
+so:
+  enabled: false
+uui:
+  enabled: false
+vfc:
+  enabled: false
+vid:
+  enabled: false
+vnfsdk:
+  enabled: false
\ No newline at end of file
index ee7d00b..f784eeb 100644 (file)
@@ -23,12 +23,17 @@ global:
   # with other instances running within the same k8s cluster
   nodePortPrefix: 302
 
-  # image repositories
-  repository: nexus3.onap.org:10001
+  # ONAP Repository
+  # Uncomment the following to enable the use of a single docker
+  # repository but ONLY if your repository mirrors all ONAP
+  # docker images. This includes all images from dockerhub and
+  # any other repository that hosts images for ONAP components.
+  #repository: nexus3.onap.org:10001
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
-  # readiness check
+
+  # readiness check - temporary repo until images migrated to nexus3
   readinessRepository: oomk8s
-  # logging agent
+  # logging agent - temporary repo until images migrated to nexus3
   loggingRepository: docker.elastic.co
 
   # image pull policy
@@ -57,13 +62,13 @@ clamp:
   enabled: true
 cli:
   enabled: true
-consul: # Consul Health Check Monitoring
+consul:
   enabled: true
 dcaegen2:
   enabled: true
 esr:
   enabled: true
-log: # ONAP Logging ElasticStack
+log:
   enabled: true
 message-router:
   enabled: true
@@ -77,13 +82,17 @@ policy:
   enabled: true
 portal:
   enabled: true
-robot: # Robot Health Check
+robot:
   enabled: true
 sdc:
   enabled: true
 sdnc:
   enabled: true
-so: # Service Orchestrator
+
+  dmaap-listener:
+    config:
+      dmaapPort: 3904
+so:
   enabled: true
 
   replicaCount: 1
index 910ade9..c4cc253 100644 (file)
@@ -30,21 +30,6 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
-      initContainers:
-      - command:
-        - /root/ready.py
-        args:
-        - --container-name
-        - {{ .Values.global.mariadb.nameOverride }}
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        name: {{ include "common.name" . }}-readiness
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
index 2ed55ef..0ae0eb8 100644 (file)
@@ -26,7 +26,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/policy-nexus:1.2-SNAPSHOT-latest
+image: sonatype/nexus:2.14.8-01
 pullPolicy: Always
 
 # flag to enable debugging - application support required
diff --git a/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/apps-install.sh b/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/apps-install.sh
new file mode 100644 (file)
index 0000000..72f7a74
--- /dev/null
@@ -0,0 +1,124 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# ONAP
+# ================================================================================
+# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+#
+
+# #################################
+# Usage
+# #################################
+
+function usage {
+    echo
+    echo "Usage: $(basename $0) <application-name> <zipped-application-version> <download-directory>"
+    echo "Example: $(basename $0) controlloop 1.2.0 /opt/policy/config/drools"
+    echo
+}
+
+# #################################
+# snapshot url computation
+# #################################
+
+function url_snapshot {
+    if [[ $DEBUG == y ]]; then
+        echo "-- ${FUNCNAME[0]} --"
+        set -x
+    fi
+
+    APP_URL="${APP_URL}/snapshots/org/onap/policy/drools-applications/${APP_NAME}/packages/apps-${APP_NAME}/${APP_VERSION}"
+
+    local APP_METADATA_URL="${APP_URL}/maven-metadata.xml"
+    local APP_SNAPSHOT_VERSION=$(curl --silent "${APP_METADATA_URL}" | grep -Po "(?<=<value>).*(?=</value>)" | sort -V | tail -1)
+
+    if [[ -z ${APP_SNAPSHOT_VERSION} ]]; then
+        echo "ERROR: cannot compute SNAPSHOT version"
+        usage
+        exit 1
+    fi
+
+    APP_URL="${APP_URL}/apps-${APP_NAME}-${APP_SNAPSHOT_VERSION}.zip"
+}
+
+# #################################
+# release url computation
+# #################################
+
+function url_release {
+    if [[ $DEBUG == y ]]; then
+        echo "-- ${FUNCNAME[0]} --"
+        set -x
+    fi
+
+    APP_URL="${APP_URL}/releases/org/onap/policy/drools-applications/${APP_NAME}/packages/apps-${APP_NAME}/${APP_VERSION}/apps-${APP_NAME}-${APP_VERSION}.zip"
+}
+
+# #################################
+# Main
+# #################################
+
+if [[ $DEBUG == y ]]; then
+    set -x
+fi
+
+APP_NAME=$1
+if [[ -z ${APP_NAME} ]]; then
+    echo "ERROR: no APPLICATION NAME provided (ie. controlloop)"
+    usage
+    exit 1
+fi
+
+APP_VERSION=$2
+if [[ -z ${APP_VERSION} ]]; then
+    echo "ERROR: no APPLICATION VERSION provided"
+    usage
+    exit 1
+fi
+
+DOWNLOAD_DIR=$3
+if [[ -z ${DOWNLOAD_DIR} ]]; then
+    echo "ERROR: no DOWNLOAD DIRECTORY provided"
+    usage
+    exit 1
+fi
+
+if [[ ! -d ${DOWNLOAD_DIR} ]]; then
+    echo "ERROR: ${DOWNLOAD_DIR} is not a directory"
+    usage
+    exit 1
+fi
+
+APP_GROUP_ID="org.onap.policy.drools-applications.${APP_NAME}.packages"
+APP_ARTIFACT_ID="apps-${APP_NAME}"
+APP_BASE_URL="https://nexus.onap.org/content/repositories"
+
+APP_URL="${APP_BASE_URL}"
+
+if [[ ${APP_VERSION} =~ \-SNAPSHOT$ ]]; then
+    url_snapshot
+else
+    url_release
+fi
+
+wget "${APP_URL}" -O "${DOWNLOAD_DIR}"/apps-"${APP_NAME}".zip
+if [[ $? != 0 ]]; then
+    echo "ERROR: cannot download ${DOWNLOAD_DIR}/apps-${APP_NAME}.zip"
+    exit 1
+fi
+
+echo "APP ${APP_NAME} stored at ${DOWNLOAD_DIR}/apps-${APP_NAME}.zip"
+ls -l "${DOWNLOAD_DIR}"/apps-"${APP_NAME}".zip
index 127a483..a7ab3ee 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada, AT&T
+# Copyright © 2017-2018 Amdocs, Bell Canada, AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -15,9 +15,9 @@
 # SYSTEM software configuration 
 
 POLICY_HOME=/opt/app/policy
-POLICY_LOGS=/var/log/ONAP/policy
+POLICY_LOGS=/var/log/onap/policy/pdpd
 JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
-KEYSTORE_PASSWD=PolicyR0ck$
+KEYSTORE_PASSWD=Pol1cy_0nap
 
 # Telemetry credentials
 
index 62822ac..65ef705 100644 (file)
@@ -1,4 +1,6 @@
-# Copyright © 2017 Amdocs, Bell Canada, AT&T
+#! /bin/bash
+
+# Copyright © 2017-2018 Amdocs, Bell Canada, AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -12,6 +14,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#! /bin/bash
 
 ${POLICY_HOME}/bin/features enable healthcheck
index edff99a..7a616d7 100644 (file)
@@ -100,6 +100,9 @@ spec:
           - mountPath: /tmp/policy-install/config/drools-tweaks.sh
             name: drools-config
             subPath: drools-tweaks.sh
+          - mountPath: /tmp/policy-install/config/apps-install.sh
+            name: drools-config
+            subPath: apps-install.sh
           - mountPath: /usr/share/maven/conf/settings.xml
             name: drools-settingsxml
             subPath: settings.xml
index 95ece9e..3fada2e 100644 (file)
@@ -13,7 +13,7 @@ music.serialize.compress = true
 #By default it's eventual
 music.atomic.get = false
 music.atomic.put = true
-cassandra.host={{.Values.cassandra.service.name}}.{{.Release.Namespace}}
-zookeeper.host={{.Values.zookeeper.service.name}}.{{.Release.Namespace}}
+cassandra.host={{.Release.Name}}-{{.Values.cassandra.chart.name}}.{{.Release.Namespace}}
+zookeeper.host={{.Release.Name}}-{{.Values.zookeeper.chart.name}}.{{.Release.Namespace}}
 cassandra.user={{.Values.cassandra.config.cassandraUsername}}
 cassandra.password={{.Values.cassandra.config.cassandraPassword}}
\ No newline at end of file
index 1ef1feb..0e3381c 100755 (executable)
@@ -16,9 +16,14 @@ ueb_app_key = 7GkVcrO6sIDb3ngW
 ueb_app_secret = uCYgKjWKK5IxPGNNZzYSSWo9
 ueb_app_mailbox_name = ECOMP-PORTAL-INBOX
 
-ueb_url_list = dmaap.{{.Release.Namespace}}
+ueb_url_list = {{.Values.messageRouter.chart.name}}.{{.Release.Namespace}}
 ecomp_portal_inbox_name = ECOMP-PORTAL-INBOX
 
 # Consumer group name for UEB topic.
 # Use the special tag to generate a unique one for each sdk-app server.
 ueb_app_consumer_group_name = {UUID}
+
+role_access_centralized = remote
+
+ext_req_connection_timeout = 15000
+ext_req_read_timeout = 20000
index 9a3ee56..765ba02 100755 (executable)
@@ -1,6 +1,6 @@
 #mysql
 db.driver = org.mariadb.jdbc.Driver
-db.connectionURL = jdbc:mariadb:failover://{{.Values.mariadb.service.name}}.{{.Release.Namespace}}:3306/portal
+db.connectionURL = jdbc:mariadb:failover://{{.Release.Name}}-{{.Values.mariadb.chart.name}}.{{.Release.Namespace}}:3306/portal
 db.userName =root
 db.password =Aa123456
 db.hib.dialect = org.hibernate.dialect.MySQLDialect
@@ -44,7 +44,7 @@ log_cron                      = 0 * * * * ? *
 sessiontimeout_feed_cron         = 0 0/5 * * * ? *
 
 #Front end URL
-frontend_url                  = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/applicationsHome 
+frontend_url                  = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/applicationsHome
 
 
 # An Unqiue 128-bit value defined to indentify a specific version of
@@ -82,7 +82,7 @@ notification_update_duration = 900
 
 #Microservices Related Properties for Portal
 microservices.widget.protocol = http
-microservices.widget.hostname = {{.Values.widget.service.name}}.{{.Release.Namespace}}
+microservices.widget.hostname = {{.Release.Name}}-{{.Values.widget.chart.name}}.{{.Release.Namespace}}
 microservices.widget.username = widget_user
 microservices.widget.password = M+KcrCMVrR1rAxtiFE49n1uXC3FCkNBqFgeYsubEC/U=
 #This property won't be needed after consul is functional on VMs -
index bfe1033..7ed8cca 100644 (file)
@@ -31,14 +31,14 @@ spec:
         release: {{ .Release.Name }}
     spec:
       initContainers:
-      - name: {{ include "common.name" . }}-readiness
+      - name: {{ include "common.name" . }}-job-completion
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
         command:
-        - /root/ready.py
+        - /root/job_complete.py
         args:
-        - --container-name
-        - {{ .Values.mariadb.nameOverride }}
+        - --job-name
+        - {{ .Release.Name }}-portal-db-config
         env:
         - name: NAMESPACE
           valueFrom:
index 4415635..ef92500 100644 (file)
@@ -19,7 +19,7 @@ global:
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.1.0
+  readinessImage: readiness-check:1.1.1
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/portal-app:latest
+image: onap/portal-app:2.1-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -67,23 +67,23 @@ service:
   nodePort3: 14
 
 mariadb:
-  nameOverride: portal-db
-  service:
+  chart:
     name: portal-db
 widget:
-  service:
+  chart:
     name: portal-widget
-
 cassandra:
-  service:
+  chart:
     name: portal-cassandra
   config:
     cassandraUsername: root
     cassandraPassword: Aa123456
-
 zookeeper:
-  service:
-    name: portal-zk
+  chart:
+    name: portal-zookeeper
+messageRouter:
+  chart:
+    name: message-router
 
 ingress:
   enabled: false
diff --git a/kubernetes/portal/charts/portal-cassandra/templates/pv.yaml b/kubernetes/portal/charts/portal-cassandra/templates/pv.yaml
new file mode 100644 (file)
index 0000000..184728f
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
diff --git a/kubernetes/portal/charts/portal-cassandra/templates/pvc.yaml b/kubernetes/portal/charts/portal-cassandra/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..e27c331
--- /dev/null
@@ -0,0 +1,48 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+  annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+  selector:
+    matchLabels:
+      name: {{ include "common.fullname" . }}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  resources:
+    requests:
+      storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
index 530fdfa..f66b848 100644 (file)
@@ -50,6 +50,29 @@ readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
 
+## Persist data to a persitent volume
+persistence:
+  enabled: true
+
+  ## A manually managed Persistent Volume and Claim
+  ## Requires persistence.enabled: true
+  ## If defined, PVC must be created manually before volume will be bound
+  # existingClaim:
+  volumeReclaimPolicy: Retain
+
+  ## database data Persistent Volume Storage Class
+  ## If defined, storageClassName: <storageClass>
+  ## If set to "-", storageClassName: "", which disables dynamic provisioning
+  ## If undefined (the default) or set to null, no storageClassName spec is
+  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
+  ##   GKE, AWS & OpenStack)
+  ##
+  # storageClass: "-"
+  accessMode: ReadWriteMany
+  size: 2Gi
+  mountPath: /dockerdata-nfs
+  mountSubPath: portal/cassandra/data
+  
 service:
   type: ClusterIP
   name: portal-cassandra
diff --git a/kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/Apps_Users_OnBoarding_Script.sql b/kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/Apps_Users_OnBoarding_Script.sql
deleted file mode 100644 (file)
index ff7093a..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
--- Loads database tables with details about applications accessible from Portal in ONAP
-USE portal;
-
-SET FOREIGN_KEY_CHECKS=1;
-
--- Apps; note that the IDs are used below.
-
-INSERT INTO `fn_app` (`app_id`, `app_name`, `app_image_url`, `app_description`, `app_notes`, `app_url`, `app_alternate_url`, `app_rest_endpoint`, `ml_app_name`, `ml_app_admin_id`, `mots_id`, `app_password`, `open`, `enabled`, `thumbnail`, `app_username`, `ueb_key`, `ueb_secret`, `ueb_topic_name`, `app_type`,`auth_central`,`auth_namespace`) VALUES
-(2, 'xDemo App', 'images/cache/portal-222865671_37476.png', NULL, NULL, 'http://portal.api.simpledemo.onap.org:8990/ONAPPORTALSDK/welcome.htm', NULL, 'http://portal.api.simpledemo.onap.org:8989/ONAPPORTALSDK/api/v2', '', '', NULL, '2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', 'N', 'Y', NULL, 'Default', 'ueb_key', 'ueb_secret', 'ECOMP-PORTAL-OUTBOX', 1,'N',NULL),
-(3, 'DMaaP Bus Ctrl', 'images/cache/portal944583064_80711.png', NULL, NULL, 'http://portal.api.simpledemo.onap.org:8989/ECOMPDBCAPP/dbc#/dmaap', NULL, 'http://portal.api.simpledemo.onap.org:8989/ECOMPDBCAPP/api/v2', '', '', NULL, 'okYTaDrhzibcbGVq5mjkVQ==', 'N', 'N', NULL, 'Default', 'ueb_key', 'ueb_secret', 'ECOMP-PORTAL-OUTBOX', 1,'N',NULL),
-(4, 'SDC', 'images/cache/portal956868231_53879.png', NULL, NULL, 'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal', NULL, 'http://sdc.api.be.simpledemo.onap.org:8080/api/v2', '', '', NULL, '78ot0W94rpB0o4FYzVoIOg==', 'N', 'Y', NULL, 'Default', 'ueb_key', 'ueb_secret', 'ECOMP-PORTAL-OUTBOX', 1,'N',NULL),
-(5, 'Policy', 'images/cache/portal1470452815_67021.png', NULL, NULL, 'http://policy.api.simpledemo.onap.org:8443/onap/policy', NULL, 'http://policy.api.simpledemo.onap.org:8443/onap/api/v2', '', '', NULL, 'okYTaDrhzibcbGVq5mjkVQ==', 'N', 'Y', NULL, 'Default', 'ueb_key', 'ueb_secret', 'ECOMP-PORTAL-OUTBOX', 1,'N',NULL),
-(6, 'Virtual Infrastructure Deployment', 'images/cache/portal-345993588_92550.png', NULL, NULL, 'http://vid.api.simpledemo.onap.org:8080/vid/welcome.htm', NULL, 'http://vid.api.simpledemo.onap.org:8080/vid/api/v2', '', '', NULL, 'okYTaDrhzibcbGVq5mjkVQ==', 'N', 'Y', NULL, 'Default', '2Re7Pvdkgw5aeAUD', 'S31PrbOzGgL4hg4owgtx47Da', 'ECOMP-PORTAL-OUTBOX-90', 1,'N',NULL),
-(7, 'A&AI UI', 'images/cache/portal-345993588_92550.png', NULL, NULL, 'http://aai.api.simpledemo.onap.org:9517/services/aai/webapp/index.html#/viewInspect', NULL, 'http://aai.api.simpledemo.onap.org:9517/api/v2', '', '', NULL, 't1oqm6wCXrGUXUSL8mS7pQ==', 'N', 'Y', NULL, 'aaiui', 'ueb_key', 'ueb_secret', 'ECOMP-PORTAL-OUTBOX', 1,'N',NULL),
-(8, 'CLI', 'images/cache/portal-345993588_92550.png', NULL, NULL, 'http://cli.api.simpledemo.onap.org:8080/', NULL, NULL, '', '', NULL, '', 'Y', 'Y', NULL, '', '', '', '', 2,'N',NULL);
-
--- insert ASDC users user id2-8
-
-Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (2,NULL,NULL,'Jimmy',NULL,'Hendrix',NULL,NULL,NULL,'admin@onap.org',NULL,NULL,NULL,'jh0003',NULL,'jh0003','95LidzVz7nSpsTsRUrDNVA==','2016-10-20 15:11:16','Y',NULL,'2016-10-14 21:00:00',1,'2016-10-20 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
-Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (3,NULL,NULL,'Carlos',NULL,'Santana',NULL,NULL,NULL,'designer@onap.org',NULL,NULL,NULL,'cs0008',NULL,'cs0008','95LidzVz7nSpsTsRUrDNVA==','2016-10-20 15:11:16','Y',NULL,'2016-10-14 21:00:00',1,'2016-10-20 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
-Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (4,NULL,NULL,'Joni',NULL,'Mitchell',NULL,NULL,NULL,'tester@onap.org',NULL,NULL,NULL,'jm0007',NULL,'jm0007','95LidzVz7nSpsTsRUrDNVA==','2016-10-20 15:11:16','Y',NULL,'2016-10-14 21:00:00',1,'2016-10-20 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
-Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (5,NULL,NULL,'Steve',NULL,'Regev',NULL,NULL,NULL,'ops@onap.org',NULL,NULL,NULL,'op0001',NULL,'op0001','95LidzVz7nSpsTsRUrDNVA==','2016-10-20 15:11:16','Y',NULL,'2016-10-14 21:00:00',1,'2016-10-20 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
-Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (6,NULL,NULL,'David',NULL,'Shadmi',NULL,NULL,NULL,'governor@onap.org',NULL,NULL,NULL,'gv0001',NULL,'gv0001','95LidzVz7nSpsTsRUrDNVA==','2016-10-20 15:11:16','Y',NULL,'2016-10-14 21:00:00',1,'2016-10-20 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
-Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (7,NULL,NULL,'Teddy',NULL,'Isashar',NULL,NULL,NULL,'pm1@onap.org',NULL,NULL,NULL,'pm0001',NULL,'pm0001','95LidzVz7nSpsTsRUrDNVA==','2016-10-20 15:11:16','Y',NULL,'2016-10-14 21:00:00',1,'2016-10-20 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
-Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (8,NULL,NULL,'Eden',NULL,'Rozin',NULL,NULL,NULL,'ps1@onap.org',NULL,NULL,NULL,'ps0001',NULL,'ps0001','95LidzVz7nSpsTsRUrDNVA==','2016-10-20 15:11:16','Y',NULL,'2016-10-14 21:00:00',1,'2016-10-20 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
-
--- insert demo user to account admin role for all apps id2-7
-
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (1,999,null,2);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (1,999,null,3);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (1,999,null,4);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (1,999,null,5);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (1,999,null,6);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (1,999,null,7);
-
--- insert users id2-8 roles to SDC app
-
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (2,999,null,4);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (3,16,null,4);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (4,16,null,4);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (5,16,null,4);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (6,16,null,4);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (7,16,null,4);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (8,16,null,4);
-
--- insert VID users id9-11
-
-Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (9,NULL,NULL,'vid1',NULL,'user',NULL,NULL,NULL,'vid1@onap.org',NULL,NULL,NULL,'vid1',NULL,'vid1','95LidzVz7nSpsTsRUrDNVA==','2016-10-20 15:11:16','Y',NULL,'2016-10-14 21:00:00',1,'2016-10-20 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
-Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (10,NULL,NULL,'vid2',NULL,'user',NULL,NULL,NULL,'vid2@onap.org',NULL,NULL,NULL,'vid2',NULL,'vid2','95LidzVz7nSpsTsRUrDNVA==','2016-10-20 15:11:16','Y',NULL,'2016-10-14 21:00:00',1,'2016-10-20 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
-Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (11,NULL,NULL,'vid3',NULL,'user',NULL,NULL,NULL,'vid3@onap.org',NULL,NULL,NULL,'vid3',NULL,'vid3','95LidzVz7nSpsTsRUrDNVA==','2016-10-20 15:11:16','Y',NULL,'2016-10-14 21:00:00',1,'2016-10-20 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
-
--- insert users id9-11 roles to VID app
-
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (9,16,null,6);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (10,16,null,6);
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (11,16,null,6);
-
--- insert AAI UI users id12
-
-Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (12,NULL,NULL,'steve',NULL,'user',NULL,NULL,NULL,'steve@onap.org',NULL,NULL,NULL,'steve',NULL,'steve','95LidzVz7nSpsTsRUrDNVA==','2017-05-19 15:11:16','Y',NULL,'2017-05-19 21:00:00',1,'2017-05-19 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
-
--- insert users id9-11 roles to AAI UI app
-
-Insert into fn_user_role (USER_ID,ROLE_ID,PRIORITY,APP_ID) values (12,16,null,7);
-
--- insert fn_roles for the on boarded apps
-insert into fn_role values(1000,'System Administrator','Y',1,2,1); -- SDK from 999 to 1
-insert into fn_role values(1001,'Standard User','Y',1,2,16); -- SDK
-insert into fn_role values(1002,'System Administrator','Y',1,3,1); -- DMaap from 999 to 1
-insert into fn_role values(1003,'Standard User','Y',1,3,16); -- DMaap
-insert into fn_role values(1004,'ADMIN','Y',1,4,0); -- SDC from 999 to 1
-insert into fn_role values(1005,'TESTOR','Y',1,4,1); -- SDC
-insert into fn_role values(1006,'System Administrator','Y',1,5,1); -- Policy from 999 to 1
-insert into fn_role values(1007,'Standard User','Y',1,5,16); -- Policy
-insert into fn_role values(1008,'System Administrator','Y',1,6,1); -- VID from 999 to 1
-insert into fn_role values(1009,'Standard User','Y',1,6,16); -- VID
-
-insert into fn_role values(1011,'View','Y',1,7,1); -- AAI UI from 999 to 1
-insert into fn_role values(1012,'Standard User','Y',1,7,16); -- AAI UI
-
-
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (1,1000,NULL,2);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (1,1001,NULL,2);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (1,1002,NULL,3);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (1,1004,NULL,4);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (1,1006,NULL,5);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (1,1008,NULL,6);
-
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (2,1004,NULL,4);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (3,1005,NULL,4);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (4,1005,NULL,4);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (5,1005,NULL,4);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (6,1005,NULL,4);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (7,1005,NULL,4);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (8,1005,NULL,4);
-
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (9,999,NULL,1);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (9,1008,NULL,6);
-
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (10,1008,NULL,6);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (10,1009,NULL,6);
-
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (12,1011,NULL,7);
-INSERT INTO `fn_user_role` (`user_id`,`role_id`,`priority`,`app_id`) VALUES (12,1012,NULL,7);
-
--- new 1610.2
--- Ignore errors if the application is not onboarded in this environment
-
-INSERT IGNORE INTO `fn_app_contact_us` (app_id, contact_name, contact_email, url, active_yn, description) VALUES (
-       (select min(app_id) from fn_app where app_name like "%SDC%" and enabled = "Y"),
-       "SDC Team","sdc@lists.onap.org","https://wiki.onap.org/display/DW/Approved+Projects",NULL,
-       "Service Design and Creation (SDC).");
-INSERT IGNORE INTO `fn_app_contact_us` (app_id, contact_name, contact_email, url, active_yn, description) VALUES (
-       (select min(app_id) from fn_app where app_name like "%Policy%"),
-       "Policy Team","policy@lists.onap.org","https://wiki.onap.org/display/DW/Approved+Projects",NULL,
-       "Policy.");
-INSERT IGNORE INTO `fn_app_contact_us` (app_id, contact_name, contact_email, url, active_yn, description) VALUES (
-       (select min(app_id) from fn_app where app_name like "%DMaaP Bus%"),
-       "DBC Team","portal@lists.onap.org","https://wiki.onap.org/display/DW/Approved+Projects",NULL,
-       "DBC.");
-INSERT IGNORE INTO `fn_app_contact_us` (app_id, contact_name, contact_email, url, active_yn, description) VALUES (
-       (select min(app_id) from fn_app where app_name like "%Virtual Infrastructure%"),
-       "VID Team","vid@lists.onap.org","https://wiki.onap.org/display/DW/Approved+Projects",NULL,
-       "Virtual Infrastructure Design.");
-INSERT IGNORE INTO `fn_app_contact_us` (app_id, contact_name, contact_email, url, active_yn, description) VALUES (
-       (select min(app_id) from fn_app where app_name like "%Demo%"),
-       "Portal SDK Team","portal@lists.onap.org","https://wiki.onap.org/display/DW/Approved+Projects",NULL,
-       "xDemo Application");
-INSERT IGNORE INTO `fn_app_contact_us` (app_id, contact_name, contact_email, url, active_yn, description) VALUES (
-       (select min(app_id) from fn_app where app_name like "%AI UI%"),
-       "AAI UI Team","aaiui@lists.onap.org","https://wiki.onap.org/display/DW/Approved+Projects",NULL,
-       "AAI UI Application");
-INSERT IGNORE INTO `fn_app_contact_us` (app_id, contact_name, contact_email, url, active_yn, description) VALUES (
-       (select min(app_id) from fn_app where app_name like "%CLI%"),
-       "CLI Team","onap-discuss@lists.onap.org","https://wiki.onap.org/display/DW/Approved+Projects",NULL,
-       "CLI Application");
--- end new 1610.2
-
---
--- Data for table fn_menu_functional
---
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (175,1,'Manage',NULL,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (1,2,'Design',175,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (316,11,'Administration',1,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (2,8,'ECOMP Platform Management',175,'','N',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (3,5,'Technology Insertion',175,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (5,7,'Performance Management',175,'','N',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (6,6,'Technology Management',175,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (7,4,'Capacity Planning',175,'','N',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (8,3,'Operations Planning',175,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (11,1,'Product Design',1,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (12,2,'Resource/Service Design & Onboarding',1,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (13,3,'Orchestration (recipe/Process) Design',1,'','N',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (14,4,'Service Graph visualizer',1,'','N',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (15,5,'Distribution',1,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (16,6,'Testing',1,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (17,7,'Simulation',1,'','N',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (18,8,'Certification',1,'','N',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (19,9,'Policy Creation/Management',1,'http://policy.api.simpledemo.onap.org:8443/onap/policy','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (20,10,'Catalog Browser',1,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (24,5,'Create/Manage Policy',12,'http://policy.api.simpledemo.onap.org:8443/onap/policy','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (56,1,'Policy Engineering',8,'http://policy.api.simpledemo.onap.org:8443/onap/policy','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (115,1,'Test/Approve a Resource or Service',16,'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (130,1,'Favorites',175,'','y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (139,2,'Approve a Service for distribution',12,'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (142,3,'Create a License model',12,'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/onboardVendor','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (145,1,'Distribute a Service',15,'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (148,1,'User Management / Category Management',316,'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/adminDashboard','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (178,2,'Support',NULL,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (181,1,'Contact Us',178,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (184,2,'Get Access',178,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (301,1,'Create a Product',11,'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/dashboard','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (304,2,'Create a Vendor Software Product',11,'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/onboardVendor','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (307,1,'Manage a Resource/Service',20,'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (310,2,'Manage a Product',20,'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (313,3,'View a Resource/Service/Product',20,'http://sdc.api.simpledemo.onap.org:8181/sdc1/portal#/catalog','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (317,1,'Message Bus Management',6,'http://portal.api.simpledemo.onap.org:8989/ECOMPDBCAPP/dbc#/dmaap','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (318,1,'Infrastructure Provisioning',3,'','Y',NULL);
-INSERT INTO `fn_menu_functional` (`menu_id`,`column_num`,`text`,`parent_menu_id`,`url`,`active_yn`,`image_src`) VALUES (319,1,'Infrastructure VNF Provisioning',318,'http://vid.api.simpledemo.onap.org:8080/vid/welcome.htm','Y',NULL);
---
--- Data for table fn_menu_functional_ancestors
---
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (1,175,175,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (2,178,178,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (3,11,11,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (4,12,12,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (5,13,13,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (6,14,14,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (7,15,15,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (8,16,16,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (9,17,17,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (10,18,18,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (11,19,19,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (12,20,20,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (13,316,316,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (14,318,318,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (15,317,317,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (16,56,56,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (17,301,301,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (18,304,304,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (19,24,24,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (20,139,139,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (21,142,142,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (22,145,145,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (23,115,115,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (24,307,307,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (25,310,310,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (26,313,313,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (27,1,1,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (28,2,2,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (29,3,3,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (30,5,5,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (31,6,6,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (32,7,7,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (33,8,8,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (34,130,130,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (35,181,181,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (36,184,184,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (37,148,148,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (38,319,319,0);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (64,11,1,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (65,12,1,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (66,13,1,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (67,14,1,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (68,15,1,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (69,16,1,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (70,17,1,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (71,18,1,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (72,19,1,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (73,20,1,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (74,316,1,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (75,318,3,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (76,317,6,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (77,56,8,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (78,301,11,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (79,304,11,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (80,24,12,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (81,139,12,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (82,142,12,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (83,145,15,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (84,115,16,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (85,307,20,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (86,310,20,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (87,313,20,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (88,1,175,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (89,2,175,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (90,3,175,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (91,5,175,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (92,6,175,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (93,7,175,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (94,8,175,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (95,130,175,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (96,181,178,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (97,184,178,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (98,148,316,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (99,319,318,1);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (127,301,1,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (128,304,1,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (129,24,1,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (130,139,1,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (131,142,1,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (132,145,1,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (133,115,1,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (134,307,1,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (135,310,1,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (136,313,1,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (137,148,1,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (138,319,3,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (139,11,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (140,12,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (141,13,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (142,14,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (143,15,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (144,16,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (145,17,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (146,18,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (147,19,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (148,20,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (149,316,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (150,318,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (151,317,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (152,56,175,2);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (158,301,175,3);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (159,304,175,3);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (160,24,175,3);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (161,139,175,3);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (162,142,175,3);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (163,145,175,3);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (164,115,175,3);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (165,307,175,3);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (166,310,175,3);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (167,313,175,3);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (168,148,175,3);
-INSERT INTO `fn_menu_functional_ancestors` (`id`,`menu_id`,`ancestor_menu_id`,`depth`) VALUES (169,319,175,3);
-
--- new 1610.2 which one? add-on 3rd script
-insert IGNORE into fn_menu_functional_roles (menu_id, app_id, role_id)
-(
-select a.menu_id, b.app_id, b.role_id from
-(
-select a.menu_id from fn_menu_functional a where upper(text) like  '%POLICY%'
-) a,
-(
-select * from fn_role where app_id = (select app_id from fn_app where app_name = 'Policy')
-) b
-);
-
-
-insert IGNORE into fn_menu_functional_roles (menu_id, app_id, role_id)
-(
-select a.menu_id, b.app_id, b.role_id from
-(
-select a.menu_id from fn_menu_functional a where url like  '%sdc1%'
-) a,
-(
-select * from fn_role where app_id = (select app_id from fn_app where app_name = 'SDC')
-) b
-);
-
-insert IGNORE into fn_menu_functional_roles (menu_id, app_id, role_id)
-(
-select a.menu_id, b.app_id, b.role_id from
-(
-select a.menu_id from fn_menu_functional a where url like  '%vid%'
-) a,
-(
-select * from fn_role where app_id = (select app_id from fn_app where app_name like 'Virtual%')
-) b
-);
-
-insert IGNORE into fn_menu_functional_roles (menu_id, app_id, role_id)
-(
-select a.menu_id, b.app_id, b.role_id from
-(
-select a.menu_id from fn_menu_functional a where url like  '%DBC%'
-) a,
-(
-select * from fn_role where app_id = (select app_id from fn_app where app_name = 'DMaaP Bus Ctrl')
-) b
-);
-
-insert IGNORE into fn_menu_functional_roles (menu_id, app_id, role_id)
-(
-select a.menu_id, b.app_id, b.role_id from
-(
-select a.menu_id from fn_menu_functional a where url like  '%SDK%'
-) a,
-(
-select * from fn_role where app_id = (select app_id from fn_app where app_name = 'xDemo App')
-) b
-);
--- end new
-INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (6,'NEWS','http://about.att.com/innovationblog/next_att_labs','What\'s Next at AT&T Labs? AI Set to Revolutionize the Network',NULL,NULL,10);
-INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (7,'NEWS','http://about.att.com/innovationblog/ecomp_code','Code, Community and Commitment - the 3 Cs of Open Source',NULL,NULL,20);
-INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (8,'NEWS','http://about.att.com/story/orange_testing_att_open_source_ecomp_platform.html','Orange Testing AT&Ts Open Source ECOMP Platform for Building Software-Defined Network Capabilities',NULL,NULL,30);
-INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (9,'NEWS', 'http://about.att.com/innovationblog/linux_foundation','Opening up ECOMP: Our Network Operating System for SDN',NULL,NULL,40);
-INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (10,'EVENTS',NULL,'OpenECOMP Launches into Open Source',NULL,'2017-02-14',1);
-INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (11,'IMPORTANTRESOURCES','http://about.att.com/content/dam/snrdocs/ecomp.pdf','ECOMP White Paper',NULL,NULL,1);
-INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (12,'IMPORTANTRESOURCES','https://wiki.onap.org/','ONAP Wiki',NULL,NULL,2);
-INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (13,'IMPORTANTRESOURCES','https://wiki.onap.org/display/DW/Portal','ONAP Wiki for Portal',NULL,NULL,3);
-INSERT INTO `fn_common_widget_data` (`id`,`CATEGORY`,`HREF`,`TITLE`,`content`,`event_date`,`SORT_ORDER`) VALUES (14,'IMPORTANTRESOURCES','https://wiki.onap.org/display/DW/Development+Guides','ONAP User Guide',NULL,NULL,4);
-
--- app thumbnails
-
-UPDATE  `fn_app` SET  `thumbnail` = 0x89504E470D0A1A0A0000000D49484452000001680000012C0806000000EE2C29AF0000200049444154785EEC9D099C5D6579FFBF67B9EBEC5B6626B364DFC91E12080142D87710595C0A5A37B455FBD75AB56A6D6BD55A6D6D6D6B6BAB15045111C50504917D95B0869090909DEC997DEE7AF6FFE77DCFBD333721C0850C3093BCE7C3903B73DF7BEE39BF73CEEF3CE7F7FE9EE7D1508B424021A01050088C4A04B451B9556AA314020A018580420045D0EA24500828041402A3140145D0A3F4C0A8CD5208280414028AA0D539A010500828044629028AA047E981519BA510500828041441AB734021A01050088C520414418FD203A3364B21A0105008288256E780424021A01018A50828821EA507466D96424021A0105004ADCE018580424021304A1150043D4A0F8CDA2C8580424021A0085A9D030A01858042609422A0087A941E18B5590A018580424011B43A0714020A0185C028454011F4283D306AB314020A0185802268750E280414020A81518A8022E8517A60D466290414020A0145D0EA1C500828041402A3140145D0A3F4C0A8CD5208280414028AA0D539A010500828044629028AA047E981519BA510500828041441AB734021A01050088C520414418FD203A3364B21A0105008288256E780424021A01018A50828821EA507466D96424021A0105004ADCE018580424021304A1150043D4A0F8CDA2C8580424021A0F5A6EC40C1A010500828041402A30F0145D0A3EF98A82D520828041402120145D0EA44500828041402A3140145D0A3F4C0A8CD5208280414028AA0D539A010500828044629028AA047E981519BA510500828041441AB734021A01050088C520414418FD203A3364B21A0105008288256E780424021A01018A50828821EA507466D96424021A0105004ADCE018580424021304A1150043D4A0F8CDA2C8580424021A0085A9D030A01858042609422A0087A941E18B5590A018580424011B43A0714020A0185C028454011F4283D306AB314020A0185802268750E280414020A81518A8022E8517A60D466290414020A0145D0EA1C500828041402A3140145D0A3F4C0A8CD5208280414028AA0D539A010500828044629028AA047E981519BA510500828041441AB734021A01050088C520414418FD203A3364B21A0105008288256E780424021A01018A5088C28416B1A68E27F6A510828041402C718024110100423BBD3234AD0B1884E32668CEC16AAB5290414020A81318080E5F8642D6F44B75411F488C2A956A61050081CAB0828823E568FBCDA6F85804260D423A0087AD41F22B5810A81A31701A1B18A45CD331DFE182B823E7ACF7DB5670A81518DC08E1D83DC7BEF4EB98DAB5675306142F5A8DEDEB763E31441BF1DA8ABEF54081CE308B8AECBAF7EF5221FFAF0831289EBAF3B830B2E988CAEEBC7383207EFBE2268753A280414026F3902B66D73D34D6B79FF9F3E2CBFFB673F3D8BCB2E9B8E6128C756E9C15004FD969F9AEA0B15020A817C3ECF0D373ECB873FFCB804E327379D21093A128928704A105004AD4E07858042E02D472097CBF1A31B9EE1DA6B9F90DF7DD34DA7F3CECB6628823EE44828827ECB4F4DF5850A01858024E81F3DC3B51F5504FD6A6783226875AD280414026F39028AA0CB835C11747938A9510A0185C00822A008BA3C3015419787931AA51050088C20028AA0CB035311747938A9510A0185C00822A008BA3C3015419787931AA51050088C20028AA0CB035311747938A9510A0185C00822A008BA3C3015419787931AA51050088C20028AA0CB035311747938A9510A0185C00822A008BA3C3015419787931AA51050088C20028AA0CB035311747938A9510A0185C00822A008BA3C3015419787931AA51050088C20028AA0CB035311747938A9510A0185C00822A008BA3C3015419787931AA51050088C20028AA0CB035311747938A9510A0185C00822A008BA3C3015419787931AA51050088C20028AA0CB035311747938A9510A0185C00822A008BA3C3015419787931AA51050088C20028AA0CB0353117479388DECA8C027E8DB4490EB26705290EB016B407E879FD9034E06341D2D568B166F18FEEEAA7630A2F26F5A450B5A55C7C86E975A9B42E02D4240117479402B822E0FA7231BE5D9787B1F23E8D900D97DF87D9B09522F110822F62D70B2E0E6E57704760A7C1BD0C04CA09989E1EF8ED5806EA0991510AD444B8C43AB6845AB9B8ADEB400BDE93888541DD9B6AA4F2B04DE020414419707B222E8F2702A6B54E064F1773D10FEEC790CDC4C48BA411046C86E163C9BC0CD41E095B5CE571DA4E961442D483C528516A900CD90DC8E66A25577A2371F8F31E522B4FA1947FE7D6A0D0A81114240117479402A822E0FA7571D153869FCDD0FE33CF8391919E33BE0BB829A4760ED47B00A41E0BA8956D18631F14C8C1957A2B79E1092B85A14026F23028AA0CB035F11747938958C0A0A32842789D87BF116DCD55F23103AF2DB4DC8AFB92F1A5A653BD1737F84563F538ED68CA8945284E67D444BE01FF93A8E6803D487C712028AA0CB3B5A8AA0CBC349926F90EF87D40EECDF7F00BF677DE1936F73945CF6F6970E141A48B8E813CE20B2E43352C7D6E28D523279DD8BEFE1F73C8F5E33456AE36A5108BC16028AA05F0BA1F07D45D065E024A2E3A0E779BCADB7E36DFC0941B6AB8C4F8D9D21C22DA2B79F823EE97CCC199783997C5D1BEFEF7F1AE7912F1039E9ABE8CD0BC3094EB528045E050145D0E59D1E8AA05F15A780207B006FFD0DB8CFFF1FC1E08E9199DC2BEFD8BCF5A38C3891657F8DDEB112BD711E98F1D7DE063787F3E89771D7FC37D10B6FC6987096923A5E1BB5637E8422E8F24E0145D087C3C9B371D77E9F6060AB24687FCF2304E9DDE5213AD6471931F4A6F9D2B6A7554FC098740E5AFDAC9793AE67E1EF79146FCB6FF05EBA97A06F23D1F36EC2987AF13137095914B90E7A6E38EC1FC7FAC93172DBAF08BA3C2C15411F062777C34F711FF834415E4CFC1DAB8B06D12AF471F331A65F8131ED32B4787D0846E0E16DBF0BF7B12FE377AF1B7AAA889EF13D8C59EF91CE91A37E11D6C921460E5F084E1E7E558A80927C0E3D1F144197778528822EC129187C09F7C97FC2DB7A1B41665F79081EEDA3444663BC1EF3946F624EBB2C9C44B453E46F5A4630B84D98BC8710889EFE5F18B3FFE4D8216841C99A349D176E5CE2F7024D07E26FC5F78FF693E4F5EF9F22E8F23053045DC0C9DBF63B9C873E2F650DE96356CBC108442A3067BE1BF384BF913730E79E8FBDCC561859F135CC851F073D72D4A327EE4B828A050F0B2A9626456935D408D0C2FB56E13D153FBFFC7450045DDE25726C13B4A88931B00DE7F1AFE26DFA257861BAB55A5E0D8122DDBCDC5E689EF02569D97B4356BD510CBACC042D2C322E16241C804B40CE87BC1BE0BA015EE0636A1A31D3A0361206D732BE9651B65A4A1150045DDEF970EC12B4A88FB1EB01DCC7BF8EBFF7D1F2D052A35E150173E127899CF4F760C4DE52A402E151470BC970580816A5A70AF2C3213715C9B705F61CDA521112879244715D22440ED71D126DA005E41CC8783EBD399FFD298BFDFD167927C0F1021CDF470B7C6246C0B82A9386AA38CDD5719A92260953470FD732AC5617C3EFB714ADD1F1658AA0CB3B0EC72C41FBDD6BB17F7DC9B1E3CE28EF7C38A251C6DC0F113DE59BE5D9F38EE89B0EF970416E10EC2CA25D3D64D39249BB428EA7E064190D0B223E38DD5D727620A859BC1B927DB804782252767C7AF32E2F7459F4E61CB2B64822D0B0020DBFA0377B22B9544CA0FA2E9A9BC7C4A73AA633BBA592992D55D4554431C4BAB5A1DB49E12B8E3DAD5A11747917C03147D041BE177FF3ADD27DE0AEF96E7928A951652160CC7C37D1D3FF334C1D7FCB96909D8BD41A68BE50802110AAB02E63683B08C87922E2CD3360B9641D485B3EAE0F9E1F485295E42C43E580A20745C7A33611A33259417FCEE140DAA1D7127F15045E903964E0ED83EFE37B3E7E10E0061EBEE71278E25F8FA4EED25A1B637C759C8698C6FC094DE1DCA2F84EF1427EEFB1258328822EEF0239A6085A249AB8CFFC3BEEDAFF05CF2A0F2135AA6C048CC917C83A1FAF3713B1EC2F78D9C030622ECD5C143C27485944B53DB6C78BBD3976A65C76A61D3674E5E8CA7BA41D8D8CE5E00BDD5844BB9E85E179E88120581F538811814F7D4594396DCDB4D7D71574643FBC19F822AAF62531FB5E611B84262D09DAC317A9EFAE8D2F483BF0B17D5FBE879527A9D9BC7FC54C3AC755A10782EAF5B0F6F71B07614C7E5211747987ED982268FBDE3FC37BE12610E53ED532E2081813CF217AFE4D6F3A418773768589BB21D942BCD0480501BB52369BBBD33CD365F14C9747BF15907675D29E81E30798BE4BA59F2111D844F048682E31CDC790D28329A58CEACA1A6674B631AE224E4484D6224A0E021128E307A1941112B420EA50BF766420ED11F81EAEEB84442DA3690FCFF37005613B2E932BE0B485139935BE16B320CF8848FA58226945D0E55D7EC70C418B7A11F61DEF0D6D746A795310D05B9711BBF47720EA528FC47270703CB4462929C8B8599072381198436767D6E5B60D0758D765B32FEDD2E3C5496B7149A49AEF92D0032A758F3AC365BC99A7427388E113D73C0C215CE8069617A1DFAC605C731B159118BA274AC70A32464A1BC2A9218857B2B4F89B27DE13441C482216E42C48DBF15C193D8BD79EE7E2FA01AEA7A189D7F92C13EB34CE5B3A9599CDF568F8324297D1F431B228822EEF401FF5041DA477491B9DBFF9370456FFDB5B4BC38862B42E43EB380D73F6D5A0BF81CA71C5E3EAA4F15EBA077FDF9304FB1EC7EFDFF2B6FBB7F5A6B9C42EBF0F22475ED16EC83921E977386F5A44AB9A9888D34DB27EC0833B06F9ED867EF63B06B66630E847707C0DDFB1A88AF8CCA88FD35913A53E1145CFF4E1A57AF173299C5C56BA2E021101FB1E8316F47911DAA6CEA2A65AB4190B35E6A0206548995946D0A15EED89509A90A0FDC09551B47C2DA2651129FB829885DC11FE1BFEF8F8AE8BE3DA684E8E981E70F6FC0ECE5B1436530865E863238E5604AD085A12B2FBE43FE33EF39DB74773D60D6939D31BE6622EFA24C6A4730B0E8791BE0803BC6D77E2BF7833EE8E3F803D0822F27B8BEB536B15E3895DFD2C5AB4BABCB3EF554785141D52B398F813C4A8E36B06BE1FB07130CBDD9B7B79648FC77EBF02CF088DC7819DA54273195F6932735C2553EBE218BE8D97CB92EEDA4F3E3D8863E5C9E52D5CD796137929CB67902A5A672DA4A1A989C0B6C3893FA95C08520E658CE26BB945051216842D74EC21822E21E4E218296F8888DA15DAB48B23E63F1C3171E971D2F446DE7FCA5C12868E9CE01CAACB3DD2E7C8081C92115C8522E8F2C03C7A2368CF92C927F6FDFF0F44E4FC562C661C2DD1282348D17E4A9F7016C6940BD11B8E7B8B92370A74B66F35CE837F45201BD10690EF0FEB8AC82E2F6FDEA225C711BBE6F91121681929173655389185D52D6B7B64ED803BB70FF0D8CE4176E60D5C2389661818BA89A1F94CACF0985897A4A53A4652F3D06C1BD7B2B133830C76EF259F4D63DB16996C56EAC4AEEF918D34D230653EE3C6B586BAB2EFA1090943C4CF7E48CC45722E9275F15F215F841383C311B378EDBAEE10897BAE3B1C5D7B1EB663E10A95C473195F1DE1B2A5535838B995A8A117DC1D85F4F1A398A3154197771D1E9D042D1E81B7FC264CDD1EDC5E1E1247384A448DA2A09031F783E8CD8B0A6B7B3BAFB0822C200867FB9DB8CF5F87DFBD8620B52B9CF07A9396F8B5FB6437F2235D849C204D7281262D725BFA73DCBFB597A7F6E5D81B6B0E73AC038D58E0D2561130B93E416B65942ACD1EF2310BF9C2C967C9A57AC9F60F30D0DF8D95CB60E7F3643359529E4EC6A862CAFC65348FEF905639690191138021297B624250FCBDF8BBD09905714BF942481D05D78688A40F913464042DA26741D04592F67D6C4744D10E81EBE0E472B4D5E87CF0BC1399DDD91A4E488682C7512D7728822EEF0A392A09DA3FF02CF69DD7C812986FF6A245ABD01AE76174ACC498FFD130821E858B683AE0EFBA4F4A21A2E98098F87A33969122683909878FA7C1133BFBB9FDC51E36E5A2E48C04B611C3F05CA2F84CAE3139AE394175C44017A41E88A70431D916E0B90EB9C13E327D7DE407FB1918ECC1CEE4B0F27906B2797AA964DCD4794C993E8398190953B8A52B4310B2F837F4498BDF872368A1390BDD3AD4995D394958785D42C245B22E12B4EB384304EED80EAE277E5C1CDBC2B0D35CBAFC382E5BB180642C8226273EC53EBC9D37F837E3EC185EA722E8F2F03D2A09DAFACDA5F8DBEE280F812319251EAB279D87B9F4F3E80DB3DFF214E737B4E9F620CE93DFC2DF7E17229B7244BA8B976C48FCFD1B651DE9D7B71C5CA85364FB0951C30D74B6F5E6F8C5865E9E1ED071A2893043D0F5A8323CDA6B624CA98FD310054338354A547749AE769E74CF7ED27DBDE4D2830C0EF460A72DAC7C96DDB98044DB2CE62C3A9E8A8A4A49CCC2972CA366797318D6990F92388250AE2812F6101117648DD2285A4E18BAA1E54E46D18508DB16B28BE7E2899E968E8D9549735C5B1D9FB8FC4C263454A369E2E629321D1541BFBEF3E8E81B7DD411B4A8B466DF76E588134FE9A1D79B9760CCBC0AADA205AD6E067AE3DC317566B8EB7E88BBFA1B6107F211963B62EF79E2F5E321095952A2A4249164B2664F3F4FEF49B1C38EB0336F92F185633920E6DBCC1F5F43B5E15117D3881B05122BA64F0F293B3EF9CC207D7B77911DE8259B4E3338D0473E9D23E3B8C4A79F48E794695455540D4D060AC786FCEF9049C1E1DF45C4EC1C44CEAF48D04E48C87282D00DA3E7A22E6DD9B69C2CF43D1BC7B1C85BC2F2E771ED25A772CEE25918BA70AA88041645D063EAC27A1336F6A822E820B513EBB7EF20E85AFB264035BCCAF8D56BD0AA278E8D88F93048E47F309920BDE74DC12876E9EDE89DA7BFBE754B3B9B706978B24646D685AFDFF322FBFC24D9682522B74F44B871CD62725D8C79E31232EB2F8CB443395A96D728D4D090E288EB4A79A36BD776B283BD58990C03FD29329914079C08275F752DF18889CCF716E9DEC5B24842572E44C862278A041C46D182A08563637842B07432B0F85A4C1C7A43045DF041BB6E18450B0DDAB2A4FE2C2418DBB1C9BB0E5A3ECDFBCE5ACA9F9C750211532790553B8EDE45491CE51DDBA387A07D07E7EE8FE26EFCE99BE656D02295444EFBB7B06BC8185DDC47BF8CF3C437DEB4AD8F5DF44BF449E7BDAEF58799819E4CD6C8A273DF867DDCB2C3213013385A4C929A48919ED118A7B3364195970BED76D2922688BA506DAEF0AD527E701D327DDD74EFDC4636DD4F2E9B61A027C5817496C15813175E750DBEE30C45CF82A48B245CF4380F5BE9428D59BC1F46D0E1EF87BA358674E6E2C4E050041D927351E6102E8EC0B1E5F7DBAE70A638C434978F5F761A172F9D8121DC1C52E278854C9DD785EEE81CAC08BABCE3727410B4886CD65D8FFBE8970872DDE5EDF9EB19A519E8F5332439EBE34F1A7B4D51858CE1E5711EFC2C42DE1879BBDD70E9CED885BF40177EEFD27A70C5A240AF8079B1DEB2706EDFFDC25EEED8D045AABE1D373024D655584C6F8CD35E1D23E2B918854A756175A3E145FCE6E9A07B019E6D91EAE9A27BD736B2A901B2B90CFDBD29B6A55C262E5AC9FCB9B343392308B30385AD4ED4D8184A4639C8EB3C4CC842372E7A9E8B12C610593BCE505AB7533A29E83838452747E0625B7902DB9263C5053868392493493E7BCD799C3FBD49EC32BA22E8D773851EB5638F0A829605901EFF1A81D537F2074A74BA3EF59B98733F3846276D02DCA7BE8DFBC43F859994872EA27F60690714DD402BCD70946C2192404AD29045DB2B59AE332448BD6A025AB245BED666BF07BDE37499622252988533A248D6438FEC850247A2BEB2AC4317183CB3B397DFACEF62AFD98863C6F00257AE43A466CF6E4AD092142E8D32EC81528AF064324AAAFB00DDBBB64B592397C9B2617F9696E356B060F102022B47E08B6CC1128F7321392524DC421D8D82BFB9384E44C132922EF89CC3ECC1A29D2ED49A053917DF77E524A1156ACE52F670C8590E9A97C77534F6EFCCB2DFAB22DFDA8EE70DF0FCD72E624A4DAC509D4F24AE1C5C1675E44FF0B7678D2A822E0FF7A380A0039C073E83FBEC7F94B7C7AF6754A40263F285984B3F875E3FF3F57C72F48C75F3B84FFF2BDE965F0F6F53AC6EE8B5B005EA95E387DF8BD74265C7F0FBD14AB48A5634235E1410A076329815720EAB58B728CC5216948CF40ECB1F517FA2F023A95546D282EB75C4DC5E54D788E8A1FDF8862776F374DAC48D26080283C07749EA1E136AA2B45747881D142D9746CEA54A6DB10F958F9DCF91EADA4FF7EEED64B329B2D93CBBEC2A169E722E15C9B8D4808BA45B9A2D38246B14ABD215A48CE29821CD596607869380421F179F731C7B6832B0286738628C63E18BF7A4CCE160E75D02CBA6F7A51EF6AEDF47CEAC21367F01D9C66AFEF2CC4EFEF2AC9924A2A0FB1ABA2C6E7DF42D8AA0CB3BA6639EA0835C9724684F68CF23B908729E7E854CD11EB3E42CF070F304B903F2DFE2A2D54D7B0DA45E9D14427A0CFF2F26E67C7C59252EEB06A41D9F7D595766FC651C9F8CE591737DDCC2849EA60798862EB3E66A22260D0903CBB1B977A7CD3EDB9451B24714337098506DD2561B23AEB98542FBC3B98507EF4089C12E0CCAB1F35952DDFBE9DDBD834C2E454A54D86F5DC09459C785E42CEF188592A142DA2868CCA5045DEA6F2E92B9888E4B53B8858D2E4C5A0909BA48E0C24A17A67887041D5AED7C3C274FC4F278E9B92DECDFB8172DA3E3E9519C8E0ECC8573A8AC36F8CA550BB962712771B123C2CC71144E172A822E8FACC6344107D90378EBAEC35DFBFDD03236528B192772D25731269F1FBA35D4328C80205AADD0F6296BD39B73E9B321E56A64DC80941DD093B125613B5E6892F0440D8D02A9CB24104DD46DD33074D1BF4F7424F118744D9C20228958C365526D84D64484B819BA3B6481FC728F83F86E2B47BAFB00BD7B7791CE66D9D59F63E2E255D4D7D687645CC80E0C35E7E1449450BE10863EF1B790788BA45B2A6DC8D4EE82C75992B41827A40DE1E010E9DCD2EB2CA40F1BCFB6B11D07CD7798D652CBC9D327B167D376BCACCFB34FEDE00F773D8F1B4DE2B58DC35FBA9089ED493E7CEA24DEB9A08371C9E106BC47536F4345D0E59DCC6397A0453AF7F6BB70EEF93382CCC85AC6F496E3895DF95079081E6DA3645FBE304216C9D6C51E7FA5D5E5065C8FD53B07D995121D4620E31B7242CF2F481C82600D024C4DC7D075F442417A41B122CF2F10937C22CAF57DF2521E10A590345C4D481B3ED59ACDA2B64A0C1F7491B42199B91825CB02D00583434995BBE1E70349AE5E3E4BBAA797BEFD7BE94B6779B1DB62E189A7529D88E3A1CB0A766252505AF264BAB6D88ED04A17DAECFC421AF7C13536A47D4E96112D789CA5AE2C3CCD3E8E889285B75910B72DD629A2680BCF72F13219668EAFE53DE7AF64765B3DA669629A70FD0FEEE6CB7FFD1320229BD006679F46B6BD9D96448EBF3B6F16EF3E7E62D815B168F72E3CB78CF5D34E1174794770CC12B494361EF922DEFA1F85CD3E4768D192CDB2E8BC746B1C934BB14DAAC0542F31196BB283F54B83393675A559DF07592D2A2701A503423C8D8B76513AD4C4848461C81FD1E5DA1C9A272C8823225B0F64946DB9E2C7A7CFF2C8D86194D95E5B495B8588B143CD5A9775374A3BC28A770A5AC641253A430D5C4817BE20E8BE3EFABBF6B3BB37C39E7C8C79F317509988CA9B81E88452ACAFE1FBC58247226F6798984B4B850EC91A8290658D8D83AD73E27D1125FB2285DBF5B12C4F5650F4FC1CBAE5B368C2781A2339CE5E71022DCD09224682542AC3BF7CF397FCE8BA87087413D3D7E8EB68A1F2E453B0123E57CDA9E2BB572F2FECAB48E229765E19FBBAB422E8F2C865CC12B4DFF52CD62D6785A535476A31A244CFBD514A1B8736151DA9AF18BDEB292ACBC566AB855ED9F2CF3A5D399B67F7A7D8D827122B4CD2A688443574DF23AA7924220615D11815A6415264F50D3546152E8D029916495570A3E45CAD10750B7FB14ED676A503A2B62A4E2408CBA58AD653A2C6864CF12E74DC96938845538988CE75D188B564C63270F16D8B7C7F2FFDDD5DBCB0378D956C64D6B4A952FB16DB5DACB921562DEA39CB4E2805B943481A6219AEE35C8CB043194390BB4C462990743199C595B246585AD4B184734344E52EDD2F6CE5FCC57338616127B95496D3CF9A876926D8B1753F5FFADC8D3CF2E84B843DBF0306741B6DFE71C416CF63D9D41AAEFF9345D4C6C4934C98C473B4E8D18AA0CB63823149D0819DC2FAD10282CCEEF2F6B28C51A22468F4829FA1D54E2963F4D1386428264597C5E803990CD263793CBB67807503016922328A132363814D753442752C414C4E64899E7E61A0EB16026FBDE08A93997E251284142C869414591B0E3F083DC4B82EBAEF080B88ACC521A5132326234C0C83401335A1CD90D865C966596EAEB0F6403658D1752F8CDAAD0C07F6EE63F5F61E264E9D496763B57487084D1C5F4CF6850F5FC311F470F2496979D183B205EDD04A5724E7A25B43DAEB44753A173C51903F9726D3956560FB368C9E1C99BE34FFF0CD0FD37D600FEF7A9748E4091D1A8F3CBC817FFCEA4FD9F8C25E342D82E7EB58BA8F3F7D0A0D272EE2FCA575FCD5B9F3185F119337BDA3A53E8722E8F238646C12B4D54FFEBF43DFED482DD133FE0B63D67B0FF6048FD4CAC7D47AC20ED50E3A2F0D5A3C2BEA616475F2BA298BC9EB1E183A3455992422427E084B82CAC7EF21A9342C052A5D120769A701811ECA2132AA16516BB16EB2F005CB4ED8521426E71BE8461C5DD8EECC381866988E2D3E26B2088BB2967487143569999018B6B8127BE0FBF41CE865DDCEBD4C9E3C85A6AA78E8B8D07402D1D43510242F9253C2087A285BB0B04DC58494616B5D18410F47D607CB1C395754A60BF7899C4D76C77E1A4C93DE3D7DF4F7F5F1F75FFD30BB766EE4F2779E8B666852833ED095E56B7FF7536EFBCD13327BD04378A05DAC649CE8B2C54C387E027F73E12CCE9AD1425411F498BA92466263C72641A7F720EA498CD862C6899EF793B0E3C9B1BA14345E99D517681CC839FC7E730F075C13DF48485434DF23AE05542522544544342DDC0EF29D30242E4E2DFAA1FE20125104414B322E261BCA529D61EB28D9F95A140EF25C701DA947677D0D2B8044552391681CCD8884845A1281CBE8B650BD2E944FC2C85DC6E28198001465472D8240978D65D2C2DA6646658358D9AE4A4A1CA2EBB6B81784DB22BAA2941274A9DC21FCCBC59E83A254E870C5BA509209A3690FD7B1713C1BCD72493DBF9B591DEDC47483679F59CBA92B8EE3A413A793C90EB2EACC2572F2547CFF9A67B6F1CDAFDFC2534FEC243084D061E2EB2EA2E7BC376306D5A72EE45DC78FE32F56CD05F8E9980000200049444154A035190DA59CB12F41A322E8F28866EC11B4C8127BFC1F711FFF4A797BF81AA3B4783DFAC4B3892CFD3C5ADDF41159E7985C492112CD3A3E7B07F36CCBF8ACED71F08CA8E45E91541237022A2286AC2057CC1B09FB9E849379B2EBF590F61CF276283F87EE084D4CAEC91467D1FE29D470450A74266FA1099B991E27EF413499A4B2AAA630F77B88BDAE90F957ECB83224CC14826841B8A1C02D32FEC4A45F78F310FD0085BC216F0E224897DEE502F10E15DD0F2D7787764329FDDD91FEE642012441CCD25A27925544F289456D328696CEB26BF5666A9249E90469AC4F72E925A7626879DA3B5A19DF568BEB6ADC73CFB3FCFC670FB2E6995D64D3BED4D50D7103110A8C48F4696B2376C6494C6C31F9F8E993B970763B8948A1EBCA18676945D0E5B1C49823E860701BF91F2D94B5258E78D13459CF3972F237D06AA71EF1EAC6E60A42660B894E63F5CE3E9EE9CACBC2F89A1E911367E2C1BB361125618849AA70E2AEAC4508C2821045042AAAB78908339F95C48CE7627BB03FEB9173A0B1AD938A9AFAC2649F30C2BDBCC3753159446E6D8971A758CB43BE2FC3E2F0CDC3950D3D2821454A1B0737782D7A9D8B29DC323A2E494E2926A014A366DB11892A3681936362758CE5D3A6A00FA6184CE564D1A38898344D98B4B737D1DED68C6906446326B93C7CEF7BB773E30D0F92C91452DE8550248F45B8EF7E5515C6F22598131A58DC11E5DFAE58425B9DA8892DACE4633B8C56045DD615246BB5648523680417AD57642B8CD0128BE82463C3F508DC67FF13E7814F8FC8DA450F3D73D917308FFB008849A86364199E6A2AB82B0AD1A7E5C3CF9FD94F774444B326119953E25111D1A88A849639C97D8714292AB1E90E491B61990DD1C5DAC6CDE724397B82E8EC9C7CB477759DAEAC478F15A1B9B595EA9A5AA9718B6E2261958F83097A989CC346AE434B21422F9276D875FBF0CD5E8B641C16E50F5B5589649430221E766A94164112BE67910558B4DC494943C8197E2133D0168E911CA66F71F1E2494C6B692016C0E0604E626598060DF595D4D6C6D1759D4824413C5E496068AC5EBD99AFFCED4F79716377F81C229374C2671291DAE3440CFC59D3491E3F8F9A44C0CF3FBC94E9CD95614B2F45D0C7C4D53AA6085AF4D3B36E3D8FA0EFC5233E385AAC0663C19F61CEFFD8A86D5375C43BF90A2B18266831ED1652C2BE812CCFEDE9678B5D8DA78B093F5F3A2112D2D32CD22884AE1B6AC16191A38397E1782E407444153286487116197D5E3E272500291F68263BBB53EC1DB4E998328DFABA3AE2B1F8505D8FA2C9EFD06A78A551B2F8E6E2EF52832E1072694D8DD22248A58E8C62042D09B91041BFAC2A5D21F124CC142C46D0218187198285FD131DBAD3194C2B4F1D0133C7D572C292195455E8C4A249A2B118A6283AA2F998119DAE9E1CB7FCE27EB66EEDA6BEBE86CD5BBAD8B6653FAE250A2709D8C4646B44EE8F30037A41805D5B4DCD49228A6EE53FAE9ECF19936B0BE246F118BC3C921E0BE4AD22E8F2AEEE3145D0EEFA1B71EEFBF383EA4A94B79B2F1FA5D5CF2076E9EFD02ADBDEE82AC6ECE742822E265F6BA42D8F3F6ED9C7D69C8615AB938FD9A2FD5345CC2026324F8417B9CCB929E1D7F5F2966C3725C9D9B664F42C4A9C0AC259BFCF626B5796798B16D0D9DE84212ACA8571B7DC2A59FD4EBA42866F0282188BCB417246B1F3F7219DB75FAD0892889C65328ACC16149383C3D1F310514B1B5DF8775943A35846D4F711DD508487DAF65C74C72261E789BB79E6774C62EFAEAD9C71F2121AABE338A64977574E584E68195F41736B1D4F3CB19D4F7FFA7BA4D28284435D7EF98953B9E4A21359BB660BB7DEFA0039CB0C495A3CBDF82E9609C90573A858BA808F9DD5C9B527761211369AF02E75F0E469E15146A6B31464ABD14AD68AA0CBA38F3145D0F61D57E36DFAC588B4B3D29BE6117BF7EAF2503A2A4785F634E16858B76B802777A7C957544A8FB1889E45C45C1B8FBD42058C62E28900264C139471B8AC71E162A70764B94F41CE72324E94E8F46D2C3DCA6F9EDDC3CA534FA6655C3D81E34B57B5F8FF2B2D879336A414209256640DE7E18EDB8746D087D6D810A42B2606C537CAB2A1E277D925254CDB2E56A62BED1F28AC7FC29D1188F7456ABA206B57E8E73ECD519DD3674C20EE7BF41CE867DAD4F154C4C57A3D1E7D7A3FFFF3BDDFC8CE2A9FFC8BCB58B56A11BFBFF349BEFDED5F93F54C343F82E66579EFBB8EE7739FB99275EB77F2B9CFFF2FDB76E540BCEF69F86E8A5CE0109D3A9571AB4E65C5C25AFEF2C27934579A4481D05B134A49D20EAE891F0DA320FBC80AB1D24613DEEE0AC9FBA3E26C56045DDE611833041D0CEEC0FAD58523226FC82481D665C4AEB8BF3C948ED25182D0BAD2791ED9D2CB012F8A174F8471ACE8986DE854C5A2AF52A26838C295AAA92067619B732CD96A4AE8CDD239E1D9B88E4B2A30D9D29367E2ACB98C1F57876B87198622320F55D7972FA5E45C94354AF56741CEF2F7C2A460D1B75C2A6FBCAC4A5DC15227C958A6758791F210418B424BC2FA57F8BBCC0A141AB46C572592516C3C51CFD9B1995C5341936FF0F8236BC8D80133A78CE3E20B961389EA7CFE0BB7B271F36E342360C1DC164E5CDC29E645B9F781E7D979004CDD2011B178F7554B79EFBB4F2195F2F9D6B77EC1A3AB77E3D92EB1288C1F5F41B2A282A7B67553BFE2541293C6D1520BB515D05C9564666B3D6D0D5574D625A88FE8529212924A65DC90FF1613C38B754CC4113BDCE4EBDB717A2B822E0FF53143D061D1F96F1CBEE87C79FB3A3C4AF89E57FE1BC69C6B5EEF27C7F4F862E4296B55482B9AC6B3BBFB796C9F875E511146589E4D4483642C8A71D8C48850B32EC664923885DE6C0BBD398B9BCBE0E6B272124D44CF8EA7B1A13BC70B072C8E5F348F299DE3110FF122CA139B5070C1BD0CD7C3C91AA5242DFB1116A48D22098BF75F4EC8C54A75C35EE7522943F89BE5EF25353686BBA18814F490A045FF40E1950E2C9FD481019A8D80E3A775F2C4939BC858018F3CBA86CB2F5949A66F0F7FF197D7F0B14F7C8F0D9BBAD0CD084BE78DE7C37F72226D2D06916805DFBFEE3E3A3ADA9935BD93CEF62AAA2A7574DD249509B8E79E27E9EDEBE18A2B2F62F2E426366DDECB97BE72231B064C2A16CD837852B6D615C9E862A2559471B5BD3C7AE0501D37185F6370F58A49CC6F6F607C659CEA9849B450C44AC847A58E72F9FCF3364D362A822E8F4AC60C418BAA75EE0B37806797B767AF324AABEA2476E583B22BF7B1B98436B5BC1BF0D4BE1CEBFA020253D49F0B307D979829B46761A913DAEFCBA3DBE149C6F0F1DAB32C1C41CC96F81996360449BFD4EFF2E4DE2C53A64D67C9AC293241239C637C659B5829391749B9F45F91065EAA3317A50D31A6D8F0B57432301C2B087A385296A45C283B2A12518A2543A537BB245B50C81F610DE8D0BD91EBCAF3E2531B684BC225672F65CDBAED38BEC9D66D07386E7A070D35011FFDD8152C3FEDB3387E42660C365519BCEFAAE59C7C621B11C3438FD5108B4464612943F3D145828A261C1E11A2F14AE992314D8D6CDEE697BF7E9A7FFBF7DB493911F4A67A3022B2E1811635312A931889387A55257E65054E24826DFA541B1653C655B268623D67CE6EE5F8CE3A92C23F5DB0F14979E835DA90BDD9D78522E8F2101E33046DDF7639DE96DF96B757AF31CA987D0DD133BF3722EB1AB32B09020EA42D1EDD99A1CB8FE1EB614C1C0D7CD9ED5AD46A2E54B57FD92E16095A5AC37C17279BC14EA7F0EC9C94396C613D135A74E0B3F6804B2A5EC7890B6753138D86135B929B43DDF9658EBD42C1A262647790A451485211045D1A4D17ED73C508BAF87B314B3024F0E1087AA87E46C1032DE50B37246F31AE94A045228D903564228AABF1FCC3EBE9DEDACDE23993B8E8ECE3D0FC1C1B37EDC5334C2A2301975EBC9C5CCEE6437FFE63FAD38EB4D9E164B8F0AC595CFDAEE554C504C746314C9388114117F545D089464D62A2B398A1631886ACD3B16B6F3FFFF8AD5F71F71FD66106313C212A17F465D1D6C0D17DCC680C3D99C4A8AAC4A84A12D4D762B677E0450D0C3360767B928B17B470D2C446A6B55493940D69DF7E0FB522E8F298E3D823683D22B567BD797179081D45A364E05A48BB1607FEE91D3DACEB75D12AAAF17571F107C4651B2AE1B31DF6481F0A812C312AB3F4449FBD3C766A1027932AF8853D1C3B2F33025FECB6C946AA5930FF38EAAA2A0BC5F88B6B3B4C645E24E0121BDDC1B24668AF9313838531A5DEE6A2065D8CA4C3BE826171FE506B0EAD7EA13BA390A4228A3249096398A045D76D51DF597640112E0E3B4B65D4A47B571FABEFDB4A6005B434C4387BE5143A9A1368668CDEC114B9748E8A8A2A5E7CF180D4944D532797B769AC8B73F2099D1C376B3C095323E3983CFDF47A6CCBA3B373A26C58904A0D62E811AAAA222C5F3E9FCAA4CE60DAE2B1D59BB9EBCEA7E93990A6B232414F6F8A679EDAC8A489AD2C5C3C8DFBEF7F8E7DFBFA993C651CA7AC9A8FA399DC72CF0BE8C90A2C714C1BAA699F3591899D2D34D646397F7A152B66B7D19810425368510CDB29840A7538A1F8E653B822E8F288E5982368BD712EB1773F3EF63A7397773C5F635468ED12015457C6E5EEE776D16F561215FA73A11E7ED21417AE68562A29F07039290482C0A53BC3C1CDA5B15329F9AFA843E1F83ABE9D664B46E3B16D3916CD9DC9F2E3A6C9758A08503BB8B4DDD0F61E6E42B0F8A620D9904386C9B9288314258DA2CC51FA7B585F232C235A4ACAA58E0D59856EA8C9AB983874B16D0BD713FA738067E54906164B674EA4677737B7FE622DA9816E2EBB7019EFBC7839BD5DBD3CB7712777DEF3047D030EFBBA2DE29128FFF0E9F3A9A9D0C8BB3E158908F535E2A9C424168BF19F3FB853661876B435B164D15CE2C988F464F7F4E4B9F9E63B983C793CD75E7B05D555BA749A7477E7C8641CAAAA4DBA7B72BCEFEA2F326BFA243EF8E1F3F8F94F1EE2A9273672C1852772C699F348A72CAE79FFBF138D26A9AA8A921CDFC89E4812AD7D025A730BE36A3C4E9BD9C0BB4F9ACCE28E46E9D609B3436505ABC275F1CAAE9A11390D41D5E22813C8B141D0A68B7DFBBBF0B6FDAECCDD7AE561E6E24F1159F1B5235ECFD85B41C16825224A74B67465B877DD3EB4867168221345689281465C3C92CB72FA32982A743339786FC5C49E2E745A3131984961675292C8022F8FED050C3A3A77BDD88F9BACE792954B6916A5320541CB28FDB51D1B61465DB8C83C944281A56281FDC3D9E90ED59C65642DB304C32EDC45821EAADD2CAD7FA2F0FE702FC1A20DCFB6457D0D11417B44BD3C0BDBEA583167221586CEB6032EE9812E96CE9D44476B1DBE11E5869F3FCA3F7FF7F70CA41D3CD3208ACEF7BFFA4EEA2B5D3CD15D46B82B44701A89E193E4735FFC1F2E7FC7E92C5934858A8A2855D555242A4C296D7CF39B37F3F4535BB9F2DD6773F1C50B8919A20094417757370D753544E3557CE04FFF9AC6DA06AE7AD7E974ED4BD1D337404B6B0D9515115C4BE3FFFDC5FFA09926E79CB78464BC821FFFE271F658106BEF20B26C31B6E130B71E3E79C66C2E3B7E52A1BAA008A0C5F4A3005DD68F7D531715419707EF9820E8447E07F65D1FC2DFF348797BF52AA3A2EFBC1BA36DC511AF67ACAD406AB9D2D226A2508DD59B0EF0D4AE0CC9D6567CD15B4A14330A3462824D8AA923C345EA0EDA5DC9B1560E5768CF9934563E856BBB18760ED77378B227C6635B539C7FE652164C6D2370C42D4168CFA113F7D0E5708E0D912C534CC428D598C5670FF53797CA1CD2DF5C48020927050FAEB75194368A3EE8A1641459BC49A470FB389683232622DD3CD31A139C377F0AAD0993B809664D35C9A8B8E178442231D24EC037BFF32B6EFCD573785E8440D4A2D63596CEA8E6FCB317336D5223B1427DEA4832C97D8FADA7B5B193B6E6188978841736ECE5D9E7B6327FFE4CCE387D0935B5716EBFE3596EF8D14FF8D2973EC07173DAA5D4B267F71E9CBCCB9E7DBDF4F5F5D13EBE9588E9239AF08A42FEA29B8BB0F10985B9FB80472E97A7ADAD8AC71E7B81EBAF7B845456C3094CFC855349CC9D493652C1C2D608FFF927F399D35415362B9085AE7499A8A4087A745CE16382A063FBEF97F53782DE0D47849A5E3F5BBA3788561ED17A46FB87C389B5D0A72C0D71B28646802BFB004257CEE18117F69237AA885726866A4008028DCA1653C58E27AF10F0FA0176AA17279DC6CD67F0F27949108E98300CA27CE7D16EDE73F14AE6743622BE54FA718B0D4F4AC03B5C128A0CE0048DCBFC1321C90CFF1489FCD02248A5B24691A0852C52EC7A52D49DA5CE5CA8FB2C9D1905DDB9B4F8BEEBBBB8791BDFCDD15615E19CB993993EAE964854F4103449C46398A22E891123123788C76264F23E37DEF2000F3DB199CEB6361E79683DCFBFD44760E75836A7853F7DD7623ADBEAC86434FEFDFBB7F3E71F3C035D8B70E73DEBB8F1D6A7B182288E35C0F4CE6AEEBDFD6FE94F7BFCD5A7FF83258BA671ED47CE95B54BBABB7A181C48234A57899E878303199E58BD81A79EDCC6C4894D9C71E602B66DDFCBAE97063969C53462B1F02964CBA6FDFCE29627E8ED4F3363662BEBD674F1D29E41EC4651EA602EB4B7B0A833C95F5E3497D327354AFFBB903ADE6C155A45D0E5B1C8D820E81DBFC479E40B048347D6B95BB4B28A9E7B0398C9F2D019D5A38AE9CF61265FA807842F7D21D816EA1E3B3EF4E75DD97D7BC0F2C9381EBDB68F25EB6A0839A3F8F9508B14057D0E2A1577E8A3AE206FCFC5EADB2FE50DCFB2B12D0B57A47613B0291D636BB682CBCF399EB858A31F66FD1D6E795582F6C4A3FDC1045D9A8052943986A3E7302BB0E8C41822E5621124A9290FD77216759D0357746D11138661328D90385CDFC3CD0E521F373963CE44668F1F8768B12584A1A86952D790A0321923669844449317DD9451772A67914E79C41311FEF0D07A3EFEF99F4A1FF909F3C7F3BECB17D3D1524126A7F19DFFBE8D0F7DF07412D12477DDBB9E1B6F7D8AAC6DE0BA29E64CA9E70FBFFE222FED1CE0BAEBEFE08C558B983EAD01C7F1C80929C989B06B6F9EBBFFF0088DF515444D839FDF7C3FA79FB9844B2E3D953FDCF5383FFCDFDB39E7DCC55C74C90A2A2B62128FBEDE2C8EE7D1D454CB7F7DE71E1E7A68037A3C8AD5D244F4C4A5588918735A63FCDFFB9731635C95EC4A1318A1E4351C498F6C58AD08BA3C721913041D7DF187B87FFC7B82EC81F2F6EA154689C2489193BF0E46EC88D6337A3E5CC8E62B5E3B525F0E3B64F7E63DFAAC9098BBB32E693BC00944BB284D7A730BE59B0F22681971BF56E28248DC736D72DD7B70B2697CCB91936A2222CDF83A776D4D71FA69AB98DA5E876F0B4DF3B5C939149A87E56E593B5AB6A23ABCDFB954831EB2D405616D8DB09091F85CD1AD51A85257ACE15C88A25D3B4CA41111B3746A48EFB3D0AA1D92DE202B66CF60FAB866366EDACD93EB7630904EC9AC9AB9D33B58B67812F36775D0545B81EF59E4450125272097CD61D93932B918E7BEF79F9938BE91954B27B262C9046AAB23B87A941B6FBE8F534F5EC2F8E64A76EF1DE0C7B73CC9F3CF1FA0AE46E73D57ADE0931F3B87DBEE788ADFDFF118975F7E0A2D8D49C19632FD7ECDDA3DFCDF0FEF62DDBACDBCF39D2BB8F28A93D9B9B397EAEA18F58D49F6EEEBE3A1079E67F2C47666CE9EC4E64DDBA9AC8CD1D9592FC1CD657D3EF5E91F31D02BFA48826546C877B661CE9E85555BC5972F9DCCFB4E984CBDB8F3489D235C868FE0C809D38AA0CB6391B141D0CFFE23CE93DF023757DE5EBDC2A8C819FF8D29DB5A1D2DA5458B151634D2B6477FDE21E3F8E4029D03695746CBB2B934A2C9AA8802C30AFAA2A4671825178B5B0E5F8C52147995EB505AD6AC3C9903BB64D6A02726D46C9B8CA3F15CB7CD93FBB2FCF507AE20A20B7B5B28B11CBA1C94882227270F2E21FA4A9981F221A130E137AC4317124E4469D342224A91B40FB6D37961995069AF2B383764D53A91BE1D7A9DC58D47773D8E1FDF447F6F0EC7D648A732385E9EF1CDB574F76519D790E0B9B55B696A1CC79927CFE2DC5366E13A1676DE2697CF33386873EF231BD8D735C8CCC94DB4B7D6938C0AAD188C68820D9B77F3C4532F71FCE269B20C695F7F9EFDFBFA98D0398E19B326B0F1C52DDC76FB6AC635D672C53B575095D0A5FD2E5911E3C9275FE4A187D7CA4495450BA632635A13BA1E953715F17420BEC471024CC3249DB1F9ED6F1E116D1C39FBDCC524A251D2A93C7FF7F7B7E0BA1102DBA3A73743CE30099A9AF0DAC7D3B16432E72C69E7ACA9F59C34B355F69A0C6D78B200F5880AD38AA0CBA3B2D14FD0864BE48F9FC37DEEC8134B84FEACB71C3FA2275A79308FFCA89052C30833E3066CECB6D89D71C97922D013979470B7CA82CE0521599AE786FB01BEC14D1276302F9B26B57F275E2E2B1BA48AA2F5FB3206B7BD3848754B339FB8E81459D02A54410F26E843ED74A17BE4E57A73E9B8C3799D87248E12A786187750379482DF59DE5464324AD8C1457CB658783F7003F29ED8870C86956566CB380677E7F8D91D4F307B4A3B1FB86225F1B8869DB7C8E71D49763FF8C1EDAC7E6E278D4D4D7CFAFDABE86C34A56DCCCAE71948EB7CE9DB3FE7E295C75355A5CBF65DF555111A6AA2B2FE46241AE1073FFB2303FD196A2A13AC5CB984BA9A38AE67D3DD6D71EFFD8FC908F8AA2B4F236E0A6923C340CA4133A2C4A26282D70E1D3162424188D3F2F00A374A207F04A3CA7ADBBECE9EDDA271408ACE090DB2029E382BD6AEDD851718A407036EFBF5A3BCB4B34F4A3879132267ACC26B6E605A93C797DFB180B3A70B794778DE45275E71AB5511F41BBC6CDEF0C7463F417BBD987FFC1CDE869FBCE19D2C7E50F89FF5A6F947BC9EB77D0562C61D106D11BA320EBBFAF3ECCB055832522E542FF30359DE532ACBB2EEC6F0B4E1CBB7BF34821E7EB760851EFA83ECF957D06807F7BE842F9C1C8E8DE5FAACEB0AF8C3F634A79FB294F38E9B24279A0AA6ADE1CF9724A214A3E1E277149D1743C45C42DA877A9D0FD69F8733040F47D0A57537647BAA42828A2C7A24BBA104D86E1E2FD7CFC49A4ACE3D7E111FFF9BFFA3BABA8153164CA0637C0BBFBEF75976F6F449FFC9E5672FE4BD979E483693E5A777ACA5B936C15567CF0527473A9B12FDCEF9E12F9FE48107D613AD88E004010BA6B773C959C7D1586D08C3057937CE9AE7B7B16EC30E4090BB88BCFB686A68E1B24B4F66DAC47A6286905C3406D236BFBEED61FEF8C4063EFD89CB18D7501936CC95A4A94B0B5E36EBC8CCCF6884B03142A1AFA460EFAEDE14CFAFDD4C67BB68B555174A165A848D2F7471C30FEF65DBF61E594D509C0156472B15272E215B19E1EC6915DCF8C193C2F415697B0CCFAB915A54045D1E92A39FA0AD7D988F7F166FD32FCBDBA3571935B6093AAC9F519C5FB77D9F8D3D595E1A74487B4658A54CD7A4C62C62D762E727D9B95A62F2C666E64B2F49499E9E879DED27B56787943A44169ED0B71FDA65B379C0E79A4BCE607A43A5D4B24B09FA952604C34D1B2E7C344CD007BB3786258D42C3D9429660A9AC213E5B1A41CB946ED13CA0904558DA915BE8E69E982414371C2B4D53D4E7ACB9D398D2D2C6D91FFD365FF8C47B3975F1447EFCABA7F8DF5B1E473345395593A8DFCBDF7CE2024E3E7E269FFED2F7A96968E6AF3EB08AE66A91F99792938DDBF7E4B9E5F6B53CBD790FFBFA2C1AE206579C398BF3CF9C4522A6614685B32646366FB0BF6B90FE8134C97884F1AD0D744EA844D610742D1C342C2BCA962D7BD8B5B78F850B3AA888990579CAA367D0E7DEFB9E938D676B6AE29CB6721EF3E77662BBE942D6A6C6FD0FBCC075D7DDC505179ECCD967CF97D98B77DEF1240F3EB89E7DFB2C904D02C4790379313F31A593CA139630AEA5921B3FB89069F549793E89E256C508FA35E729CAB8521541970192B8698EFA9657D65ECC3F7E166FF3ADE5EDD15148D03272150E559150A7C1F6812C9B7AB2A47D51DB423831741CDD43383644728520E54016030E67E18B9DAF87A0293B102A991E2AB499129D52ACC13E52BBB7E13A79A93FEFCBC05DDBF3548D6BE5FD179D4432081FA7C36D18962F8AAF4B0F914C4A2929B87FA853A35473169F2BBA338AC5F60FD59D8B042DC95A44CC857E82B2334AE1C70B7CACBC2027F1378B79CDD59C3EBD9DBAAA18BD76824BFFDF75BCFBF4395C71DE095CFFBB35FCF2FE0D61179920C0C9F6B3727633FFFAB50FF1FB479EE1C7373FC8673E743673DAAB480FA6B1DC3C96E5921DB0B9E9EE17B9FB8F3B69694EF2912B4F64E98C4634C3A53AD904A6B80159619AB51960EA3A51334AA2BA194D384ADC0C795BE7F7F73EC9AF7EF7282B4F5DCA79A7CE2126928A74979D7BD2FCC5E76E606FB72D356A31A7675B69CE397D0E9FF9D42A7C574C2C06F4F4A67966CD36D94477F1E2690441826F7DFDA7AC7EE245B448122396C0F0C2BA2B82846D4D67A03641ED8AA5CC98DDC45F5F308F55339B10A5B3C2E8BBEC93E755AF5745D0E5D19922E8F2707A5B47C94C3A4D931EE66D5D2936F7E5C8184939D96914E48B8C8804458DE382EE5B24C7305DFBF012C66BEFD4B0052FECF9272268177BA09781DD5B65D71441803B07E1AE1D361D53A7F2DEB317127545BA83D046C3AA69A12F3B5C4A5FCBDFFD973B36C4DF0FAD4A375C00A93019284A7F160A2B15B3030F9A142CE8D1B20FA2C44614DE0F35E83019C5C2772D702DCE9BD9CEB249CDD2EB6C6BB59CFBE7FFC1BF7CE9232C9D5DC7F76EFE23FFF5F3A7C08C482D56CFF4F1D90F9FCE490BA7F1D9AFFE90CAEA717CEA9A93E968D4490F0E62D9196C4F279D8971C3AF9FE681A776B2EAA4697CE01DF369A88960C422FCE496C7E9983891D933DA185F671217968A888EEB193CF8C85A2AE31AA7AD5C246A0BB2FAB95DFCFD577E4867CB383EFF990B68AAAD92730FDB77F573CDC7FE879C1B0B537F021D3B6BB3604E2DDFFDF6D532B925D06C742D86615648FDDCCE67652A7B4F7796679FDDC2BD0F6CE0F98D3D44021D5364558A3040B83D0870A6745073C672CE9A5DC35F9D771C53EB92AFD256E1B5CFA4434728822E0F3345D0E5E1F4B68E129AA3E5796CECCDB3ADCFC6D1A204BA29BDB9A2B09BD05145C3D7B001529831286D03AFB01CA6A5E06BEE5F512316F537EC811E06766DC5B1454B2B871DA980BB77794C9D3993F79C311FD31D8EB25E89A04B13504A23E822391F9A8C529A3D2826D44A53BB8B045DD4A08B5E6841C8C5085A24A8086B9D48F2081353B244038789D5559C3AA38DCE862411334AACB292D33FF67F242B2A3973C9049A1B6AF8ED7D6BB089CA4CBE93E67770D1394B18CC64B9F1670F31ADA396779E3E07138B6C368365D9ACDDD2CF8EFD197918F6F5E6A9ACAC64D9DC76AA2A626CDDD5C70D37DF4375A28271E3925C76F65C56F6ECE2F600002000494441542E9F4ECA8AF0A31FDF475B5B0D0BE74D66F2C466621193ADBB7BF8F92DF7D3D6D8C439E7CC26198FA3FB1E7BBAFAF99BAFFF86ED3BB3E4F3AED4A0135138E7F4195CFBBE95B8B29598C58E97FAB8E79E3554D72458B572A14873A1BB2F232596471F7D89EBAFBF8F88AEA3FB01AE485011A78F68ED555745E28255D4D447F8D35327F3BEA513A98F475EF33C29778022E8F29052045D1E4E6FF1A8E1A40041CE83AECF969E0C3BD326AE8C633C9C00B26E801BB6D90E7BF9BD89CB90D3C2B5C90F76D3B7630B8E9D95A4B72BE373DF2E9F0953A6F3BEB3162314F1701EEBF0BD04C3505A3442092BCD95BA380EADA9513A2128E50E69A5B30B76BBE16E28C5085B960A15FAB4A8F72C1BBEBA327A96A46D7B8584141BCDCDB2A8A38565D33A694C68C462069188705918DCF3743FDFBEE17744137196CCEDE0C25366316B6A27F73FB691B696763EF5B73F6057F720A72C9CC4973E703251D325675958B91CDBF6E6F88F1F3FCA9F5C7916EF3A773EF94C967FF8EFBBF8F99DCF485C4CCDE7FFBEF54192A6C73D8FAC2716D3B8E6AA553CF8E456BEF2ED5B98377322E3C735B0706EBBB4F1897D58B771A7B4ED2D5F34998AA429A360218D740F183CFCD80BAC5DBF95DA9A4A4E3EF138664F6BC6F35204BE284C65F0F8D39BB9FE477772C6AAE339EB8C053CB5662BDFF8E62DE4AD28AE2B52950ADD1F45FD0DE9D81025397C5C53C39B3189CAA58BA8A886EF5E398F93A736C94317CA1C4796B8A208BABC8B5511747938BD65A3E4692F66E80B9A5FCAF1D9DC9767F7A08555E842276A26E47C911518BA34E4E55248A51EB24295CA1A877077F91174F1422CCA1342CAB4A5C4D1B363236E3E2735E8BD599F07766BD4B775F0C10B9713D38C50CA286CC3A1124758C9544CF689ECBF509429B5D21DD6565778049772856841E5879F1F766984D24758CB397C1D367C2DD6D870E5CD44764E716DB2FD39A6348DA3311963E9F446664FAA236A6898310333D6C8ED0F6FE0C6DB1F63E38EBD2C9A3F8D96867AEEBEEF71264F9AC4FA2DBB686FACE18A55B3B8F8A44EAA6BAA71FC80AD9BB6B265771FB7FC7E03D7FEE9859C38A7153F6F71C36D4FF1AB073690496798DA56CB173E76169695E1F70F6F67C3D67DAC38711E0FADDEC4DD8F6DC4CD8425528F9B51C9B7BE740D6DCD757CFFC6DBB9E99607F8D7AF7D94C5F3DAF19D5C88997892F20DB2962BEB474784AE2D4AA54A8BA3B0DD451848B96CDBBA9B86FA18CD4DD5FCFA8E67F8F677EEC430AAA5475ADAE870E571105DDBA563C31713CD60D75753B57C095A5B1DFF72C51C2E3AAE45E69E86245D284FFA06AF0C45D0E50137FA09DAED09270937FEACBC3D7A955163C3C5115AE88A997E3B072C9EEFCA91173193268A43EAE43D8F9C78542F55055F4D673E34B82EC9DA7BBDA006AE8333D847D7B60D78D92C8E93A73717F0E83E03B7BA9E0FBF6315B551531244B1B46891A043D2966C7C5021A4A2AC513A41585A204946BF41584CFF95AC74227B50269D48CD5964040A19C339A8F8BE2D9351845FD963CDBA3E3C4B448B1AD79C3B87F79D3D839A6840C48C10ABACC0D3A2ACDF76805BEF5EC3C34F6D61206B61B92E139A2A993FB59365F32631797C82E6DA186DEDED18A6CE0BCFBFC0819E3E06337166CE6EA5BED294FD05F7F5E4D9DB93931A7543459CFA069F6CDEE4A6DFAEE3B67BD7108B2749673C328E256B74882784E5F31AF8F2272F65F6B476563FBB9DAF7CE326FEF29397B17CD94490859184BD50C81182A8455ABC2DDCD1E019F8BE8E70F9AC59B38B3D7B7A58B6741AD55526E203BBF6A7B9E5D6A7B9EF81E748A79C822FDE970D033C471488124D741D74238A1B89139B3D83CAC5B3F9C87993F8C8091D54897E68E209A95058E9F59E3FC5F18AA0CB436EF413B4E111F9E367472651E5AA47467DA1FE7042509744B4B32FCBE63E87415FA4DEEAD2F79C753C6CDF905ED7D219F5D735117898C24505D5E155CF1A39D5278A09A507D8BFF9799C94A8C591236D3BACEB8FB1211FE7A23357B07C5253C16257F05F9746D28526AFA51A7451C628FE6D485316581C525FA318359746CF42069004ED7B8852A143B63A9198229C1CB25D958393CF5315093869C102563FFE025535AD3CF6FC0E164F6BE02FDEB984C60A88181AB1448268348A6E98ECDE3FC0D69DFBC966F39214639180AACA040931A997CFCB47FD8E09AD3436D492CFFBE4F396246BADD8FD44A4DE8B92A6AE2B13595CCB2197CF48FBD4B63D19EE7E7823DB77F7326D721BAD0D491E7D720B0D0D157CF0BDA733AEA19AEACA28220774E3E6977869670F0FAF7E01C7F53967D5024E5E36155364120A4B9E63C93EDF791B0C23206F6B5C77FDED18BACF1597AF24168DF1E4531BD87760102BAFF3C0C34F93CFDB9C77F672060607686CACE1C0BE2E3C4F67D6EC697CF73B374B32F7AB6BA85CBA8459CB3AF8FC457358D159272D9DBE5E9C8E7E63D29A22E8A385A0233A9167BE86FBD43F832B2E8837BE442FB81963F205A3BA58BF8C32358DFD83799ED9D54F464F821112F440CE262BB2C5C4A36DA1C07AE9E5F17A2E95C3F93A5ED5EB515CB9B0AFE50638B0E939F2FD7DB2925DCECAB22717E3F1BE04D367CEE4FDABE613C8BA1FE11A4B270A05798A4941C9F525B5360E4D46092368F1E82DBAA184F5358A51F541D982059D5910B9F8BB23258D82AC213307056187EE0D3B635111C007DE790EE3E319D66E4BF1AF3F79800B4F9EC79F5DB8105377D1A326D5958942F53D61C71384EA228A2B897E8BE96C1ECB1637823C563E47E0384CEC6CA3797C2B6622269F0C743C06F3067B0F0C4AFFF2C0608E6432C6B8BA4AEA2B22D8763F962DDA6841FFA0452AEB9248681858FCFC77DB59FDEC06162D984ECECA71D292E95C728EA8EB0CF73CF002DFFCCEEDAC796133575F79325FF8D455AC7F612735B5513A3AEBD9BE2DC58D3FBE8F8ECE24175DB092FD7BF7C93AD46DADF5BCB8F100FFF29D5FB16173376D4DB55C76C54AEAEA74162F9C295D2D56D6A1B2CAA4BEA91E5D8BF3FDFFB999813E83DFDDF128FD4D6D542E9FC307CE99CEA74E9B4E5C78DC656661B16EF7EB39F3C2EB571174793C36FA23E8884EF4F9EFE0AEFE47027BA0BCBD7A8551A250BFB9F0E3A08FDC6CF4116DD0613E2CC82CE7073CFAE27EFAFC18463C5EC808343890B3B134A1136A8812CE2398795BF66E08C274ED0C3D9B9E23D7DB8393CB62E5B2F45BF074BA023BD9C417AFB940DAF1867A7F9756A513E45C983C3C1C411F5C6363B84555697D8D525B9DACAF51F03A4B0DBAD0BEAAD8EC5554AA13B52A703CF6EC4DC9CCB9692D0D5CF73797F3ECF39BF99F5F3EC8DC9953F9B32B57D13A2E89AF9BECEB4D317D7C1542CEC9A4B2B2C7A088C48543C3CAD932C1C5B2F2E49C3CB5B535B4B7B4128D478956082F739CADFB737CE55F7EC9DA8D3BD9DF93C672908E8CE6BA1873A73773ED7BCFA4BA52C74D0F4A4D5CD4CF10371622113EF4C55FB0A3CB420B5C34CF65C1F47AFEFEB357B064EE4499F1B77D678AEB7F7C2BADE36AA9AA6AE09BFFFE332E3E7F059FFCC43BF8ED6F1FE4AFBF701DE79D731C1FFFC8A574B4D7C93ADD426E7AF299ED7CEDEBBF664FF720313DCF673F730573664DE69E7BD7B07AF533B434D7306DCA783239970B2E398FA953EAF9C5CD0FF2D5AF5C47AAA299DA734E65E9DC66FEF9EA654C4C98050DAED8D5A1ECD36768A022E8F2301B13041DDB743DCE637F4790DD5FDE5EBDC22863DE47889EF20D30E247B49E37E3C34305E9029F6777F7B3EE409E644D9D4C991673F639C7A74F5CC8087216133AA12821FF79BD014CC18957BA1FAFD0E864A8E5959453A4842C269FF2F46C594FA66B3F7666102B93216BD96C722AD998ADE41B9F788F944286DB1A163305C3EE289444D0826CC5F2B2D6557E2855944A19C5A495E1FE8161D42CE48BE264A19C189456BA30ADDB96F2874D904FD3D6D0CA434F6C6560C0E56FDF7B22C7CFEAE4406F3FBF7A681D8E11E7FCB397B1FAF10DDCF5E85A2E3E753EEF38750E6D8D7172D99424E79CA5E15869A2318D8816913246BC2A492216150F38E4F538773EB49E1FDCFC304F6DD8433C9E90B53722C2DC261C24A257A3888A67B471D945CB387E4E0B869F93DB8F6FB2E5A5149FFCD6EF481391BEE4381E679F3285BFFAB3F319DF5089EDD9329DDB301274ED1FE0D6DB1FE4C1D59B9933B583ABDF751A9B366E67D3A67E2EBDF80462A683655B589E887303EC40E7BBFF75071D1DE389472D664E6E63FD0B5BF9F7FFFC151133C6C7AEBD185D37F9C63F5DCFC4C9CD7CECA39713040E37FDF40FECEC75094E5841DDF83ABE78D93C2E98DA50A8F1A208FACDE082D2758E09828EEFFD03F6839F21E8DB74447868F533885FF9304485D97FF42C438625F1388FC60D7FDC4675739B2439F1C09C760306F236AE26AAF0C9A4EE90280BC4FC7AF939A4F68397575AC7CBFE2EA3618FCCDE9DF4EFDB49A6673FB9C15E9C5C9A8CA7F1A2D3C0F2732F65E994163CA18BCA4941C1C98592A28568BAD4D75C9A2D18EAD122B12424E82152164938C5D655B2546858FF39EC27188E15846C89DFC5EC9967E1DB2EA201AC20D7A6CA4A3E7FE5198C4BEAF4A7323CFEDC1E3C372F1FFFFFF7CE75DCB57E3F3927862977D89451E607CF9DC9C72E582823D93B9FD8CE3FDEF07B164CEAE423979D4847438CA4E9138BEA44A2097A2D8DCB3F7BE3FF67EF3CC0ACAACEF5FFDBED9439D30BD319981960E8D23B82A0A8891A6BAC29A6F7DEFEC9BD3726F7A627D7146F62A229C6A8B125512CA8A8802220BD0E7D18A6F776EA3E7BEFFFB3D63E0706053D5272AF66B60F0F32B3CF2EEBECFDAE6F7DDFFBBD2F075A7A98775E2535792A9FFFE8E51CDE77446A6578FD1E8A470EE7DB3FFC235DC10C36EF3E484196C167AE9DC7B2B915C4AD08A613E0C6CFDD49BF290208958C3495658B2732764C392B57AEA7E148339FFDC8E55C7DC554E962138B0A77700B4DA6776C3979C762B654A18BC735EE7B6815BFB8F369028174465595D1D6D6C5F471D9DC74E3321E78E859FCFE346EBCEE02145DA33F14A6BCA4587E57ED5D1D1414E4A16A169B371FE43FFFF33EC2E7CD451B59C2D22A1F3FBB6EE671D12DA1FD721ADB50049DDAA0BD3D00BA7303B1173E87D3B13DB5BB3AC55E8AEEC7FB813D2881A2333ACE59FD70C2BD44469B8AC3919E101B9AE3E81EE1741227E63874456CC2A2334CD564FE5CD0F04E24C09DD52B7A938309AEAC45A4A79DDE96467A5B1A0876B7486D68A110D71E0FD0513E979B2F9A438EC099B840679195750B7E227A7E2D38BBC09BB0A63AD61DF8FA08FA58349D10D73F46A54BD85589283A2AA874C228362EBA1C6DA93DD1D91FA3B9B5939F7CF40A1657E7D0D0DEC3577EF30263CB73B8EA82496C3EDCC1BD2F1EE0506B5C52CC4C3B4C866671D9EC0AA68ECE273F3B83E7371DE2A1557BB04371668C29E6C3974F656A550E5E03E24A1AF73FB795DF3EB18B505F275FFAC0855C30B98CC9132AF0790DA9156D9B361DFD7D6CDD7D8467371CE5DE475F116E855CB168145FBA71219A3D80E9683CB67217BD4131F1D81C69EC64DD96161C5D98CF86890D04F9B74F5DCE37BE70312DAD1D3CFFC2368A4AF21835B2180783D5EBF6B273E7513E72CB6232B2D2F8D3FD6BF8D91D4F62DA5ECC6888F2920CBEFB95CBA5D0FFF77EF62899593EBEF7ADF7B27D571D7F7B6213975F3C9BEBAE9E8FEE31D8BAFD00C1C800C545053CFCF04BBC14CCA63337979AAC280F7C7C51C21C3E2943FAD69FBF21804E6DCCDE1600ED379B89ADB815BB61756A77F5067B79DEF3185AC545677C9CB3738044549930AE306D8515DBF613CFAE9020261A5204D7B92322AC47C54E2E0BF53863E3F4A297D3BF7637D6173248B1503F031D2D74371DA1BFA59EE8401F91984938E6B0D1338E65E7CF654E4D398665CA6298E87A14138EC4E8C1C541DB923A1012A093DC68E16C92307B3DB13BD04D79B862FB6EF1F07554BA9809428FC48A10150EDD2187C3CD411ADB83DCFEC94BB86A5A213B0F7771F96D8FF29E59D5BCEFA209ACDDDDCAFD6BEA68E80E93E9D1C84C73C822C2A76F5C4ADF401F79197E0E3675F3DB47D79199974F535D1D5FBD611E972F18236979BB8FF6F1A33FBF80E1CB60E69861541705F8C8F5737114836028CAC04018BF57473344FDC0E07FFEF2140D6D0EAFEC6A223D4DE56BB72CA0A2409379E8984863490A9DC6C69D2D7CEFCE55988A8EA3DB38E1305FFEF8C5DC7AFD0CC20321F6EF3B443466535D554A7BB7CDB7BEF317F61DEAE4131F5CCC65974C61FBB646FEE7EE2739D21EC289EB32EDF1DDAF5F4A46208D1FFEEC11468EC8E72B9FBE8C47FEF112F73CB09E6BAE98C67FDEF6613A3A43FCFBB7EFE4AAF7CC63E182892C7F6A330FD546E8C81B468ED6C7B35F5CE2A6A9A4C7A4D00F7FEBCFE11040A7F616BE2D005A745DC59EB8FEACB87A6BA3AFC373C93DA98DCE39DE2B11344B2924C1DCD8D5D8CDAABD8D948CA892790101D1BD11E88C5852E3D9CD030F7A194ED6717226B21B27BBDFD71DCFFD81742119E8A1AFB581CE43B5F4773449801674AFDA78319EE2D1CC993289492386E1157AC5223123DC4B060923C9885802F471AFC06403CAEB54E912D655526FC37485F68F19BECAE614578B2466464044D8669CEC4C3F0BC68EC4B61522518B25532A1916D038D4D8CDD7EE7C8E8B678D62F1C4E13CFAD23ED6D6F5E0317432358BAB178EA5B3BD930963CA098623E466FA39DAD84ECF401453F5B273F77EAE3E7F32E5055E06A20AF7BDB897879EDFCB8D974EE7BAA53514A4EBD2626AF781A3540E2F2533238DE6F62E0ED71D61E1F4C992E7DCDC61F18F557B7879D35E96CDAEE48A4535188A70A7B1D8B9BF995DFB5BD871A09DB5DBDA7144CD44D0DAE271468D18C6D47139BCFFEAB94C195B4267CF00CFADDEC5F2957B58BDFE30B198C69C89597CF5F357931BD079716D2DBF7F701DF547FBF0E90E1FBC7E0AB3678CE6851737A1281AB3A68D95935E5D7D1B1326543275EA6899427BECF1754C9F3E8ADC9C4CFE78EF4A9E3E1441193716D5E967CD5716CBD670292025D3D0A7961538D52B3404D0A981CBDB03A0BD1AB1E5D7621D7C3CB5BB7A83BD14231DEF47EB51FE0FF812BAF460297E40D85278E4E57DF4797C9414E449301639C58EB04D8F10DA10E02C0D5106472BA78BC6A73F8C32E52852BC227232C3447A3B68AEDD4957FD7E9987B6A3033446FCB4798A482F19CDC5F3CEA3AA301B4B74A909FA9B743E71BB0C93002D9A5092CC8C6379E6846EF3F122A12B1DEA02F4F1085A449D82B9216450456130160BCA966E33AE909399CE2D8BA730B7A698CC808F17B71DE268632FC387E5B163DF3EC6578DA0A727C4F20D07C1EFE7D259A3C9F32B1CA96FE6C08123CC9C310E9FC79014BD7DFBEA78F79259F83C3AD1A84D9AEED0DDD3C191CE28BFFCC7665ED9D3CD7F7C703197CC2A21CBAFB362DD5EFAFA07B862D96C29C224AEF977F72D67EAC4092C9B5D4D4BA7C5F31B0EF1E7E5EBA92CC9E43337CE23C70FDD6195EFDEFE08DBF737513EBC90BE7E4BF2A5354DF0A155E2518BD2BC087FB8FD134CAACC055DE3BF7EF138773FF03271DB8F1989F29B1FDCC485E78F47B1426CDBD5CC776E7F926DBB5AF0185E46975B7CE93357CA7CFE5F1F5A437757841BAF5BC89C59A37865C34176EE3EC89C59E3A81E59826A183CBD621D1B361F615FC44FE6AC29C408F3E297CFC727177F2E956828823EFDF7E9CD3EF92F07D06240BC573F8B5AB6E0CDC6E69CFFDEED78B625F61EED0CF3E09A3D148CAE22CB2B3AF15444EB417BD8A63F96606B9CF32B4AFD042222564503486480B603BB69DEB78B486FA7644B74866D7A1D3FDDE92398357B0E4BA78D910EDA22D5612554E88E6B6CB85D82C7DCB813EDDBAF7546B107E59945AE3B09DC029C054759A64DE282B9102266C531C30EDDBD712E9A51C317AF9985473778EFF71EA4F65013D3CB73F87F1F58847053F9FD935B79EA957D8C2ACBE72BB72C233F5D65F3CE7A543BC2D489C3A5EB89B0988A5A3699693E2C33447666366D4D6D7474F6D2D4A772C73F36B2F15037D7CF29E1B3372C24C36BF0D7E736515E5EC8ACC923A96B6CE3BCB115DCFBF73598C0A7AE99C7A18630B7DFFD142BD61F66DE79357CE9FD7329C854680D3B7CF5DFEF62F6CC69DC78ED5C0E1D69E3377F5EC9FA1D6285A2A29961164C2BE0E7DFFF38A5394234CB61E79E56F61C68A72FE4D0D1D1C6273F7011861A053BC6BA4DF57CE7F615EC3FD283A2EA5CB67034D75D3607AF07D66FACE50F7F5ACE55572DE0C61B2FE6D39FFE09FB0F1D62F1A2697CE93337A0F974FEED5B7FE4D5CD0DA48F1D43C545F3315593155F5C40BA8C2D5C95C5D3715A198AA0537BD7FE25015A9FF54D8CD9FF96DA089DE3BD441422F278EBF735B272672BD5E78DC327B514544236B484E284E3A75A42FEF323689975948C3BD7C854B1A2F4341EA679DF767A9B1B880CF4110E0E108EC669338AA898BA984BCE9F454017AEDA0A8EC84927981C96A4D125CC5E0745CCAFCD3B4BFD8C41CD2749F076F59DDD766E91F270E216B1480433D6C7F8B2524CD28944427CEE86F33954DFC257EF5E4986C7E0FAF913B9727E353DFD31566C6B94ADD8B3ABF3193D3C93E52F6E60EE941A8A057D4E350864FAF1780D34434CA436E118787418E8EBA2B72FCEC18630BF5EBE8D757B5BB8FD2BEF61D6A84C0CC561F596FDB4B5F5F0BEEB2E213B53A72F14E547BFFC0B4B16CDE192E9D5F45A3A1B0EB6F18BBB9EA52C3DC0E7DE378FDC348BCEA0CD4F7FF157AEBFF6122E5D3A51AE18B6ED6FE6C7BF7D9C504861F1EC712C9C554D557996E44A4BDE8FE391D2A46271250D73A33184359910107F76D54EBEFD932769EB73D0741FA34BD3F1C7A30C2F0D70CD758BA9AB6B276A06292BCD65CD9A7D8C1E3F82C58B66E3516D56AFDBC58BAB6A797EE556BCD515542E5B886DD82CFFDC5C32E56ACE5DD90D01F4B90389B70D409B6B842FE16F211E3AF3D1300278AF7A0AB568E6991FEB8C8EE04AF1F7C5151E787127FD5A265555A5A8F108263ADD5187D6011353E49F4F83EE7C4697F6261F96D1BF34034076D585DA9BE8ADDB4DC791FD7435374B3B2CC1A8684B1B41E6F8455C38F73CCA3234ECB85BE893A90CE16F28803541911BACEF7C2C829646AF2EA73999061111B4C837CB7F4B9A5D18D190220A8B66D0E45DF3E7306A7809F150174BA78C42157E7C1E4853559ABBFB68EB8C70F30F1E624F4B04CD085093E3F0C5F74C9682F5AB37EEE243974E27A6F87968CD6E1E786E27936B4AF8E6871633B9A2905FDFFF38E98100572E9E4B6BC3513A43264F6F6DE6AF2F1CA6AA3893FFF7FE0554157AC8503D1C0D3A3CBF612BCD2DADD4540FE7CA8BE65098E9939D7BAFD4B6F0F51F3F4A575794AF7DF8022E9A3712D58CC97674512C35BC3AF9B9D93285613B2A5ED5C0B4A2C44527A960C2881491F87FB12C114F919CF4145984154EE58A1D97A92891BFEE0AC153CF6EE2A18756B178F1242EBE702A15C539B4363773E4681B5959856CDEB297E933C771FBED7F22AFA084EA9A49FCF72F1F4133A4510F81CAE1542D5B84EDB1F8FB276792257E282DD54E4FC47F28824EEDED7CDB00B4B5F7414CC1853EC36615392C9A0763EA17D0E7DE96DA289DABBDC403AEB8207CCFCA9D78871533A22417C516A0ACD311B4690D99B251E5ADD7C9CFCD452714A71334BF84D4A9484B840718686BA4E3E01EEA776EC0944A7751FA940CBAB36BA89E349325D36BC8540598B8A2476EEED915DE7F9DD9AB28048A7D04E80EF212143F8B460550B9EDDFD2834FE8520BA797B84347D022BF60381D5D3D0CCFF1F1EDF72D66DBF61D8C1951C48C51C3D974B49DDF3DFC22EB9B606F7318AFA671D3EC726E983D9C83F5CDAC5CBF9DCF5C339FA0E3E7AEA737F3E48606C65464F2EFB72E64EE980A1AFAFB8974072909A4D1DDDB43674F2F073AA2DCFDE44E3C812C469764529619E3D64BA7A27935344F3AAA9646C0AFE26816BAEEE5177F788CA63E87F5B51D14A4F9F9CE272FA2B4C88B1535B14362A511C774A2E46467911908C8894CB42B498F492909EA4ED7429B251E170A83A21148E482C57322BE1321CC1FC5892B6E4F90A611770CEAEB3B292F2D4053A2C4A3415A3BC23CF7F201D66FAA63C3E69D5CB8E47C9E79661DA6ADE3F77931851D9623689D161963CAA8BA6801966EF1B74FCE9011B44C710CE5A0CFCD8B9638EADB06A09DBE7A624FDF82DDB2E1988CE5E98F8C825A3A0FEF35CF9DFE21CECA274504E2B0BFAD9F3FBEB09BD2CA6ACA0B32112D0716BA04EED6601C4BD2EB5E2341774C1B63D0859CF0B3C16C8FE43E2791B17BED71DEA40699AC511EFB58C252CBB16C62E11003AD0D1C7AE5597A3BDD2EC3483446B796472C7F0C93CF9BC2FC89A3F16A8256771CA093290D195927981DA245F9C4EEC0C4BF851B8AF41374591B02A0ED585416E10C8F8F57EB43744684CAB1C6F8F23C968CCB9574C0EB2F9ACAAC51651CEAB779FFB7FFC49EDE742C5BC5438C4B261672C3CC52BCBAC5FEA39D4CAFC845F3186C6BEC66DDAE26C6561470F9BC1A32020196AF59477E7A16D34795D3D3DB416747AFB4897AB9B69D07D63470B4AD8B65F34673DDBCD18C28CE241E8E2452242A597905EC3DDCCADD8FBFCCCA17F7505452CC47AF9EC527AE9E8162C788C42CFEF0C87A0CC3275BC2C754E6332C2B204156342505C3260D2D5D7409479D8843437B90EEBE20FDFD11A96F921EF09395994E699E261DC005FB64586E3AC2C65040A9AA8B62652CA1FAE7F0FCDA43FCECD7CFD2D51B930541316A49BB34F15D688AC8928867CF266F4225232F9C434C35F9C7C7A71348E6A08700FAAC20C1A90EF2B601687103F10DDFC7DCF07DB062673C286AC124BC37ACFB5F174E1200FDEA9136FEB07A1F93274CA434C7475C11D1A34ECB80497348E41913F29D83F8A62E01E4D439E89355D68FB146CE70F4125DDFC7F59E931D8D62E96DC668DBBB85D603B5F4341C20D8D5268571426A80504E2517BCFBBD4CA82844111A19423B43E44C85425EA21B5000BD00665344C6096ADDE0085AB6710B2FC4A4BFA0480BC462A8668459E346F1CCEE767AC21AC53939146579A8CAF370C1B4914C1C9E855F57E973FC7CFABF1FE1F13D2255A649AAD9CC8A4CAE9C94C3D8021FAD9D3D74456164413A238BB3F1FBBD780D15DD9FC18EBA3646E406D044039119A7ABBB9B48FF008663A17B7C3CBCA985A73637D3128C32BA20939A51651CAD3B4AC0508859363593C6B2F2A56D34B60D50539AC907AE98C6754B27929BEE9500DC3710E7435FFF2D55230AF9FC872E939D8642DF595CA7C8313FF0CC761E59B18D1DB50DF405E3320DE65155A9C02744F6ADB84644E8B4587DE464FA98589DC775EF9ACA82E91520A26C494237E5337FB825CC8F7EF5349B76F724D267B6D4821691B8C85DD98AE0E9086D68B8B6DBAC0000200049444154F7392B9B359EE18BA711B50678FCA3B3E513298D225EA3AA98EAA33594E2486DA4DE56006D376F20FAB74BC00CA676776FB097925D85F7DD0FA1E48D3BE3639DC901C463BEF640237F58B39F69E74DA12CC78B684BB16D8DE6605CFE912DDEB22960F0262A42A73EF371807ECDE7DE4A5D5102EFEB3F70B2E0FD9820883064ED6AA2BBA19EF643B5B41EDA43B0A39998E510D4B3F04DBE841953A75053988962C52485CD357E75B9CD326D3108A0933E8372BF24F7391A763D06A520BF89190E529D97C1758BE6D0118912B11546E4E79217F09091263CFF84E59FD07AF660695E9EDF7E845F3F53CBDE862EDAFB2CAA0B7C5C581360C9E812B23C2AF73CB785E125C31857293A4E856B8D82E928043C2A23F23339D2D2CD81CE8894171D9EA1519A019A1D27A807D872A49B977635B3F560BBBC0EC712024A82871DC7AB397815583CA78AAB2F98C8E2E923C8F40B8714D77641AC0A0E36761248F752989D8EF05314631DC760EBBE16BEFCA3BFB3A74E00AA978047A3A0C0436B530F936BCAF1EA0EEBB71C46248D8533555F5850A7A3CC9D52C6C76F399FB165B9684E08413B178E914290E927BF7B86755B9B133C66D7BC57344149912BD9879268A4B26D2A174DA36CEE646CAB9B473F3C47A637444A6508A0CFE4ED7FF3CFBEAD009A7898C8BDD3717A0FBEF99DBDC91E8A27137DDA17D1677EFD8C8F75260710F0F7D2BEA3FC6ED55E664E9BC6F05C3F36222FABD13C10A741444A8A50DF3B19509EFBCCF4C9087E273BABCC8BCAC8CB41318344FB7A659761FDCE5769DDB75DE6A84D5BA5BB700A199553993D711423F203A882B72C73D089A25F92EB3C485F4344D002A05DAEB385191502436EA150880F05548B2B674E666ECD08D23C0E8AE641D76C54D54155353445435555148F1745D3246DEE4047880DFB5B7962DD5E46E4A771DDF935F86361FADADB69ED8DCA2EC0CEBE10D1B8499AA4D7C1A4AA723C19693CB9763FF7AFDE8382CECCE1395C34A588E20C01C4AA2CEA7504159EDBD3CE11918EE81542FF0E695E83E23C0F13471673FD4593292D10A907054D17D7A6618B13D831E29A5F521185283F8E8EED68ACDB51CF2FEF7F81F53B3A89251C638A7333F9E42D0B58B76E3353C755929B13E0CF0FAF60446905078F76B3657FA7745911E3317B5219B75EB3800995E9B2482B24B762B6CE3F9EDBCFF7EF582E5DC1454A488E95D0B2967E648A2BC895B0191B7BF17C8AA78DC16B7771EF07E7BA1C68E9C69268837D8B2FC150049DDA80BDBD005A4413DB7F87F9C26752BBBB37DA4BC876E68C469FFB1DB4AACBCFFC7867708457EA5AB9FDC92D4C993C99B1E5B9600B912183B688C3A1DE1831C74D71BC267E4EB97098FCEC5BA5439D2AD87E2D408B55F1894D8D82F32C5AB223F4341DA271F716BAEBF6D1DFD986198B13F11760948EA7B2663C534795499DEFA43595E04BBBC2FB2ED739A9F12C53209610DE8F6346232E50C74D86A57BB9786215E755E4E3F778F16AC2EC5C14E73C58AA87A86899D73C78BC3EB27C6EBF8F4851689A2EB9CD5DFD11D27C06F959E9C4A3513AC32677FF63A3C4C7FD878E503A2C939EBE209565E518BE007F5DBF9FCE9E28ED7DA23A675193AF73F3F92319374CC710D1A7EE45511D59609346BE8E23CF251A5EFC690659997E0A72B264E1B02B6CF2B717B7B0EB40334BE74EE082699564FB5D5F402148D5DE17E3AF2B76F2C0333B38DA1EC60C45583CB59A6B2E9D8C19EC615CF570F61E6AA6BDBB4F6A880845BD9AD1C54482260D6D7D1869593CF8E44676EE6DA0345BE5EA8B26F39E25D518C2100295AE8108F54D21D7CFD23669E930B9EB9EA768EFB1510C0FAA68F2741C4CDB64FAB54BC91D534645468C1FBF678A0C2204A8CB89F934E28421804E0D30DE76004DAC8FC81FC7E1843B52BBC33701696DECCD180B7E80E2CB3DF3E3BDD5232410706B7317DF7F781DD5636B985153816345A4F75B8FA9B3BF3BCA80C08264D76182DE264EF5DAF76230A09EEA776FF6F354332027D412072937B9B42B7191C2845488FBF7D3DF7A94AEBABD341DDC4BFFE1EDA8964D9FAF0C5FF54C66CD9E4E41C070991882929028FEC512396801C43149B38BC94614272614EB6212B823668C9955C5DC346702E90298555532297AE236B58DDDEC6BEAA6A3A783886033E0E7BC9179CC9E54C1F8D21C1C3386A65A32BA56745D82BA652BFCE6C9EDFCF2B12D44C226A1984561A687F6EE7EF20259A4F93DEC12D29B9683660BD5B838178C49E7BA9925641BD0D21BA1B12344F5C86114A48928DEC1301CD23C017C5E3FBAD7405563A8DE00583E7EFFF87A7EFBD4767A223AB99E105FFDE022A90DA2AB22E7ACF26A6D3D9FFFF19352C449F8079A7D9DD23FF1875FBF16271EE7AE0737B06977036D7D21D90894E6D3A828CDE657FFF62172D2355EDEBC9FEFFEEA310EB79B92765791E3E1CF3FBD018FE2B22FA4988023FC5A84588A494CCBE2A7BF7E8615CFD7A2FAD3A4EEB86C22B2E3CCB9E922B2471631AB348D2F2E1AE9D6AC132DDEA781CF4382FD2962C5DB0FA001F3C52F10DFF6EB146FF18D7753F3C7632CFC316AF90567E5786FE9200952C5FEAE20B7DDF7121945C52C9B3D1EB19ED69D3803B68703BD269DE1B8949F74D31CC76546DFD2B9CEE9CE276769BB4C2C0B27D24FA4AB95D6FA031C78E93962A2E3D08181AC4A72269DCFA4AA0A728CA8044DDB52888BDC74425F437A0B8A42A088A00548C74C82824B2DF635C32C9B38822B678D93FC5FC39BC10BFBDAD9B6FF103B9B06B0550F5FB8763EB5879BF9FD632FB1647A15A1602F15A5657CE3C6C5F824B7212ED30C86A653D7D9CBF5DFF8131BFAF3DD82992AF2B842D75A41B15CAEB1A27951054D109B2C9FCA7BA79470C9B85C2CC7E2278F6E667B5D37238A037CEBCA69B23350D521EA78E8891B0C44A394E76530A2D027F59FEFF8DB36EE5EB193385ED2F520DFFDE4C55C37AF1255D41B1483675FADE77DDFFE078E6690E3B7B87EC978A6560F931A214FADDDC3777FBB12430F8010531257246889F10897CF2CE20B1FBD52A62A9E59BD8B67D71F60DB8166AC5090E7FFF0297C7A58E69B053B44B6DE3B269A62D03CA073F7FDEB79EE859D685E9F6B6D25D22D3ACCBAF142F287E773C58422AE99982781FDB58C9EB7F2880D45D0A98DD6DB12A0ED968D44FF3A3FB53B7CB3BD140D6DFC076467E1FF8A0CA9E3D012B6F8CEC3AFD01054B969D90C7CAA2DBBF484C1D7A13E9BC67ED159E882A0CB7375E3DC5389ECBFD92D9FFDDF2762A8D75D902B4729A237271624DCD7CDA1575FA153E876743711B675FAF3C65154319AF1E5B9D22F302E4D4F5D668654B4139C60F1FF42465476134609C5903A2023B20C2E9B3E8EAAE2610C381E1A431A773FB3815B2E9A21ADA57A3ABA593C71047D11879D8DADCC9E54CAD3AF1CE5570F3DCF17AF9FCFF431E514667BC80E783034C18080BB976FE44B7FDD03A23BCFCD35B86C05416770DCBCAC224D6F05B726CEF080CAF4AA42429110F5ADDDD2C75080FA4DB34B19579E83A378786CD3519ED9DE48576F3F534695F1A30FCD970982BFACDCCBFD2FEE46513C8C29F473DBA72E61628968A2B6B0149D47571FE1D33F7E12C3A392E977B8F38BEF964A79ABB61FE5BF1F7889C65EA18EA74A0307D934925CFE845BB962C9443E75CB52A90BFDCB7B5FE4D9B57BA460D4BDFF752DD5E57EC984110174D4B4E80AC568EF8E73CFC36BD9BCA71DF0C8274DA438E28E495A410653AF58486545161F983792F38609929DE05DBB63733ADB1040A7366A6F4B8076A2BD44EE2C962FC9D9DAA45FE13F3D17ED86D05114EE5ABD87DF3EBB9B1BDEBD88B18569AE9A9DEA70B4CF626F97852DB4A045482791396989727A2FC7D91AB3138F934487E3D1B46001C8FC66A2A941FC6D0F7433D0DE44DB9143741CD84647533D617F11C5131750555E449A139251B274E016AC0E91738E455D4F4091EEB063D803212AF3025CBB702A0579B96C6CECE7D57D8DCC1B3F8A8A4C1FC3F3540CD544D7BCA0EB688A28C6093A9A23B58E1D7C6C6D0B72DB9D4F307B42259FBD7C1A25D93E34D1E8A1298CBCF54E8EF4795144D14F4E8D3AB6E8469486B78A3403C8F55AE4A57B38DA19251277F0C50778F9E737317EC43039A1FCF1C1A7C9C9C8A4ADCBE468284E5B5F9CF5BBDB69EC1EE0BD8B27E25322747675525C94CBF4F1C3A92A2DA0625806861391DF73C8F6F0AB8737F18B07379395A6307FCA483EF1EE1AFA43369FFAC183B4C7BCF8155D3ABBCB967B4744FBEEFBA0C8E6C230D72D1DCDA50B26F2F8EA6DACDFDA40635B9C8F5D359E9B2F9B4C38D48BAA68D4350FF0AB7B56B17177379AD020571CD951292D212C074B8D3366CE04C6CF1ACD85938771F5E4323C89EFF474F3CFE2E843009DDA5BF8B6046862FD44EE9B81D35B97DA5DA6B097B1E40EF4B1B7C882D23F6D4B584889F33D53DBCCD7EE5DCD94A953B8625AB9FBD2290A4D0371767599B2502838BB6E249D781165DAE3FFC2969C284F4C75B8854301D222F8749D0944CA231E0B11E96EA3BD762B0D5B5EA63718225E3E93E155359467AB1822C72C0A81827E970468C1E410D1B465931EEDE58A3993995E3D9CFA5E93BBD6D63160C6F8D2BBA6333EDB83AAC4B00D1F2D41D8DB1AC2B21C72D374A657E592ED17AC62A86D37F9F9DF5F26689A7CF6B2192C9E301255B1D134856FFD65356B76B5CA0E4E51446CEE8DD36F09F70111559A8C2FF470D5DC115497E6F0F8EA5DB4F645195592C737DE3B8382AC34D9C5B7BD56687CF453DFD4C9E40923A9AA2C63CDCE467EF78FADACDFDDCCC4520F5FFFC845CC1A5342A6A1BB5443332A530AA27B7BC0D6F9E9FDAFF2BB27F690996673D1F44A3E73C56436EEAEE79BBF7A9A982F0F4D86CC82BFECE6FC45E94FA4617461D86B47397F723E5FBAF5121A3A82FCF1E1977875472B372CA9E05337CC23141E90CF577D5B88FFB96F1D1B7777A088204040BEFC3A8571818D2FCBC7AC4BE631615C3E57CD28676A71967419175CEAE3CCA2B71E280C01746AEFEDDB13A0AD28E6DAFF20BEF9F6D4EE3285BDD4E14BF12CB90325B32285BDCFD22E12C0C4C38E2C067EE6AE67E9B4FD7CEB86F9C2A44FE63E7B62B0BB3B4657C4CD4BBA4ED9C251E5E479DFB374656FF13083A3E7133FEABEBA6EC7A4B851D1FE2022512516A1B7E930F51B9E9352A5DD6923304AC75153964B8E1AC30E07654AC315438AC9885A44D0F198C3ACB2742E9F35994CAFCEC6A3BD3CB1AB93F29C00EF99594145BA435C0FB0BD23CAE35B8EB2E17037C2012B60C0F5F34673F5F44A8AD34D6268B40C44D975A495E2DC74E68F2997C0AD8A49B12F486B77580254534F88BFAED9C7939B3A08590A694E90DB6E59C0F5E757E1B1E334B5F7C9083A3F379D7C617FA5D832EAB41C3FE1688C50344AA6DF4B7ABA977E74BEF9EB95FCE1E97DCC199DC3AFBE7115A372546241A1BFE1E6828576B548A1F4391A3F7B600BBF7FAA1645A419EC5EFEF29D9B254FFA6B3F5F8EE9CD4195939F28584A5DA4E3E228B62639E68BA61570D9F96379F8B1F56C3B3C40C8D4B879E9703E76DD1CC2E101F9BD347646B9FBAFEB78695B23A801195523849644711087B2D165CCBA643ED3AA035C755E3185012F9A08D11DE1EE73EAEFFDCD1EA021807EB311727FFFF604682114D3B11D73D557B01BCFDC65458E84E6432B3F1F7DFEF750F3C6A7367A67B897CC5424F29CA2A9E19EF507B9EDA175DCFED9EBF1119536514243A1330207BA06E8347509CD2EA8FF5F02E8D40742AAE149FEACD0BDEAA3E7F00E5AF76CE1486337E1BCD1949416539D69E304071202492E408B3FC26F50B7A27CEDDDE7939F25E86C1E5E38D44B7D5F94778D2F6378A64654F1F2974D0DBC58D7475D579490A8AFCA79D0A130C3C3D4615E3EB264148B46E7E0185E9ED97A98C6EE20372E18C7B0805746FBBAE0AB25F8BDCDC118773CBD933B97EFA6330CDE583F5FB9FC3C3E71C514BC4E0455C0BAC03431F5D8AA6485C8158323920F02F1D5844E8650C8D0B873F9666EFBE32B1465194C1B53C2F0FC0025F9695417E530B3A6149F21F2DB1651C7E09E670EF0DDBFACC7A32A8C2EF6F1D5F7CEA2AC28979FFEE9399ED9D48C62A4498016AB2D194C8B71552C9C984D49B6C2973EB098EA11053CFAD4569E58B38F8E7E93EFDC3A8B0BA695108985E598C42216758D5D34754758B7AD83CDB58DF447DDA274667E3A3396CEA1645421EF9998CBBC113918AA822681F9CC566F43009DDA3BF3F60468716F560C6BEF03C45EFC3C986741E12E315EDA8865782E7B08297FF64FD8645CE922358783261FB86305172D5CC0D4522F51E1462DF29F8E4E437F84ED3D36A6941E15F969F1B9337B49FE09B7F7BA530872972CBA89175CB035BA9A69DFBF83BD9B36D1172823B3743863B31CD4900BD0A250285C524491301A0E316944011F9B7F1EB6E610D7023CBAB38DEEF000EF9F3D8A228FC38E1E2F5FFBDB469AE2DEC47798588ACB85878D1AECE6FD73CAF9C98DD3244DACB93FCEEA3D752C1C57C6D8C23C2C2D8E070F0396CD81B65E1E59BB9F075F3C446F30268969237254FEEDE625CC2C139E91A62BBBAA3A38BA9781709448D096CC88CC7C0F9982F121DCC565C940C1D1143A623A5FFDC5638CAA28E3506317ABB7D64BFD8B9A0283FFF8D8C54C2C4B9391B4781E9EDAD0C6277EB512C3F0936E585C3E65189FBB7EB1EC64FCCFBB5F606753D08D78E5F420645BC1107F625D7CE4DAF97CE8AAF93CB5660777FD6D3D2D9D31FAC2511EF88F2B28CBB23085238AE81CB44518E04E48ED418DBFAFAEE56F2B76A0FBD21933A38AE94B67E3D743BC6F5A09E38A3265FDC3ED527DEB698DC10FC31040A7F6F6BD7D015A3C96DDFB30577F15ABEEE9D4EE3695BD541D63CEB7D1A77F3995BDCF6C9F64114D3EF482F0A5F0F3E7F7F3E4C17E3E7ED144BC8897DBAD96472C83550D03F4C5F50407F5389BE3CC2EE2DC7C5ABEC26F44AA1691A688FC82DD52B3A3F6A517E85272F0978E605C868D1AEE77BDF912006D86C3A42B36EF5D348D490519E8C2895AF353DB0BF95E8551D9C291DB6175639C6F3DB593A0919158F24BF16A771345B4F0004B47F879E0B38B5D4686D7CF139BF731A62C9F29A5C3A400BEC8F3FFF685DDDCB97C2B755D71FC9ACE4D4B2671DEC85CB2BC3129A664C44258A2F8A829C46C833D473BD85FDF2AA14EFC1154C16105394C1C554E6E9AC7A51B8A31D1344251C8F07BD87CB49B6FFFE16536D7F6123006F8DA07E672C3B49128AA255923ABB7B7F3F1DB9FC624434E665FBF7936372D1A2BF3192B371DE16BB7FF9D889D8662884E53E12A13271EB1F9CA0D53F9F0B58BC8CBF0F2F3FBD7F0837BD6A0AB7EF4581F8FFCE47AD2957EF9ACB9591137FA562D15C7EBE381A777F1C747F7905590CFB21B17935F964D893FC2B5934B2913097CB90D01F4B9796B5E7FD4B735404BB3D19D77115BF38DB3A2CF911C1EC59B85EF63CDE75E482909D072D9EF46D107FB4C267DF3413EFFDE8B9855918F1D176DC72273EBE195A63EEA07043FD7EBE2CD6B10F0CC629A933F72A936AE9CECD3A7BA1E9183161E8B12396321826D0DD4AE5A415BD487BF78046302266AB84FFAFA49808E8650A261168DAB66E9A44ABC6234349BA0E6A3C14A6798DF4FA1164151636C6857F9FA937BE857B3130A80421759A4844491D24089F4F3AE9A4CEEF9D02C2C4DE795031D3CBFF520372F9DC884924C6C1191DAF0C9DF3FCF1F9FAB43F5A6737E75806F5D33839AC234D7762B16C7D04494ABD3692ABCBCF9203D7D034C9F3A0DD51790E90DBF1966C7BEFD7476754999D5CAA20C297A250B8D8A85D7B6E85302FC74F96EFEE71F9BC18C70EDEC32FEEB9645788C18B61263E7A13EBE79F77A763545E524FD891BE662F77630A2C0C3FCE9A379FAE5033CFB4A2D750D3DB2F53D274B61C6D891FCE7976FA0BEA59DBD871AD976B09BDF3DF2AA5C818C2B31F8E9672FC2AB4425033C6A6B0CC47421F62108D1F49A0A77DEBF922DFB06C82DCBE77D9F7D2FBAD5C3BCCA4CE6570D23CD487EA367BE721B8AA05383F8B737404B94B230577DF9AC35AEC8615375F471EFC758F84330A4B9CF39DA121CDB63045611BBA92CFBEFA7597FB8971B2F9AC19289A57884909088EC84087C5F9CCD4DBD0C38BE44EE53148A34B7927F963779C893A0EC1B46C6295C83CBE54E04B642FBBABF87FD2F3F4B634F8C404E29237C119C50A72CD2093124AF1D63E98431CCAD2AC650A2A86A3A8A1143D1FD2CAFED655B731F1F5F308A919982C29BC513B5ADFC62CD11BAE33E6CD18227625A278E27DAC7DC0A0F3FB8793195E996A4E1B53B5E8E76F533AE20409E5F45B7350EC72CAEFBE1636CAE07DD037346A4F3A1D963983ADC4FBA1694EEEA82DF7CA4B5875D473B28ABA8E6A117B7B2727B1D39E97E0C4F1AF54DED8C294EE3D6F72C24CF17A73CDB4B71769A8C5B35C5A47140E7377FDFCA63EBF69393E1E5E60BCFE3AAF963C8D2FBA51B8A62E95214E95057905F3DBA96155B9BB1AC00A61964E1A4726EB9741607F7ECE4F26553F1797C7875039FCFCB532BB7523DA18AA757EEE0378FBC420C956CC564D9CC6A6EBC6402697AD89DF01D8D577775F1DDDFAF268AA0D72968899E7D6F96C265D72C65D4A842E6566633AB220BBFD01E7DAD77CAE9D3A087687629BC276297B73F408BC59D705BD9F28BB3CA8B56BCD9E8D3BF843EF9936048F5DB73BA09CD037773787047335FFCE32AD233F3F8E0B249D4148BE5BA483A2385FCEB7A4DF6B485E8B184D3B72AA351B9B41E243F7A0EF0FAD8FD0FEAEC7ECB6372A2E7ADEB08120F0539B4FE799A3BFAF0650EA354741586BB880B3D0FD362644136174EAAA128DDC0706CB20C0B47881EE91E36368768337D2CAACC23D788E2D321AC66F08FBDDD3CB6BD9EFA3E9794A863727E652E9F583286C9C5E2FBB4A522DD4BFB1AA4FCE9F935C578B0112CE95575DDDCFC3311D10710A2C8AA196252B6C2B7AE9ACE84121DCD51A52A5E7BC8A6A12FC60B3B1A7878F52EAE5A3A93922C91065058B7E728AF6CDBCBF88A3CCE1F9DC794CA02A65697A2A971A9B35CD7EDF0ADBB9EA77DC0E413574E67D9B4110444641B15AB0BE15C28F44C5C9EF3DEC620BF7F62232B77F710313572FD0A8134132516E373EF5F2A0D6DD3FC5EE6CE3A8F7FFFDE9F30B27289C4140E37764BB1A425138BB866F1388AB314B7655EB1885906CB5F69E2F7CB6B31142D61E61BC7D162CC59369B050B27C962ED053585E407C4F3255B57DEF2F77DAA0F0C45D0A90DE53B02A0E33B7F4FFC95DBCE8EDBCAA07153B22A31E6DEE636B088A68773BDC93E0893EE98CA771FDBC8BDAB0FB06CE604AE59300AD556E58B2596E0160607BB0758DF2C981E82CD90C80ACA94897B91C9C0F75C01F5095A1C27199753A5375E0FD03656344CFDA697686CE9262D9045A13A801DEEC58E9B882EF7B4DC128A0B8B49D354B2149B1B2666CA8611A17571B027CA9A86089606534B73995F16C0ABEB4455832D2D415E3ADC230B6239693AD74C1FCEA83CD1AA0DA6EEE5F7ABF672DFF39BF8EA3573B9694E952B9FA9EAEC6AECE4DFEFDBC8CB7561FA2DB79839C21FE17B37CC65D230034D50E2148596A8CEFE8E28772CDF40477F9C4B678D61E7FE2384A336572F9AC6531B76B3B7AE91F74C2D614665010B278E24CD7079CB5DA6CE1D8F6F24666B7CF9FA79E47B5CFD6BD9491917290D211AE5DA5B39AA8F836D11BE73CF8B6CAFEFC134C554E29095A631AA3483E68E7EE98358599ECFD6DDF5D2E24AE83AA71BB0786201375D3C8EA24C1D251E952DE962C68AC40D1E79E930F7AE3C8221532F82561761FC946A165FBE80BC0C8D778FCA6074BED0E410359204B3E52CBD0343009DDA40BE2300DA1968C2AABD9FF8969FE384DA52BBF354F65214D482C918F3BF8F5ABEE88C2BD7A99C529AC83A50DB19E44F6BF6B2B539C284AA32A6541692A9DBB23025E0376239ECEB8AD21C84B6B045548ACF27D1F9383CBABD226717A64F06BEAF3D432AF9F04482072716A163F7461A1ADBF1682A39561F56A44F1609459EB6C75F424CCF92CC429F15E3474BCAA84C17195D13212BB5B3C3646D5D177E436771753E05191E46E606500D0F4121066483DF6790E773D00C95DA96309B8EB4D113B649F368BC6BCA084617F82523428826C5559DDD0D5DACAE6D6563FD00B190C9F85C87C5E38A18E613EC606121A5D218843DED26773CB15136B59C5796C3DA5D4770743F5FBB6E012B36EC62FDDEA35C33633853CBB35838A182748F8056240FFB6073377B1B7A8888D94541E689FB4C15331AA73C5767CED8620A33F4447D42E795DD0DD43674D3153668EE8971B0BE959E601F31D3E5410BE794CC4C3F63CA0BC84933C8F6D94CAAC8A6B2240BC7162C14C1F470B08496091ABBEAFBF9C3937B39DC1AC67234662CAC61EACCB10CCBF731BED0C792EA3CBC32684EEA20A6F2ADA6F2940F7512A6364AEF901487C4207380F8DA7F23BEFD2ED735E22C6E5AE5BB30E67F0F2567F4B90769D970E76A01B7854DBEBB7C078F6C6EE0F27913B9A0A648AAA3894D134A632874871D6A7B22ECEF8D1376C402DD7D890699AF9CC591383B873A06E62EC7102D16C269D8CBE1C30DC4234102F17EE2E120038E418FAF90605A29961648A4794CDE5D6071F3E41C0A3C31544DC1D0BC7446743635F7B07CDB61AA8665F3E98BA793A65B44E351F27C06217442A6437E513E7F7E7E27B58D1DDC306F1CB347E690EE111AA442AED32379CBE91E4D1AA58A16FC97F6B4D2D33640558E8D6345319C38A6307045A533AA53D71DE70FCF6F6757733F372F988A6599042351B2337D3CFDEA5EC2C120EF9A50C0B491F9CC195D86CF10B436712BAE13CAAA1D6DFCF0B19DB48685C1208445F389A331CC30B971C1486EBD681C9A1996E02A3C62510C229642E780C9C1967EDAFB061818084B100FF87CE465FB18939F85DF2B0AA371B90A911DE08A228D07C26614BFC783138F108ED9BCB8BD9FBFAEDC415A410157DE742139E90A63867958505940AE57979DED6E7AE30C12CE27796C8622E8D4DEA57744049DBC55A7EF08D1BFBD0BA7E7406A779FEA5E7A1A5AE5253292563286A7FAA9D3DB4FA639C432D835FCBCEFD5437CE58157C113E09B379DCF884C11BDB90C32B154B6559581B8C2FAC630077A84FB8AC877B8CB51D169265E4C378A3E45DAE3B5B98A37CB5DBCE95D25E0571EC7CD560FEE377B5DA4EDD878CC20FECE23D4D6EE271AECC71B0F4AFFBD1E239B604629713DC395B694DAC336B9D16E3E7A5E018BAB33F0383174CD902245225ABE6B631B475BDBB960D22899571D0845B87CD638F6B7B4F2FC8E064616A5130C4679EF828954E679F02B96549CD3FD016A5B43FC7DCD2E164FA96478718EF4F07BFED53AD22C8B09855E29D4A4C6632852AE53A725285AF11D7637F7F397976AC9C9CA627C45812C806DDEDF42381C65414D21D3CAFCCA875F6A0000200049444154D4146532B62C0F552810A1CB083A62DA3CB1B589FF79760F41D1FD27F929315735CF8C73614D163FF9E07CC9F397D90E6187620B7D0C370A8F0B072BD1D7628A5597A06288261221702464EAA2529343C4FB62D2198819BCB2A389FDF50D4C1F3B9AD1A5D982C7C18A4D4D6CACEF66CA82998C189EC398021FF347E54870D6456BBE6884392169F6A60F404A3B0C01744AC3F4CE28121EBF550767A099C8DD95A9DDFD5BD94BF3A0F80BD0465D25E549CFE9964031F19E09AD88DD1D41EE786E272FECEB65CEB8E15C3E6F1C99822B6B09BA9410CB51080B011A47A73B62B3BFBD8FDA6E8BB8E6435544AF9BCB99960D0909E0948BD6415A20C7EE47EC7AAC16741C4E8F81AC8BF927D94EFCE1A9922AF2F0426744008CA390AEC49990A7D077643FAB366C23DAD7836E866857B308665660EA4238CAA5A7C989C7B1B961B8CDD563D2C9D54CC92BD6849091F85B35888A3CAEAA60A4A511B5BCF4471D3C5E0D5553C9F4E86479E368B649567AA6E4302B9AC3917E87BB5EDCCF337B3AE9300DD20CB7655B48720A10152DDD3E254A45BACD6D978E47D38504A949D4D4D8D1D84F6B4F98E2D20AB6377473A4AD13D37298515DCEC8C2743A5B1A29CA30185F9EED1E5351082B69DCF55C2D2B76B611C64758E42824BFC3BD3F81BA996A844F2CA9E2BDF3CA5D0EB5E2A7BD3F427A204D4E2A829E18B54C99BD127C7291AF76A406B7C0F0B8D431C112A93085159B0EF3D8C626BAA37EE296894F084759114A0AB3587AF1F9A4E767621831DE35AE8011593E3C862205934EE66B79B69EFB21804E6D24DF511174F296C37764415C986D9E9BCDFFE9DE7356341CBC9014FA0CB26D4251A90B9A5CFAFDA7D8DB1163FEC4726E3C7F02E542F75D2C7E85672171745100D20CA923BDAEB18FFAEE103D118798EA939AC2C20249B6054B6C160B5797EA762CCE1D146527E3DF63B07B2C8F9DA05BC976E6C4F84ADEDDA920F9B5C0ADCADCB1BC3347654C86C38C620F3BB7EEE4E9B55B88F77649879596CCD144FD0538F2DE124D2662668846B9E7DD65142903EE1D081B2BAF079F306E151D78BAA01F0A4710074315943701B6A02B068E6A6328BA04660C1D5DD389695E7EFCEC3E7EBBA681A8A6BB4A4A22272CD6F6B2A53E21391A47D2F41EFCF044F2552104EB8AFD47F1B0E7681F754D1D8C18399CF4DC6C29AFDAD3D24A5D7B3799012F3347E6C922A5AB8C67D318D4F9C6BD6BD9DBEF47F3A4C973298EF826458DC1062BCEE4020FFFEF9A198CCAB5D17583C35D2A3F796015F9F9994CAB1AC6F8E24C86650A8EB7489988DCB9473E070290AD81303ED5D5CF8E2906CBB7B670DFAA8344A30AC2E550083269AAC9D20B6670C1D29968911E46E76BCCAF2A244D17CE07EE126D08A0CF0D7EBC95A3BE23013ABEED37986BBE7A56DCBF4F36985AF9628CA5BF41C9283FEBCD2C2766FA5C80164B5E1109FF78C50EFE7B85D054B09834A6882F5C3D9780EA6A31A8426847A2AAE0442B44342FDDD138477B821CEA8AD2167288383A9668C490FA0D83531183EE72702A24991E49C2EF2007E7E3B44037BF795CBC6910501FB3FF4E08F9C8E388285E38975AE4191A17946A940614D6ACDFC1332FBD2AC5FC4504DA523417E704654121D0A3A0C5C3FCED8A5274332A2DAD36B705D9D212625A4511938BBC147A44BC2D96F526AA21C0589334324DF5A0796C74250D29DA6608FB409D305EBEF5C45EEEDBD28EA28B494380931B891E97DE76530B7A2CC27D375452E2890B0F1239430989D2B8E1A52B14A7F650832C3C8AF1280C2894161753989381CF11EC89648C6C115132F8FB9666EE5F7B884E4B70B53D9229A1D9624524581C312695A6F3B9774F664C81876D47BAF8CBCA5DBC7A6440AAFC79549B456372B9EDFAA99236D71F5359B7A785BD4DFDB4076DB29508375E38950C8F28FEA9BC54DBC3EF9FDD4D5F5095FA2E79393E162D9ECC94A955F8D52863727D4C2DCF255DF88539A2BE212E36B9DA7A2B7092FABE4311746A63F58E0468612E2B5C57ACA32F20F2D2677D13BCE3A219E8D3BF22859594AC9167FD1489B0D1D581932FB72515CE1EDF58C7832FEFA739AC525494CF799545E405340A33D3F07B451E5380AF800F055B1380ACD21D3269E9138A78367D518B7E11652584E8E57906119B4F88AA05409F84AF775CA73D11469F346F9DA0FC258491E4491272CAEE2464519CA631BF340D3D1E65C5CB5B7876CD3ACC8101C29E2C7A8AA6268A820298937DE3AAA03AF0E9C9B9E4F80DEA7BC2BCD2D0CBBE9E18C3FC1E2616A5B16C7436E3730C8A7D22B72CF2B57EBA438E144DB2359B989A260B80938B3DA4193AAAE6E53F56ECE7771B9A712495528094183F916A107F89EB762DA14A7D0EBF7E572901CD211A17CD1E96648EC8A2AE2AF8E85E4C61AF251CC0FD0A9A484158368EAA21F487064261390C1E7F169B5B4DEE5973504E9E8E88DC45FED889E3885CB4580D1065CAF04CC60F2F62F5F6831C6A17FB098A1F98164C2A54F8DDAD33885926AF1EEEE1CE277772B0DDC4527D646A11DE3DAB9205E3F2C9F2C0C6035DFC6D733326E9548ECC64D6CC7154550C23DB30A9CED1A9CA4F27DD10ADF762B5F6BA769473F26C0F01746AC3FACE046871EF5614C18F16407DCE3691DFADB9C12D1EA6159C3D86C7A0303A19C8897CA8284E25E3B0B547BAF9DC9FD7B1B7A51F5F9A972BE78E65D6E852B2035E3CAA852D8A44B2582872D4C95672C1A5D6B045AAE384944432E9EDE61D9331B004E76301F16BA87BAF1BD4443130E1EC21AF3BA1017DBCC894B0EB1201AE9B00478D3BF25A1F79660D2B5F5E4FD849235A301AD3275AB593A98D44449B3CA7084745514C74094AB1204935702B66A14EBEB47024378ECD96D6547511953FBF7A941DAD3199EEE9366D0CC7E2F6EBA67181D087F6387CEFF97DFC6A6D2B66427848E6BCDD3CD0B19C304E0CC30AF3AD459514A42B1C68EA40B51DE65764135005DF435C86681CB2E404105704DF5A90EF2CDA6206AF369AACDFD784C7D018969FCBB3DBEAE9890B0EBB2601DD4D1CB94C0D4D5A6AB98029FE3BD68494982CC43EA3B21C7EFD91D972E2F8C3CAFD3CB4B10D5BF54A9689E81ED4E241AA720DC60ECF278443766139E3C6955298E3274B8B5396E3A7BA2040814CBDB88EEC82F5214B828E98E8CFDEE37CB2F76F08A05343A5772E408BF7B57E25B1A7DF7F760C664F319E4A7A09DAE86BD0C77FD0A5E1C997FCEC6EC7F2C489B484789D43A6C5AA836DFC7D733D2FEC6E2564AB8CA8C863D2F062C616E75051E095CD0AB2FC2F8B72E2D51B649825C133F912BA12A0C9A8DDFD3B193D275CA6A573B72B24F446EFAE5BB4728125A91572D29AA23CBD0B82966D72EFDF9EE5C557B713CDAA20965526B5AF4FD85E97E23E36750DAA6A0A7B9A7E3E35B3840F4CCAC2346D9E3C12E4AEF54DB4C404854E3ACBCA22E5C46C9B5BE7D7505D94C15D6B0FF0D8AEDE04C73C419191E74B8C91046B1182C7A9CED2C9F4281CEDE8265DD3B86E5C0E73CBBDA489DCBE6AB85DE58A22036FDD8EC963ACAA1BE0DE2DFD34F40BB08DA31BC2515C914D311298ED845C68623674D34F8A9B6E11558664DA494CB4D24B50919CEE5B6697E231749EDBD9C6B6237D325217CB2D2B1E45D72C0A32BD9C377638D3A68EA17098900A35199EA95095EBA338C38F5F7F2DBFF95851E1EC3EC02739DA1040A736C4EF688076822DC437FC80F8EE3F21D21EE76C33D2D14AE7635CF04B372FFD4FD844E55ED0ED9AFAA3BC72A89D5F3EB7978DF59D6478BC9415E673D99C6ACAF3B2C8F31B3267E936C02473ACAFAFD00F8A9BDDC0F5358A652E5E253C0693E09EC88D1C67D489A324402D21D2EF8275721B4CBB3B9EB7B66C9BDFDEF70F5EAE6DC4CCAF266E641D97C23BF6E1C1087D62A63ED147E99E2432C08D130BF8C49C323AFA42FC6A7D13AB1A22C445FA22999B7104788629CF36C8494BA3AE2B4297C0D2E48A4102B2E0AF25E7AC44342DA9273109D46267BFE2704985C10D13F3C822445B44677D53AF34899D9067303ADF900C9A27F60EF0A76DFD745BE2DF9614E777437E573A5644FA72D844ADE1585F51621CA59F43625A4C5C9334E1722C32B430AA6A108C2239CD8E6D636830B22C8BCA91C58CAE2CA6B424879C804A40B1284833985C964196474BF262FED708F343009D1A48BCA3015A1A69069BB00EFC9DF8965FE2F49D3D8BACD70DAF28CE154E43CD1D833EF5F328E75CF43F69122AA854710EB60DD0D617A1351467435D072B763648C3509FE1252DDDCBB0EC348A7202146405282BC8425745AE34017449C3D1632965F7D8B2A162502419883631A3F1E7F8E35D3C31EA77123864C4EC724D8E83B350AB4BFC549CE38446C6041089F1932C0C79009BE756ADA525A262F9B2254809B6810BED8949258995493A59E2E7C9CE4B37E214A4064B6A550CCFD088991607FB1DFAE309EC4D9C4B90142CC1F1156A88526E5314C404748AF4C2F1CECBE48426D4E9A45D97B85E995E71ADA544AE789861511550284C536818B0D8D32BEA9FC262CB6464965772940FF798D4851462028005BF5D887927274BD16E243D055D435A29C1EA0EEAB1BFE5E429CF271644E25BB1F0192AB99959E4650618599E4F69491E693E8F6C7F0F786DF2B2FC146779A54468815FC3A722E975018FB04E73574567E288921ABC9C7AAF21804E6D04DFD9009D1C837898F8E69F13DFFCDF08C3D973BAA9064A7A29FAE48FA14F3D87F9EF647E22F1A225B156D83BF5454C56EE6FE7E57D4DBC7AB0833D4D4182111BC3D0D07D3A395969927D20013A918E108713AD2D2E68BB9B649008A8B51D2EF0EFE08B590F5365EF256CE92CEDBA936E2B4D5E45F233C9683919272763E7C1491141B2139B889F05DB4D80A3E5C4B96C5A19934797A32B22FF291201EE5E492A4572A290E792AA6BC92B4C80996B9AE2325964938F9B6291FA2512DC0400BB91B1C8F10A3D1301B871D13822D3406E94ECA6710605CFC9F191054357E3C2E594BB1387885A85B9AA6EBBCC0E29572A24525553E0289663B8632C9833096D8D586212702738C16116809FE430278E993C76C22DE518688B2F58B1C8C90E503AAC8874BF419A17B94AD245D38F62519CA35390E1931D94E9BA60B124925B623C4E103C7AB384D5B97B5386003AB5B1FDD70068F9D2DA44EF9F8DDDBE3DB59139C3BD04481BE7FF04ADF232295F7AB6373766158821F29DE2E5B66405DEC56B0122AA9070A7251C67D59E4656ED6E626FF3004D5DFD0C44E238B228E482B0CC838A3A9BEA46A14923EE2408E66B7DFC34EF4EE67977CA1F0985B5C7C3F3F88F9E0F21F806F2B3C97487B48B7217EF026865DC294E25FF08817B910756E4D25FF8FF698235615B7CE0C209D494E5488A9CD09493544089D1C7F3A4121A251E27D20F12705C6790E426582BF26A1202F92E8F595C872D8B80627F01D0925F2D8B716E87A2EB66ED46ED525AFF58E2DC1D4B39A5481D6B710DEED8B9B9E204584BE016002D605A3407895A847B9D72A2905720181F6EB47CFC04AA7B4F897B914D408955CBF1C9CFDD475CA725CF6B4BA716C7114A243601CD20434CBC3E4DF2AD856FA084643131C9F11F5C5F48145C4FD08C3D6995E06C3FB2271C6F08A0531BDE7F1D8016E9436134BBE72F38C1E604952AB5413AEDBD743F5AD565E8533E235BC4153DE04A979E35A10C1798DC629B28048AB84E808D6B3C2A5F4CA1D0868268DBE989DA74F447E80D9928826A702CA79C04D004208ACF5911887693D6B38BC2DD3F23D0B951024372B38D4CBAC67E9C9E9A8FA37A335165C12B015C09F84970014EB8DD2458BBD8EB829EAA3804445E54152C08F77E04582663E82458CADF25532E890B3996914844FEC7FCC513FF76FF72514F46D072C044A12DB9424870B49379F564149E484027825E773293BF4BD8DF0E5A7D24AF4174F3090075F984EEA4E0AE5092D1BDDBAA2E521C6E047EEC72DC887FD00FA4A8913CDF71F094BF561DA9E1E15515C95B1634BF0C8F815F97EE88C70EE84273227F7D02FEBEBE187CDACFF7197C7008A0531BBC7F298096AF8E1924F6C40DD80D2F9EB34696930DBD225C98ABDF835E733D4A76154A7A596ADFD05BD86B70F34812CC8EBD9BC9B6EE24C56E70C13E991F112F756C00A7FF28D6E127A4F8D49B6D6AC95C8C853F411D2678CB2772AA8F058A83EB7BAF39E071B878839D5E7B11830027195F9F78EF83412D71DC934C8A278B1B8F657812BF749B24075DDBF165CA2016CCB1B03771A583417070C224F9EBD74A779EB84F72184FBCEDE43113CC9CC4BCE3AE33DCEB9314C91312FEC78BC1C99F9FCBEEC0377B5606FF7E08A0531BAD7F39809620DD7F14F385CF611D7E32B5513A8B7B295278E95234D1E4925DFD4F310348468D6E92F5D8EBFCBABB72C21DC477FD1167DF23D8ED5B53BB6B45C558F07DF4C99F76696C12CF12803128FA3BE5C14EB9BA3E19609FC9523CC5E3BDD16E8327A093D8CAA43EC5B8D3CAB1FD4F2264754286E558642C47F778F35062F5343861F2465F9ADB8872266398DA2391CA5E43009DCA28BD83E44653BBDDC45EA230D3B08AE8DF2F3FEBD2A4295D87607C94CC412D5B885A3453B23F8410D3B9DA8E4764C948EDC497546868DBCDEBB18FBE407CE7DD6F7965A18DBA127DEE7FA266559EF5F4CDC9A3C8D31DA9D742E85906AB5321742A1E6129CE1F8366D8B33B34A73BA4A7F9B921804E6DE0FE252368198744BAB0F63D2C41C9AA7B4A0AF4FCD337CD8B923902357F028A2FD73DBDC85B8FBD113577EC391364B2F63D84D3B91327DCE946BCE14EECF66D38FDF5098EEF5B1C094F065AE902B45157A38DBE4EB62E27530F291D2965704AE968A9EF94F2798FEF783C33742A707F83387A505A69F05E838F3438F374F21B1994BE4970CEFFAF44C5A90FFC90607FAA63F52F0BD02E3259523BDADCF853ACFD8F9C5567F054BF80D7EDA7EAAEBE477A99747351726BE41F35BBF2F40C6CC53DF61DC16EDF21EFD56ED980DDB60527DC7ED69B770473C5B3E47F50472C3BEDDB1FFAE0BFC6080C45D0A97DCFFFDA002D41DA96AC8ED88A0FB985C3FF2B9BD075105AC8423E53F7CBBFD5FC4912B41105C761534E79A52212B69BD7E2F4D563F71C74279E7848AE1284F38C6BB1716E3625B302DF07F79E9B830F1DF51D330243009DDA573904D089718ABFFA23E21B7F8213EB4B6DE4FE37F63AE696224AF66FA0F9215B82651FE03905E3530D81EFD6032819679FA5F2BF31E443E73C37233004D0A98DEB1040BF669CE23BEE26FEF23771A23DA98DE0D05EAF1F01D5409F702BC6C21F82E61B1AA1A11178DD080C01746A0FC510409F649CEC96F5C41E7D979B0E18DA4E6B04145F0EFA8CAFA24FFC1818C2B6EA9FBF59B643DC168D1DAA94003D934D3492C4E289261551CBD514A96732B49DDE080C01746AE33604D0271B27A125BDE107D81D3BB17BF6E3F4EC97EDC843DB5B1B0125AB1263C10FD0AA2E3FF6C14387EBC98AB69ED095F86647D5F38713C82B427B0340EC0BC739DA1922337494EC78171E3B422866138C5964FB7514C34B9BA78C3E238FD2FFDFDE79874759657FFC3BBD646632994C7A01124A48082194109080D2150404042C14CBEAAA587077ADBBBABA826B57102B82B00A48D31510842010405A2091165A422009E965D22799F27BEE1D3229A4CC40767F3BCEB9CFC31F64EEFBBEF77ECEE4FBDE9C7BCEB9DE4AE855D2361FCBC2B8AF96D5A0C4500DAFFA0278D7E5C164AA4769553D98E8B32066AD4202B15C8962893F2A255A786A5408D0CADB15EDBCB25A949596C2B7F68AFDD9F54229AA852A54893D11E4EB05AD87C491E871FEE2C92BAD41655909BC4C8590F0D2A6B65629D2A0D623005DFD34908AED074CF2CFCE67E6C2B3361712763C582BAD9E9D1A2E54A256A28140AE81BF56CED3C83B3B7C9A04BAA36FBDED7312E8F638996A60CEDA03D3E185B0E4273B46947A351290282119F81788E35EE43FAB335B7170E90BF0339CB295D874B05D89B80FEA4193D12F4405590BC13199ADC828A8C4F9F42C18D20EA07BE15E04D4654165A96876F71AA102E9CABEC854F482266A38A68CECDFE6D37F39958FA28C53C0A523E85A9386D09AF3FCF4F096AD4AA842A6220279F2AE30870CC49851B7C0DBD3A3CDFBAE4ABA0C8F946F106DD867EF532354C220D1A350160CF49D8C4923A2F98ABFA3565A69C4D65D87E075612B826B2F4261A9B65F522809C0C9C049881E320203BA6979E53BD6D8BB65C7D2D711547A1C326BEB61A546811CE5622D0CF24094EAA2A1098F41CFB01084F9A9788A7967351268C748924077C4C96AE6F53B4C47DEB41D9FF51F8C80E86828AEF4B940E10D51C47D1047CD83C03B920F3DCF6084E4E33110189D731D6DF2BA1FE74326E391E18108F751345BCD5DB86AC06F4989D067EF4158D549A8CCED6FF2D60AE4C8D4F483E8AE45181C76EDD4962660734B6B70F8EB7FA24BED3904D56640CC0AF577D0D8AA334F1A8A8C417FC290C1B1F0F7644767356F6C85FFF9F65398716201D4E6EB2B2AB2B322777A4EC1A8079E819F57DB22DF70D7E2A2221CFEFA6D0C2EDFD5E2741C7698B70807D4637038F47E4C1E188CF8300DBFACB0A20E82256321ACED78239C15912A11FBE0AA220CF921A33164D46884FAA83B42E1F0E724D08EA12281768093B5B694AFA0CDA757C29CFEC38D257338F09CDF4B17A1361CA2B89720EA320602A5AF7D5A978A6AA0F97C9CD302BDD1EB7EFCAABD1DB3E2FC30BAB797DDD551536F41C6A144089396426FBCCA8BE13BD2D89FF04B23BFC0D8984024F4D4DAFDD317F3CA71E8781AC61C7E1A925656CC1DDD3B4D198B63114F60FAAD7D10A86DEE42C929356243E231CC38FD17C82CAD1F1E512AF2C6D6B88F317B4418BC942D4E9469F27096CC62C8BA00C3F2475A157B765CD651D52DD8E03517A3FA06E2DEC17EFCEA1BE1CF84BA48E2879CB8673068F8ADD028DA1E57477C9A7E4E02ED182D1268C738D9925A6A8AF83FD389CF613EBD0230B7EEC773F496BFB77E028907C403FFCCB30979981D3F84B5B1B5148862B10F1235139121EBD92E0A83480B9354831903FD3026D226D0C51546ECDAB50FFD2E7E05EFF2F3CD56917BD4E391EC3194FB724D1041CC4E3C178830B16C3D226A4FA15628C7AB418BE1A5D5E0EE81BE18D855836DC7B3E199BC0CFE4547A133E6DAC7735AD10FEC7E9542352FEBDA508E55663522ACF63CA694ADB6F735438412890F4E77BB0FA3A7CD8246D1180A995D5A8B4D89C7703717689B7B81CD3B47DA0509153BF9FF59E1A3D7821743E71F88BF4DECDAA6CF9DFDD2AEFD2111779E64AE232B7E55DDC67DCA31D547B82BA641A0D77BCDC56DD101981DEFDFAA40B7E42FB318799D0FEFFA224C2B5D05B5A571A57D41D51FFB42E6213CA217EE8ABDF9B20424D08EFDF693403BC6A9792F530D2C3907507FE0A5FF5A7DE91B19E67FF31A61403C24C31642E837B0CD14F596029D2F0904735F9C91F7ED70A8CC8FFADCF850F4F453C26CB62231E512EAF6AFC42D255B9A89F3173ECFE2A22C02CCB7CB1ADB57948A84A8B758A1AC37A0A7F10C2697ADC622FFB721947BE0AE583D8234429CDDBB0D83339743632AB18FA54E20E52F90ED9E77D9CF6254B033A57855552B826AD331B5601982EB9A9F1C5F2CF5C78E5BBEC41F4704DA45B635813EA388C125594F4C285B6F7FE62B811FC1ACF6C5A3C383B8CFBDB57631BF0A9BBFDF8CB957DFE61F3386CCE73EA2FC67EE5B7654A09BF2679B89CCBDCF8ECE62FB03D1352978A8E843FBE3D94A7AA9DF8BB8AAE983CF67F7EAD05E1D752081EE8890ED731268C738B5DA8B1519321D5E04135F4DDB0E0875AF2600441288639FE22B6781EC7A9F6E531E6D09F4798F180C0BF744400BB740D36BBBFB2810EEABE41B55ECC081CFD6ECC4942B1F40672EB2773309C4F86BE0125489D43C9A22CC478101A16AF86924A8309A7128C380ABA5B5A8AFAD42B54506854C8229B17AD4D75643B3E72D44571EB66F5E32713EE431025BB577A346A4844A2A420F3F056EEFE3CD43EC58D8DD85DC4A9C3B9284D1856B115A77C93E0EF67278ABC797B86B803F6E8BF0E23F6F4BA0D3E47D31D1B0DEBEAADEE639153BB49331384C87C76E0B6A35A263E5AE73084E5E82D8AA5FED02ED61A9C0AD3721D07D823C302AC20B4595F53C9C30EBEC09DC9BF697662FBF75BA0770C0E356AC7A38FAA6A33A48A01D530A1268C738B5D9CB5A990373DAB7305FDEC153C6D941B53CB5FAF7DC58BD105D044F4117068F80B8EF23FC40828E5A7B02FDCCA860C4863AB609F5536A1EAAF72EC7C8E20D4D56BB32EC578FC216ED0C683C9898DBC4B4A79FA2D9B0982F78EB89627E502C2B783F2E4A07D1A58350EE5F0C7DDD55DE97B91AD8EA7699FE2928140A84EAE4981AAB474F7F8F66F1D4CCDD71E862092EEF5A8DA1F91BEC1B94B54205FE11F43EC24303F05042203FE5A42D81FE453D01B71B3622CC6873D3303FF412FF9720D387E0A9512108D2367713B150BDE5EB133137E79F3C72833DEBDFDA7BA033156278C5CE1B5E410F09D360F6107F782A6CA7FFD4E45F42D6E78F416F2AB0F3DBAF1A8DEFBDEEC59B3322E1EFD976986247DF037EFF9A1AAC5A95823F3E7694775FBD7A14A64FEB0589A4737CDC8E8CC115FA904077A2952CC5A7613EBB9657C863F530D80AFB77D54452B05A1BAC0E8864E45208A48E096A0383CE12E867971DC0F3597F6AB69197A28CC78F5E335129F7C313B705A37F68EBEE8186B1B07866A3C9761C57F5B67721485E6B375595508D0FFDFF863C712017F0FBE3FDDB4C74A93359F06372367CF6BD8DA88A43EC5447D40964F8D26701323CA23131468FA9B13EC829BBDE07CD5E02ABF44F20BE722FC618FE0D0F8B2DBAE5B06A3836783F88F89E7AFC2121D03E2E16FBFCD1D6B318F9DB2BE85297CE7F7E5C19CF5F4A432B7F41424562A7097459411E5296BF8A986A9B80B296AA8CC35ADD83981C1F8E097DBD6FEAAB4D02ED183E1268C73839D58B9D7BC80A2F99CEFC0B5656AC88152A72F126F0898128E4560883D9BF040824ED0B606BD36D4FA01F1A16803E81CDC3CB989B4229634761358FBFFDE0D335989BFB8EFD116CC5FB8DF7A348560E45989F075E696783ADE5B8AE9619B940EBD236DA3FCA90F5C227BE7F419D508E3BFA78DBA320DA32E1EED3F928DFB302830A37436EA9814920C166ED0CECD38C45422F3DEE89F3454955FD759B844CA057FA3C8900731EA6172D47B031833FC220F2C23BFE6FA0778F103C39B2B1A6C9A5A26AACDBB20F0F5DFA2B77C5B0D573A27A029234E331CEF0038675A24057E667E1DCB23FA39BF1827DDA49EAB1F8413B0B63FB0674C8A4A3AF3B097447846C9F93403BC6C9F95EA66A58F28EF2D29E96AB0760C9DE0FABB1D4F9FBFC3F5F2150FA4018780B449173210ABDEDA66A6BB414E832910E3F7B4EC119652C220294D0B5082D1388C4080BF641BFAE5ECD328D535614000018B149444154E27E78F7650C2FDF6627C3922B56EA1FC329457FCC1FC9E27E3D1DA6969653C105BADB95CDF66B0EA846F28D37AB58863BFB7A63DA80C650C1D66E7CEC5219D2776F40FC956FA0B294DBE29055A3B0D96B167A87EA704F9C1F3F65A66514071768DFA721170B3035FF0B44571E811066B0B8EAF55EF36089BA1D4F8DE96A7FE47707B3E0F9EB12C41912F9CF7224A1D8A09B831C59379B4097778E8B83B96E8A2F9F43EDD70F43696974D7ADD13D8C43AA044C1BE08F293719C94102EDD8579404DA314E37DECB6C84B5221B564306ACA61AA09E09F76198D3BE81B5AE79B6DB8D3FA4F3AE64BE65E657E6E54CE53AB0D03996B2CD6A3D4374737EC79602CD36F58AC5BE2817B15864C1751B4F15224F9CF31D8DA8F8040CEEEEC5A331583BB8682E7AD59EB44F3A57128CF5BAB9B828EB85A5F745D8FDA88E50399651C2053A2A7FBBBDFB6A2E44C3E1AD9261D6205F0C096F5FF02F1454E3D09EBDB8E5EC07D09A8AF849E1A714B158A97F027EDE6ADC3FD81F5AA5A855815EE5FB34A2BAE8A02E3A8D11E73FE469DBEC2F824BB21ED81FFE38C60E1F80C86B7F59FCB8760D62CE7DC1639FD9EA394935063B3577422E93624CE9460C2EDD71C32E0E1631323652875A9305E72FE5A14FD60674496FF4F15F968563ADEE21E44842F0F74961E8EEDBDCB7EF08EBA67D48A01D234602ED18A7CEEBC5E2A98D06580D9760C93F064BD62E5872F6DB4F37E9BC07397727A1771F08BB8E85387236A0F4B3F997859DBB61E36CA2044FDCD04E87A8CF38CC880B828FDA369E33AF4F84BFC9B6A1C7DA39791FB0641626D45FCEE905A5B49D52AC2DB01CB958CC05BA6FE1CFF64F3EF57D1E698A6874F5566076BC1F7AF9B75FEC29D760C44F49BF21E1B7D7A0AFCBE5029B268FC6329F67E0A154F2CDB7602F699B023D2E360825A5E5884A7E13BDAA52F969E02C1264B7D714486F9983E9037CF90A3CFBCBC7A1CA39C237130BC57EDCCF9D270902D34AB6613AA0D8B9303BF617CC2ECD44B048120F99107E0A337415E98828DE037FE365EEAE6968EB74F370C86338EA0552AC7CB0F74D178A228176ECF79304DA314EFF815E565B46A2B90E96A2933067ED8535FF082C45A7612DCFFC0F3CAFC52DD90100BEFD210A1D0551F72910A8436C2BE4FF6079506705BA214E57DA7D08EE8BF747E0B588868BAF8D6D165EC7123E98406749BBE18B3911372DD05FEBE723C5231E11FE4ACC19128010DDF5A9DB4D695E2EAEC59EA443B8E5D45BD0D5E7F31574B2C72D60A22653D8043A54276B53A06FEF1F0C9D4288EC7D9B303A7BD9B5CD4F014E7A0CC2B1FE2FE39E41BEA8349AA15AF3006425369FF0554908DEF37F0D66910C7E0A2B4614AE775AA0D98B84F9CB994B8635E6E967BE6D96D8C35E020D8D25F92CD7CFC709C54048C5222C9F1771D3DF4F1268C71092403BC6E9BFDACB929D0473DE11A0240D968254582AB23AE5F942EF4808BC7A40DCE76108030677CA3D9DB9494B812E11EBF1A3E74C1CF318C2DD1B2D4BF188AC661E151115AAC37D83FDECA15D4717DD8BF0DAB3F647174802C0B2E6CECB23F1F99CDE4E097472BA6D05DDA7A07105CDA222767A4E4254A00AF386FA77185296965B8594DD3F63C8C54FE0692AE1598B873D12B0D16B36E44A0FDC1FEFD7A1402774F7C4F25FCEE3FE944721BF56F8E8A4A23FD687FE19B3E2FC915F548ABE7B16C0BBC656092F4BDA15EFF8FF036291087E4A0B12F29D17E8B66CC75E306C0ECC05C53228F7AAC6E1B07A38CC120FF8AA25786B5AB833666FB52F09B4630849A01DE344BD3A81409B511CCA18EED36C88C16DF9A861DD3D798C7443C9CBED6F3D83B8AAA4C6151E8458A17F12BF29073ABD823E9D5DCE053A3C6B8BFD7E29CAC158E3FD07E8759EB82FDE0FD141ED47AC24A515A264CF2A0CCAFF9EC7263337C05AEF87705439147E1A195F41EB55E27657D07744EB702ABB02A1DFDC09519D2DDCEEA2AC37BED1FF1152AD2F220DBF6254EE2AEE7FB66D428EC446DD3C0CECA286B7CC0C6DCAD74EAFA0596A3AF3F3570B9B47CFE48B0371411E89C3AA04B0841DC63D4023C59CA1FEFCA5D51965B049A01DFB852281768C13F5EA04029D1507FDF5E20F31A96855B311FDDBEB1EEC538DC6C773FB3AB58266892B55DBDE85FE6C63981D8B8EF8C0FF555EE3994560C475B355836BADD59BADD872F40A3CF7BD87E8CA8360AB7EA350CE57B7F9E2009EE4C256D09E8AB63709998B8309342B075AFCDE4428ABF3F8A3988FF827ED349C500EC2F4929588AD3EC4EFCFE2AC3FF17D0E59CA081E8FAC1699519FF485D302CD7CFC3F6A67F2BA254D1BAB3362821816A188676E0678CA3073A02F58B6617B35B99DF98A90403B468B04DA314ED4AB1308749640BFFDAF5D9891B1101A73E3B164D9D2AED8EC390393A6DC81E890B605B5E534AAEBCC28D9BE14D263DF72DF2B6B4C0057E8E7E38A672C26F5F7E31989AD3596EE7D2EB71267F6ED40F485E57C839035B6C1F762D0A75CE00677D370F70C7B4E6B61762C8AA341A059ADEB759F2DC6C8ABABB86B87B919CEC9A2902E8F405CD53EF8D6DBEE9FAA1CC4135C82F52A5E08E972BE01757B9D17E8A6B538FC3552BE19DAB4DE365B392BA54244F87BA0A7BF1252AA07DD09BF05CEDD8204DA395ED4FB26087496406F3C9809E9C12F704B5963681C1BD679791476F57E112F4CEEDDE64AAFCA68464A463182F54A74F5B1B92E4EEFDE02D9FE8FA1ABB7657EB2CD33B6E1B8CEFB21C4F48FC1CCC18DD97C4DA75F60A8C5FE7D071172F22B84D5A4D937D65826E28BC19FF00DB53B63BC79F5B7B652BD5B0AF4A24DA770D7E917E057DF18A5D2F4994CB417F9BF89324530CF729C31D0173B4FE4DEB440B74CF5BE09333B7429ADA01DC244892A8E61A25E9D41A0B3043AB7AC16ABD76DC1AC9C0FA1B0366669B24DADCFFC5F44BFB8384C1A1074DD908FA697E0646631B417B6C210311953E242789D8CCD072F40BF67217AD69CB48B2CF323335FB479E8C3B863D8F5C58158AAF885F3E9C8FFE96344180E354B3B672E8355FAC7D14527E7197751811E0E0BF496947C54EEFD0A634B1A63909B4E8455EAFBD4F72F50AB5578747820BFF78EDFDC53A0338FE663D93BC770BE85A5C57231A6BE3416D33B0A363118B0F5BB935899D85856F5AD1563D0CDA3A3F0520B3233B3F0F1375578F0A9484436F983EDC4D73BF0C64FED1FF220556AF1E8BB4391A0EFF8B78A56D01D33A21E9D44A02D813EA78CC1A8DE5E3CD2A1B5D6C3578960AFC6CFEACD16FC78E02C5447BEC2A0F2DDCD2E2994F8E357DD9DC80A198750AD185DFCD4FC6CC122430DB4977F41CFC2DDD0D417E3C3AEEFA247908EFB70F34BAB91BBF73BC45D5D0B0F73E3692F2C4331D96F32F2226620CC4F8D10BD12ACF6467E791D2E6415C133F7286EBDB4D45E898E0DA45CA8C552BF1790270DC6A0AE1A5E729495F2747405CDAAC9BDBF26090BB25FE0FEE6966DA5F71338E63118C13A055E9FD48DDFDBDD04BAB622137F1F73085B4B8DC8BC508696E7F3088402F41BD70B1FAD1CD7AA08D657D7E3B34736E29B320D6E9DD20BD3FAAA80736731FBA533903C380EA75E0B6BF71BBFEBF5B57866A710C1B70FC2BAE7BA41CDEB4B55E3E7D7F7E0B92F2EE2C4D5B6AB5AF67E7C0C563DE08F6ED13A783B90F74502DD49E243B7E998404B8166E15C6C43CD2C10F3129E2C9BB0B596E47337EAFB4EC1A47EBE50CB6D31BBC67A334E5FCAC7956DCB30BCF8876697311F729D5006E632158984B058ACBC3CA8D86CE42B5D9685F7B7A025B04A143C957B528C378A0C5558BB331513CFBDC12BC33534B6923689E4FC3E7C83CC6A85D90A98CC16882CF5CD4E47F9513B0BC714F13048BD111BCAC439080AA92DFBD1518166BFDABB4EE5A3F097551857B4A6D9BCD88A9E654C560A35E8E1ABC0AB93BAF1CFDD45A073362562F8B399C0E0FED8BC24026D2D40CB3727A2D76397A18E0EC193AF24E01F931BF6102AB072E646BC711C48393C03D55621942A295432216032A1C4500293C40BBE9AD657D0A3466D42E433133162D3A778F9B81E9B0FDD839E0A9B7D4F9CB022506F84556C81E16432E21EBE82E7BF9C8A075A943A97A8E4F052767CE66483E149A03BD615EAD149049C4D546978ECBFB5B3B0DF6B02660F0D44420FADDDBFCCDC0CE947F7C2B8F34304D465F38DB58E1AF32FB3C35E5F095A0CAB588A89D1DEFC54159B881AF1C996542CB8381F42ABE5BAB3FEDABA377BD1B01AD41FFB3C8FABD250BEB1F6CEF4EED02A6DA53B9D1168D6979D5FF8EEAA1D987FF535FBC625FBF932FD029C50C64220102236448567C7DA4ABCFEFE05DA8AEC1FF662FC82B3F826F501845D48C6B0B864844FEE8EEFBF9F709D592CC63AFCF4EA5ADCB94E8A67FE391A1FCCD0C354978337E276E0ADB42ACCDF361FEF8CECE89BD2F8B9C564C191CF7E42D9E4788C0E16E2ADC1FFC206930F528EDF7BFD4D2C16AC7EE4337C103E09475F6C2C74E5F8D39AF72481BE5172749DD304CA6BCC28FB6832A435C54E5DBB597B37F669C66174A4370F7B6B7ABAF4E18BC5D8FEEB694415EC44644D2ABC4D05FCF8A7968DC5FC321165A16F7BD5E378CC345B8D4FE9E783F17D74F6EE39A57558F7CDB74830FC0CBDB980C735B7753E215BA99789BD705A1E8B7DEA512812FB412814A2979F122F4FE8D26C082C9C6F7DE2714C3DF322AF1BCD5E14279503F0ADCFE3B8E35A985D43040573A3ACDD710C61BF7DCAE7C41ACBF8FBC8EF65644AC3E12113E381A10118126E737E269ECC43D5DE151850B40D4A4B252FB67444351CDF6BEF6D76E415CB78947E3E11B25ADBA9312C4D7C83D71C9C9347E17F7A93D05C84AF9F388CF484A17879A60A079EFF166397D461FAFD43F1DDF23EAD88A419A95B93307041019E7D7B34DE9EEA8577EFDA8A85BFE461E43B7761E3230E387FF95D2DA82A29C3D6A5C9F83C558EA5EF0F4278F96F18187304C27E3D91727C7C8B675B50FADD76043F7A05DFA5FD111303AE7D6CB6C02410F08585B3E7A293403B2515D4F96609ECDEF26F54A6A7C068B2F0F3FD1C692715B1C890F7C29D7DF598D6DF87BB431A1A5B451F4C372035B304A82A45B7F4F5F0AACBBBEEDE9542159255C3F87D2C4229BAFA78204C2FE7279E34F56FB3FB7E989805182BE0517C0E3E85C7E063CCBE6E98EC7C42162F7D54958052B11E569104DD7C943CD36E5A7F5F7BDD90860B0D3526FC7CFC0A7A64AC4775561AEA8552B04CC1E3EA04DCD5DF0FE3A3BDED616C2C1EFA6C8E01670F24C23F63339F0BCBBADCAE998272890E51412A3C3D2A180A89ED4FE5333906649F3A0ED5A5DD4059362A042AFE0262E7298EE9E3C7E3B0596363C8FC6131AA2F9FE46E1F1666B75B339E8F7F780F2D2F0CA5B956B0DF11BBDC4C1FA7A2380C065CAC9221D0478E334947F0D7F18791332E120BFE36140F0EBEBE6893D564C2DE553BF0F02639DEFDC740C48A4BF1D81B69A88C08C7B697D80BCE011783C984D2A222ECDD968D9F4F8A30677E6F0C0913E3C86B6B11FF4619864D4A40D2C6986B08EA9092528CFC82526C7D7937569C1360C3868695BD18BD033CA0EEA9825A2E4647DB8F2D999240DFCCB78CAEBD2102EB930B70B1A006D5751DBB241A1EE02113F1F303D999846DB8AAB9006D3856809CB23AF004943A33F76BB3F70013248D5CCC8FD50AD6CA30A99F1E7A55DBBF2E6C157BEA6A150E6794E37C7E0DAFE7CC0AE637D4A66E78B7B07BB0534FFC3D259810AD6FE6D6680D0EDB045CB8F5326AEA6D1B80BE6A29A6F6F741DF60765A4BF3F55546610D561FC9479EA1CEFE6C768C1713D286BA244D9F919C59819D674A70B9C476282D2B1AC542F1D8BF86C69EBFEA601E77E7B0D86C9140C0398C89D421AE9BBA5959D71B32AE83173925D04DEE19ABFB0CE7BC7DF1F5F6A998D146C679EDD56CBCFEC42F502E988CA7038AF1C6B349C8888BC3070B2210AC6A5F9C57AC3803639D19A8ADC585D3B9C8D20461648F86DDBC1AEC5B7C04EB2F8BF0E8EA795832C9F672284DCFC2276FFD8AF7D6E4A3B44A8D898F7641A3734389BBEFEE8191236FEC8003126807BF50D4ADF30830F1CB35D4A1B6DE71816685FB59324553F7466B232AAF35A1A0BC9E0B50598D893F83EDEDB14367BD144CA09998B28D21C72ADE95569B905E5083C2CA3AB0ACC1B26A5B0815BB1FBB878F5A8A102F19BC55920EC7D630DEA399155C1C1B049AA5B9B7362FC689CD23AFDCF66CF67208F751B4591B84ADBCAF14D772816652CF04BA9B5ECEC7D6B4B128942CF602339AF93D994077F196F339FDB7DA0D09B4211F5E5DB761ECA2F1F8F2317FB49E8E54839DAF6EC1A2CD22AC39743B2EAC3C84057F3D813F7C31110F4C0E477B8113977F4945DFC9FB515E757DF44C532E72B516EFFE3A174F44D97E5A9C568C038B93307F7536AC4313B06F5B3F3456F1BE39A224D037C78FAEFE1F26C0048B7DC18542F095A1B3FEBFD6A656516BE22B72994808D97F51D0FE8731DFD0D09C17E85A1C782F11E376E890B271287AB45A1EA51A89FFDC83173ECE44FFE7A660C9340196FC3511AFAC2CC1EAEF2762CAE4F68A3C95E1C0A622641973F1E97DA938DBB52B9E59D4B399D0161F48C5735FE643A80CC7A6EC0918DBA40AED63776DC18AD47A7CB4711C1EEDDF7E795A678091403B438BFA120122D029049C13E85A1CF8F4573CF7561A5EFBE17E8CEED7CA010AC55998F77436C63D158A6E56118223FD21CFBC84BF3FB9054B932C58F6FD44CC991CDEC2075C8375EBCE23C5A0C5FCFB03A03119316DFA16F49C702B1E1CA142AF18359A9691DAF2CC7798F9691E4483E2717CFF6074BF462273572AE6BE9F8B898F0FC01FC7FB40DD8929F124D09DF275A39B100122E00C016704BAE4502A1E7AEA30361FD7A3A86812B4DAA62E9B726CFEFB212CFC3C03FF5C3309838707E25A68322A2F6661D19FB7E3CD1FABE1A9EB820FF68EC6EC28158475F5D8F5F6F798F79901C366F5C2CBAF0E45A44A8C948F3662E4F1EEC8FE32069EADE44CAD9EB71A0FAF2E8464E4309CDA3E00216CC2E585F8ECF9BD7875BF0ACB360DC7841E4A34388AAA2F5FC5C7EBD3A18B8FC1C3C31CAF0FD3942309B433DF2AEA4B048840A7107058A0AD65F8EED9BD78FEA34C5CEE1B8D82DD09D0AAD8FE81199BB79CC6CC59FB20888FC486C5F19814D3BC6C2A5087D4F5C9F8D39F92B13BC7DA2CB2472291A2CFA8287CB86A3886EB01EBB163E83FF32866AE7F002FC4B69ED1BAE681D578E8DB424015802F5367E0BE50C0907A16CF3E9B84157B6A9A1C710088C44208BBFAE1C94523F1DE7447C3FAAE474B02DD295F37BA09112002CE107058A07372B070E111ACDCD5582FA3E1393D8786E295F76F439C57FB4F4EFFE9285E7AF70C52726CFDD46A298E25DFD3ECA2D3AB77E3A98FAE60F1CE7B10A5697D2B3177F31E4C78F90A4CFDC2B0F0E918DC3940CD725A7174E551BCB6341DE70DB65BCA3CA458B8F51E4C6A888376064C8BBE24D037018F2E250244E0C60830815EBD3A150B9E3DC66FF0D557233165720F4824CE460ADFD8F35DE52A126857B1148D9308FC8E08D4D6D6E2C08173F8FE87743EAB39B363111B1B4C024D2BE8DFD1B79CA642045C9480D168446E6E2ECACA6C872E04070743ABD5422C6EAC5FE2A253EBD461D30ABA5371D2CD880011708480D96C465555159850B3A652A92097CB21682B4DD4919BFE0EFB9040FF0E8D4A532202AE40C062B180FD634D24129138B76234126857F826D318890011704B0224D06E69769A34112002AE408004DA15AC4463240244C02D099040BBA5D969D2448008B80201126857B0128D91081001B7244002ED9666A749130122E00A0448A05DC14A3446224004DC920009B45B9A9D264D0488802B10208176052BD118890011704B0224D06E69769A34112002AE40E07F5EA05D01228D9108100122E02A04042515750DA7D2BBCA98699C4480081001B7204002ED1666A649120122E08A0448A05DD16A3466224004DC820009B45B989926490488802B1220817645ABD198890011700B0224D06E61669A24112002AE488004DA15AD4663260244C02D089040BB85996992448008B82201126857B41A8D99081001B7204002ED1666A649120122E08A0448A05DD16A3466224004DC820009B45B989926490488802B1220817645ABD198890011700B0224D06E61669A24112002AE488004DA15AD4663260244C02D089040BB85996992448008B82201126857B41A8D99081001B7204002ED1666A649120122E08A0448A05DD16A3466224004DC820009B45B989926490488802B1220817645ABD198890011700B0224D06E61669A24112002AE488004DA15AD4663260244C02D0808DC6296344922400488800B1220817641A3D190890011700F0224D0EE61679A251120022E488004DA058D4643260244C03D089040BB879D6996448008B82001126817341A0D99081001F7204002ED1E76A659120122E0820448A05DD0683464224004DC830009B47BD89966490488800B1220817641A3D190890011700F0224D0EE61679A251120022E488004DA058D4643260244C03D089040BB879D6996448008B82001126817341A0D99081001F7204002ED1E76A659120122E0820448A05DD0683464224004DC830009B47BD89966490488800B1220817641A3D190890011700F0224D0EE61679A251120022E488004DA058D4643260244C03D089040BB879D6996448008B82001126817341A0D99081001F7204002ED1E76A659120122E0820448A05DD0683464224004DC830009B47BD89966490488800B1220817641A3D190890011700F0224D0EE61679A251120022E488004DA058D4643260244C03D08FC1F8024C458BED69FBE0000000049454E44AE426082 WHERE `app_id` = '2';
-UPDATE  `fn_app` SET  `thumbnail` = 0x89504E470D0A1A0A0000000D49484452000001680000012C0806000000EE2C29AF0000200049444154785EECBD09985D577525BCEEF8A69A354BA5C91A6DCB039EC0536C636C631308B6434248483A2140C3FF058281907446487F49FA4F87A4D3FDFD9D4E826D861092302401023433D880C1C8181B5BB6065BF358D39BEFFC7F6B9F73DF7B552E59922D4B25F994292455BDF7EEBDFB9EBBCE3E6BAFBD8E05F3652260226022602230272360CDC9B3322765226022602260220003D06610980898089808CCD10818809EA337C69C96898089808980016833064C044C044C04E668040C40CFD11B634ECB44C044C044C000B4190326022602260273340206A0E7E88D31A76522602260226000DA8C01130113011381391A0103D073F4C698D332113011301130006DC6808980898089C01C8D8001E8397A63CC6999089808980818803663C044C044C044608E46C000F41CBD31E6B44C044C044C040C409B3160226022602230472360007A8EDE18735A26022602260206A0CD1830113011301198A31130003D476F8C392D13011301130103D0660C980898089808CCD10818809EA337C69C96898089808980016833064C044C044C04E668040C40CFD11B634ECB44C044C044C000B4190326022602260273340206A0E7E88D31A76522602260226000DA8C01130113011381391A0103D073F4C698D332113011301130006DC6808980898089C01C8D8001E8397A63CC6999089808980858E3D53033613011301130113011987B1130003DF7EE8939231301130113018980016833104C044C044C04E668040C40CFD11B634ECB44C044C044C000B4190326022602260273340206A0E7E88D31A76522602260226000DA8C01130113011381391A0103D073F4C698D332113011301130006DC6808980898089C01C8D8001E8397A63CC6999089808980818803663C044C044C044608E46C000F41CBD31E6B44C044C044C040C409B31602260226022304723F08203F46C7679C69D698E8E06735A26022602732A022F304067C8019A7F2A60B6D0FDE99C8A853919130113011381E71981939B7E9E5280E695139C0D403FCF3160DE6E22602230472370460134F3E5677E9DDC4B98A3F7C99C968980898089C0F38CC00B9C413FCFB3336F371130113011781147E03400B4C99F5FC4E3CD5CBA89C0191281B9B11BE0A90768B96E03D267C82835A76922F0E28C40F6620268CB40F28B73949BAB361138F322309772C8E79541675906DBB6C13FF32FFEDDB28E35FB1CEBF767DE4D35676C226022F0E28980C23E0B699A8A74F89890F71C43F39C019A20CC9323400B6991A60A98F9DD03D8DDF3228813980D383FC77B65DE662260223047229027A7291352A21AF15070EFE4D2B7CF19A009CC6AF650279703B482DFD94E32FF9901E93932C6CC69980898083CC708CC640ABA007D7221FA3903742FA5E108CDA1C05A65CF33698E6E0F61061B982304FC73BC37E66D260226026773048E73919F53B94C543BB42E935536E3CDCA229C78D09E3340E733084FCE751C3921C7B68497C9B2A487C8D099B32C054C17E189DF22F30E13011381531D81E3C9217B315051BE19923483653B278DCA7DCE009D531B499208403373F63C1BBEEFC02615DD7B8A5D238E531D67733C130113011381138A400ECEC76293C9F0B204C76499A5B7284C104429D2EC2865B8133A0BF5E2E705D0E4A109D0CC9C799604E742C151E07CACAB7B0E276BDE62226022707A22D05B413A3D67700A8F7A9CB260B2BA560F4087618C56104368DC932486785E006D59E49E359D91A528F80E8A454F21BF01E85338A2CCA14C049E430472AE75B667558B81B324933431D5A065F39FCFE15067EC5B9E858FCE33E73C7C4118A31D241AA04FCE153F0F80EEDE5DC52CA7F03D1BC5A2AFE60E03D027E70E994F3111782122D0C9123358B311AEF210A7C8122AB42CC4AE7AA4DD0C7072CAB217BC7215ED0B71AEA7FB336705697DC11AE738810561827610E3644E612711A013F89E8352D157E134007DBA879539BE89C0B34740837467B56BA54A61C56F0BA2EBB5997A25C0F65D357CEB5B4FC1B3AAB8FEBA8D58B162FE741C32008D3639E8203969F4C6F3E4A06766D006A00D1E98089CB91160A52B013292AAB60268E682291005C0273FB305EFBEEB6E78CE5EFCEFBF79076E7DD54B857F7D517C1D67066D00FA45311ACC459A089C8E08B0E225902C009DB31EC4A6A0017CFC1F9EC45BFFF3DD70DD27F00F1F7F0F7EE6B557C116AEE345F06500FA457093CD259A08CCE90810A0BB3C05AB4A5112C3B71DD4AB363EF6D16D78E73B3F02CFDF820FDDFD9BB8F3CE2BE1BA5A4F3BA7AFEB249C9C01E8931044F31126022602271681692A0E0DCE92455389C0D2BF238A8D46CDC2DDF73C89BBDEFD2178DE93B8F79EF7E08EDB09D08A0A39EBBF0C409FF5B7D85CA089C0DC8A80566948355F78678D42CCA22DA5E54D325B8A84CD3A70CFBD5B71D7BB49713C897BEE7E37EEBCE365F00C4077C4105471180E7A6E0D7173362602676E04048FA938A072C3EBAAAEA4CB2C45AA6D1958371480FEF056BCEBDDF7C275B7E1DE7B7E1377DEF15203D05C3EF4C8EC0C409FB98F8339731381B915810E40338376956423F767B032C11D31D2D4007DF7BDDB70D7BB3F0AD7DB8A7BEF7907EEBCE30A03D006A0E7D6983667632270D644A0C3AB66E8B409F618E864560AC2B4953A68D40101E8BB3EA601FA370C40CB146632E8B3E6793017622230E722908334B3E719FB6964C24393E870D0A839B8FB1E02F4873540BFD3501C06A0E7DC7036276422707645E059009A4D2B29E8B363A3517771CF3D5BF1AEBBEE81EB6E371CB48C0293419F5D0F83B91A1381B91481993E1ABDD60C9AEA105A3A059A0D521C4FE25D77B148F814EEBD8719B4E1A00DC5713206F4CC81C8CF9CA96B9CE91B724C97AF9E133BAA13D8719CBCF12B398E209997BC6011E81DE733FD44739F8E146808406FC55DEFFA305C77871409EFB8D300B401E8933132F38196AF4A3440B3049263B5B879E91DBB84F7A70181640F3D6603F9609EE1153B9B739FF8CD74DCA2D41B7BEA2FDDAB3AD6C43033ABE98DC7D1DE7B3262663EE3C517817C5C53069D5F3DFF9202F50E407F04BE501C0AA04DA38A29123EFF07A5374BC84158EBF215885AA0C7ADD615A949D1A63E942223EE14334B1BD16CA0DF7BA63337363F5A47EC510198D2270DEBCFF29AEEAFB89998F93211781E1110699D1AD8D3C65206D49BC0DDF7308336003D3DBB3200FD3C469C7EEB6C00ADD35995E9EAECB607082931525F2A83561FF12CFBD870BF9B4ED94067E34703D65990F49973403E63A813158B84DE25A89CB75A03B0CECE6E2F395343993CFFF1F262FD0403D047BFF3B3663FA64878521E15B66012CA98633253EEF183E95048741DE8CD94050FF3CED769389F03772F62E6103E03F56705E83C3D79E61D9F9E30339BD1340B7AB6109BF1990AA0D5346232E893325C5EBC1F6200DA00F4E918FD046865FD2284C5F4ADB87AC5FAB24DBACA983B389883F43332D3DE1FE899545EAB53F2D932D9A321287F3E2D7BCFF96B82347FA101BAF7DC6739BC41E8D331BACEA2631A8036007D5A86F36C95EAFC447A0A7F5D0AA3BBA384805E0E8633FF9CF6DE9954B5B079BDE4883A62CEA7F40442B2F74E43BF2E4AF65414E5B03DEFE3D662E06E95C2CF9023D78779B198A79F9641F42238A8016803D0A76D981F8D9BEDCDA0E5E47AA41C9D9454BFA817A07BB3E1FCD7D35E96B766CD4E3E3CF3EDFAB8548D08E06AD09617EAACBE538F8865FF47290BA60EC0F7188EE3B40DADB3E6C006A00D409FB6C19C92FBD5FBAC698585CD7F0A0E927F4E15C889F3226D1601DBD2EA8EFCA4A7D3D45DD257A7B82A135629B7F0D739A0F7EECBAEEB8C9220CFCCECE5DF7C41A277B6D04A0E8B4636163247ED72A14A83096C4DDB58B48A7C71EDB37CDA86D1597D6003D006A04FDB004F12C07604E01201CF0C96453B72FE40FF2E2FCAF6EC766C67D4476876A2979EE8D54277EA7E1A7DE5DF1652991432D836996F9D2113956542C80B8AFAC3B5939824D016B363FD9DC480ED2900B608D04270E8A980AFE1B148A7E814FA682B85D3167873E033260206A00D409FB6C19A723B1F05652A0B4D75064A84B3655B79514348164DE08B90890F81D6174B01517FCBDFF979EA2782C33D19B1A21E7AF80E7E28DF231FAE05D8B2DB66AEB156993D3F8B1BB6F3AD6A2F8B0C8EECB24CB73166F80AA87B0B98EAEF8AEF96E31A803E6D43EC8C3FB0016803D0A76D1093C22010E774040763162393ACD4159015BD4496C1C92220AB73A31F006D206901D571A05D45D69E421AD491864D200D110401DAED362CC743A1D807CF2F20B31CA4B60DBF50865BA8005E1F5019012AF300AB04A000D845C02A00962B3B5708F4E7A9BAC66462B84C2942C5CCE8B0C90329C8DC63E46B00FAB40DB133FEC006A00D409F96412CAC020159F1CA206D8010B05AB2A7BC300E710A381EAC34861555911DDA8660F26934AA7B91B42790548FC00927E1C555B8710D56D4808308691C218E520179DB2DC3760B486D17B16D21737D646E1989D38FC81B028A0B51E85B8CF2F05294E62D833DB40828F6037085BA500D29CCAA3D642801B6FAB9602EA912D21E92FECF507A18803E2DC3EAAC3BA8016803D0A76550EBC21A59026E428CA80D641340BC1BD8FB30A243DB3171700F82564B40B0E0A448DB63B0E226AC24441A07401AC1CE22B8762C7F220BE5B52C3492A5CE32F5ADB6ABB7913233E72B2C0789E522818BD422781761792540BE8BB0DC22D2CC82653928F50DA330FF1C14575F0A6B681D8061C01D4442B0D7E4862D74C77480569488AE599A0CFAB40CB1B3E2A006A00D404B047AD50B470B49AF0EAD177404A97A7F7014DE550A815CFA335B8E81B4AD8E9486405A45F6F40FB07FF3BFC39A7C02C5E820BCAC0D57680FD5C1975A91D00B76EA0AF7613B547628B2599A4744FEA18F912A0ED8B655CBB5AA07AAA29D6A35D1AA8E8E1C4FFD4581BA3E4DF2197611756F2192FE7330B0EC62F4ADBD12F6A2F3152DE27852E414DE3AF5D516451A959F15A07BDB263BAA92D3DC127E3CF7FFD910AF776C280AFED85F33DF33F31DC7F319C73ACAD1C6ECB1DE37577E6F00DA00B43C4F3D98DAC5DA1E7320E913E9A28992C2A52A73E4DFDD148945E02520BA82BF165359FDC5CFB7F8C3AC2D3446D21E03A27158D1389ABB1FC5F8E6AFC26AEC411913F0E23A7C514DF0184AC6C663733709E17F7B1A41667F86BB3FED9CC14C638D4EBD70C6C4D239E3FC9D36E2CC43621511642504CE30D0BF1CA337BC06D9BC95C8EC7ED8CE206C6701807EA14084A04E2380123CBD3373F73C1292EABADCA8741E59AA447A9DA222FF762CF03AD9007234803E1E90D43D44F94B652DD1DB7DDF594A746BBA795DF6597381E339F6B1E2A0E766398593F179C73ADEC9FEBD016803D0128199B686F2C02692512ACD84CE30F583ACC05375CE4952CC8164A748B30C2E414AB473F9DBF88200C014D0DA87B8BE133BBFF6AF482777C34BA650B46AF0D30914D0829B05025A2981596926D40D22A7CB0940B77E9F4AFCE219C85C647948DD0A6AB18BC41B42CBAAA0810A06566EC2D20B6F80DBBF0A767939E0F621B3A8EEA03A45D32C147C508942CB5499011D0DDEBCB80056368EE6F8380A7DCBE01406A4787AEABE7ACD50665BFDE4DAEFEE34D299AAF58F72675899AB7B015A8FAD69D7D2A99F763D5066C34E35C63A53BCFECB31EEBC9C4F3791983DF13875917DDE4732006D00BA9BE6F6C4C2165241F3ACB62E84692097A439A713723959DE6D4730CB6039394F9088E2226B1D4430FE1360FB37D1D8FE6DD8E118B2AC0D87BC711AC263C69C92C2B084FF4DA98F2688698DB214E3F4A6F3A736BDE475A6FA9A4A22F293B927CEE0383E52F808AD12027F3E4ACB2E817DCE75185C7B155267212C3D51259603CBB2E0662C7E5243CD78325E9C84B8C7DC38D243DFC4130F3E881557FC22FA176E00B2C2F37EB68FFF0308949C4D7334CD5B206599D4930EF35F4EE72EF0D5AECE94D52A47BD5ADEDDEBE3DD638522BFCB3F56E8A91EC0EDC9B4F3A9409D53AE32E79812E796EEA9CEC4EF6983B92B959C0EF6C71F99D3FE4A03D006A02502BD990A9FA069CD17CA5A33A74E856ED04A5FE184C9118BC698853536DD25B01C66CC75209D02EABBD1DCFA3D4C3EF60DF88DDD280587E1644D647608C7EEB1EDE4136EB380A7926FF5C0B37390C748456E278FEB29CE2E65621000721126096CD791461A97D79B9282F111DA65D49D2154DD455870C92D18597E2930B802700690BA83C8AC226C293CF21A7875D47993AE9904C2A750FFFE87B07BEB4E8CDEFCDBE85F713960558E8FC73D6908A234E4BDC8A7A29D0F0CE54B9CCB0F7328E73C2C8D961AA0F39FF7D209BDD9758EC11DAFEFDEF3EF4D8EA725CA1D4497496DE66A4E8E792CFA829F77ACD79CB4589EC40F32006D007ADA73481A81A35D6465DD6425CF8C54B4940F9DD64AA8AE10AD9AB0A8A6B00264F1218C6DF9362216FC5A3B91EEFF09503F80421AC04F294D8B6039A15022E49485ABA5D2821F6F5BC2672BCE9B1A68B202161C7D9C4474D227F12138C6470935C1B2A69E38E0BA40C2A61AC04E980D3BC81C179165A3C53FDD2194E7AD4336BC014EDF6AF4ADBA0CF6BC35B0EC41C9402D66AB19635447BCFF87686DFF1A9C5DDFC4A1BA8385B77D0095555703565F4FE5F6D45DEBB484B427C6BDD8D69B8D76EAB29A91E990203D137E9E5977890735729E1530A7A7D0CF1E8019E779C666CBB35DA5016803D0D3005AEF5A022A253440B3CD593D2F04234DC84A2AA4A466D23EAD335D2BAB02D97EA4DBBE825DDFF957F8ADFD28A635B8590B8E15089D2180E75888D214B6EDC1E6B2995617B2DC6531901A66161CD5234D70667BB7C36C95D383CDD79CAA744875205A7A52484953C8FA9DEDE236B244FF8E3F77D8E7482EBE8438251D5241EA0DC35DB41EFDEBAF4761D54DC84A4B915A2E9CE829C43BBF8EB107FE0DCED8E3E84BC631E62D47E5A63FC0E0FA1B61D903B3EF1A732AB0BA17496745D119E0DA933DAB21931797A79FEC342FEF5E7278DACBF4C10565BB14459E434B5A30DBADD7207DCC533F15F13B99C730006D00BA3702043E79C03A0E6ECA87429E957C1D9BBBD1DBB949502ADA642BAB01B52771E447FF8664E737E0D576A39434859A1052449CF96358568C38CB90D81EB2D451D9B15EF28BF04300506D6FD599185295A9AA8EEDDCB8E8643E0947FB2C9E90CAF08592B032B84E8A3089E0BA1E126DF84468D6848C00BACD4E48A1631C847605F5E26A8CFCD4DBD1B7FA2A64CE20D0D88CC94FFE1E507D0A45AB05378A70D85F87CA2BFE00031B6E84650D9EDA0C3ACF4273243C4A36376D5995BF663680E6EF7A4178B615CF4CA09DF99A1EEE3A3F2D59B53CDBDCDC33779CB239FC851C8606A00D40E799F2B44C7A46583259E653B5A1A46F2C7425B9A366CA16EBDDC0D3DFC4BE07FE05D6C43694AD06ECB801C7621309690C458928DF8D0CA9954A262C3BAA10D0C8CF8A62449E6C9D49EBBFC943A7B7B992C2BF9E445EC80763E6676BBEA7D7275A65845D973C16FEAC8CCC34AF547269C49685B6E520F686D1761663D1DA97C1BFEC95C8767C13F56FDF2DADEBB69DC28D1C8C391B51B8FA7D18B9E856580EBB194F1D8F935909B83AB059D0E4FDCD9516D379095D33A41245194CB101A8F3D503F2B2189219AAA31FEC288504B7757D5084403A59EEBD5C594BE97B2D1277491C74443829F2F8DACB453E41CE83594477049D155487016803D0B302744FF6220542795182340A61BBF4ACA05A2384954C20AB6EC391CD9F446BC7D7B1C03E82A4761805CF13884AF453AA1263D5D4A1BC3698056B5D730ED03D4F7A9E31A9A49DB482CAD6659F3F520EA7109CF326184B8A949C48B407AA0083523F1098A55125531CB38550F1F4B687C0B6116516BCCC453B2D23282C821B1EC2A03D86C48AE4FD4EE22A80BEFCBD9877C9AB607903A710A0D584C92FC6378D09D4AA26907F4D93ABE5E8C97B4BCB554BBB0BF6D20C1DDB5835DFD29C50B4CFACAFEAE49A574EAC8DD30C419C2152A1006BB0451FF02C0BBE65490D829A1E5BCE510371AA29303D5108DD26DE5B8E80F7340AFB54B1612FC49834006D007A3A40ABD19C6A7E59B241A15C1545A1141419ECB8892C3D8C78CF37D1DAFCCF681FFC090A691D4E5045C9F3C0E7872C89EC3D486F0D293C4ABE2C5405C18E822DA56BEE7601AAA3AB5C290746D90750405AA563562AFA8917E27178C6671264A5455C1A6762C9F2D9C9A8247F9C6494BB1ED28200B4A28358280D65A591662E225239B051E015A740683BF06C764486D25199F7361E71D7C17BC93BB0F0F23B60B9F34E194033E6715E90950950CB3272BF6E0D78B91BABAC1BD258AD690888BD227A4D4CD1BF9B0D38BCBF9295734CD9409C01ED38463505C6C30C631301C626AB68870912BA17A629D22842D1B1B160A084C54315CCEFF33054F250F294B1161BA0946115A938AD8D1705109B84BA1B29E423E98C546FE423D100B401E8E9115060A948841E791D8B60DA4DDF628B767A08D1E11FE2F017FF174AD54750008D8A52F172A6B73D1DE104D709CECC7DA701B4A233486BA8AAA3025FC5542B70EE921D399DC1F352C5CA53BD558998A04ABD8A60CCD310A78FEE794B46E97535BAA2846131944D2A8E34B810C8AC28814D4F113746222A105FF854123F29228C796B605FF0562CBEF21760B98B4E99E1BF02689DBDCAED577CBA46437102E44F98B35202D9CB7E4C2BCAE981A422A3575D3DB6AFCD30432388B073DF118CB73354231B610A440927727AA3D848924C56694E1AC34DDB70E326868A36562F9D8F954BE661B0E2C361566D012EA933A92E13A8F9A7034BEC5F7B6893E391E09D92A9FE391EC400B401E867464067B4BD5A36495DF8D03681E62E4C3EF52DE0F003881FFB3A2AD938ACB8A5B857DBA5020D19B31979ACA5B543EFDCAD3868796167C711A5C8C8015A9D8B02E8BC2899738F926BCB80EDF1DD788EE3FE44DED6E532D5EA81D9B3809018307155A1EA61C2A1938316CE34113B52667919A90FD2383CA81323B002B8CC4A59204D5D59C20311C6DD554837FE3216FFD4AFC0F6969F528016193B270B1642396B6489A87312DB968CBF9559A847C04423C064B38D208CD10E4284698234A16C92D799AF8854799740CA9F0FF4F5A1BFD28F7A2BC364BD8D6ABB8924F590D945191D71D6FDE6AE3919C1360D91854DD8491B6E1AA060A79837D887A5831EE6155DAC5DB54C3A1609D2769AA86C5A3C6095FA28E7B5CF781EDA00B4016819D0B9FD4387FCCD531F6D564FB049ABC0D413987AF4B398FAC9575068EF43D969C2CA9AD225472546FE70B038269CA33499A8ADA0246396F2995A16E740A700BAD39BA8B2546647B274EE948614EDA197E2DAF0F34470F639BFB6AB06D00528C9E4D5B5E4C54BA53C513C6EA74BD04A64E2B133576822CA0B332745ECA4328959F014BF2AEE4C09C6DDD588D6BE1ECB5EFE26D8FEE829036875CFF2766E6E8B004496B86EE3709861E744887DB536F64F85D87B680A93B5967452369A2DA4490024216CAE08E82942CA8193561AC3B76D0C94CA58BB622516CDA75789A2CE12C792F7334E046432219CCA733E3A8E7906AC77B0059E5C59842C8984FA70DA531846885B6FBC124BE7F7C317BF704E109C0CBBBCF9340EFA39DFF939F04603D0672340AB7428DFA2C9F76C945875E9A416B3E4CCBD00DDDDBF496D30220F6F0356B21B47BE7D2FE2273E8B5278187ECAA57980D48EE1C2861D936F54C971C44671D9AD84459E443F447C6CB85CF61599215AE7196A2CBD66CE01580172FE2FD5C9964AEEA47642C9F7E9EE74973D2B73DB951928D3A5BC7D9C795CCE29F76A7873AA255FC8EB4944D335BC16163E5587A02201329BA55172A59ED26BD3FE34B5243EA480A894605C62ED33E2F06F59022BB530E1AE467BF59D18BDE9CDB00BCF17A0BB3E17B3DEF79E829E2A31B0E9DC1260E6B6083B6B199E3ADCC09387A7B0F5400D1341866662210862C47102DF76602531CA4E083763ABBE0D8F3FD3296B1886A8F83E36AC5E8DE14A1F5C5D4864744299EC596064076A8684BCB34C52ECFFE1E4A5C64510D082369398250933F50485A889426B0A0B060BB8FAF2F370CE9211194DA214E2BD3FA55DA6A700C00D409F4D009D679BB30074417173C7FD959073565E11B6D50092034269ECF9F2DFA134F5044A6953BC8B2C8F52B24896EA36B959ADBA5045279527BB6C48D10F1099576A83D51234910C0A0EB943E5E1616B92931C6326046D2696A25C6E13EFA3AC88A6330F89554606178968A35D291009DBAD8B8E4A12A85048C805FA7BF020722E293C8BD344282DE78EF0E74DB8EC80A42F88EB08172ABA6BC9F6734A859F19C31121AE8730027CB720120525AB535C3A8FD3ED76E4125CCB083B7C28BD46B43F751AC1E3694619AADE0AD4466FC5CADB7E037661B52A78CDA640385A7DB4F35A619575BBBECAF43B9D7B323494B6869C2DB96766CA4DFDBDA7057CF7F1713C79A889B15A1B8D30469AD2342B112AA1E83AA03EA7E23898D75F44190468FA8BB8C81C6E86E0238829D9B3B164E12294FC827480B2FD5F326864886442223833E32620D3A384F73895EF24890594E398C756935A9C2448E2146E1CC36B47B0E2492C1C7271E3951760D5E261B00CCB38AAF96146DC7ACC938E7BFCCF95171A803EBB00BA5B64EB66D005CF46F15800ADD78404383E10AE54E12358DCE1A4FA040EFFF0D3686CFF3AFA92FD285B7564ED260A968B88B69A8A5C150E56D1155DB749D5A6AD321C45517099AB335136AB10D11D1B51C425B10B97D926FD38D294FBAB20B63D447601895D826517D1B6FA515C721EE68F6E0046CF010AFD5ADE464AC556D4B6EA37D492380550CA984873C862BF17C26A4E00879E427C703BEA479E4250DB0F2B9A829DB4507448D91078D5E7C97F5C09C844C2B8B8B02C1F49C49F11FE94EE595D5F978051748D9EAAF466B779029EB2A59DC5309BAB8F145567192617DF80735E7317ECE2063D39F48CCFE359B78BA42D8623BB20705E52AB0E9963F4B9A45984C4F10494A752E0915DE3F8D6A34FE14800349C7E4C063642A70CC4212A9E8D65237D5836AF8CE1A28BB85187D56E226DD711D426618581806F68B9A84529A6DA3156AF3F17FD43F3D546E8A2BA21C02B8E5AC056AB3B7A417926400B48E7809D52E191228E62B9AD5990C28AAB72AF8A59153F75C946BCFCA5170BDDC1A9685A838C0ABD1E13479BD9E60A1ACF721E06A0CF4680EE367330933C1E80561A524AA10834AA31C44DEB40633B6A9B3F81E6639F45393E82349A82E593B2C8E046365CCB17F73966C32A7B541924E14D3D9E0AA0723F0BF51A252DA32DA92C67655DCCADAD288D56196C041B4D7B0075771E9AFE62F8F33662F1BA6B503CE722B5F38945837C1E830A097EEB4D60B52A443E2CAF14754823A34A00002000494441540C76045DB57529FFE4D3CE825404246D60F7E3683DFD100EEFF83ECAC95EB8D17EB8D9146C4765D4F9C4213ECF510436A977B6C6B2B9A1AD526A2B65C6F40E0CCDA8AB8C9EBCABDE252B11D0E72AC3C6A4B30463235763FD9DBF05A74080D6EDF69D21AA41771689A192EA89E3B6520A2BD18B845634197A2F45D5956FE14806EC6CA4F8F613753CFCF42134781BFCA2B4DFAB55428A918285754B4670CEC221787184A455C7E491436855A710050DB45B0D356946C0543B443306D69C7B0106E72D948C3A0C22386A69A4B2654EC8D4C6F70034A98B2E38278ACA2020CB9F9ADAD07F32A34E32F51D350305C8ED715CBE7E295E77C3A5A870A2A4ECAFB76C9163F3F14C6E7311A70D409F4D00DD49173407CD657AA600BA786C8A83851DF12BCE698170175ADB3E8FE6773E0ABFB10D1EDAB09D0C4116C0B11C78340A4AF5AED6C277D0E08820C5DC93DB4929EF0C5520E4B9A8A61372D6F29564F044CD4063530FA9D38FD0EE47569E8F963708ABB200834B37A0B2FC2260643DE02E533B9908F2901C2740EB4D67F543D9159E742996CE1DCE5DD7743E2590A63BD059C8445C079209C01E477AE0511C78F04B40382600EE8475B8CD03F0E21A3C87A01E8B4A416D6CCBFF245DEC00346D3855469D173FBBCA6D9EAA283FA4614F193139998D296B090EF45F8AF35FFFFB708AE709859343B2BA86670768A5D456F176D8CCC3AC35C99079B6AC46486554C304E35182CD3B436C7EFA30F63412A45E057EC67B91C2B5228CF417B06CE11046478AF0E3103EB3E4760B41A38EEAC4189AF52AC23840AD514323F4106605645E01A3E7ACC5BC45CB443647EA4AC4889AC650197417A0E59E3FE39BC0AC326702740ED2FC37C159BEB30861DA869D7A089B21BCA481D10117AFB97C032E5CBB021E8DACF2ACA043C36BAA6B36BA682E8272EF3919803600ADD15267974CB90291D3B59FFA1282FBFE37ECEA76B8686AEF62554194CC883CADF836E71A61F2BB0A48C8C14AC55EA456DD6786FF909FB17828E91D0B74ECB02B2028AF80B3F61518D9F40A60E1B9CA6A543220368114D59F9221E9274DD2C219BB8F74B2A71E43E2691967AEF1EED2BB9DB768EA0369A00A98B2CF21B3EB16DABB7F84E0C9FF80BDFF21F8B53D645211725A21FF2E9ECED2EBA63364D5F2AD56156A45D26956EFA17A72450A97E40AA017637FF1029CFFC60FC0295D304B067D0C349109422942B4D845365C08E1A09602DBAA6DDCBF7D1C8F1C6AA299FA88A8C3F61CD85180E515072B160C6264A0889297210DDB2830D4DC80B7D94250AFA3363181A98931C99C5B610B8D76805AE423B68BD8B8E922CC5FBC14F4BE166E5BA4774A8D436A430099F48BCEA067036882F36C00ADC05A017442450752B49A811868A59477B626704EC5C2CFDDF6726C58BD54267DAE02A857975DE33911CA84914F71731D957BCECF00F4D906D039B1A039E82C83EF39C7C8A03567AB3A4C806C12E9C1EFE3F057FF0EE5F187E1A753C8AC1009795B52C65A4541FD2A3341A5A72050254A4A27692C018BBFD7EE15F26395B14A6EA5413B421991BF10F6C24D70462F4765D3ADB02B2B905A7D52F093CF147C533C724F2239FB8D13B4ED95A1A8E3C997B2CCD3AA909CA3CD815A0149D7F321DFCD9B801701E924D0DA0AECDD8CFACE1F626AEBF750B227514CAAA2D3251DA18A83AA4583D23AD51A9E332DF9FD501398E2E155D62DAF4F5DD4ED8538E06FC4B96FFC6338A58B157573025F39F74F7A85B234B66B532DD2B06C6CDE5DC5D7B68C61673343D5ED83EBBB8883162A568CD1A10AD62F1E41BFC78922824B6960C2E27086248AD0AA4DA13E3181E6D4041AF51AEAF5061A61846A33402D2D6074CDB958BB7E232CD783E5F88822EECE4E0E878D248ABB57C53EAD8CD759B5CAA009BEDDE2A00269FDFABC6098243A838E90B291254911052D51E1844980A455433998C26DD75C865BAFBD14FD255FC68D32FC6241560D49F1EA3A8178CE89971A803E1B013A17A6292999E73B4A6677D4259ECABA74AF1890EDC2C47F7C00D1530FA01237E05A6DA47680CC2650A5F0AD02A2C446E47AA206201FED2080C36ABE5AB08376A5F9034130A2E42C11FA84CD19E4AD59FCF3D17016C15B7515E65F72079C91F3017708197CB123555CB820AB6A191657B9E969D0331EB89C83EEBC5715C9146EE77B70E99CB9E3C2A6E470041225B753D7A03C3734B79D514247C73E1AECEFC6E1CDFF84D2D35F8535FE14DC24E07A4056068970F8F4B026E8F233D849A84861DE0B7545AA755C7546F23FF2D60E1AF6021C70CEC1B96F783F9CC19702C2B2F65CEF3196E83C4E7E07782DCC1E9B29B0752AC2971F3D80C7C752A4853E0429150F6D94AC00A38365AC9C3F8CBE4251541AECE7938E50097E82286C636AEC201A136308EA554C4D55516F05A80529269A31FA17ADC0F997BC14954A9FD2348B5C8E8A8C043629A03896C613293E8B2CD312EF0D9541F7F2CD8AD2C8E574426B90EED03F4B34C52100CD5A61D814FD753B69234B0264B5299CBB74086FFBF95761F18221E934940C9AA7D303D07302744FE4240C409FAD00AD818D70E711A0D98ADCBD56B1CEEC6CEA9AF3A401AC7412E18EFF8B235FFE13F487FB4452A5409080422693E53FF28E0E6287452C668B7CA099E912E454E62CFF135055F447CA6FC716BE32B246E02DBA00FEC6EB101796C19DB70EA5E1756AD3554AF0C85713CC25FB16C19C9C3A416F6606DD29D0E7B9EA333C26150FDEC539DDC23C13F934F0CBB17596DD2D32EA394218951A90EC44F6C4A7D1FAFE8781E67E20A3319227C4322565A2E6934A200F42AA470134818F71A775A9D20BB3034E4D06DC68B769CDC7416B146B7FEEF7E12CB84E01742F85D30BD07A37734D7C0B00B2155F3AF16C20CC80C7F7D7F0E3BD63D8DDF6B0AF69A145AF9038440131CE5D310FFD568281B20FDFE504C68953A9CCA95156F4448276B38EC3FB77A139358E767D0A13D5266A4186F11630BA6E134657AF41B16F405903C8B5D168C9124A423A0285DE5059324F59D2006935CD74A63C2363268DA10B854269F480B4E2A129CBCB10B75AB0921461DC449AB491341B986735F09F6FBF11975F7E894837D93823345ADE88752A77793811107EB6D71A803E3B015A0192CA41A55145CBEC3AC0DC0348F25A51A05581C947B0EB0B7F8D81F1FB51880E4AE3093BDEF8D45B16F93FF2AA4AA5C15C4BD91FE5D92153521A067109CFA2A15249F8D2EE0C04968FC05B8823F152ACFB85DF86337011526F3E6015245B55196B3E19680E99B481A6283A4BD45ECFDFFCF60978E539F7CC32FE33BDEF95A97C1E040DDFD391BCBB1E569540E5078D23009EC4DE8FFD1E066B0FC1B2EAB26088536E28E0A0142B37B5406F3860D19655B26416E054F79C4C626902CFA1F704419A2B0E076D7B1E26EC6558F1EAF7C05E799BC445CD74EACA3A9351079C55D553E2ADFB6BF8BAB60D4C45093EF4E52DD81B17D02EF423755C64611B834E826503059CB77C21DCB0AD54376AFA53F7B2A75DDB4A63D4AB9338B467A70074D06AE2E0440D536D602C7471EB1DBF00BF5810DA41BD8D9FC3BFA8EC98F79ED749D0168066C76096211280D67AE71EA506B3E5344E10A7CC9C35E72C0D2ABA489824889248BCB8B33045166588C226D234441206F06BFBF1AB375F8E57DE76335CDF97E628A51E5269829A0CCFB02F03D0672F40AB6EC2E900AD1A3EF4409D66CA1B00D11E1CF9CA0781BDDF84DDDA858A9DC04B15F8D030472C428537D5AE7262AFA90C8F5834132C490BEAA85CEA13D0C50F9A805D42CD1A46A3B801A32F7B130A1BAF079C61002C002A7DB4CABA89B3DA6AA7F781CA112A3FF59EDB364DE970942C69263B30ED519D09CCD3F09AD7263D768A22899F061EF85B8C3FFC39149383706C0208F95A163D3D20A1743041E6725359075194C0725D55BC4BB802B1613905A17FD2842DCD196CC7459ADA6865FDA83A4BB0E2D677C15EFB3380555419B89E6A45712236AF54DBE8758D00B3DE2A8C506441A6906F6C6DE15B4F1C40AB3482982E84610BFD768473E60F63F95005054AD2282FA4424582AE2D54B5ADAB902F5184FAC4380EEDDE8976BD86B0D5C6DEC3E3186FC608BD0A7EFAE77F491CE8724C577B2CE67A6766D02CB4767966590DA519A2589931E57C732FE7CC5892CE20C04751D4A13CD8BDC89F87A902E8B81D216A3309005A418856146324ABE15DAFBB1ED75C7E210A2E4BCF6A25C0FA809853D105EF4C036903D0671F40E7579467D0B90E7A3A28E96C538A392D203A88F4F1CFA3FED04781EAE3706CEA7C2D58F44C703C36BA69B241596CAAC256BEC37286943A6059D61354F82044B028A7731CB49232EAD62264F33661F1D56F80B7F85AC01D51CB77DDF5451A40AC142481D6C637D3B2639D42CE02D06A22EA92186A4D3BFDBE3E2B40F7BEB42748EA3DCC042781740288C651BFEF13489FF82CBCF83090D1208AA0E8206386488EDC2EA95DBF858FB7C53C8A5ED0A43CC47D4DFEED0950B9E4D92DBAB931C60569C2A93B0BB0E1A6B7C239E716A138B85251CD268A1957B9A0267D64A71A4E9E5212130F8D5696E1EB5B6AF8CAE37B600D2E423DB150705354AC10ABE6F561E9701F8A968D30A4D6D9869B50E3A1E8240165A16D554349D26EA13E3E8EC37BF7A255ABA35E6FE150B58E23F5006B2EBC04EB2E7C896A001290566DDB3204845BA6B24565CF1D5D332762D213D4E1599970CC39EF9C73D2F4E150009D220A591454BC742EB38B62A5E208DA2DD9173208695F6A63A29D60A410E1BDBFFC4A5C7FFE529411CB8A456D08E0698BD2332C7B9621AD544779A351E70A32A0DE04EEBE672BEE7AD747E0BBDB71EF3DEFC01D775E01D7CD1FA433F07A4FE494675D10F5AE8A959C9556B64190D79F4EE400CF32378C57C9223E972F9D8DE686A1A2E2A01707B7975219980230BD8B33FF4CA7D078E823081FFA07A0B603252F84E3F0018AC4D48700449652A96C991977951AB9B7736A87B2C34A9A9554130A68A204046919557F23FAAFFE4F18DC740B602D901DABB943B670B31A5AA7D317DD94B6DBA5AB97CF72F24ADAD71BA0A32D5E3B973B23941D5E5D06FF51DE2DCF45002BD98FB11F7D16ADCD9F44A1F1344A560B192D57A56B92948E0FDB294BE193AA09CBF35457A3F83FDB886D1796E74BEC13FA43A30CB8BEB42F73024B6D0FC5BE6158A5F9683BF365D795CAE8C5BA094665D0FA7F9AE650574F8584A86444AD013CBCBB8A2F3E3E8629141038BE38CD153C0BC5B885754B87B1B0BFA4A805E9EC14676ED1E3080D91D346BAC3254B42A4ED266A478E60FFEE3D68B72354EB219EDA7F04CBCFBD009B2EBD024DAEC6C4C14FEF4B49AA23CFA0A53098B76A2B9095FA21576491AA49E4ADDC3920138C05A035703F13A069984413A5047148FB810851E063F7C11AC6620783C30578D1417CEA83EFC4C6E1B2325A620584CE7934A5D2AACCE7F2549DB6F718803EBB32E88E9DA74E23BB8D2ADA0653C059EB8D844A20408F63EABE3F87F5E38FC2CBEAAA934C6B56B98335B39BDE729DC233B53D8692D531834E54771C8AAA38680588AC0A027F05DC95B761E0E2D7C159B001995396E53DBBC92C3E3179EE9B9F526FD54F3FFC0A43094A79C192D48A56041EE3C9E9426FCE91CC32EF4DB355ED514DF0CD94D805FB70E4E12F21DE751FFC644A356194FB90CA6E220EDC621F0AA5419198F10C3DCF47A15082459F0EC6A958068A25CD22B84061082811A4A919D64B0712D9761F326B0089DD0796F23845C7B95FB2EEC453264FC47F5B3270A2BE48D2017CF6811D7868B20014FB55A1350950B062C99C17F6F9F277593049BFBADA39C5938944C544F973B016C04E931069AB8EDAF8111CD8BB1FF5066D42338CB7135C7ACDCB511A1892F34B82B66ED8514D31FCA88E7C8EF23A91D8256A32D23C3EDBE3C97C8BBF86786C900E51CD29711C76336666D09D269548017A18C38A13448D3A9C38C1FEA727F1F48E4368142A98BF61350A032E7EFD960BF0F6575D8C924B550A0FEAABF547778398D386B7277C6003D0671740AB544BEF46222B24D5EA5D2AEAB661DD3C20B898D0E42602EA4FA37AFF5F207DE253F0ADB6E253E57962A349BE696CC7825D1E6555D4533B65C8A258B249B5DB09F3E7C876D128AC4069DD4D18DC7407EC914D922932B354BA664D3A6B9FD31C23158CEA057DAF9C596F162BEF620761A76AA6EFDFD152E52EF44CE7489E71DB67C9C7E5471910D581F61120AE2929225D9BFA48D1F8AA65CE21B5A1D522A2B7D57BFA0928A8AB513A5C9A2951A5A2DB91F96F899D9A33D938D2880B988A528C35DB6827199AED14CD204518293F0A16DE1861CF7385E3F64B3E0A250F61023CB4E3300E444524992D8A0CDA492D1C2861C97009252786CD061CDE3B1AF0F3BC09C6726CF2B3CAFA9359BF147DE3A803D0FBF7ED43B51560B29DA27FC128D69E77115AA12A6E7255A574CE3C355578558E74A44978CE0AA409BE02DE492AFE250468FE4EB86566D73A6B16E586FE591C11AC75076144808E8030048236EC20C1CEC77660FF9683085A365A8502BC65CBD07FEE7AACECABE2BD6FBC1637BE74BDA23A124A4C2DB5F9CB99F66500FAEC0168055EEA7A483708E865094AAE8332551C1A08C4A35952A90859631BC2C7FF1DEDC73F0DA7FA186C02760278D4EF8A617BDEE7415736C57F6636F945BE5FD9D3A8ED87B89C6499DE45EC528DB0080357BD1E036B6E00FAD72143BF02F05C0FACBDA13B528999D94D2F8791F3CEFAE2D406B427F2355B1570B6F7CFF23A390FAD48910C534F2E5257EB7A65E43C7167D73CFD511DEA40B1C5F2FF8A2822770A8C37534CB4DAA80711EA498A7AECA01924A8D69AA2178E98558A8195FA40B567201B8654E7A250277E41DA84EA5122523AB6D5FB59826543152CA89450B46378F20A55B49329D0223FAE762AE767F3F372476B72B7884269EF669170EFFE83E2B5B177AA81F35E72052A43F3C5B950E879D09150359AF0B3A416AACD8D848B26A5A2BD35E458046F66C259AC3868CAE6E87E473A4DC09BCDA58AEA88A216D294B406F9E850FCA1FDA889F54BE6E3A273D761F7D66DB01BC0C39B77E2735F7B04F5D2009CA5CBB0E2822558B6C4C2AFBE62136EB9781DE6F7F5AB0ED7CEB0510D4BBD1B11E73943FE32196A9DD55C8F6CE84486DDC978AD01E8B30BA0C5FC5DB630620795E26D4B8E8DB24F4D6DEE3247EE90D4460DD1539F47E35B7F0DA7B61DAED594FD03F990D167433268D987508D555738C7440A82C27D6645B55B88B8DF05E24F915965D4DD95682FB80EA3B7BF13F09621B32A5A8CA7B4D14ADE966BFB4EC6287EA13FA3DB60D23D522F27AECA770AA4BBEA3D29ECE41BC8682F0ADA8C52CB514D323CF2F4240ED4528CB56334094E044C87BBAA2670A5CF4439F41148D53E7C6A75C1B98CB50126ACAC7DB0F184F01BB148C7AC3809D1E700EB4617A090C6287277172A3F3A3BC1E4E2C8AED39E9058228FA4D733999D00563B446D620A7B0F1EC658B385A78E8CE3922BAF45B1320027B6B8390C6266C262D0AFC05781B0A235C4FB7A165F0DA5DA20208788F919CCA8D350289738A2993F2991086154571B13536C1204889B556C5C328C5F7CD50D58B962094A051B4E087CE4EECFE30FFEE8E3A8FB03A8FB452CBCFA62388BCA38DF3D8C77FCCC95B8E9CA8B95ED94A5AD037807C427862B31ED91A2315826D8DC5D56F8784EA5EA75A7E5CB00F4D904D0F9FE7D1C6DAA838D1D6B64372483CECD8264B95D43D6D82ACD16AD9F7C1AA56452DA63D9EDC77149DB4F617D05A0D520A601101F729A1DE5A6F41CE4E4406D69D6A096771093C5F3B1EC557F087FC145805311FF67793E7A77D2EADD20E0B48CFC1339683EA1CC94784CEF4C9CF60C73CDDFB3A22138D07BB99E59D8351963C7441D4F8DB5D0B298DB3A0266D2C96767F0D21443A59228401CD783EDBAB073933689A12ABEF1ACA8106947295A51865610A015B444EF3CBA60040B07FB80A80DBF67E76BDE4B7A72F7A4936A514035867422C6F0C96DC7944784A88E4FE1E0D838F64D4CE150AB8D8B2EBD0285F200EC28831BF3F88980B49C8F06E49C83EEFA3B4F373ECABB05993DC7B1A53B065B48289F8BB4835D96A0D99C9242A01BA670A3109B562FC39017E3966B2FC1A285F3C4A6B53995E27FFCC52771EF3D5F40E411A00B8816CFC7E22B2EC062F7206EBA703E7EF7D7EE00B545BC6C493BA4A354196D75A832ED3D20E45A673EA67494FF507D00A7E5CB00F4D903D04A55A0F8617A3BC8AED27602DFCF502EB89D5D991287C3731FC2035FC381CFFE15FADA4FA19C717B215A812AC99A98AC8BB1514E95E84D5EC9996AC92CB9569A2289153BABF3EE1026BD1518BDF537E08FDE8C2CEB974D3CE97B2C8C80168E086D92BB1DCF52B33B2D0FC2F11C7466834CCFB9CB5F357ECB6E21BAD53A4B954639722C1C69015B0E4C62C7911AAA998D96E3CB7E7C7C1B770529BB0EFA0B1ECA9EA3409500429588C08A52DEB02B93DA6B2A2F24AA424D10E01D84D4092701A27613F306FA256BA49786437F6DBD3BB9F885E48D1B72CD6A4563DB4A8A96C8E7F38D21AC304173AA8E436313D8B1EF00B272192BD7AE83EB152575F778FF09CE9241E7ADDBBD7FCE9E410BCF1C31DB66B66C29E546DA44CC7397AC5AF1D5ED7A9D2A7978ED187B1E7F042FBFF202BCEC92F310348EE086EBAF41A958C0D62D07F047BFF7213C70FF562476054D9A4E153D94369C8335E78DE092F386F1276F7A3516FAB21ED42DEC1DDEAE07A0BB9DAB6AF732D61694CE5A6C5F4D067D3C4FC8A97DCDAC8B9AE9EA81B925B3930D4C1540BB897AB069DEE31752940B6C7D55084380B4DA8F60F7BFBC0B95C61614E31A9C980231D5A22CCB682968758B7FB214948612E55227593697ED2C38D1541F7DC8862F40FFCDEF8333781EE0960047AB18F24C45A79409682EC4E66255BC3963BE34404FE329F5C9772E837E1E2CBE12F71C1F6DCBC2444860AE61EBA129342D0F895744100528780EFA7D0F7DBE8F025B93A9AC106C4A618BE1BEE2A4724648CAB6DC468B9CB880B592DAF15894428ADE388B90913760C75E4880E104C17140A95F0199E3E94941CD2EB2ED9760345F47B0D5F04DDA8A001A44D87FE808B6ECD881A56BD660C1926570D8E21FC4B099ED5A2962ADD450D4461794C55EF428BECEA26F26F71CDAC249C76913611AA09D06427544CD0885D04663DF182677ED445C3B82B0B917FFF503BF8D438776E20DBFF073A29176EC0ABE73DF63F8EF7FFA8FD8B2652F2CA784AA6361C2C9E06F588275172DC7CF5EB8106FBBFD3A2CE8E32EEA927EF42E203A456E65FC6AC1CDD92B69D9572F7D8683C0A91AB426833EFB326866CE8EA829C829A6F07D0DD04C87F9EDC5485BDFC7BE0FBF09FDC12ED9928AF6A19218CB8054995ABE43887E947526A7DABC99D3796CC98585C02EA26A2DC4F0756F4665DD1B80E212D5F0407F0EF16DEE493D4999080B4B3E904BC73309A0BB56A5D31E5A591E2860556B053664D8A85BC0D35311B6EC9DC4FE5A1B6DAF84586FF755B433CC2BFBE877394D29891A657B290B8F2E77AA2167ACC121D7B4EB1D5B04A8C55590801E2365F306DBA0E31841A45CECC23082ED789219F3339D4219499E49EBC2AE80BCAE0970F295C4512668D62752B854EAA4C0814347B06DE74E8CAE5D834A7FBFF0DC0EF57F94C1C986005DD3A3DC7CBFD7885F796A68F0CE9B4E12A5D0C8424B541D511A20CA144053BFE78636FC6A8AEACE83985FF4307E6007C626B7E38FDEFF5BD8BB77077EF6CE3BA4D186D778F8401B7FFA817FC4E73FFB2D64998FD04D11F816AAC37D187EC93ADCB061006FBBFD6A5C7BEE72F8E269A01DEE7245BD241AA24D924853622ADA6EBD7ACC37403855983CED3806A0CF2E80E6C3AB96C3EC40E358EC72D0926D092151473A793F0EFEC3DB30924D88B97BEEABA6D67CF9EB7495ABA34850FCA5926231C38A85BE68B90338E2ADC3C21BDF8E8155B721B5D9C2AD80578A6439A797D3007AE0778AE4A765E43F8783EAD27ECE6C4CCFAA74042563A50733B0BB95E0FEAD53A8C754C3B848D9FA1D72835560A4EC639054865883B22248DEC94328F74217080588D564294E783A951630156F8B54AC3D09CC54531033B9BB0925796459FAFA06E07A05F9DC8CEDE47A0305353E142F259A67B9E5DACF8319BAB603154A8A389C246885119C62516E2BE56FA22CA61C0EA94C26BDBB9FCC34E27F0640472A6366B7652A00CDA6A850BEA3B80DA79DC269A4187F722FCE5DB20A453BC18F7F7C3FAEBAEE025C75F525A8D5C7F08A1B6F52E148811FFF6817FEFC4FFF050F6DDE2619341020B2DB38581EC0E09A95D878D152BCE6AAB578D3CD17637EBF7208D48B4978F970CF27D6DCD13607E89E1D6A9EC38879FE6F31007DF600749E7109BCE6FECBD0323BDF577EC75903480FA0FAE047116DFE102AE1B898FC509A9B48C55A2B2D34179DB7EBF1B30567452AA7CC7E644B59AB84767905A255AFC4D065AF47716803D954690C2048C8C6DE3DBD31DDA2CCF31FBBA7FE13A6B7A0773C8BE4A274D1CE72508F80DD9375EC0B2D6C39D842C64E42E9647350F25C913D166CBAF3B11D996A189D7B931FA679BFC8DF72D11B3F5739054AB6CB0C34646307E903FA2167D231586BB560FB25D152731E2E17CBA8F4F549B62B3ECC1A70F29849238BEA1CD1FE272AF7CFF964C9D23B26482C67D802D422AC4B2278CC3AA348B6C8123BD91E0FE767283774D62CC04D2FE730449205A2D41015479C22A3C6396AC30A1A5850E883556D61FBC34F60A850E626849837AF84D7DCF10AA4590B2B572EC1A245A3C2617FE5CB9BF1CF9FF8261E7D7837EA0DD5D9E9D01E172D8C9587E02F5D8C9597ADC3DA251EDE7CF3265C7DE16A547CBA74A87949B2658E539D3C8867B988C3F3E6283606E54FD6A91F71A6D5FB59627EA671D0525692CD518198050EFD50975C172502B46C1D380E547F80EDFFFCC7188E9F403969C04DC85126489409B0FC4FED79D2E5DEA4D2AFB373D7510529383EEAD902F8AB6EC0E0356F81357CA1DE2B50F37C8CAD4D80514B47393339846671CF14E39A7C20081D905702733A48659CD2426D39086C1B0F3F3D89270F37D0727D8474914BE8A16DA3BF584291BA65015F351976563CB9C5A9CED8D46B547B2527D6380AA4B1288D22B41B0DC9B8C338453B05261B019A7182F94B4651191C51923C9DE6F78E6115FAFC2E760EDF5D34C954A03864D597AD9A4F04B805E479AD6A876F8BF73FE516546AD7F58EA786DE9D5BBAFEC8331394C931476C6851AF0B09D07C6F1A4BB6CFDFD95108B75DC78A81322EDDB01E56A381FA54039EE3C0F132944A36962F5F84654B17C0E3CAA3D0875A23C187FEF64BF8D847BF8036C199F64872ED216C2B46CD2B201C1AC4824B3662D1C2025EBABC84BB7EE9155835D227D729B24869B8623D455BC3C88A25A7E4993237530000200049444154F43D1215D269A2E24C067D3665D06A171079A0682E4F4222030AAE2BBB7A0B2CA60791FDF8EFB1F7BEBF47C51943210905A0A99996DD40A462A40056ED23D83522526A2DC5D4D10F3AF007D1286EC2D025BF84FEF36E039CF95DB30F1614735FE4DC92340725D94B30E73B4E435672A28754167B9A4B9F0ED0EAE7CAEB985AE4C9D4C2577FB41B55B71F1157190E8BA1BC071ECA85A2F0C61431F3E7CA545FF30D799626332137A8D59D792CFC4521C2B0AD8A69712C6E706D1A0EB9054C3502545B21E62F5E8281E111508F27B452BECD586792D52E73F90EE5BAEF991BFE324354BBBF884D9280AA5A6D298F0D6538946B9D55E720270BBAD591569909D0D38CF773ABD028EA0168AA35F29DBA23017BA7D544296AE2A6CB3761EDD285F0B21853B586BCCE2F7998373288C1BEB238067A6E09855241C6DAF77FB01B1F78FF87B163EB0E1965E4F169F12A99BDEBA15DF0E06F18C5399B9663915FC7FFFB8ED7E2BC85C37AFF4C4E484C5C6C29784B0221064B5C2572F0E693E46934F130007DF600B44AB7F46C6F47C22F4A5799A7005A9EB4DA6338F2B9F7C0197F00AED382CD4AB8B41E8BC259795E085870594EC659779E71E92DAA020AB612B4DD3E348AA3E8BBE0F5289FF77AD8A565805D5400CDD360E6E52A7B259E91EA53D39BC58A7AE34451F234BE3E4F473557DB995B74A225006559D83FD9C6637B277020705073CAF02C0B05FA617B1E5CC78643B066D6461F12D591DF91B9F5520F32C1D2C2949F1BB4918601DAAD960027FD2F22CBC5C109EA9327B17AED460C0C8EA0582CCAD29C7B10E60B933CE79349562611658A24E6FE6A2B5FB523BB1C504DBC5D8056F23BA15FC40489C387D9B502662A3604A0A573B09B41F7AA38E8EDAC0C9062B10E55DB5EA532D9D0B45FDABFC30871AD8E42AB85013BC4C6D1415C7EF179E8EF2B8AC789E79764771D4AB399681C39D4C0673EF9653CBD7B37FA0687B1EDA903D8BEFD1032162CC30C49CC64A38858767DCF10DA29EA233ECEB96C1D962EF2F0FE5F7F2DAE5939049B9B4FD0C7DBF211CB76092C94EB6484CD579D2C7A86B3E2A91E8606A0CF32801638E4F052404AB99CEB3B2852071D57113EFE398C7FFB4F3098EE404A4B5056F4296CD67A22D98A490627CD46F919BA29050E1CA145954EB6E18DA03A7C21467FFA7761F55D0680C5196558CC0796598CF279E86D99A5324179789C515F1D8AA38716D03F63D868F33919028FEC3884DDD51051A11F2DDB452175D0EF7AF03D82A6DA528CADEE92718BC659EF48AE0BB3EA35AA68479E396E37908501E25653B4C194C8B5321BDBF71FC6D3FB0EE1252FBD124B162FA1A9A9F87350BDC10EC3EEEA44F1CA1D1B39CDBC2A9A4381B36A3852002DDECD427190C6D0E02CB446F75BA4746CCBEE48EBE8BD311DA0737B500174EDAB415A436480E2F31C22A1295214A0185B705B212A698A73572FC6FE5D8FE2FAEBAFC2C0403F2CF4617CBC219AF2458BE661C9D2F9F8C1F7B6E1777EEB8398986A28B329BB8D2BAE78097EE6B6DBF0E8C34FE2739FF91A9A918B90E3374B105A31EA15078BCF1FC5EA8B96E1976FBA1C6FBC6ABDD400B80B3D25A24AB9A10BA632867DB180E52A47FE79FA080E6337FA6C4071A671D0BD0FA65AE272091DC165618A2BC2780F0E7DE97FA2BCF7F3709A3BC44A423228D0BF41EDBD47599E6A2DE386A504E8509A51D84AE1A66C8049458B7B241D4175F13558FFBAF703CE6AB5C12997BE3633F1E99D8382F73A5B147E2F0791D344EB9DF0E43093C8ED49FF39E5B42DE0B1DDE37874CF14B2CA10023670D80EBCC4C248B9025B803712458602BF148EEB2B30D5E9AE2A02129C15B7DBAAB1981B89EF7126BB8C00CD2845EC95F09D871EC1E557FD14162E5D8C3826F34AACD1DA688BBB892B4811C15CBE52D19207D1EBE85953005A126595D52BE0569239D9895B7B80288F0D4B4B0109B2F4D2C8773E514D2A1DEB50D901A5EB52C7A2207F1F6AE3237E36C1DA8ADBB0A23646DC0A2EDB70212AB0519DD88B55AB87D0D75F116EF8FBDFD982BFFF3F1F439606F88D77BC09D75EFF527CE54B3FC4FFFCAB4F22CC58B40CE1D887F1BA3B5F8EF7BDE71DD8F293FDF8DDF77D107B0F4C21CE485DB4D08A5B98CA6C0CAE5F81B5D76EC2D5E7ADC0DB7FE64ACC1FCC131935DC45B1AF37449082381F03E93CEC6DFD3EE191F3FCDF6032E8B32983561C9A549DB9AB34B5CC7620CE67253F8235F15D1CF8FC075118FB11FC780CE5A28738619187D56C1218EC12A4B65901B4EC226287A2DD4D321F5ECADD08A5CD0C07B22548D6BF162B6F791B5267991C4F71D41CE5B2FB1E9C8EAB5B47D0AB82DDD1A93DFFF17BAA3E21673754E154CD30FC23B26DECAFC77870C7114C240E22BF282E73542570AFBFB2CF2E345568A34115C3435E575EA395144A67CBB459F1CD59D446AB3A21F7A5194692E5B5E20C416A61CFFEC358B3FE5C2C5DB118F5462AE6EC0A709950B24D59D311DAD65F58541D6F55A4E544A0C158868BDAE544680F39CFEE24221BBDF267DA46947FE6EE742CF0C5047202B0B60CA57DA8F2E3605193C6FBF9765789066805FE04681604FDB08D25434BD0E754F083FB1E40D09CC0B9E72FC1CD37BF129E5BC67FFDA3FF0F5BB7EC816DB770C185AB70E9E5EB91A4057CE52B9B3136D91693A6C1F2145E7FE7CBF173AFBB1DAD9683BFFCE0C7F0DDFB370B85E2F50558B0743EFCBED5F8EEB6BD587AEDE558B27804CB06CA28F57B1818AE60F5B2A558BEB00F4BFB520C7840C1027CDBC6BC725128AADC0EEB19B9C4A94A2E0C409F3D00AD17B4FA82F8D84B93313C9F00DD44F4E0DFA2F9D04761B7F7A0C81D50586892244EB7BE8A89BF6A6FA5E05F38632B446A2B8B4C522102BADC56A9782EFAAFF94D0C9C4F13FE41CD7D2B72451E745BEDBF67E5AD58EA57672438E72344605937F248469901A165E1D15D47F0C8FE36B2BE61DAFB8BA11437DB2D95184365E529A1A549BEB62555323A95408BA715B5CC6188A8DD4212B61036AB08C8DD5A2EAAA9879D8726B06BDF215C76D9653867E50A05BAB6E69045BEA3A41632CD6AB14C2E25EB7853698056748656690885C1B72A9960BE038A6A38C98D8F14C5A16472DAA18E4E74A4393A56A1CA8D2E4A08F85466D0FC48293958B053CA8D14569421E57655E30731E858D8B4FE023CF4FD8711B6623CF0BD6FE2F6D7DE88A9A909FCE63BEFC23BDFF9E7D8FAE441B85E804B5EB20A6FFCC59BB178F122F87E1FEEF9F03F61D5EA35D8B86610AB4787D0DF57466615315507BEF98D6F637C6C0C3FFBFA576374D5423CB9AD8EFFF267FF84C71B0DACDEB851F682CCDC1811DA4A66C76BA08D294294CB16968E94F0CA9FBA021B968F60F1401183250F059BF755797173159877D9AA86ABAE6A661A9A74E8BDE34C236652693240CC8E2A478DDE994671A8EC4E379D385A819166F07C0725BF8AFAD7FE18F6D67F461A1E91FDD95C72C1521C226E2A334C470A79FC0C820B75A5AA6D5830809EC1D2EDE6617CE82A2CBFE32F81BE35DA4CA6275ACFA0048E7380CEB997E9D4534BEBD4EEDC6A09A0A467161A4986C7F6D4B17D2C42E49741CB28169C2A2EE0B834AC52C150853AD501987FE5DB5831A36531306E3510B7EB88C3400A69641628A3DB399560CBEEC358B5762D2E3E7F03D885C813A00995BA6F79FFA29E03258B56FEDCF98A45CE387712CCB3658DDCC215F7FC4C191FE5FE1AB911128B85AA3828AE736977F76DD97B3066E18F593EF7FFA3BE39076882768688CD29627C64A175B086ED3FFE21E6557CDC76F32D78FCD12D48121BBB9EDE868D1B566068B082B7BDF5E770ED8DEF44940EC0B203CC1B4AF1ABAFBF1E575E71BEEC37687B152920169C108EC5EDBB94D7387C07E54A49CE9F5D94AD26F0997FFB01FEEA6F3E8389D44269703E2CB788C469A150CCE0152BF08A7D702A7DB0FB4A887DAE744214AD08EB978E60D3AAF9B876D3326C5AB50815CF8193A424049171C721A1006D691F971DE7734096C953E7479D31738CC1DDEBF3D25B4037007D3665D0325CE4614BC5715FB5EB12A00BCE3826BFF85FE06DFF17E92424D8DAA44174F59E52A3AE5B31470B1B90992910C095FF1935B08953441303289EFFF3E8BBFE7D80B3A0EB0A36E70076FA094D1BF72772AEF91BD96527C0CCDD63B8751570A016E1919D554C242E22C797860E5A085508228CA9AE942AB9620EA53D5527D11AC7885A0D84F52AD280A641B1C8CB1AE49CDD129EDC378EC42DE3E24B2E46A55492FDD469C8AF0A8EAAD0C72EC11C8C73F5456722D0E0DB59C468F095A9262F06CE00E5FCE7AA65BBEBAF212A0E7A38E73CB3502009B258991C45CCC6B91515FF4DAA83323B6E36C06C9A7ECE69113FFCC68F31B6E7495C7ADE6AFCF4CDD7224B5AD8BA6D1F6CC746A1E0E1A76FBB1A412BC6DBDFF9D7A836D9E0C30D7BC770DB8D9BF02B6F7835FA0A162CB72220ED58DC1D9DEB0647F4D15E516D6EECB9B469F5B1775F15FFEDBFFF23BEFCB50791794544A98728A52F490C2B6D21CD5C387E1976B10267A80C542CF1BB9EB770093C2B40C16D63ED8A215C73F979B870ED4AAC5954C210179132017025A2B2E78E765A5BCE3E27897F8EF106A08FEFE93CF332680234E98854009AD90E3963DF735070C730F185DF86B7E333B0E972AE377D557B016A8F0971C3A3B2C3829D70776E3EF8BADD5878CB1889378C09ACC0E86B7E0B18BD19B007CF0C809E6674946BBBF538E8484D9E8D58E453A32821E1581D1FD538C523BB26B063AC059407C5369444BC27895C77E9AB3AF67416AD7D3444734CD0D63AE776BD8AA05113D5068F520B63B4ED3276EC1B033C0F175E74310606063B1D70D4EDB21351DD3B4E09CCA6959E3907D7DE512E3C759E316B80CE5F9767CBBD59F3F40C5AA93A4485412A464BE4C4609F3A68F2D01133EA48B2644E3874A86BB3159DB2CC3046D26AA2E25B38BCB786EF7DEB7138D1112C1D7670CBF59763C1481F2C7F1013B526EACD00FD25073B9EAC8A0EDA2F141036A7306FD8C55557ADC7A6F5AB51F65CD45B317EF4E3C7D06C37B17AF56A61E36AB52A6C2BC3F0F020AEB8FC52942A05D45B2DDCFFDD27F07FBFFC200E1F1A43FFC07C1C1AAB61F3E61F60CD9A9578C9A697E0BE6FDD8FFDFB8F60C5BA65B8FAA697A191F6E33FBEB2196E2905DC08C5E17EAC5CB70A2B4717627420C1D5E7AEC2CB2E588791324DC514AF9F6FF849F330B54C5203AE6711330D74F442ECD8406432E8B32D83E676466C6250CD06E4D88A2C7E784730F185DF85FFD4BF035643C0C161612F6F649036431609C9C5014E07A0D50B9481528AA6BD10ED91EBB1E48EF7018555805DE9D18C1E7BBC9DB6577456FBB9D6B5E74C3ADCB8D670CF729202B25CCAEB6A61E4B838D00AF08D1FEF41C32EC2EB2378B26097A050F00528A97966A62B6DD37965544F8802ACA40BA21071BB8576A386B0D910E3A3D072504D6CECAB26F8F1933B71F1A68DB8EC928B44E74C028ADA637A48B802D08ACB8E95D0EEE8009DAB346664CC7C6F4E69CC343AEABAD1758B7DCF04E84C9424343C123F0DBAD131BB8E62B45302768842BB8D5212E0D20BD6E2C0AE297CF6D3F7A159DD893B5E7D2D6E7FCDAB70E8480D9B9FD8832F7EF57E54EB6D4C1E38843ECFC7EFBCF7ADA81413D8718072C945FF6009B65340C1EDC787EEFD5BB86E86D115CB70E9A597C2F7CB8291D5892AFEE99F3E85952BCEC15BDFFE4654FAB859B28BC9B12A5AF506CAE522C62742FCA75FFB7FB07EFD3ABCE9D7DE844FFEF3A7F1D0833FC26DAFBE192FBFF91A8C4D16F06B6FF95D387D09FC7E1F838B57A19A661858B400F3168CA0BFAF80AB372DC66BAE3D0F17AD1A81CF498878CC159668E659AF513EE98A0E9B5E1DCA5732F9307B56A73C03D0671740B330C74A3B2B4FE499C96F96BC18BEB50F135FFC43F84FFF0760B594CA42E475AACC2FCA0F36B911A02DC04D289B53A6FFD4C692DEE3501BCF9662E4D277A074C5EB017748B5766BEF82D306BEC77DE0A3901CD378E1EE8775146A9A43965D68E487B6D8886E1B6FE1DB8FEE823BB40076412CE19125114AC5A24C92F4D4500F5F8FD1914C67D2F32666F4D43847AD26DACD3A4216089304F5CCC36456C4777EB44538D35BAEBB1A03655F6829B14EB2556BB24B599EC8E6C8477372E81299B9B2A397C6C80B93BD19F36C7FCF9B4D728016D739F2E4B9844E8A7F7A9357D9C28A5B55916B8E1066B40B65D12D4198B590464D0C044D5CB062092EDDB40625670087F605A8D776E3C24DABB074C9285207B8F75FBF8BBFFA9B4FA1560F51B633F8691B7FF167EFC15039442123CFAC1C491C7F1849D687F7FFD17B71E7EB6EC305175E8C62A90F43C3231277C74AF1977FF17778F8478FE3177EF15578E5ADD7A2E81230538C1D1EC3C8F002140A05BCF92DEFC0C8FCF9B8F3677F1E070E1CC6E4F804962D5D8482EF20890771D75D7F0CAB18E0A657BD1296BF089FF8B72FE17010C25FB41CA3E76E42C59FC08A91046F7AF59578C5651B848376C45D8AFDA4D4602BCA90D24AB5078E1A64BD233007EAE9D9F48CCAA201E8B30BA089A8F462E09E6F6C16A1A2A0E4B5E135B660F2AB7F066FDFD7003B906C4C6DFCAAF462E2E121197424838876A5D2AB2DCF3C7751E102DFC184BB0EA3AFFE1FB0175E06F8DAEFF98C02E8A3D018DD7A9ACE7754E6ABE055819F453132FFF42CD4B20C0F6C9BC496FD47D0B760A972A393892E96CE4D2A1C64DFC7AE51B47C962E194A0391F0CD04E6561D41AB2916A16CFA9842098F1F6A60CBB6A771FD0DD7E1A20DAB652544F185D24E6B7DAE4C9DAA0354FCBB854951F2BD1CA095F14FB7E09703F6CCAC79F6C260CE352BB7BADC0489BA6C6946917D04B5EE59360BE09E8804E708161B5362EEBC5DC3F9F38671F585E762DE601145A78091CA42D9FBB254A087B58766ECE24FFFE65FF0897FFD3252AB84248C5070800BCF5B8957DF7A0DD68F5650E0A6B73637C91DC1B7BFFB30162D1AC4828583F08A4BF0C4137BF0F0C33FC14B2E5A875B6EBC0403FD1EBEF81F0FE2231FFF3FF8833F7C2F2E38772D82A0853D7BF7498173DF9EBD989C9CC4E2C54B61BB74FC2BC1B253B49A0D38DCA51D1E0E1E3884206A60E1E265B8EFFEADF8D8C73F87894688566110C3EBCFC3F0390BE0F4C558BBC8C76FBFE5766C9CE7C18FB8F78A923E52F7ED5362A93B71F37697DE49BF9341E7ABD80E84F716DC8D8AE3A8087D2672D0F411705D471E1E95414728B975D887BE8FDA7D7F0DFFC8F790A1ADA47522834B757776EE66A6DA8155E38A78D24982CC3D0E43A782E6E06558FCDAFF05BBBC56F91F77ECEA8E3B8D9D9B2F9C76B37370560F47A8377AE56A43ED0398E1502BC1834FEC43031E8AFDC37A13DD141E63CEC614664E123F3644E49BDC6988A6543C4D10D42610376B924107418080BEC8F4F3C84AF8D4D77F809FBDF3769CB362B102E798F7C112ADB3341BE61DDA5A7B4E3E5A80587BB1F466D03940CFC639CF546B4CB70A2510F75A892A937D72D0CA894EA93A12EE88426A2649D166E8025A86B6E044352CEAF771C385E763CDB225D2E054F45CF4154BF01DFA8D58F0FD0ABC9203D2F89FF8CC7DF8EEF71FC3F2E5E7E03BDFFD219E7C622BECB48DCBCE1BC12FBFE1A7313ABA04D57A84BFFDD0C7F1E637FF8A24145FFECA63F8D467BE8E306211F230D6AC28E00B9FFF30AA93167EE7F7FF00175DBC016FF9F55F9626AA8347C630395E836D15A49E323131811FFEE027F8E1E687B062C502DC74D32BF1F4B6BDD8B3E7295C7DCDE5628F90A60EB66F1BC3BF7EFA8B989C6860E9C6CBF0BD27F761EFD80138831EE6AD5F8645F32BB870C542BCE5F6EBF0B2FF9FBDF780AFA33CB3FFBF33739BAE7AB72C59B65CE4DE6D6C535CB031361803A68412B221A411926C7A42FAEE26D964D32B210909A186DE4B68066C0CD806F76ED9729364F5ABDBEFCC9DF97F9E77E64A328124B0BFFFEEC2C7978FB02D5DDD3277E6BCCF7B9EF39C3366881B19A6CE27CFDB46AD8A83E61107F543721783C786FCEDB571B2827E6F55D0020A4A3DA05A4DAE6C2ECFE8217BE405E22FDF405EEF66B50D7337522E673920D2CA51AC2E30B9C92AEEC8B8A9FB881B15F81BCEA664F1BF43A0CE6D4FBD5517E4FF1A0CE72E0AAF57A6F4C71EF72C1A5F15D0EAD5CCB92A47E863E17CE352D59A36D1B8453C9D555F914C468D5DDB7A40ED2CD46E24E739A2C9EE4550541A77F2335771E13EAEDBF59750D6646F3776328A954A90362D62199B8C1EE0704F9AD684C385E72E52C6F832D4E24D62AB06A480BB4C775A6AA7E4BE6A5D0CFE956DA90704839A858381F9AD541B83330573D6A1725F1547A5941CDE38B78403A8946E771845403AE74B9DB1B2646C878095468BF6521E343875EA44C6D4D5AAF25F34DD81A04E594998A27C1F41DD26A0FB317459041D62098768DCC40804787EED41BEF2A5EF11F4079831A9842B2E5B4AF59012922987DFFCE6563EFCE10F10080479EAB95DDCF7C073A4D3191CAB93098D853C70EF6F397634CBAD77DCC4C245F318D350AF1A98D178924C26485B6B92679F7B92D2D20282869F07EFBB8B258BE7B2EAFC4B79E289B5DC7CEB1F386BF94256AC3C8F505E182C9D4877AFCC11515831969FDEF8006BD7AEC55F9047B6A294EA6953D04306932BE0471F5F4E437599C26615FA2E3B0A599F255432A7DA54FF7E438EC59BF11FEA74395941BF672A6877D9168016E258B82F31801180EE20BDFF0952EB6F221CDBED0EA378ABFA09D22FEFF7DD241637C32D07D0192D48C43794922997923FEFD3D8BE1A575ED4DF60FBBF86C86F783D3963234926573B0B17A973DEBFAADED1D4707C7F232E91CA124999F4A44C2212A09AB0D48831FE20595D53CD3AD9BA2A6F110FA075352A2F4D2359047D6AC047F1CDB929CB9C094F2645B2B78B4CB497ACFCDDB289593A3127C0EBBB0F306FD1D934D697E1A425295D940142570D849ECA74A700B4BAF815B5220B426E61F53CA6BD6198B7E299074BE906288E81F41317A007F4CEAEB44E541C2EC52106486E85EDA8D0808CA835AC2C412B4D2893E4D429931839A49AA67DFBD9BA6D275D31E97DA49930B19ED9D3A730BE711835E54564D3E2CB6192C9D8C4122689743EB1A4CD55577E92DA9A2ACE983792B9B3C753585C884D903BEF7A9C05F3E7525D5DCDE1A371EEBDEF0976EEDE4D69899FCBDF77161FFBF02A9E796A3B4F3E751F975CBC8221E52E608A57F4B66D87F8C39FEE67E79ED7B970D5395C76D145B41D69A6A4D0A7F8E9B6B63E5E58FB22C346D6316EC214F6EDDB4F714188FA6143C96635E2C9023EFF959F12E9EAC5F1F9898843E190A194358EA62C2FCE272E9ECB05F32751EAD391D43277711E2472CE6DA2E483934ADB2B0A0649EC4F3C714F02F47BA78276DF89EE01B41B59251AD2B0D642DFB6FBB036DD4661BA59E944DD5B4EC339B875E1CAB5FA015AC6BDC55E540BD36D0CA77AD1C7088EBD84AC31C475DC7863D7E3FF324E0FD299E61CE5BC1E298EAE1193CA389521216069425FCA1DB5CE481529B6514610DB082046AE2AB45513258C2C860336AF2A01457D99FD61AE2E4D94E385DD8BD24E2589B6B76125226AE22E6E414F46E360579C7DCD47F8C4B51F23A0D9CA6D500CFF6525541ED1DEC2A2C6EFE57B9ECCCB6B25788A91016586FA88BCEA7770259DAB8A4F546A7852BA41E6FB2E40E738689910940ADAE5A605A0A531E8F2D10E662A839E35095836636A6B317BBA70524922D114692B4D554D09DD3D51CA2B3476ED6CA6A2B48CC5F327B064C15CF47446699F6349F1B7F6F3FC9AD7E9EDEC644CC310EA6AC2E405E5BCF6A3FB0BD9B5FF189B5EDFC0CC19D32929AB26D297A0B5AD8DE1C3AB183776347B776FE2E9A75EA5ACDCC72517AD203F10C66F040887F3D8B071376B5EDA842F643171EA181A478D96E03515922B41023E9F1F19B0B56C8D7446E3E1871FC1AF67587AF61282A1222211F8CE776FC0B2C4D2D4A0B53B42C208A2575652585340E3D41A96CC18CEFCB135CC18D74858CE91DCA29C43612F624B766D3932ED2440BF03E078B771D039D0950A3AA787D5B414F94E33DDAFDF81B3ED5E8AB22DAAC273290CB78134F834C9D9502AF05695B6ABB5CD6885741A23197AFE1709D62E21AB950F9C78EFE0D8FEAFFD8AD764539E4DAAAA7230354866358E754469E98992D6FCA4D5208AF0097E0F04E57E06964A3277E91F35C727833E831237542287D7BD5761AD6A1058656ABBDE1B4A6DE1904DC4E96D3B869D8CA92A359AD5694B38ACDB75888AF20AAEBAF83CE5AB91D3A8CBE7E45232C233BBA247B757E082B68A7A5557FB8013DDE066E160401E0CD8B934EE0110F6D41A9E2C4F280E45634868808075CE885F65200AEF2CCE7432A66E8198206552D40F6DA0BDA59BD58FDDC7F891C35975C507F1899E3915C54AA739FBACA9DC7CF37DECD8B687211541AEFDE0FB18515644221E276AD974C5037CF7C737B36CF1428AF20368568CF2E220A5857E0C9F1F7FB0903BEEBA8FCEAE3E0A8B4B983F7F11C54525D87692EEEE4E9E7FF6691A473770D1C5CB08040CE251D14827F005E4130D28A0178F1A491117B9A93B01EF5E33D96C4A9987398E4FA5BDB4B6B6128BF6306CF870340162DBC7CE6DBBB0ED4222318D871F5CCDC1D66E923E8364186A678FA3B22CC888F2009F7ADF124E1D5FAB125BA498E94F6DC95A68E2C4A70A8613A740FF56E67192E2780F511CEE352A90E0B6A6E4BF0405E63EBA36DE02BB1FA1D83EEE4AB3FA1506B9A053EFFA567A3A71AD135587546FD27CD230B5223A8C51D45E743DA1AAF9D85AE94042CA3B1A9BFA5F82684FC524F4844808D30E74C52C5A7B62F424320A98B3BE806A7689078932B437452521010402B81E8DA48EB31BAEAA16728F6376E5E45E95AC067DE43AF4F4CA62542496A022518BC7881C6F259B88AA749A287EF6752458BBEB08CBCE5CC41993C7E0F36998390B6DA9A6857356C646EE02E1D234AEF4CF75EE76FDBAD527FF8669C1C1003D584637902538A0D4C839D30D501CB946A10BD0EA6B10408B31942F954290B0A6B48853E69DCDD7BEFD73CAF3D2CC9B3585C29AB13CB3FA15BADA3AF139112E5A319755179E453CDAC7638FBEC2D0B2022E5D320F279BA03B1927619472DB432FF0E273EB28C82B5234DB84D1435879F6744A450B8D8EA985D9B879177BF6EE53116CE984495FA49BAAAA122EBC601923870F514A112938FAFA823CFCE8E3BCB271355FF8EC27282F2E508D56E5E6E713D7141F8984A86E6C8201D1A6BBB6B8CAD50FE8EAEA63DB8E5DD40DAB6368553921F15371CAD9BEA39D5BFFFC38CD873BC91859FA020E0CAD64E4B4C9CA64EC9CC961BEFD890B944DAF7C29CAA3BF79983B67DC51FDFE26E11B54762739E8BF8313EFC60A5A0184679AA38A2A3B41616627DD1BFE0CFB9EA030DBE12A0CFE06A0DD080EA90E05A0FD591F8E9EC552006D90A15855D075B750A75B000020004944415402D0D50B71907467CF95E7DD02D0A2A515C37BC15543239985A35D195ABA63A41CD117FBDC705751AD880C4EB9D6B9CE80AE75A75B050B4088C6593A746E2A8A0C28B8EA17A579559C74CE074DA05350D6D52CCBA52823D19600745B0B762A8634D77A2C1FAF35777030A671F9F92B682C0D2ABF63D719C5FD5276DCAA60769406DA909173CF785F0D09AA2661CEA9CE95D6BD19C5D12F97F340DC6D0A0E8C74E778E7C14DC21CFF9CABA07326FC69510B59690A627D94FB1C4E9D3985D2BA195C7ACDD7F9EA672E65DEAC466E7D6413B7DDF3143E3D48301BC56FB6F2A5CF7D843973C672FD377EC390F2123E7BD5395496848825E2F4983A4DED511E7D740DBBF71CA5B3334A5158E3A2E5D35876E6A94A9E97D583F8F30A48C423B41F3F4E229AC11F08505553C18886A1F8A4076099D8599D74BA88BD4D0769397E8059D3475310101E3D1F4D2BA1B527C9B36BD6B365EB2E8A0BFC2C593883E9931A4927234A0D65DA1ACFBFB885DB6EBF8DF3562C62D992A5D8199D071F5EC78B2FEDA4B35D926E7C64C51A36A8110D81BF6E1863664EA631BF85EF7CE6328696172B973C15AB25BB2875EA886CD0FD64D580518E06C9518639F039C941BFC7386875250B372A9202018B3885C96DF46CBC19A7E969F205A04FB8E5C2E6DDE879693C8922C16FF914E86475011E83B4534CB76F24B5177C8950CD99A0150EF858FE6F0174EE243E61FE64506EA0D790515B5805BA6EF28980DEB11E93239D11A5C1CDFA826A4C5BAA63194D968EBF4BAF7B23CEB225963D89B2729572D5258844979BAB886CCD52BCBD3405D58656A6343D4F6ED57A546A18572A67CAE45D2C42F7D143AEB5A899E55842E3D5BDC7C81B3A924B57CCA752137090D2CBF5E996B7E8D5EADEE7EB01B4E656F9396E5AC5550DAAA007AB36DE4CEB9C73A87384BA70C44BC36D0CBAEE759286221E1B6E1A8AF2DA90C5459CEC94B42E8399B5F0A512CCA828E4B40963282B0CD2962CE5EA2FFC9CF3168FE7FCF31671FB635B7962F516C5EB868961C48F316DE230FEEB7B5FE3AF6BD773CF5D0FF0F58F5DC0A8BA72A2B198CBC7A71DA2C93C1E7E6C1D2FAFDF4A4D4501575FB280699346299FECA2F26AD25616BF9EC2A76531B4009AE1C7080609E7FBD0B48C6A3E66D21ACF3CB385C71E7F8A050B6671E6C2E9E407D2384E05878FA6F9E2377F446B67125DF3E193F9804C3B0B4E9FC897BFF011C5B1A38538DE65B375EB16B0BB3965E61CEC6C881FFCD74D6CDC7800B40282FEB0AA8E934E86B8CF265150882FA031715625531A4BF9E0AA73983D6E0441595815FDE8711EDE94A1A2139513577F6B68D0DF4F521CEF298A438D978A524140C49061930405E92D74AFFF3DD9FDCF52E0443C7317F792578A8341E3A86A4BEEE8F8C45046AA48DD5292AEA45E4CAFD140ED855F26547906F8CA55C2B41BDBFD16C31FFF7FB118DE36B03FBFB51FA09577A4A2100C5DCC9EDCB053358526FA654D23E5381CE94A73A4BD57191159BA441E4913CEA794086A7BAF820E5C7EDA7D0E19FE70E52A03EF74F07B76C924CF16D0631B733245A96A5DA6514808791C2BAB61F676D0D7D2A45245E296CEFE989F4D4D47A86F18C105CBE613F6526772D89B03E99CC78300BEF84EE42A6AB5A078AE74AA09E90D960C00B45B25BB16A2EED049FF7D241350864F1C87A424B54B97CCD63C573A990C4CABA82B5131C43226697987D924A4E3643332CA9DE0EC710DCC6A6CC0F0D944B41A2EBFEEFB7CF75B1F65F2C4A1FCE1CECDDC7AEF33383E87A016C3891EE5F31FF920A7CE98C4F5DFFF394545797CFEAA73A8A908D319E92693D549993E7A5345DCFDE06AD66FDCC899A74EE783AB16515098879E17E2AEBB1FA3A1610C93C655535116242C61BC869821F97869DDB3883A6ED1C28558593FAF6D6EE5FBDFFB21F535613EFFB98F5055954FD22CA2F958828F5CF73DD299A02A688286493A7E9C49934AF8F9CFBF8C93CE609BE25C57823F14249DEA22954AA8C5BAABD562DBE6A3AC7E711B7B7637BB610CBA4E1A83B46613372C02A3CB193F671C4B1BEBF8F00567505F1E941943C549AB0D8FD73650C64B3980F63CAF06C0FA2440BF8700DAD3F3CAF08902319178A528486DA27BE31FB0F63F47BEDDABF854B7352140E472966EE4B7465655893A862DBFEB1AB88BA42CA117D0633450B7EA2B842A1680AF6CA082FE9F0668D9B97B3AD25C91EC1A01E5161D97475741209EE7B254CDD1ACCDA1CE34ADDD7DCAECC83482646C5D5576725FC9DE535B7DA16EBC14B07EBDF83B788FAE84D1F361106F0E6586EF20FD34ABF73891634D4A6217B77DEC8DFAD97AB085C6B1A358B9F454FC59D14F7B01089E1263708925E0AAD828AF999703E537AB98079A8239D3A381041475FFACA4749B6A872169302A815B1D0B71A54B2B109695409A6669C7212E9C7326862F1DC3679B8C282F627E633D434AF209847C50349A8BAEF91605451A73E7CEA0AC6C044F3DBB06534B2927BC99931B59B1641E99581777DCF35746D557B26AE11CFC8649D44CD017873DFB8FD376BC878CA5D3D51BA7303FCCECC9E329280871A4E50877DFFD80CA61ACAECEE7DC658B386DEE294A237DEB1D0F535B57C1B4A9A3691856455E30C881C3311EB8EF118655E7B364F13CF28B7C64EC3C8EB425F9CE7FDECC91A311AC7452D12221BFC5D2A593B8FA83E7A09B593427C0C1C37D3CBB7A3545A53E16CC5F882DA3F89D322350C04B2FEFE4B6DBEFC5670495ADAA889F85EEC80675E29561EAE7CF645481CEFB168EE782534751120E2959A6E0B1E7AEE0D21E39DF7435DA3BB89A3E09D0EF21807605F06256E357DECDD29848939FDC4CEF6B7FC46A7A96FC6CB70BDEEAE6F2A7AA32F4CA51F17950196D22B4F79678F14A48E87974FA46517FE1D708952F04A3C8739AF720F27F526E37F81CEE97CEB92F402925D47B1FD09F8A4A236E6539D411A7332E2E6B22999346A04E322395A39BE23C78FACE3564F7005E2D68FF8D5D82A71557002D7234CBC1EA6BA7F7E87E65331ACFEA34C57D6C3D789C118D8D9C7FF669E42BAFEE81F7947B6FB94F4E01B4F77E73AF3B5711E7C0FAC4C6608E677E938057A98EEDB43A5F2CA17C646B6F5B988EA58CF71D53C26BC5A81F526686949321944C114A25183FAA9669E3865311CA5218D2F0F975B2C15A9E5B7F90DFDD76177A28C89CC9E358BC600A631AEB58F3521343860CE19BDFFE291D5D6DCC9F3E9C7FBDE67D14EA3E92C918D17482E6E349FE78C723FCCB454BB970C559F4260C7E76C36D3CF8E8B3EE708B93E0473FFA2E81B0CE8B6B5E5640FDBE4B2E61FD6BBBF8C14FFEC084898D545584993B71288B4F9B816987D8B37B3F9DED6DCC9A358170817B686DCD4F774F80752F6F65DB8ECDCA877AFE69B31937A606B27DD8A65C0979ACDFD0CC2DB7DFCAC2B366B164F1B9BCB67E3F3FFDC52D2492BAA279344906A7C0EB4F487A3958864677180A46D6316AFC28EAF3227CFB03673075ACA841026A91367CD2CCF70A8B7E25D04980FEA737DEEFC626A1CA04F4005A2E58BF66124E6EA17BE39FC8363D4DA1DD8978BAA80B5E350B5D10C881B60BD05E3E9BF2EA70D51C02D0EDBE46EA577D9DBCB2F9E02B72A757073CECFFE9E3FAFFFC8EB966E520BDA97811AB800107650B7AB83BCEF1484A4DB3D9BA4F558AA2D4C8588EE25D5D08CEB5D9739CAF7BB1B87EBF6FFF96ABE995EF894773A8CA54B8DC68175D87F62A1F8EA40547537E36371FA7B47624975DB8884245310D786A0C501C5E55ED5987E67865B5DC7A137FB9BF0FF6DB707FE64652B97CB248E75CB056F155880B9D848A18AA8296DCC1AC935615B4701AB62C2A599BB499568648464A23D39DA2B6BA8C8A7C8D398D654C1859AD3C928D50094EB08027D76DE1DEC75FE460D37EA64D9E4255D5505E7CEE451A868D645FD37EE5A571E992A99C75EA644A8A8BD502B1FBC0019A5B7A79F4AF2FF2F10FAC64E69471F4A5FDDCFBC8733CF5FCABA4A3BD8CA9ADE0DA4F7C944426C5732F6D61DF81A3CC9B339F75AF6EE3C5759B948706768C1923C3FCE05B9FA1B2AA8E5B6FBB877BEF7984FFFCFEF54C9A56A71254C4CDD1CEE62BA04E585155DCF80C836C26A180D3B103D8593F7D9134070F3751581EA4A262044F3CF22ABFB8E14E6C2D9F3C7F005B16FCAC7C5E5975BD291ACBD18905FD644B0BA9993189116569BE7DC56C4E9BD6882153859E4582D2B17B834C2E7DF5068EE36493F0AD2FBC772740EB6ACB2AE3B3E23816D44CF2323BE97CEDCF387B1FA328DBAE74BD392F871C8FEB02B4A39CD272491FC28B29A37EB224F502DA7D6319B6EA6BE4959D06FE925C10B80B5EFF531574FF93BD490485F7A6541F4F5E90A19171E0585F8AFDC7E364F0A97C4551C3A66D9B9497C7E8CEDD7A9619B9AAB4DF78DD8B337A07EFCFADC0DD1415F7657B8E471E40B71DD84D369D2065DA74640CB61DE9C62C18C295979E4B95CFED0178DB82FEDD41AE9276290E91DDB9809BAB9ADFBA29E84EFF0D36DFCF8D744BD3CF724C6534A2653405D0AA594A0ACB4A6167249DDB51064096A23D52A4620607761F279534C9B3135CBD6C32172F3F955010457304C301D24601DB0FB6F2F033EB7975C31EE27D69F44C9AE195A58C1D3B9219D3C631764890EA623F43EA6B55CF64E79E265ADBBB49A52DC637D653901F226507E9E88ED2D6D14932DA47797E88E2E20AE2498B7B9E58CBE3CFBC4A3858A6A472F14C1A5BE9FC939C3EA992AF7EE6838C1933868DAFEDE2873FBC914F7EFA439C72EA68D72F2463A365A53360933112AAD7629AAE4247A818CB0AB16DEB4E8EB71E64E6EC69840AF294F2E3C8E1240F3CF23CAB5FDC40BC2FEED1588E4A7A4116345BC3CC68A4FD61E2A13005931A193BA6908F9DD3C8050BA652289FADAA05723B33E905E514436F48BC3F09D0EF258096C905C9BF130324A9006430D624CF3948D7A6DBB1B7DF4B9175CC1DBC908B5B55D1EEFBCF01B42811543A87787A788D2D0196B4E8A07D63A93DEF0B846A17E218A5EE98713FF8BCFD0AF31DFDC69B01747F19EF5A36BB0A424735B38E44121C6C8F92248CA5FBB11C8DA4659112D31FF1B850F239B7F9D7DFEE54032CDE77BC71DD77F25A07784677AC5C8E970CB618421FC47A39D6B41B539CECD2197AD2364DD2BCCCE4B37CC942668C1CAA8650946AA49F8376FF2E3CF689B446EEFB03432A39F0CD796C28537D4F4A974B43C9C9ED54EA8980BC652BDE55D40B12086B3919321E072D715722B1CBA41284823EE64D9BCBEBAF6CA6A074183B36BFCE9C5121AEBE7439A5D2C4336CC2613F7E5FBE5A240F77C53878B88B743C839D49139608B6821021493FE9EB20A45BD40EABA7ACB28264C6229932559357334471234BAD9FB4254E7E594509998918564ABCA635F6B5F62A995CDBB14E1A468CA1ACA29AF55B36132A0A73DD07CE62484935056103C3D0D9B7FF20CD873A7975E326B46C2F4B17CE63FEECD3D1758B94D64342C43B7A899A2854FE33699D3B6EBB1DBF9E60D5AA55048225ACDF7880632D29CC6C8635EBD69048F672F6D96711EB8B52595E467B6B1B8EA531715C233FBDE13E9A3A12A4CB8A193D652873675572EDAA3399595BA58E9134166528462DE32AB9E86405FDB6AEB3775F052DD3656ECDAB3C21C4B8C631091BAD746DB98BECE6DB28CA34BB6A82DCFCA097FE90334D52CA05250893555E09CF14179DA1881E7D14D54B3F4970F472B27A19AA8D98F31A785B47F6BF71E7C1003DA872EF77F5746D2F046B684964D87EF438195DC0390FC717A4570C73A429E6F793364D34C350A3F1025E224B55CA54C5BDEB8A977627CDC4B5EFED6F13C4DB43805E4DFB791A10C3B1F13B2666BC8F634DFB49F6752BABD144264B5BCA60737B96F18D63B864F9FCFE2941B7BA1FA8A67300AD36C7FD46FC83951B83AC41BD2414E53A37C8F428378CE2DA853A642DB777A1A2ABCC8C3B88E2D8A42D99144C61CBC460C6C44C2409683AD75C7201A5411F3B0E7670CB6D7770EEC2C95C7EFED9E40947ECF711CA0B103634C5E3264D8B442A8D9996E93D937822463223F48989158DA2654D468C184E79551581FC30D9AC3B651749D81CEF4AD2D212A1B7B78F82223FE5250594E487C8AAA9C4940A37E88E88656B127FA090AC96C7C34FBDC8AB5B76316BE2689C74925933C770EE390B08E70558BD7A0BBFF8D55FD8B36B1D975DBA9C2F7DFA73ECDDBD9FC2CA2C43EB46B16F7F947BEEB983DADA522E5871016D2DC7308C143555C3D8B7A7835FFEEA7676ED6B65C890022EBEF46CF24B83CC983E55B299C9A43314E4E7535926BED4016EF8FD93B4C735EE7F760DD9323F23A657F3C1A5A7F0D125B394939F8ACC92068FAA877274DA1B50E76405FDDEAAA095E85D49672D358AEDCB6694595274CFC3645EBB89C2C43E3580AC00DA1B353DD193437869A1085C1DB43B05274A8742E25A2DE5A77E00FF8CABB08C6A2476A95F26F1DFC0DCB7F5AB83005A55F039ED8607AEEA9C5761AB36EBF6B6D0858F80C451593A19CD473C6592CA98AEBE58B9C1B94E73B99101979217EE3D5753CB5B1C641BF9365EACEB692280EFCE1F8A9E5C005AB79238E914479BF69110595922462299A0C70AB0B34757314F9FBCE64A9783CEBA76B0B9B82AA96495E84645669D08D0AEB1FEC014616E8C3B07CEB9AA7A7005ADAA68F1D73025BE4A4CF64D358E2DCF9D16B99B74B3EC145933A552E0DB5BBB38DC748C2975F9FCF89B9F62D3CEBDDC7ECF838C1D3F990F5D711E0DE5F94A977DBC3BCEE8BA7C65DC9F882548A633C4249B309B211AE9C0AF4994551A3393A6B4B488EA9A72FCE1207A5E18C70870A035C34F7E7E077BF61D56EE73A6E9E0F365185A5DC4D8861AAEF9E08594E443261A57FED3924C93CE06491BA57CFEEB3FE570BB896EC7F1D1CB84F1057CFDFA8F3165C218FC4690FDFB62DC7DDFBD949695515A388C5FFCE2279CBB723AD75D7B2D4F3CB28D6F7FFBAB2C5E329B4F7DFC63D40EAD226926719C3CB66C3CC48F7F7223475B3BC90BA6F8DCE73E4EE384C9BCB07A0D1B5FDE4055553923470F23954A72C1CAF3A96F28E72FF76FE0DF7E70230989CD5A3889331B2BF9CE07CEA7BC584CFD7376D1E2C3EE35E7DF48A59D04E8F716402B3582022D4B511412C713327A49343F4DEAD51BC8EFDBEA02B4023AB775956B81293DA6CBDEBA89D16A0B269D23A102C2649C320AC7AFC07FE697B07C43DD440FA5157AA378F36DA0D8DBBD6BAEC0F0140E8AAAC9A92D943E57027335B635F7B0AF3B865D54A6A44F028EB1B4AD8642644BAF5EB37283736586398076E5CCEEB04E6E864F384A2F1AE56DBD5AF5A80AA05D499C50474271C8A28999A6E55033D1AE76E50B9D4E448966FD34457DF425D37CF173D76299F2129596CEA3AD64D433EB9A1529DED99D6E5421C1F2E555C8B931EF9C87864B65B8E3D9FDB6A1DEF4A0026BE5A5E1FA6A88ED67D67413B92D4B5395B565C655E0AB480F6A4AABD8B6711B99EE66AEFBD02AC64F9A406B5794475ED88EDFF073EEA2796CDABC8DE7D7BECC9253C773FE59731956554A5F3C4D9715C04C25D1D351F20C8D800C45D9168585F9F8F2FC98BE10514DE7D935FBF8CB7D4FB363EB66828120A140B9A23CB2768A78AC17C7CE30765C1D179D7F1673C78F25288B4726419A20FBDBD35CFF6F376269D5E8768C803FCAC24563F8C4B597525F5D8E95C82A8B517C3E3A7B12DCFFC0F36C78ED55268C2BE5B28B2FA1696737FBF6EFE0E24BCE513B47D3B2954F8BF86C63FAB8F1C65B18565F475EC0A161442D3B77EDE67737FE815020CC87AEF90079F93ADFFBDEF718366C18D75D772D5902DC7ACF736CEF49503A7B12638A2DBE7AC999CC9A3882406E53A668C5DCB9F28686F449807E6F01B46B7224A025D48444576509F91264DBD6115FF73342DDEBC5C9C07BD3FD75A3E70F2DDA4E77B2D0ADFE5C347401D0876387312BE6527AF1CF7142C3D16D89C792A686F068EF44E7F0B6F0CEBDF30900EDEE02721AFF9CDA42EC6E1E78612B05B523C904F2D5B45B329D266EBA2E652E6A7A69318A3A18308C722B680168B78276771AEF0CA0DDC003E1C4DDB228E73EE7B74DE552D7D57E9C9EB6A3C47B3A48F6762A3FE8CE6C1E5D098B25CB97336EEC28CC8CEBF721120B792C51802812CB9B2E14A0CE8DA0BFD1A16EB001923B1538A0DC109ED91D5C9166988C45BB433A32BA2D89DCE2D627064822934F24536066280BF9B9EEFD2B189A57426B6F8ACD3B772843FD8AEAE1DCF2F8165EDE7A809838C2193EE5A459CA11AE5831932B579E43C6F6F3C46BCDDC7CE31F9935BA81F75DB2989A21418A744729219C4021EDA69F7FF9D22F696B39CA9CA98DD45705F8E4C7AE60DF9E6692C90CA15098DAFA917CF747BFA32B9E66D79E7DD486E19A4B5670D6693349581611025CF7D9FF24952E269B89535692C7E98B6633766C232F3CBD86F623DBF9E435E7B372E512E2A92C896C0ADDF0E31720CC485ABA414A1A887E1D2B13E4AE7B9EE597BFBB93704119634637D0DEBA9FE9531BB8F4E22B79E0BEFB292A345975D14A74239F583CC2D0A165E83E1FC7DB3B185A55AD4C98D66F69E2DB3FBF1DBB710A2387F858DA58C4C72E5B4E5E3F40BBA7766E706540067BD20FFAEF22C4BB8D8356622E4FFD2E13802A27CDCA12F2A731225BE97DE10704DBD76290F200D9032B714793B342840F52452B3ACC8B53121ED65BC5C5C92B121847F595BF472F1AE702872E668DFF0B00DD2F1F75F5CAB96EA7D4C3C7226976B444C8F80B9501BE349AFA120992968323EE74B23BF01A83DEA5E111252E90E6DCE9E44FE190D59CE0DF4DF67CF3D328B760B82FCF759C930550F968E0108F44E83C769848FB3152BDEDC4E34962B69F1ECBC05F5AC3CAF357120A045D532A014C99F8935C429564E27A6E64A582F62608DF1CA05D10FE9BC6A0F2A9C82A5A4380D9925C41CB54CDE5BE78CC0D631025432A43527CAA23BD445A9AF9F6751FE1D45175ECED4AF183DFFD9931430B59BA6439EB9B4C1E78F6359A3B7A557C6D36D14B55A88D65F346317DF4280A4B87F2D496C33CFBF40BD8D12833265573C5856730B9A19670208F24A5DCFDF46BDCFCD82B983D87F9DCD52B993DA39EA99347BB3981B259B31D3A7A2C5EDF7E80B59B8F72CB5F1E259F24CBCF98CEC7AF5AA17CCED37A80C79E5A474F440293431C3ADCC62B5B7628DA2493B2D0D287F9CAA7CEE7739FBC8AEECE084FBDF012D535358C6C1881960DF0EABAADECDCBD892BAEBA84C2FC52FEF29797F9D98D7792C91A989938F5B541BEF8B9AB0887AAF9F10F7F4659718AAF7FED7AB66C3BCA5F9F7A94B397CF5580ED0BE86C7D6D3BA9648A8AA175FCEE914D6C89852836224C2849F09DCFBE9FB0DA050E4219AFD838A1DD71B2827EEF54D00AA0D5EE5D00571236848376084A68ACD944F733FF81FFE8D3F8901AD36B4A78DA6195482C35A39D33867727EAA4EA934942F999DFD6E8D1865379EEF730462C00A90174C9257C8334E81D14C66FE757FA4F6BB5A6E4E81AD7063469C30B9B0EE02FAF511573560F90B42D7A1349326AF1F20D18D3A8EAD6F5B1E81FD576EB677578BCFAD703E8B7F30ABD625F19E9BB5590323A5295B9ADC0598E583A9120DAD946F7B166E21DC74844234AC5205440BB5DC882458B983A69BC02521945D604A45DA4EA0768A1360464D59F9E8FF3008D3110F63A58D5E102B2EBAF2155B6F86BC856DE110E3B230A051B53D684545AC9CDC41BBBB5E518913601E80F73CE8C096C3E1AE523D7FF3B2B4E1FCF79CB97B3767B1F8F3FFF1A6DDD510A833A85019B9240371FB9E25CCC4894BCC222761F4F71E7BD8F515A5A414FF366AEBDE21CCE5E700A863FCCF64316BFBAF92E7C8545CC1B3384499506975CB94CEDF5A4C1188B27C8F3870804426A57F39B5B5673B82BC58EEDBB290A5AFCEB875650535EA0169B8448021D3F66A680D7B71CE267BFBF17530FC8765201F4673FBA820F5D7A36E9BE287BF7EF2365690C1F399C9E9E20DFFED66F693EBC996B3E7C01CB972C61D3E6766EB8F9018EB5F529280DFABAB8FE2B575114AEE5A73FFA258DA3CAB8EEDAEB78E8C197B9EB9E5B5879E13CBEFE8DCFD3D39BE43FBEFD6FAC5C7936734E9FCB1DABF7F3D8CE5E8A02716AFC1DFCE2FA6BC857BE292E3DE8328E6E21E09E7F1E709F04E8F71640ABEA4F970C414B8D74FB6C8DA05FA2855AE8FAEB37F1373FAA2A68D7AE32A75A106B4D57D9A1D9E27FACE17724C9C3C2D26D2CC56BEBF81C9D3E6A30265E49F9FC0F8151E301F4FF10BD91FBA84E4068D78F53D232329AC68E633D6CDC75989A8631CA6323AB19F4A6D3F42492388670D1AEE6598E536E3AB0BF2FA32E86C1DDF41C3FEF2928DE2646BB8A901C40BB1ECE4A61A3ACFCC1CE64B0E25122C78F70FCE06EA29DAD6AE4B8CBC9E760329FCAEA6AE6CC9AC9E89123F12B125B3C323C8016A016DA44F1D16F04E8816194011AE3443BD15C9495FC5CC9EAC494DF74A9974432AD067CC4DFB9A2B080A91347E37362649311CE98750AE5A152F6B444F8F16FFFC0A253C63363FA0C1E7A692FDBF71E24E4877C43E39C33E7D1D37E94C963EB49C59314951472A0B58BBE680CEC20CD3B3772CEA2390CA92E2792D6B97BF57E9E78E6392E3A6F3E2B17CCA4BE5027934D2A00AD1F3192FCA202DA3BBA39B4BF995367CD23A9FB38DC19E789E737F1DAC657593E6F02CBCE984D50CF12CD686CDBDFC2EE7DADEC3ED8CE4B9B0E621B214535F9ED18E3469431736C31EFBF782113C68DA3AB27C1D36B36F3E4737B58F7EA1ECCF4314E9956C3973FFD69F2F30A79F695FDDCFE97676939729C505E1F975FBE80D9D34E61EDF36B31748759D36788350A478E363379CA68A64D1FAFBC4B1E7FF219A6CF9846417131BFBA672DAB9B7B69A82FA2C06CE1F7DFFC3805EA20BBDCB314489EF0D51B56C94D819D1CF57ECBCBEEDD487128805695AF709632B2AD13F44B15DD4ED7935FC37FE0217C4ECA7366F36A446930E92EA521002DD4886CC31D4905D12D35DC2106E6866390D0CAE92898CCD8CBFF0D429394DBD789B741DBB69CC462F01DDEEC7B6F13F83C0C75AB0D1596EAAA4E62683CF4D276D27A98CAAA21D89A0F4B37E84AA48848669DD0031E8521CDD49C694D2EB72B4765B84D427951B9E6A7C7A7BCCDD7E94682B9F1532E55E23582727593806C3A41A6AF8BA37BB7D379F400D9780FDD561E87D3F9D892805D51C1E285F3195653832D2E7B8A8F769B86A26291F470C5430B972C15B0D248CB48B92BAB53E0AD425EBD6414F1A296AA5938683545282929194C69022A999D4D3A2546F6599C9449757E3E172D9DCECC89C3C8CF0FB1F1B5BD341F35195253C9BEBDDB691C358AF64882A736ECC21FD0593C6F029505851CDE7F80C307F6337BE61402C19032A2DAB36F174B172F24CF2FEA8E0441BF4E7B6F1FCDDD16BF7E7003BB766EE1F31F5ACE9279D328CDD359BBE66562B13ECE5ABA08573AA0E800002000494441545F20AC5259FE72EB7DCC9C3899B90BE6D1D213E7998DFB79E0C1C7185B5DC4C72EBF90B2904677D2E007BFBA956D7B7651337C141D7138DAD243400F61C8F14927185ED9CB6F7EFA59C68D1EABCE931FFCE27E6EBEEB79B71849B5F2B3EF7D9E65F367AAE3F1EACE5E7EF8937BD8B5A38960304E4343884F7DEC1A029AC65D773F42A4B793CB2E3D9BD9B3E7B2FED5ADECD9B39DD9B327523F6A0CBACFCF137FDDC073DB9BD96F6A4C9A584BD86CE3F7DFF8288503C1468A62544BB8D2BDCB797712A0FFE1E5F66E0468A97E95304CF913BB9CB45435617F275D8F7F9950D343184E4A350065E4598656048C5D80168A43C4795EE8AC12CFABE02CC533CB63A709D3EBAB60D8B95F82FA5540614EECE01D4F39EB3C899A3A809E119387DBDEFAF10F8FFD3FBC43FF63BBCF27A2C243BD69EE7B7E33C31B27A88B3F6B48328A41772C49426C321547EF6E28DDCFD63332EA7FB2BFD138793FC93511FFE1ABFA9B3BE4F2E87291B1EE73BA5A754577D8199C648CD6037B38BA6F27C9EEE398B69FAE984D440F6105F3396DCE6CE69E32CB4DD496AA59F4DB8AF2D0DC316D098CD5DC493FF115513ED58A53F6F204C5465452B8BD3C4191CB09285B02E08EED26A364A4312863E81699741C9C34C908647A632C9D378CABDE77364EA888EBBFF13376EEEA66CAD8323EFEA10B4839856A0CFB8535EB195957C927AE5E456551315B5FDF22BE6E4C993C96A28222C56D63A508E587157D52921FA6B3ED38C7BAD21C8DFAF9CD23AF7260CF362E9C5BCF47DE7F21050178FCE917193AAC8EE953C770ACB59B516387F3C8438FE3CB9ABCEF8ACBD97B28C2CF6F7998B5EBD6B3686A03D77DE0122A0B4274C61DAEFF8F9F3067D6582E7EDF0AF61EEEE5A65B9FE6F5CD7BC8A652F8CC04679C52C37F7DF7D354561663393EB6EDEE664F530BD1588458771B1FBEEA527C5A5251622F6C38CE0F7F7E1F4D078E1334A22C5F3C990BCF3D9B90E1E795F59BB9FD8E5BB8E0C233B9ECF22BF9F4BF7E8D834D7B983F7F2ED77EE63A7C01876F7EE316D6EE3840DEB871CC3F633205561BBFFCEA0728567D901C95E15E36AA5EEE17F59F6C12FEDD2BEEDD09D0CA6FD4F57256D3821A797E8D7C5F27DD4F7E8D60D303F8EC840268F14096F69E4F7C178483D6DC8A5BAE25D3F02C3295D6D90B45557ECA3ECC4021C5D3DF0FA77C16F4AAFE6D9A7B300701B4C7ABB9BABFDC14C87F732CDCFB50DC0119F7B1646149A2B1714F2B2FEF69A371E22464A0DBD4FCC46C8DEE5882B4C8EFD4E0C83B9104BE11B8FF79A0EEA739BC5F714D7A5C8096869F6E9B689924DD2D87683BB08FEE96C3247A234A23DC91358819794C9C3A83C54B96E0377C4A37ACDEB770C6968D6688565974BAAE9A43260265F044388AAC786A781E1C02C2E2AF211C764EB1A18CF995BB9E9822995E08AC501E09CC541FA36A2790272DBFF83EAEFE9795EC3BD2CDCF7E793BC1D010962F9DC5FCD3A7703C11E495F5DB30DB3B9832A68EC69195AC7EF209E6CE98496145A98A762A292C252CE7A09E22ABD9A4C487423208A3497A1206BB5A92DCF8F0CBECDEF61A3FFDCAD54C6B1C4A81DFE2999736D2118973F9A52B292AF2D31733B9E1D7BF62FEE9B33965DE4225097C65472737FDE9018617A6B8F6AA8B28090768EF4BF3B3DFDCC4072E5DCAE233E712B761DB9E2E7E73E3BD98C904F3E74EE7D4D98D8C1E518EE5887DA82C9A85AA303184D2936C45274B262BAF37C0D32FEEE3BB3FBC8D9EBE2CF9FE34238706F139167535B5ACBAF8729A9A9B30B30986D60EE7F9351B983C713CA79D36033DA4F1D2BA26D6BCB089475EDA807F54030B4E9B44195DFCEC6B9753A442997329EC5ECAB78A311B747E9DE4A0DFFA627BB702B47220D62D55A9398E501C1AE14037C9B53FC4DA76273E2BA2B206A57A1280164AC36D040A67ED72B496D8D9E546BDBD2168496A117031F520DD053318B6EC1B1835D3A47582A389AAD3AB4B073302B94A57191AE538DD7F1EE0DEF49E2A4FD01BE0D0746593D967693CBA66133DD93C468C6E44B3D30AA07BD259BA62094C2FB2CA73D87F072FE09DF1EC6A247B90D9D260F9A25034BA9D25A8D9641311621D6DB41F3944FBE183741E3BA4AC5023199D68A09CBAC6899C79C65CAA2BCAC824530444126DA5D5FB121F67D12E2B3F684F232DDF5334869545135A43650B4AD52C15B7A7DC302D457FC8EF5AA9A45AA0E322B54BA458BC603E13EBEB70A21DCC9B3512BF6EE33334749F467BB7C3A148922F7CE7F71C688991EFF331A930C555172F533F7F7DEDB35CB1F21C3A7DE53CBC760B4FFDF505268D1ACA973EBC92C63175DC74EBCD541797B364C1220E1E6D2762867872C361563FF70CA38704F8F4872E665879087FB890DE588A17D7AEA7B5F52813C7D6B36CE962CACB0A88A4B36CDEDDCBBFFFE076FA7ADAF9F247CFE1CCB91355959EB275D28E8F3CC76448651976D0A746B3240650826085C697516ECB14B37F3936421B895A4657B40FA44867FA300262472B81088544123A8F3FBD8E87EEBF93A50B6773E6A2D3A81F3E4C8D8EB7B476505454C4A64DBB993DF7747EF2D31B28ABA862FCC4E9FCFCE7BFC1D08324F3F2088EAAE7CCF95328A68BEF7FEE52CA0CB105F6288DC1A1172701FA9FBB3EDF8D00ED6E8F845396E699F0AC3EFC01080722687BEEA273ED8D049347309C841B082B9E1B1284EA255AFA84E210372E19C9533CB6DB3C14DDB0EB4CEA5207C71841E9DC8F5339F33CE55FE020DD75AF23AD9A7003C7581A204AC3D03FFCF1CF1DFFBF7B2F6F8C505E9BA5416BCCE6DEA7D711AEA853DB62194D9614EECE689AAEB854426E94D5E0DDE3DF7BFC133FFB375221FFFCEBCF1D87DCE3B9BA6A4FBFAD541E620DEB60C84875324A775B2BED87F67160C76B6493195269875E7F19764139E3264D61EEAC59141862A69F560D2AE17615E86771134094878654D22E080BCDA14B828B00B470CFE203225FA624A228830BEC94A97CA9C5A324A91944FBD254550C25D9D6C4F0723FD77DE4FDECDEBC9509C36B19337E383B0FF7F2EBFB5F62C3A104C75A2314692657CEAD519CEDBEC347D8B4E6393E72F985B453CA6D8FBEC8BA75AF337678355FFCE8794C9E349A8EEE2E52BD3D541517D1D5DD4747C4645F7B967B1E7D9A506198913585D496E85CB472053E43C71F2C50F98CF9799E03AB1F7EFBC71768EFCEB267F74ECA0A35BE72ED2AEA6B4A4967D26EA880E510B092549715A90945A5159753DAF093148E45F7ABDD879571DD056537A254A372CD18367E23432A99F6405B869FFC585A8023879A195E5B8526C9296993F64E9B175FDCC4EB1BB7F1DAA6EDCC5F74364F3DBD1AF4003E5FD87D4C4DA3CFB0291C375CA5B514395DFCE7E72EA354F7E60EBC895E654DF6372CDBC926E15B5E6DEF36807659D5018A438CC1257A29E087BC601CAD773D1DCFFE1AA3ED65F2EC1ECF50C95DC18583969B4F19C50B60BB34894093A20664FB2702B1AC68890D7A7CF5A4872D65E4F26B71FC7522C25351B56E6BF2C46D9A3B91E80601FC3FA33ABC825CE46512D3B5FB789C079F5BCFB0518D9457562AAAC5D402B4475374C6D26475BFA242DE78050C70C3EE69700227E87DC71DAD7E67B71301DA6B164A234AA9FBDC400425BB938494AC49261E23D6798CEDAFAE26DED1492696A4D7B449F80AB18BEA9931631673A74C40D7258FD0C227409CC990D5FC98A6C8F0DC0194018096C943A91605A05D6BD18CFA9DB40270CDCA62A765BC3BA55CFEAC503E7B9A24C95A236C479830A29C53268D21DD7E88CBCE3E9D5113C6D01471F8E8B77ECFC16890AC69506027396F52014B4F9B861E0A736CFF5E268E1C86162A645FF351766CDDC3A8865A162D9C4A614198D5CFAFA1A220C094310D2423095A3B22C48D42D6EE6EE5C1B53B683DD6C4D205335971C61C1AAACB48A513F8030686DFA0A0B28A9DCD2DDC7FDFCBBCB8FA1546D5FAB8EAE2455CB56A99FA8C62968FBBEF7F10DDAF33636C2DA386555156568563BB010EB1341C6EEDA6A3B79768CAA4A3234B5F5F82685F4AD1414545614A8BFD9416E894E585292F08535111C417907206023285683924B3267D699BB5AF1EE5D7BFBE9748B7BCC6A0EB16EAA5BFDB59CDD5DCDB199221879289F52C3C7D22F9563BDFFFEC15947853A69EAAD35516F5CBEBBCF3ED24C5F1DEA13806BF1355F3A9B3C520A8003A0DD611929BEEA2EFB53F5260B6E297D46AA9A244A7ABBB2D659FED479393596511BAF97612E523548968A40D6FC823A295931C722A23567D15C73F5A351105DC5CB819E81BBAF5BC0B6FEAE41BFCC3778A7A72A5E5AA50518369B0B1B98B879F7F9DF1932753565EAA9ED5C4A700BA239A51D1566F366C32D8A4DF0568258EFE9B9322D75C7C27303D586EE7EAADDDB46F7758DBE58364ABEB0E09D9908ED2B27F07ADFB7611693D4667573B7D698784BF023DAF9CB3969FC798C6E16856125DA80D69ECD98ED22F3B8A67769DEBC436D4E599B364BC0ABA7F30451A8AE2C121432FE98C38FD6066524C983A994DDB9A884475EA2B020C29D2195651C282999399505F017921BA1C83CFFDF07E9EDF791CCBC923ACA5995F0F0BA78DA27EE810BADA3B301319AA879451377408E1503E3EBF813FAC73A0E900D515352E676E9AC4DABB48C7E238C2A587CA7978C37E5ED9B495DEBE287595E54C18DDC091437B0906FD64B23076F23456AF7D999ED656C60E1BC2E52B4FE182A5A7505E5444C6D6E84CC217BFF255EA87D7F1A96B2EA3B2B080AC3453351F494DE3D1275EE7D127D6B37D77137D7171AD73ED45FD3ED402260D71196DF7E9594AC361C68F1CCA852B66336FCE04259DD32D0DDD32C8180687DAFBF8E12F1E66DB8E367427A0DE93245D5852C438723D48B1239FAF493C68523B671C73678D243FD5C67F7DE64A0A72E7BF9708AF1AFCFDDF3B09D0FFF05A7BD755D0B92EB0C0B29D4BC1736576E180786846A0F3558E3CF4158AD307084A03487C2184AF960A5A260905A065B25099F9BB00AD92BE354379E7FA64D3A7DB44ED7CACCA69549DF579A83C4DF1D0EE4DA88481944397F47893ADDB3F3CFA7FE70EB26FF446B505E864ECE6A5FD1D3CF4FCEB4C9D3E950A694E6990B6754571B4C72C35A8A02EA037A985DD6B62A04C56CA8B4137F5F377B098B894BB50483976DE5BAA14D5E272FEAED5A9DBCD57495B4A556311EF394EF791FDB41FDC4DEBC1BD44BA7B486703C48C62864C9AC7F46953185957852E032752418B4FB348E9BC082B44B592F1680D71A513158780B10CB348FE6046A2ACC4A4DF52F486168B32ACB284154BCF209EB449A6FDD456E551566850140A93E733081A1684F248E84156EF38C42D8F6D65CFB11EA2BD5D4C2D4B73C6C45AE64C18453054CC238FBF48DDD0121A470F537B3AF197CEC8591208535B554F536B372D9D7DE8F128430A82D414FBD5CFE38122B61EE8E0D5ED87D8D9745805C34AFE61C0AF93362DE50217D01D169D329A0B97CCE68C59E3290EFB94CDAC48E452E81C3E7294A28230D545C5325C48467348E8061BF61DE73BDFBB95434D51B5FB0886FC549555D271FC2813C6D5AA0A78E3EB3B104E50F7FBC92452AAA13E6FFA103EFC81F369185643C074F05B1A294DE74877929FFEF651366E3DAC1435AEC45E9AB492D22DE79BE784A86589FA328C5C388579331BC88B1DE5FB9FBA92704E5E9FB3EC7DB353FE6405FD1EAAA0BD982601841C400BB84A4C5C5872DF9D0C5807387CCFBF92DFBB95902511972E400B204BC56D645D80167A433868E50FAD4E3CE1B3655845E0D624E504B00A47E09F742505B3AE06BD143419FB1693254F2EE4910A2EB736484EF40EC0EE44C4F4CA706F34567C9F5FDCDBCEBDCF6D60F69C53282B2EC430644B6AD0DE97A42D6A91D1430AA04F80DE77D6F7737703DE0BFA7B6F2507D0EE40D01BEE290A1BCF4FC32556BC06AB2D1A741B27932419EFA4B3E50087B7BD466BD31ECC7882A44C6F960FA77AD818264F9B455D75397646647102C602D2E229214E6E12FEEA4AE984D21080CEC8308A8C8B4B911E8F819551B983562246A16DB2EC8C39CC1CDF407E300F9F8CC8FB2C35C5EF234F59CBFA7D59F56F2760882B3FFB8F46D8D8D4CEDA751B195DAAB172E12C7C7686B6CE345D7D720E9944221D2AA1243F3F9F8C9565C498A904F387F0E4BACD3CF6EC5AC24E92E92387B0646A03E545214170B2FE42BA6259366EDFCFA1960E62BDDDCA052F100E50515AC8F891F55CB46C0E7515850A4875511C19EE14AD6ABA59A24F92F06FD73637A169BCB4FD08BFB9F379B66FDB8F133331B42465A5797CF05F3EC8FA97D63075D228CACA4AB8F39EFBA819D1C8DE832D1CD87F54A5701784B2CC9C3C92CB2F5ACE9486A104327192AA9518E4916777F2D35FDD8A4F979DA386E1F36388BDAD251ED4AE8DAD2CC6315F86F1CBE63073C2108A12C7F8EE759713CA099E3C35526E80F00457819300FD5E02E81C308A9E59DE971B4E29148798A4BB55E27132DB6EA275CDCD546A11F46C5C81B16A05AAB05897AA90EFB9369B9256EC65FD49DAB78A8D4FBB61AB817292E5A75138EB6AF2879F0646B1AAB4DD7173975F956A5A00DAF5F7C81D6BEF1FEF14A80757D01EC5B1EE4037B73EBE9629D3A753573714BF26CD32E84E981CE9CD907464F118B0ED7451F69F481AF4169B9CDD67FFD93208DCDF0AE7070722BC796C564ED5E2FDE94D370AC888CC2B2B86F9E928D1A34DB4ECD942D7E17D7477F512370DD2814A0AAA47336EFC68268E1FA9405046B5E5D064D31934DB56923C45693836C98C98EF8B7EDA5176A264C401CEB511AD2ACA67E1B4094C19398CB0583167B314E4E5910AF9C9F8FD6006D4B911CA33C80B0BE82508D83A01DD4F141FDD927212D0292D2E24914ED399C872D7435B4998699A0E35515359462CD243C330E1A5AB78E2E59D1CED8AD2934811CA46692C0F70C5C2298C1852AA8689D430ACE123AD3CBDFC4A9F6D047C684183FCA041796188CAE230C1408096B88F275F58C3BE7DDB587CEA0C16CC184749385FA5649BF8E9E8B3B8FBC957B9EFA90D1CEE4C6125FA983F732CE79DB3904C3A4243C3040E371FA5A7E3B8CA65D47D3663C64D2212CFD0D5D64330E0E7A1275E61DF9EED0C29F373F1D2392C3B6DA272DF13DAAC3D1AE0F0B11E74DDC0CAEAB4B5F771EB6D0FD2D39B563604928F298542DC309973D1994CA8CF674C7E8A4FBE6F29C1BF0168D75746EAEF01AAE36493F02D11FA5D4771F4D776B9C10A57B62032BBBC90E79761F780B98383B77F93F2F876027694AC17C5E76EB1A5B1E8E615E6A41839AA4301B8C235D1D442863CFA7CF584C6ADA062CE353879A3D07429B1A47C7123A75C758837BAA27059FE973B33DDE77ADB37D51A175EDC2DCC656BBCB925C60D773FC9887193983CA991806693312DE2598D83DD492557736D51079EF0042AA3BF9A7DB357E3F2C46FF7D69FA892F3F51844759C706E79EA16B54B515ED4367E5D232D5392423325FAE86B3B4467F3768E1FD8474BD341B2FE52924629D5A3473363DE1C8AF30238665A49EAA4692836AA99B418EDBB66496931CBF7941D3816995814D249F44C8A698D0DAC387D06F986F0B1210ACB2B698FC6696A3BCEA13671DCEB52664A62B13561DC08664C1CC1A4115590723FC780213B2B07DBA791F169FCFEA12DFCE9916DC4120952991445C52544BA3A185A14460B97B3E77852D1647636413971E68DAD62E59C911484C33477A58844BA1839BC8621794182B2EBF105F0E7E793F507282A08216E80BE4010CB08F1FB0737F097479FC34C4528F3F7F2A56BCEE6DCB39611F4E7ABB4F40D3B9BF9E67FDDCBD1F6043EF9F893C799D850C8D7BEFE254C1B6EBF6B0D9BB61CA4AF3782EE6408871C6A6BF3F9EEBF7D91F2908FD7361CE27B37DC466B670F5A36495DB1C91F7FF1350CC352693326416CDDAF06C26C0AB028E65737DCCD5F9F5DAFCCFB2DDB51B2BF84CFE4CCCBCE664C95C6E9230A5875E66C022A62C73B135455639315E9A5E2AE4F4E12FEC3EBEDDD06D039731FB78E1ED8CE0B7F9717928C3BC1C604386D245FBD89C4EB372935877825AB0C4BB1B4F44E8C5C432D171AAB7E59A930DCB41619959609AC845688563195A2799FC43F6C31E8794206BA882C5560C06D1AAAE1558571AE7CCFFDCE3B04E813E8054701F4FE1E8B1FFFF9418AEB46336FEE54826A043A8B903807BA527426855377ED43DFD1ED1DB8D9B9A3E3DE02A50278DDF058A56871CB79AFAA973F72E3BD02D2728C25785476206AAF8E26DBEAEEA37437EF61F74B6B88F4A5C81022535CCEB071139934B691B0DF8FA6E47332C221FADE8C4A3191B25ABC375232C22DC72493C49F3531CC344E2CCAE9332673D6E93355EEA02F58CEFAAD5BD9D1B497E663AD6ACB7ED5A597D2D4DCCC9D0F3EC8BC39B349F77631A2AE828F5F7D294165C865A99415A9700F7445B9E22BBF637B5FA51AC397A829CBF12BBDBD9EEA5352353350A4CEC3A096A6CA97E6DCB9E35930A946E9F2FF78EFE3ECDBB38B1143CAF9D465E72B7E3A1B2CA0CF3688581A663C467D7931E5436B48EB7E7E7FFF46EE7DFC058C6C8A52A3836F7D6A258BCE3815B400712DC48BAFEFE0F35FBF5735EDCA43262B16CF64DA84A18C9A3085E75E7A9D1FFDFA3E8C4095B231D0AC34012D856DB6307FCE68BE7CEDC7D53179F8A55DACDDB0837DBB76E3375BB9F3F7DF26E417CD4B064B0D83192A0DDDD28A698FF8B8FD9EBFF2F4731BC90B0425BA9BA4AE93F25B2CBB783163CB1D964F19CAC25326286FF0012F758F5254678214392701FA1F5EA7EF4680CEC9745C55860B06019F4138E82538483828499CE3CFD2FDC067C933DB7074A1354C25DE3FC17F4255D332FA2D278F1A045795825CFCB2A5731C43C502247C15F8275C4EF1CCAB30C223400B7A55B88323DC602EEFAF1FA0DD6DDB9BEA3EFFE1A732700755906B8EA2325A531ABFBAEB290E441C56AE5C4CD8B6C4939D94A3D3DC9BA1A5CF549E0B27D83BBEE1B9DED81C3CE199DE2640E7EAED9CF9522EF1D07D985C6370B009931227BA5A721904143AC290741CD9B3B8C936562689D97D9CA6D75EA6FD5013C958941E3B88AFA48AE1C31A18397C38F94191BEA531B3E24467AABF8B524334CF12F125BCB43C4BAAB793906D32B4B8880573E730A46E28B61EA2B52BCDD34FDECFCA734EA728AF503527A74F9F423295A0F94833132636B271C31E6EB9F34E2EBDE232664C18457571908A50480DA924D0F8D5E33BF9C6EDAF1132B28AE736B57C742388664A3BD76D90CA3965D826412B454DA19F99A3ABC824BB38D67A80B021ACB7CEF279D319515B453258C1D31B76B266CB5E92DD1DCC1859C7B59FFC30966EF2E05F5FE7AF4FAF51DCF7F861857CF9DA8B686818AA766E71238F879FDDC637BF772F61BF4E6528C6B7BEF219EA6A6B78694B33BFB9F57E3A6229B28E9F6036A824874636834F8BE1985DAC5C3C8B0F5C710109C2FCE14F4FF1D2DA8DE8E9A3FCF6C79F65584DB1440FAB54F8B4E9A337A22BDEFD967B9F60F3AE26B27A10C336D410554CB7281992CF5967CD665A6D888B4E9F407D6D850AF571D37B646B95BB5EBD85FAA49BDD3F4682772340CBD0895BB9B92A0CF1E408F97C8403C223BAE0A0720763AF72FCE6F7536CB77A60995521962EB0A8B20DCD91955CC0DB0508F97E2E67CFED040A57ED90D60B38EE9F48CDE24F51D270266845AE91BEEDA851DF7E9999375CE21AECBB8AED77C01C789E056E0A94783C48B32DE2E8DCFDFC366E7D7A0BE75FB8925115210C5DB4D03A87FA2C0E7525955638374C73C2A7DFAFDA780B1AE31F15DD6FC97EE4267672D5B1BB58B9D22BD7E7E4445D55CEA743D82137B1DB4D6291F76AABE3E57332D8B11EE2EDC7387E682F070FB772A4A5033D98CFB87113A9AF1F4EC0D03053096C9530ED8E7167D49734892D458538F128F515C52C9B7F3A5555D5EC38D2CEB69D7B9935650AD5253E6A2B82F8FD0538A2CEF11B6A043AAC675533CCEF17C99A8FA696767E2506FC93C7F2910B965059948FF008AD3ACCB9E6CFF4F675ABCC47D329C091455B93D807652642C88A531474282E2AA1A3F5183E3342D08E70CBAFAF67ECC8612AFFF0C13B9FA4ACB898C33D295AE3695AA226BB77EE27D2DECBE2B3E6E2374C7ABB7BA9ADAA64FAC4718CAC29A7A13A5F71F7B6A1D36987B9E99E6DDC7CD7C314E7692C9C52C3FB2EBC9058DCE60BFFFE4B224E1ED9804E36EB10C8FA096886DA75189A341953F833C738EFEC799CB1F02C9E796E2B9B37351339BE937FB9642EABCE5B4232D6AD0CAD8EB624B8E94F7F65D3CEA3644305A41DE9A186B0D36E6F2711CA306DE6184E9B3E923327D7B26CF668957321CBB41A8C51AA516FB19686CFE0F3ED6493F0AD81FADD08D0EE36DAE590C5D14E2AE990CFA0C02F55ADDB7C1006C2486FA7EBEE8F11E8DB89E148FA8A979BA712543C0E5BC0D991F11459DD4D0FF8C564C915FDE79ECBD442F4EA75949F713505632F84E05055596B429DB82D0F57F4EBC5805BDEEE4DF1D96F97DAF53E144F0AADF85A01E8946EF0FCAE0EFEE3CF4F3065EA54CE396D124E3685AD1B1C8DD91CEC4C90710CF56F858F4AE636F8F9FFDE0B71536A06DFBCB0ED13C896379E49390076178501F0750F88D0496F04684F2DE381B85B7DCB2AE48915D53FA57968423A46A6B793D6DD3BD8B3752BDD890C2555B5D48F1A4D5559999A4CB4D20905D0D21C14BF0D01694D74D3C938A16C8673E69FC684310D1CEFE9E3DE175E5389D9D75EB884DAAA62159996F695D21E73686EEF54CA889AA0C6A431751485754C2DC8918E5E7E77EF63643209AE5B712AA74F19AF9A62BD3EF8C11D9B58B76D1B695F909E88437B4F8A84A750F165924CA90972EE6913A81A56CFB32FAC27DADBC9B8DA22FE3FF6DE3B4AAFF33AEFFD9DFAB5E91518F4DE0136809D1409768B2A9428CB56B3E4E52CDDEBB8A438891D47B937D7292E711C3B766CD96A962C52A6444AA24491144991040990041B00A2770CCA00D3CBD74FB96BEFF79C99010836E52FC9336B8104E6FBE69B53DEB3DFBD9FFDECE7F9FCC76EA5BDAD55F1F2FDBB8F303830C2A9BEB3AC5CBF8C9E254BD5B5E5AB0FBDC6BE3DAFB06C5E3BBFFDABF770F9CA7934663238418C253A225239383E7D4186FF7DFF6BFCC3F77E444B1EEED8B8888F7DE803ECDE7D96FFFABFBE41C96B52DCDCB66DACAA98065BC4B6D87C054AE5CBD47AB9F68AA56A6575E66C91FBBFB58543BB9EE543B7ACE2B39FBA874A7184D0CDD17BBACA57FE7E0BAFEF3F4DCDF1D50756C6EA7DE1484555AC0E8B5B365FCE954BBBB8FBAA55ACEC6924768DE8ACA42F4692765A7B2691E730B9D24C93F02D23F4CF5E80369969CA1830013A5065B7829F51AEA60469690A3AC1498A2FFC19A3BB1EA239EAC70EA5F495DDDB8405A1E7290CA12E2B46DF4EDA71C6F5DB4D106E095CD20F74A95A4D38F3AEA2F1BAFF0BBB6D03B1DDAC9082E12748363082531B00002000494441549E78675966AC5CFE29CE1BE66B5AD7FA6277E3821B311558051717BF148BAAE57270B8C67FF8BB1F50A987FCF34FDD43502F29063852B375A860B01252777DD5139187431A9DF2502AB09066F7933E8D46FED19CF7F9DE8DA64E9F3A74730653A08679C53C58E968B7F94ECADA98AE8E77FE07A570900C2D983CDBECABD24BF2A4C987C1DC4543421A7CE5E30739F0CA8B9C38D3479829D0DCB388853D3D34DB116175823814B823543E71B516AA30935F1D67DD82D9DC72D515F80D2DEC39768A675FDFC3DC8E263EB07115859676AA9946F6F75578E2E57DEC3C7A9C288868B71DDE7FFD3A7EE1BA55B4153C1DA73F59AC72F0F03196B7E6D8B466896E3A65CBA66F22E6ECF030E5D8A277A4C2F79FD9CB93AF9C24AA55688C2BFCBBCFDCCE476E58A61A30670726749271765B236D7E84EDC8FDB15463B95E0B2996CBE41BF2F8850CC3B6CD17FEFA251EFDC1F7B964E522FECBEF7E96F9AD1651197CD167118357EA548918A499BFFAE6AB7CEB912771E332CD411F7FF49F7F9F53A7ABFC3FFFE32B54FD3623102699AC70C46D8B9A65E3591E4EBD4EA17E9CEB372EE1FA9B36F3E0C34FB3FFF0286EE534F7DEBA824FFDD207A8944609629FBEC190AFFDE3333CFFDA616A4E413729D145716C8FAA5DA573652B776EBE94EB167472C765CB69CFB93292A87569CA919F5479BC605DCD04E8B74EA02FDE4E4A76BBE43AEA9C442DA45A4D89096FF379EFE1256B68ACF65E73CBC958A74155A6019300ED895852C637CA590A4B08A43C4138B095D1AD5F84DE9F908BCBFA7049096AC6A725DB342142ACAE84B6645B55039DC4125A9360AED7C360A715B79BEABC5B9875E527B03B2E25B60B096D2852DA97AAE24970D4006D444C27BFDE4E24635A80D62452036B4A9993211B6944390CC5F0ED177BF9D237EEE7DFFFCBDFC073C58D5C1C476C15D7393430C6B0249F4A3F74951D201AC8E2B42D1E7A12A325784FE9364B969B8AF65ED860BC30D85E1874D534CA98EFBE871B2F6F95CB2E7F541236310116A35F2FAAE9F7AACA46114A644876BC9FC1A3FB3872F000474E0F10B4CC61E99CD92C2CF804F531A34C270E29625F25A553699486608CCFDD7317B39A724C786DBCBAFF18834367B9F6B2752C6C1439D966BEF3C23E5E3D32C091C132E36A4A6BE3070E0B0B2197CC0AF9F82D9770DDBA0594DD1CDB5EDAC1C4403F77DC7C15AD4D0DA64F91DC33A9967A4BF0B51FEDE66B0FBFAA06B9F9DA10BFF1D1EBF9ECDD1BB5CA92B7CA008AD0E9F4FC059C95BD370CB1F54627D58EEB31107BFCED0FF6F0A5BFFD2A1D2D4DAC5DD5434F7B8E79EDDD2CE96A67E3EA85F899804A5466D49AC3038FBFC1FFFCCAC364DC9855B35C3EF7C97B98356B167FF1F78FF093970EE07A397D266C31A8705C4A91A8CAD8F8D5120B9B8B7CFEB31FA07BF132BEF7D81B3CF993D761EC10BFF3D99BB8E6CAB5D4AB45758B2FD51C0E9D1EE5F448CC8BBB8EB37BF7614A6531BBB0287417B8F2F6F5AC9CDBC0DDEB16B271E11C7C394DCFD63EA0D1B7313D41BD64172E96990CFAAD9F9E9FB50C3AB5CC919BEC86AE19E1B6EAF8BE4D2EE31B6D671967B5641E5046ACCE5239F820235BFF924CAD8F4C54575B2B51AD0B1C195031AB47981C3A866A49FE26EC4ED1DD9010215C693376ADAC69B78162D4893DFF66BAEFFC1D626F0E1192B9273E875AC7990864CC7EA6497FBE3DC2705ED26A72D17456DA302524E312F9A763E598FFF4DFBFCAF537DCC6BC4573A80B0E1E1B2DE893C58823FD139422997634830532BC239EE5260C18332A5501D44335E3EE69363C35C09EAE99748598833F1F5336B9F0DB31AD2F1C339FFEA9C62232A93F1472929C5F60266177C84627E53164AAC3D487FBE83B72889776ECA398EB66617B2B2B5AB2946BA39A4BCA1878AD52272ED7B1C6FAD9B4B48B0FDD72036E546724338B2DAFEC251E3FC71DEFBB8E06CF657F39CB17FEE1C70CD52C828C50C7E4381C1DF5CF95CFD1563BC947AF58C0EFFDCA07A9DA2E83136576ECDACDA56B97B0746E8F8931168C4470E85CC00FB6ECE7074F6D674C8C5FC3228BDB3CFEC527EEE09205CDBADB0A355346B16D2FAB23DE325C23F87B6B531385AC8F1D56553B44B8D165BB407F35E48FFFFB9759B0780507CF0DB275FB0E7C7C96B4FBFCDE3FFB202B167712C555C6EC1E1E7F693FFFE1CFBE8FE73974B9E208B3825FF9C43D9C1828F3C7FFFB7B1C393980086D485355138D081A182353E9E373F7DECEBDF7BE9FEF6E3DC07D0F6E65A86F944CF1307FFD07BF4653A3DC03B9322E4120CF8A47396C64A098E5B1A777F0F08F9FC7CA5BACBA6C19D7DDBC8E567B820F6F5ACE8A599DFA3CE8D2731278232D9B2EF60CCC04E89F9F002DF083881E192F4223C62FB655223493936915C12EB571E818BEB3E8088FBEC4D8CB5FA47C6C0B0DC13099D004D310334528016A3257D4C02A99A4341C258C099D4BA58735E80A64E05A5906DD25345EFB7FD3BAE1C3C474AAB3F1D4A08AA4F7D342D19B32868BDC8FA46A49A10353F827D389A9BBB5E85B5B50041E786A2FCFECECE5831FB9CD1CBBBA8FC368E4F3C6B121866A12EA1C6CD19F8CABB88900AF08EA981A22E54B27CDD604E6982C51260F716A0B4F83924981CCF7CDC0C95BDB65BD356B241D0C4AFB09E97D08353BB544994F86376C1BA73E415C1C66A4F728DB5E7A9D61AB9185AD4DAC6AC933511FA312D7949F1357EBB8E345DAAD2A1FB87E034BE7772BBC33E076736AA842971BD0D3D182EBD93C73B2C21F3DF22A457C42E1B50B8E25138AD8348463E4C77AB96B49137FF62F3E4D20C608BEC796175E61F1DC59AC5D344F7D042B56C4379E3CC0571EDECAD9C11A19C7E683B76C62C3E22E3AFDBAFEDFAD8D18BA261E35B7C091DE331C3A76428D095CCF53FBAFEEB6162E59319FD6425669A09A1C88BB8A8CA97B1E2F9D19E57F7CF91976EF3A4C873DCAEF7DE67DDC7AFDA5F856C870D4C233BB8EF23B7FF25D350BCED607F9F54F7F980FDD7E19D5D066DBAB27F8CF7FFA654A32209975557AD513A3E5CA097EED9737F3C97B3F4CAE39CB9FDFBF8DBFFEBB1F910F035AE3337CE94F7E0B2F63A90942183938966B0C12EC26427F36DFFAC1737CE3BB8FD1BDA08DBB3FBC99395D197A0A11775CB68CD67C065F866E129FCF34839EB6E4669A84EFB6E2FC59CBA04D8036D31B6E9866BDA1EA186433F2A019BA9C6489CAA1A8C920C43906773FC8F8B6BFA3BD7E984C5CD56C398E2493942942611208232456CEA744572F906C5C5EAB118BBA9750F1C23AAE586DC95044761E679C15ACF8F41F12FB2B8934A027043EC111DC0B1B74C91D793BB6441AF792809E5486EAEFA726AA9643DDB2149F3D300E1FFE9DBFE2B39FFC45D6CE6F5178458D742D9B9D470738557128E211382E8E60B962EFA48335924BCBB5496420F5980D269F54DFD360AFE9C1D994F4531C6BF39A64E06F17A0DF6A1DA69A3929D4211B92DC5783535AB8B64BB526C31A023D05D8B512E5BEE3BCB0F50586CA214B3ADA58D490A11855294AB35004B14A25F213135CB77629376C58822FE3D1BEA39ACDA335979E7C4ECD5E23ABCCF37D75FEECD1D719AA6508EC3C9665065F6C274FBE3A4661EC241F5DDBC91FFCDA3D947C97370E1DE2E5ED2FF3A13B6E64517727353FC36814F1FB5FDACE3F3EF90A0507AE5C3997DFFEF88D2CEE68C4AD8E29B7DBB12D2A91F0257C9E7D750F6706C7B9FCCA4DE4F30D542A81AEA71387F63276E628D76F5CCFBCEE36BD1FA6E96C13393E677359FEE63B2FF29D079EA4B136C047AE5AC0AF7FF61791E55EF61AD9716C94FFFAB78FB0BF7740250AFED9273E4CE5DC0916CCE9E1CA8D6B787ACB4E9E7FE1054E9C3AA1E252856C8E4D972FE577FED567E93D5B66EF913EDED87F8E87BEFD087E6D8465B32CFEC3BFFE846A9E587E8E52BD815ACD25AC0454438F1239FEF6FEEFB0EBC851DADA6D7EF3D73F4DA13ECAFA855D6C5C398F5C467A1F815603BA46A663CEE9A29EFE1CCC64D03F4F19B4B8589B3BEE89D4610204FA9E455627092598099EA8409F091EA1E8389C6664EBFF24DE791FD95886770533480AFF840B275A1D81F8A6C9C86FDD2CAEC0916110ADD5F0052B8CEA124AA83B8D949D5964567E90A6AB3E0BF9F926482705FF340EFED4C59F5C9417ADF3CEC7E6D220ADD5821179126C364CF0E301E0737FFA23F6EE3FC8BDEFBF85ABD62FC515A8C3B229E172BC08BB4FF653B58D4EB05C13E11B1B9D66D3B094C09F203CC948F8D453631A87E921258DC0A4AC9F6A049AE6A80A35BFC72FBD6DB6919E944A253513354E2CD3704ADB56C6817080193DC7ABDB5FE2EC4891B98D05BA9D887228F0469DB85A251F45DCB46135972F9D4F3E2E917165C382897C3B2FBE7188D3078E70F76D37D1D3956724D7C90FF69CE681275E67342A1089008B5C8F20225F3AC7B50B5BF8B79FFC004B9A1D2AF90CE3B51AC5B37D2C9CD54257739EC1D0E544A5CEE7FFE0515EEF1DA360D7D8B4A49D5FBE7629972D6CA3CDAD51AC476AE47A6A709CDDC7FA685BBC9EC79E7A8E97B76F57F17BF1313C75E60CF36677F1B97B6EA5C50D98D3D148474B83B28A222BC3C044C05F7F770B8F3FFF1A9D4D79EEBDF56A3E74ED1AF26E8863854A772B5B190E0DD97CF98167D9FADA1E1CD9ACCB252EDFB0948FDCBD99037B7673C7EDD792C9BA64B24221F479FCC7DB597FE90ABEFFF86B7CF31F1F56138B063B60F3A615DC73D755E4BCA2D2EB2A718117DF18E0AFBE783F9E02653695D8A29673711BB37CECC337B27E6917572EEA66FDA22E7C6567241B6D0A7E4DAF0E67208EF7F6A4FCEC65D012A0CD13EC8552621B184004FBCDA877A2D826C14C839234EF62AC7098A117FE9C70E7D7C885FDB83ACC226F17B68629710DAF5A1A6A316E60864CA4032F19B504119162745C719F88A88B929E9DA3585846F3A5F7925B7D27716E01911ACCAA6F851ED779F8EC7B0DD006BB309D3D6D4A197B2FF9F688058FEC19E4BFFCF5B7C8B774F18BB75FCBF2D9CD5862A0EA65295A1E47874A1CED2F325E8F885D4FA7290D9163EA29491918FAAB122384A9703CFD699A9A0FD400AFD76E6AAEF32D33E5F3B97A936FD34F9E2600289E919269A5B8B914FA6A46AB1BA985285D5B137DBCFAF22B9C1E2CD19DF3E8C9C6542B1306BBADD798DFD1C60D976FA0AB204E23559A5C5B47B427B20DBC71EC145135567DE676BF4ECDCF32916DE1C937FA78E2F5639C1C1ED381A07C7D826B9777F0993B2F6371CF1C85048E0D57D8B97B2F97CE6BE08A558B34084D7879B61DAAF0DB7FFC00A76A395C27265739CBA5AD657EF3DE5B58DB2DFCE3066A769EC162959363759EDC7592C79E78960FDE7E336DADCDCABED9BE733FAFBFF61A97CF6BE0CA55F358BD641E6B572C26EBC68CC53EA7C602FEE4AFBE4971BCCC67EFB989F76D5C430E19C611F92C51C1AB2ABE3D4603FBCE54F8FBEFBFC02B3B0F532C06B4B57A34E402DC609C5FFDF44738B4FF38995C0B1BAF5EC77FF96F5FC4CF75508F1C4EF51EA7D52973DDFA857C78F3E574B76794BD117A2D14E3161E7EFE180F3CFCAC8A884953BE1A5708B23157DFB4913BAF5DCD82269B1B572FA13D6F7A42625E21F75708A81732812EDA4D9EC9A07FBE3268330422BACE52A69BC93F9938950C5ADD51C2345B34AD2F6954397199F13D0F30F6D2976898D84B361A25B08426E413076E92594A061A68D62D8C0E0D65AAAF98343A1C331823537D2AB169D914A326A2D6D5345FF529328B6E2676BB34F3310DC6845A9766108980FD74EACCD40679311A5E320492DA68A56F96869805FD41C49F3FF822DF79E635AEBFEA52EEBAE94A7C61418856B2ED53751D8EF697D8D33B405594EE9C8C561512A5D34A53E122AD0CD2DF9FF8204A1626E1517E67126453E687B9FA69A69BA2F76F5E63E7C1EAD35E9ECCCDF5D71AD9564FAFB9FCDBB8C2483523908DE1E0393A91E79607D8B37307A7CF8DD3628774FB01954A59191CE22ED2DAD2CAECEE0E9A9C8856ABC62D1B5651082AD433197A87C7D873E494D21E57CCEB60D9D225D8BE4FC92A70F0CC083B0E4AF95FA7B31073EB55AB59DAE9538EB3847E86871E7B991F3FFE08BFF5F15BB8F3862B55F1B0ECFAEC3955E48FBEFE635E3E3A42B1125388C659961BE05F7EFA83ACEE6E52F9D79A95E15C090E0F56F9BBEF3DC3E878919BAFB99C03FBF6A9E8D20DB77F88ADCF6F65F4D0CB6CBE6205EB17F770D5252BC9BA01552FCF50CDE65BDF790A11C6FFD55FBE8BA682674C09EAE26E0EB96802272CAB2441D56D605F5F9DBFFEDA77D97BE49C56164154A5ADC163C19CB90CF48D287B64CEFC1EF6EE39C8C4B8407D210D7EC455EBE672EF2F5CC7EC069BB85ED25B1E50602428F0DDE78FF1D0E3DBB5698B1B520E4659BF690577DC751DF373356E5CBD8085AD8D78CA704D8C9C4536DA68934EF59D0D39FFCD0B652640FFFC04E82471D31372924112B9EDAE6F200E615D68AE27138209BFD62C8B0AD6F801C6F63F42F0DA37C9958E28BE2CA22D76E826496AAAA1A1F8C8B48C320942968C528B51AD3020D2C0ED11D044A9EB6A5AAEF92CF93957128B2CA98E8F4F7D2554FC0B2C0B2FE03F4CC3EA8C095782454E6A87A49425C3BAA85B317B07AADCFFECEBEC3E33CED2E54B58B7680ECD1957F17219649808638EF64F70AE64A98B76DD3265AAEE3F2215A923EEC634577B7D89A894685BA844B652FECCDF27AB133DADF48DE980CA7BABDCCCBD31EE2BBAD9A619B46A6D9BD752268B64F64E1490AD0D7174DF5ECE9CEAA721AAD0625518ABD629C62E135681BA9727F27C724189D6608CDFBC7B334B33A6B750C6E6C0C028BB0F1E229BF559BF7C29B35A9AE86E6FD4E65E35741516CB66A1493270C762DFE961761F3FC9F844404326E6962B96B0B0AB0B3B96C9439BD08B79EDF8302FEC39C6DEA3E3CA2059DD51E1EA754B6816757C616EE07272C2E2E0609D2F7FF729F1C165D5A239BCFEFA6BD8AECFC73FF339B66E7D89DE1DCF71E7D56BB864413B57AE5F46C18BA84953D8CE72A4B7C8E1DE012A71557B249550A628ABD48A159674F9EAAA32AB45A60BA162E77965CF09F69D1866B81431305EE1D8F1A38C8D4E10D524D18870DD98B6960616CD9D455BCEA6250BCB9776B1A0A715576605641D84D233752947395E3D1972DF8FB6D27B7688D0AEB3E9EA356CBA7239B33B1CD6763470F5F2F96495C72E7D12D3DC1698F03CEC59D7D8C586A7660655DEF6C9F9598338CCC9A4A5F594C19374E6552C6972F0624A9FD93CEC015654845A2FD5E7FF8689BD0F938B07B0027137F6948B2AE43A09C08AD326015E54ED4CE96FB8BEA9C8BF69AD196FC328F628DADD788B6EA475D367705AD682DD649801C231368204D316A864A6491331BD3BE7A309934E2466B349329129E245027D541563EE2D07FCF9F75FE0F1ED87D87CDD555CB97E290D9E452442F7CAFCF019AAC089FE0A27068A542C97D0158D11C1EA4315FB51FA5D5A9AE8608E18D69AD521015A925913A3A70E54DD651218E262D0E2DB2F3CAD6D0CF6AD1C5D732F534EB452D3B44A31025719E13614FB193FD7C7F16327606294C6B8CA6025608C2CA55C07B56C33A19B25139669A80E73CBBC66EEBD7419793756682AC8E419A804EC3B7D8E17B6BDC4829EB97CFC176EA6D1A9ABF07FB6A181B22DA4FF1A3DB3DAF8E1A3CF72FC442FB7DD7815EB56CCA7909114DFC171C59BD2125D7F6DD80A0EBC63CF5946FBCB2CEC8855EBC289CD24AA04E8FEBACFA1C180FB9F7C8513A7CE70E7CDD7A98940B15C5178EAF9E7B6922D9EE47DEB1771C9A22E2E59B5481DC2C58BD1CB3452B65BD8B2F3305FFADE939C9BA8AB59AC27D563B5445766847B6EDEC02FDE7E03765D6CCF5C6D4A064E8E722832A9558E9FE963746C82D2D884928B0A199FD6963CF3E77492B7C017736526D42A2CB6B232A54EBD1290CFC89C80CB996A81E7769DE0E127B6D0D456E0539F783F4D7E91E53D79362D5B448BEF29A427CF990C8809C0A71568BA28B4F92BBD1D13A0A5369B71F57E9709CDCF5A8036AE1CC9515BF574B25B39A042B333D042DA614B32BD44F3D9A466E330F61AA77FF0C7340FBF88178C63CBE8AADA204B804E14E1645045C71525406BBE6EC64E1477354D31C32556615F15A3A9DA5D788BEFA4E9CA5FC2C92F0227AFC69D3AC69C967769D9974A30A6813BBD5F6FBA21A953F8B4EA508F47FE53258AA53670B8FFC543FCD1379EC2CDE6F9B5CF7D88F6C66695ACCC8A568718887A59C6438B5DC78654F7A1EAB8843AFC627489C5E859BCE554E254B62A0DCA8EA14AC9004EC2819E8E61EB7EA10FDC4FF1953692922AC864D449E6AC015B082762142BE2FB35B2718D5C6594FAC4087BF7EDA53A3A4A368C18ACDB4C788D5473EDD4334D0AED384191D6689CB9C553DCBB61219BD62E570717C775293B3986DD069EDCF202A74F9FE3DA4B57E3872582E2289BAEBB9603E70678E5B51DCCEEEA242A4D70EBF557B2A4A70DDB0AA9B83E4ED6E3E89980A79E7996AB366D605677878AFCBFF8E22175E25934A719BB5AC40FEA46AD0F8BB3C598DE8998DD67AB3CFAE4B3B4371558B27821E54A95DDFB8F52298E73FDEAD9AC9BDBC28A396D2C9A3BDB0CAFD8592A81C750DCC013AF1DE2EB8F6E653CF23468BAF5807C58A3A176941BD775F16F7EF59754B94FE445E51ED642C1F00D42548DCC8A950D5B4C0E4463CC76C5115D14FF6C63C2EB8454ED3C23B51CBB761DA4F7D809562F9FC3FC05B3A9B88D6C797937FB0EF7B269D306962D6CD1516E312168CE66123551C99E6526416B52A33B963245270D954DD5954EEF4EAE9A1988E3AD1FA09FCD006D52C9D812EEAFC930354067BD0B76665921C6F9DBC87E5AC441152B2E11165F66E86BBF428B354CA06C8E40C572D24C2ED0409594F849C0571DE3484A37471B4AF2FB45DB567E83EB78D4A30C65A78B626E396D2BEEA46DE3DD6089C0BF6FB05F8510CCA4E179B4E3E9B7473185692C06D3BD4BE00503B5887A987C984CA689CD92644DC3D580BD0315FEFEF1D779E98D835C7EE9E5DC79E37A1A0871C3B26E402532942D8FB205E7C62C4E0F15393E384ADDCD26929012148CA6B44C271ACB2DC9040D8E9FE4D309EB621A9A78D145F44E41DBE0EBA6144E5DC01309D9490D14C310C951A5109659D2D1CCD953C7D8B6FD058A62925B7318B30B04F976EA6E9ED0C928F49409C6698FC7B86D410377AFEAA6392B10491DC771955F5CB67C05C204461246830C8C44E5127E36A33A13F97C56E978D938A42D674C52AB991C7B4B19EEFFF18B3CFFFA510DBCA26FA1AC059137AD0A793122E7862CF0CBFC9B8F6CC617EA5E546722CEB0B77780932375662D58CA91E327E8EB3BABFAD5EBD6AC62C1AC0E464F1E6056A3CB8AB99D789EA7D202434E07FFF0D88B3CBBF30413E419AF06C4225FE8C4B8B5906C50638EDDC7C76FDDC01DD75FA66606A1536078AC482E97A32913105746A8D54C55580B8D3FA15867C96625EE3422DD2A8DD9E1D0E3C9ED87786CEB61EAE24758AED0D868518B4699DDD3CDE69B6EA0ABB591A66CC4D5EBE7D299CFD3EA27309E168892D868DB32811EA707E8C450597B3217E959CC04E89FB7006DA2586C9BA93379C0458B4307552E0C7648B75B02A297465BF38EE018A7BFF24BE4CB077165A4431A8022C328A57D6CE908AB52BEA409A9C2FE221D29A59B9127D514C1AAEA48B7E082A2C4E63AAE4EC095AC0ECE05F359F76BFF15322BC06E98DC2404F15079CD8B98B64ECEC1BEC958D3089DEBEF95FC3D25518863B53C68327423E6020E1C2CC36FFCBF5FE6E84095F52B16F1B1BB6EA4332792EB35222F4F39F2A9850E6E4EB0CC98570F8F7062B4C2784DCA5C9369598EA70FAD6C2AC2FC90586D8A9694129710ED2633F9770AC66F7E7D6A22D198F50A5422015BC691CDDDB5353313ECB92118675E93CFDA05B3D8B5E3359E7CF659C62A3113359F6AA69DB8A153843D4D5F8088C66882FCF829BEF0CBB7B390614281717C0FC7F5955E297A7FAE86923A76A1013B9357B7491512727CE5268BA29EFCEEE67C8E9AED319C69E08F1FDBC5035B0E52B31AA9267D014714F2C57E4A0739EAC46199F9E5E3FCD5E76E21EB0408FD53608E2A1E077BCFE9A8FA9C25AB54E0DF756C864E1F63F0F4515AB3361B562DA529E711EAD45E9603A506FEE4BE27383C6251F79BD5E547EE501807F8514CA65E636D5B95DFFAE49DCCE96AC0C91638D65FE32BDFF816ED1D1DAC9F93E7F2255D3467E48C456CCB25F6F2C44E96308898181BA3C1A952AFD718753A78FAF5D33CF8D45E4A65B9362175C6B0BD0AB7DD7805776FBE06B73CC8DCB60C97AD984F932FBADC2A3693CC3C2526C7D3F289F4AEC762CE6C0CE512B82EAD809377CC04E89FA7006D68629A6B696669C673B39E3478D2B1EA69295D2A71A812A5690351B2D97384BBBECEA917BE4173FDB8283E1BB19E304EBC0E45CB2269A8D9C6F5C391C94509D2320E9EC2218243DBAE12F3951AE6D8D4C5FDD869259E7B0B4D37FC166ED33CB3926D51DB4B33E8B772D14C46645305B0245B36C1DB78210A63C1178532C5168C68875C0FC9E48BD87CE947AFF2BF1F799DD16A9DE58B7BF8FCC76FA7D989A9D5451A526435054208B14405CE6B60A00E47072B9C1A9E60AC54D132592C8C02C96C6D69DAA5A0512A529506E864047DCA8BF65D476A83E08B60956D9AAE92494B55209C660BD549F16D1B3BA832CBAE72F9A276DA0B595E7CF1659EDEF21C4315915FCDE234F7507304EF37B254715CA7291AA7B574962F7CE61E0A637D94F34DEC3BDD4FEFC9B3AC5A3887353DAD747A214DD4A83A11A21890B16C5CDBC3F67C5C378BA755451DD71361239F41A7C07FFCC12E1E7EE1389ED7425D849A62913A3574409D6A0D4543BC4EF7D02EFEF673EF23572850956948D90C1452F2192E87EC3A7C8A52A9A2EBADA3E0A88468775B23B17AFB09B466868646DC6E1E79F918FFB865AF9EAB24040239C9E8B51B85D895712EEDF1F8D58FDC4ACFEC76761E38C1B79F78950327FA182F1559E48E73CDC2167EF3331F250C03CE0539B6ED3EC681D383548B326E12F28BB75DAA92A8459AD8B677807F78EC75758971AC2A4DED19AEBE7603375EB68A462A2CEE6860D982761AB36087D2B5704D7B440AAFB4EA3BBF336EA0C024409B0D5EAAD064EDA7EF9D09D03F4F013AED3C48804E071DAC2440273CE8E9FA17E922D02C504258A2015D1B25E62C83CF7D15BBF7C7D8138771E312AE8E6C9B86992A7629F753325889D1325A2EC9AF28DE099BC30CB0C82A15BEB562D8AABBE011D42CC6338B097AAEA763FD4D381D4BC8342D044C309974C49ABEA0130C560661E417AACA85893A93AC8934B99E74EBD2C59D4C422A7DCE611887EFBE729AEF3FBD8DA16AC8ECEE59AC5C369FC6C606DA9A1A69F12D3271055784E69D3C25274BD5B31929470C0C8D3351AC50AA1A7538E17BEBF3A4E76A1A3DDAA24D0E4985E9D38C5E31568CF3EE00002000494441544F43E19B54124A655D936F690F41AE6D327529D5806934CA54A8D02165F333EED52A881506CC6BF05935AF5BDD399E7E6E1B8F3DBB8DA11A54BD46326D732847421F4CA6D6EC987C58225BECE743D76DA22BE3706CB4C8CEA327E9EF1FA6AD9061794F2B372D9FC5BA66686CC92AE127721A1829878CD5E5D664F4DECBC4E9B2B94D34B82EA58CCBFFF7F87E1E7CFE14512C729B725D04CC15B98A08B7162BBE2BBEDE6BFD21FED3FBD761E71B29D663727189BC634015D1EB26D3A0F8B37C35F9522588196EACD9ED68DD65AC22EBCBC66AEC6157EF080F3DB39313831342753178BFD8B249C516D56808475835BF93458B17F0D2CEBD1C1BA850C7C7757C5A8A2758DF0E5FF8E79FA25E0FD976749C6FFC700BC7FB27C8B8365E54E1FDD7AEE68A358BB1724DEC3C7486275FDC8D63C52C9ED7CEA64D6B59BA78168D5685851D4D2CE86A262FC72BAD51D5741676BA599A9A2C4CA7D49D57C91A5D1AF9D2C1B2C91ED24C06FD8E19CDCF1A069DAC07B333278D2B090B9904839E7C213DF314D3D500614C62B5D49234512240ED30E5DDF731F2E2D76888FBB4FB6E181CB1AABFC908B5490E0CD3C1C8CC4996274D11491F8CB79AA1F7C90620714C865F7C7D186B6418F5679159B199D91B3F8E9D5F0656C1947A9226491A95F6346DC928253C8B6EAF519936FE7D17DCC68BE2D4661C5CBA7D226A53B16D864378EDD4287FF4E54739D8374C365F60F3F557B071C53C3AF30E39026AB1AB7C5DA5BCC509075C610D5739B3220E67361DA3BB61360CC3DED06EBC69951A7537D12A111F3EE58D4B5355D82AC948B966C5E667EDBA1171371B51FABC4E6BEC26AA7B86AE25D99A70A40D0EFEE0A34FF2C8D65D94AC1C7E730756B699AA060AE90B18884339D3823987A2012EC764A01A09BACA9E8942DA47F6F3CFDFB79C6B2F5BAB6A73474A3E0FBFF0067BCF8C3251B5182FD5E808CFF1AF3F7517D7AC580805F86F4FECE75B5B8E2BE758400083D15BD861881BE877A8C5115DE5D3FCF6AD6BC9347772E4541FCDC120972DEEA6C191C01612B91933C821C7A3B8B0D0E30A0CD47D76F48EA9F29EE537D0DA39876DAFEE64BC66AB79AB6C86DA9ED6C4C474E12448CB28BC910240A5001CB258759BC6F02C4B9A03BEF0EB9F54A5BEAF3CBE93275FDA4F449ED8AA624725B24199D99D4DCC5B3C8720AAD1DDD9A5D0D8AC962C0D6E484F5B9E799D8DB43766B44D3E2910AB104F224FF74E149E8B64D5E7ADE8990CFAE7278336673295169B9EB068714893D0372FBFC58249B9B5B292350B14E2683C44B9F729867EF2A73454DE50794B1114F224168722C96F7E5FA22D97743E8C029CE1428B238BB047CC71489036C1CB0839099450715BA9342C24BBF466F2ABEEC46DBD04EC4673983A1092344E3403958D23E5475F4C272E3DB90BB756D33834BB96D11A9E88602C8A79E9C8902A9EBDB8FB28D508E6CF9BCBF285735932B7939ECE46354315FC544182C4D44082990A44E967992D4AB2363D4FAD46049A301E90C6CEC8541AA10093718C6F65D4C5C368114B5809A92B7345A000D3CC154DE3F46625717F6AF04C8291300E5477D838D74880FEFA433FE2C7AF1E262AB4E337B412D859025B02B409184697DB1CA72AE9697A3FB55E0CF3C665D6D8213EBF690ED76FBC4C45A51E3B3AC2B79EDBC9B99A8DE5E6F477B631CCE2E6888FDD7C1DB3E674F2E5E70FF193D77B55533946FA1D72EF257336D65672B7EAB1A3BA146B9A22F01B39D73FC8DCF82C775E329F0D8BBAF43D812BEE2B963ACA78A1406B316376232F1E1DE1C1978F7376BC62AA16DB343363F13894DE85E8A8A474E2747C5FCE35BD07DAA8934D56CC75659A7294AE5C8DF75F7B89E2EF4FEDEE63F7D173D8B60F7199281CA140487B5386F56B1673C5A5ABE8E96CC58FABCC6EC9B3A0334F47639E9C97E89A9F37157A9166DF3BA6836FF18699003D13A027AF802CF024C6E9631B96884AC7187FED6B54F63F84571B226B093E6B8C4875196AE637A578A74F6F22FAAF0FAA0C2EE883641A8792A9A7832E32E91845B68112B2DD443D57D179FDE7710B0B8855A7573AE1468CE94DA5DF85B72D4DA5A78916E9394C36EB4C4D21196CDA2C9710588AA06FACCAF6C3E7B8FFB1EDEC3A760E3F9BA7A7BB83DB6EB8849EB6661A73596D6819D90FC3B0086468417728393E034198BC59A2C5541335ED0AD89664ACE314A2320D4199A2D5C2B8DB9EF8CD887E891C9BA3558A5CDB644C50CF322D81D3409D9E960459391F09D46118F2A5FB1EE485FDA7701B3BB1FD82EA5EABCD973435B541959A101898283D621D7AB12385AEE2C8A36BE224BFB8AE9B5B37DFCCD989325FDDB687178E0F1048134D2A8028226B15F1C23116343793CF3772683462AC261582F4243CE2C031FC70AD3CEA1A3CEB764E35ADFDCAA8B277C4817C41748A1B96B4F2BE4B57E17859FA4B0E478E1E5771A605ED5916CCED5236CA4FF69EE53BAF9D6242B371D3DC9673976A463716A5443AA623AC8139363206B29169E8176A644818CA7BB32643A64CB35DD36C7D30F49990E30F420AB99839DD05D62C9AC3CA05DDCCEF6EA6B5E09371A0BD29C79239AD34666D9DD6F59CD4CC627A72308DC7FF4E19F43B05EE99003D13A02733EB0427D3C7571FAE1022A1DD1DA27EEC698AAF3D80377650FDDA5C897EA29226D8B590472331A595ACD194EED24A93D25A82B41121920C464A5679784C1B4C0347249C580942792A760774AF236A5F43C725B743EB52A5E2C59A85273E409AF525637DD345FE13C53DF33C4C5901985CC664B94A254C02B63CB822F42F5998CA948670FCEC107DA345062A31BB8F0CB3EDD51D5462072FD78CEBE7686F6BA1B3B395B6D606BABA5A71C51057F7A3445B3A755357B68B997794C024479B8BC6E9AC1DA3BBB89BF6A1EDEC772FE7F4FC7BA90A773716A94A73CCAE15100412E493694FF91CC5CFCD99A9F48864F2A95092EB69062D23EC4F3DFB0C63C5228E5FD0D175C95BEB8287EA670B9DC560BD72D0FA39938E2F729055858E8832F8C573CCCF0734B4B6321EC1D1B198F164A254AFA68C2A8B225B54C3B5A5FD1B5389655C46A089645235F24D634F297C81EA72D7E38C327AB4BD2C0135A8D2581BA2C30B98D5D248BEA185A162C899BE73BAFE648AAFB3BD49ADB2849F7EB26C539173903523ACA07A224790DE5E6D8A48159364CE1AA0536AA69CB7307B32D4A49742A09A1EDD8D59DA9AF2CC5E308F593DB3556DCEB76B3465E5B50C3D2D0566356769C9BB4ADD14E38BAC2B4DD3444E762A0B48AA91E91C9CB7AE58DF292E4FBE3E13A06702F4B427DF0C63A438AE49A38D9E72ED0CF5D7BECAF8AE6F13977BC958813A434829AED9B150F524486BBE6202B496F63A5167862C14E650B7106181C82362A9B1AB27C1B52A5DFE2C229F3F91ED61A2E5121A576CA673DD2DE0B44A88335D7CF90DB22924138C939B4BD22A4FA568CEC3A627B9D2698493A82A412B71EE48B05E850A1C8B3270AE1CB0EDC008AF1E3ACDEB074E73E4543F956A45F592C5BD5A047D148797E0A99975AA39A73E2A38EA1D6802ABD82DB5944F707DD3293677F5B3CEDDCF735CCBFF3AB28A73712B55274FA01C725546569E7524FCF0C99333C76DC027D3F8F43D8F58F0678159346B84EBAFB9820D2BE669C0D6C6A058389984DE084125E5BE0449D3E04DA49FF4DED4938C5374D96A1096A93B2288251C765122144959B9A706DEB142D38CABCA4094A01972FCBA89460475813684F1617A1BA1AA1C4AB62F2C0C87BAF42E821A9E1DE3C9845EBD9A003036A56AA44A76EA3E1E0B354F9A82D27F1039D9742394BDC65C77B58DA80549A35660EC848D24554852889873371095BC5AACD7705D8B96E6020B449F24EB50F0E59A9AE9568F3A3DED8DB4E73CDAF22E59C7C2B34D50D6F440EDAC8CE38B6C945350D1547036473613A0DFF546F4D3BCF167B149F8D362D0E9139C860123C41312BB3206EE405D64490F70F87B7F4061780B0DD12876553226DF3C0769AAA22EE066CC5BE9183A1E6EC2A666B35292EBC3AC73AFD4C340E951221E13C8649CEF52893D4A512361CB4AE65DFF4BD0731DB13F4FD5F0A4D9A5FE81170ACBA4A5E4C59A866F7A5ACC9DD5ECD73C712ADB6939428D92A69379B685432D23DF83C598ED7B4FB2ED8DFD1C3AD5CFD9E1716AD550F9B2521E1B1A8B49E38C5AA90458A3E7E151A1B17282D5CE613E36F72CABF3FD3447431CCB5DC18FC756F2E3BE067AEDD9D88E8727CC0CF94CCFD7EC579A767ACD92B16E6D8D5A31BE23EED301BE64CF6140C6CF1005011FB8FD26D62CE8D2CC553620A13826C9A599229D34034EE77D0CE4A3024CDAC495CC56208050EFBD402E3231E948A33110CA5C48206A85B20139191CC723B46A3AD421B43281A284AED890CF49424EA52ED4B7983819274FFAC4849A824BE5603259E9458848BFE871ABAAA06EC2E24958C355268C0C20C9FD3012B8A92BBC49060C7346362999304C7551746BD4359C346CA358AB3E1DD956790113FCA5C9EA47759A9C2A39DF239B6FA0B990A3B3D1D504448A4303E12BD86F168D40298A3D49533CBDFFA623935EEF9900FDD344DCF7F833FFA402749A6E240328EAA0218A4BF2544940D587BE9FBED7BFCDC48187C88F1EA2A93EAE9C535D94B650C00CE55E522AE3F82D11306D7619F6422A1493668232982299A6B233D40D39D4A19658865A68A1E4CFA5B0F8065AD6DE0C4DDD386E13F86D60E515EB34C3EBC99D4AB2440367244D308557A6206C99FC93075E9E2D794E0D2E9B02EF261098C0280FB80C59484090610A8B09602C84FE71284E481033F86FCA99918C5A6858E2DD68DB55DC6018AFD2476EEC00D5FD8F326B702B0DF5733A4C31E6CE6730B79ADAF2DBF156DE46352B565105FC64363C951891259BAEC3645E053182319B5D32299F906E9A7290133F04418EA67AA2931E8E467D6F6A0E286DAAE9069BEC79A9D1B8C4A0244E9B4C50664E9201CA40C59B8C80944C8B2A2345AE45B2A10435F56430D75D7C21928C5DC39AA8298AE7A5E518B9DA046F97630B4281C1E4DE987B94744027A103F19654D7EDA4F12ACA8C3AC5999C98E0F092DD1AD64D122CD57CD794104245D454C1C6F4140868C835A8CD57AB13ABB185343965D97AB236D2A5EBC81592F59F365D121BA15447665A237B7AD27C1EFAF11E63CF0CC4F12E2ED83FA900AD4E2B929F980C46C2AE665DB226356591055A026B04EAE738F5E817C91E7F8A6CD0A7C47D1DA6B05DEA711D9920D3874C1A34899F9E795A25A026C60149B34DB34E09D09AAA48A26282AE8E503B596A5146C5D1859247B693E6851B8997DF4CA675094EBE9B98BCBEAEBC6FFD7403A324CEB49A112766E6536B3EF9DBE4FD4D980D6926ACE1795A962EE766E01A237873A104BF5A8B292B3032BA16F57304C543948E6DA5EFC5EF938D47C946E3E4A371851264AA91A8401C3732E2B612CFD948C735BF8EDFB90E3B34A5F42423616AEF99EC77A64A7AD34FC864926FAA2BF42D93DFBFA0BA489B8E06FA480095291AF724762F9BAE500A4D3229938641D26FB0547F3CE90898F562482BC94E90A20C534D33C59E553AD5FCD1775EF0A05DA43EBA389DF222CFF054AD6602F4855A28E925480411CC8A8FD16C590E43E98EC9791A5E72B2134E7168DEE22A4F5B54FFA78DC1E9E7358341BF75A4FE2715A0D3E22C998C134ADB6409A9E988E08FF2880AFE1B108FEC62E2B9BFA47EF4697C19FFD06937295B6B584E92554D3207D2713A19AB15FC3999B6D3A7539E0C2D5C93469EA1840935CC96EC5A9C9D55DB43446EB254FD4EC6FCD9B42EDC48CBDA1B705A9711FB9D44564EBDFA4CDC4F44A364245D82A750BF042698D4CC4842C864966DD680C97892D453FF9D3CAD09862BA316BA89A9DB89E9A49ACD40AE4915E251281D63E2C0B3548E6F2738B393A6701051FD334A0C468EB526823E1288438BD0F519F0E690BBF65FD1B9F6C35871A3895CE9E0E785CBF34D69590AAFA46FBCE8AA4DAE6D9ADF4DE6E4D310B134853617C204CD8495926CDA6613943B234D613384945A43EAF59B8C88DA019CBAA8CA9D4F7E679AAECBBD4930DDC90A265D0FE79D731AEE1337FA0BC3E3F460981E80FE88D996A6D547E9B6910C1419FB37990A95AACE4D761913A0E5BCE51505D1DF1C902F7689CF0BCAE93FDEEA5EBC75CC79D32B33017A26404FAE5C59579381C13CB0CA39D55AB7960C3298715AC2D3D47A9FA0EFB1BF241F9D24135694272D429D9A6B4DEB9098093B33D0A28FB73EE826733142F7268B36A232267717F687F988C4BC36814E624B5A380E15A7955CCF3A987D29D959EBC8762E874CBBD2B7E250B279C35ED0869923831A4E5209240F6FFA10278A739318799A085DF8E0CB7109561A491B53CE31E58B4B40AF42F924D5FED7A99FDAC6C89E2D14C2513241093F168EB3345E43DCD46457862544C7594B7D8B31BF8BDA8A8FD27DC52F93292C13AFEE4486F582E030994D1B96828979E6CAA6308B424C69B03C6F699F77426F5AF486079F6C383A669E86B7A422D12A626AC39A1C209A16832603B464D5C97D3459F5B49F9BB60F4B562ED7C038EC5C7807D2CDC47CDF70CB4D9594A0BEE61CDE141813BCE7CDEFBC20194E02B4C22312A04D73DC68B9C8662A3C7F336CA5D7F46D62EDF97B667A40E73D4CEF21225FF0D699003D13A0A7AFF3A97568169A6174248A5B6A262B89A3809C25C2F231268E3E47786A1BF5135BC806E7C80435E5B7CA03256C07D1549652D1A8B219D9C5C036743C6101185BAEC40F5002B46813A88A9B642F622C6AA2BB301B4CD22A58674C35F2099C16AA4E2B5E730F99B6B9047E13816850645A695FBC015AE78260D6B6082488DD966FE86B9343053AF130B9114D7FD8D3FD450771D56C57E4282B108D43A59FF8D43E26068E1354C6F5FB4E6D88DAC061E2E249BCFA185911EF114D08F13EB7A5729081868A6E3D6688C552E1A14A6451F31A2966E6E0CCBD9AC6059B292CBB1ABC4EA529A65F536339E6BE4C86EE0BE2EE241E7F5EDEF71619DDB49F9D9A304EEEFBB4C7C2E86E4F01F9E95FD310745E804A24BA13D3343D4EB1839ADA5092B89AC87DEAD54FEF87FEEAE99170EA075583636A6C69EABABC094E78D30531EF4D2F58BA9725959BF1F014468AD944A618E2E9394BA1F056DA3069D575610C99C9A07FFA1DE93DFCE44537CD64A34F6E812498959A282AAAD4D97BF8F0B77FAB3534567BD3D27B779F9E1E44CA727D779384A90ADC248638094A4E8588C9A4CD881EC8F02ED40709477633BEEB9B84277E823F314046B8AE8E4FB55E51369B04617D0E2C99248C35A3D4B16351528B245889425CEA2C6578248E8C540BADCBA8F59AEEBC63F498E5A7C5AC56C6C6CDF49BE0CC1248457B2F4BDD6EC16E594ADCB490BCE87CB4CE26D3D6038DDDAAF5A0399892760D24A2C127319C4D08E04A79535847BAFD92314F0C513B7B8C68F83895B37B61603F71E9A46A94D891C8B4CA079A6B2E8D42849192C0458164F58AEE4BABD18C1D9B6C33229060ED7ACA512ED91D149B37D073C3AFE22DBA436640CD2699342ED33B3199415E6C855CB8069386DA4517E7853FAF90AB193A9ADC9D27C544A6B255BD64CA5034D200931AE4E6878C1142F238C8B14A8F6DF233271D61CC77DE34AAFF768BFC1DA1858BFCF0F45839BDD848DEAAAEF57A1CD33C02D3E53DFD825FECB8D2CF9BFEDAC5BEF7EE1EDC8BBF6B26837EEBABF74F29402B9759C2880083FA009ACCC27C3B5191132C572163993C138A5C0D4F9EBE6884686C27E77EF2B77827B7E2D707C8FAAEE1BB26D8AF794825904A062D942DC99E93A106C5288D6CA8C9C66494D9568D62853D62F1E650F29536FD15A215FA97D0C834A59709B6BA360463D1DAA80BBCD14C20C23E5E0396278D469FD86F26D3329B4CEB1CF22DDDD0D4656810CA2448E80DF2EFA0021383D4FA7B290D9FA1561AC6AE15718271E2EA38BEC8930665CDF085B1219395AACA9694CBA2F427722632D8203B8130524C88321C5DE39861A9BA9F9C6B1018BDEDC0C9528C9B18EDB88D651FFB0BB0F39338AA5E97B74B00DE32304C6EAB6FBDD0F578CC3D1618C164B5D3E08314F64A7DBF260F246DC125D9B5463A9383CA999AC0F7E6CF124D15554B4EBB84C9B94DFF95E9BE703E7C901E679ABB9F7F4A6F97D1984B37CDE0E1BCC03DEDFB9384D0F4F0E47EBDCBCCEBA7D940DE2978CF04E899006D521993A96AE746026112A0A794B88C76840C2908CB40034F9A6F0914110E32F2CAF719DDF96DF2F563F8E1B00E1A28EA2C19B54E78893C674CE808CBD72C7CC9C192D0ABA5AEE9AEEBA8876193A8ED941167B20323BD19BB66B4D98C384BD32ED6C66420729C5252BB19C29AF0622500CA3047127C646ACF6B568FBE4A940509DEC2341159CC04079572D651CD862A99A8841716F1E30A8E6E128196BB41281B8DABC24BB65CA038D009404345B4A9D6C1CB37A9ABB60C6BE830CB34B70CB16452A14DE119CBDF444829D1BA93ACBB375ECD92CFFC0D64E7832B94C28B68645F100CB408F8296B2EC34933C72E660CBA0226A180691317FA1EB9F7C986A3B17F1A2F505F9BCE9B989695A6C7A67B925C6F69324E7BF612C2443A31395D6965EA6353EA64BA7998CD47CF7D1ACB626AEE32FDFC641C3BC5B9CF9B409DFEFCA7D7C19DD4153795DE7436C7D467BE23307DD1FB91EC5893C7F00EC17F2640CF046813A093D574A1DCE1050FD19B739624AB1638201A85A88FF88D47E97BED3B78C5E3E4E3091D44D0115C1938880235B1D5C938A5121B4F36E5142B1462F4956583108EADFC5F6183487485A5E30EA1E0D4895A9E391E616A2470887E9616D693142983239B0D42E5E825B8A6365D099D3015354A1E79C3565071249977943FD3B34513A04C83D33050265F4FC7D8354794801610D902EDC8618A6636EAD22D23D5C459A2C46CD738C984F84ECC388D8C387329ACF9241D57FE0A96D7442C9AC991814DB41C4FB48665833189A1617E988DC6F40D626D908AE1EB54734D191A89E894305C648B3065914C844AFB53BF83A35585094C6609C8F54B2609718D95645A79C8CBA28A279B659A7A2BD15CB07733EEAECA7D6916ABBA2C327492C477BDE8295F5D3675D3809596B37EB4566D893183347ED5B74F7E48920AB9A7B2B612D2B2B04B54CC4A289E9AC327D899BC6772EA443F57644C65A250C7F1A561299F2CA6838E388E5BBA3E85CF3D997D27709B3911CFC8EE2695475A21998DCE53CD12BD7C09B17CCAC52D315FD693970A716A9D9ACB7301DE3D13A06702F43B55596FF7FA6475AC014882C38406E9E8EC768EFDF08B146ABDE4E371D5D7553538A5BE0923246D0EA6943C23589E96938229EB1FA3BCAFD387D269D75F23C12461E44EB218920AC094C4498036A13BB1BB371A2017D3C07BA7F337014D7731A36F9D6C62530F6EB2C9A4E5B1BE6E8E55BE420DD09ADBAB4E8484412B9400ED6B5334928C5D54E764AA32AE2B150FBFC08077396D977F8686D5771067DA35C018112045E1938A2709C8CA5A4932C01463D78B25415ABC1F6514DF3CFCB249DA8E4CDD25965A49262C415E8C0864B28EA86C02702A26A2A5800DA28FED38268796189C6C5C72CC93088754243226AE55438CABCD55F963B432F473E5CD320DE3366AB0D31E84543BB609B4B6B2AD93A9C264A8482610D361181D5594E3B473C412B475A3946AC8D4607A9E3A58E34C72B3353B5791AF44EE55D7A2D97C6CB1888B45F0BA0E6E3315CBD6A1A1B4B9691AA54905A1FF4FE475E56774A826BD27F25A5ECD1C84A522975F5DD975F948735DAE4D0AA9987562B64059E7A69A3C2FA79E09D03301FA9D02D4DBBE9EEA3CA458B57A399789A361FA773C4AD4FF0AB9C15DD84307F1243049D00DCB3ADA2CB952CAEB4B9D8CCD645F92596B704D9F121378150631A9B766C353656682236BD34A326DA35B6D449A8CA4E7A474E97B3CE1A922C264641736C58C7ADF8560AB313190AC5982735A2988E4A5BAA147AE916E15B8467490932CD2B88288F851CC84D54DBDF5725AAFF90D0A4B6E30AE37519D33878F60D7CBD8C29851CD93507B069A454BF0096C3C91349520665B549D020DEDB3696EEB566EF964045023D324C38DA15A1C6764B01F6BEC2C3E6358B29196C5EDBD46546821F05B08326D8CB9393A3BBB686D1488C8041FA94A9282C24C2EDA31FD83831487CFD1543F8D5B1FD5E38A2A751D1B77A48DD890A79E9B4BE83653C5A5A1A585B68E46ED2DA8C646A2FB212C10F96C11B5AA0C0D52EA3F81532FAA5E74E016085C63BDA552A95D732814723A0DA3AE3FB23F256B4AADC3922F75AC0902868606288D9E25138CE0085D9288AAD3C184D348DE2F30AB6716B667A46305A61338EBCCA17D589A7048EFA16AEE7DE2746F36E4266A4E8EAAEBE0657274B7B593CDC84632B502B5759226CF2A2026F7D168694FF60034A86B7D90EE39532B378689127CF92B07F997FFE2EFF1DDC37CF52BBFC93D1FD9849B8A86BCC775FE33F7F68BA243C962491EDA9F1B16C74F7B7394FEA462F58229A717C7704C6114EABD04BDDB187BED61ACB36F9089C720AC9A0C2B89144AC37BD3012420A806D7B4C84E9C41A63C2892009D02A6F221C938B904C734331171A5A479F5539DA7664753476882F179CFCAB44ED814786BD4FD4420C86C1066C3309BCF64E19CCAB62A3E61049C64C45C12E231AB8BB1EC2AF2977E9E39977F486DC3ECDA20CFFFCD1FE216C7F0C4D854AA09857C448C48CEDE250C2C7C27AB0A7575CBE64C660EFEFC4B58B4E11AE62F984BCE77CC88B47A4B4A221A307CF238E7F6BFC6E0E1D7B1C74ED12CD05458C591AC5D4C55F1283A7926FC7686DC0E66AFB88C6B6EFB85C4255E02BD0986F2C78B630EBCB295E1A3BB99E8DD4347D0473E2AA9307EA87D074703B8542665E907B8CD2ABFEACF5DC125777E8066F1244C60079DD04C1AC362E8BBF7C70F51DFF103FC7A15378A28391E55D9ECED2C634E17CDAB6EE4C69BAF53512B6340606A2DE3986D829D161558944787D9F9D83F50ECDD45BE3E4E46583676C498DD463F9D54BA37B0FCAA9B59B9B89BBCF8D14A03A63EC8737FF19F702D494284E72E558F28B618084BFED4EC0C153B4B29D384D53C9B96F96B98BB6C355D3DB3D46BD1309ACC1F53F1199D6E1592128BB0B4073013A0DFFE719D09D0EF1CCE4C692A4D3CC1EF64E5250D2D95F39472B20C611FE5034F31FEEA0358C3FBF1296BE661534B04E453A0C2ACDA94CB9B62BB290F5732667DC012F1A564759B87637AB32A09D2062E3183EB6608E69DCFE7CDEF98066B24165A9AAD4E6E1BC99336F98309BD51190F26B08B01ABE135C8B512FC5B200703BD44822BABF0BEB0495C6CCB579D8AAAED30915B46E38ABBC8AFFC08D9B61504768CD3B783935FFD026E6542F71F191B0F957E684069D512142B2ED1C4F72C4AB1CBB1FC4A8EDB7389DA9771DB6D37B2B0ABA01B80413622068F1FE2E0B33FC43EBB974DF0DC380000200049444154964A2F46AA49365D61A6887C86D1B796EB57B5F394FD168EF94B5879C7AFB062F9020DF62A1A95A017F1E0099EF8EAFF60767886E670C094ED225624E25B09461F2AE326261B96F41A4D58EDF4E616535F7F2B576CBC96CE9646830F28722044478B91C0E28DFBFE882527BE8FA7BC50979A48BE26CE3427334BD899DDC8473EFD695A5A0BFA3B8DFC6972B7E47FA9B85114533C7D8CBDDFF802EDB5D38ABC3B5105971255B78D7E67362F35DEC470FB6AEEDA389F0D4B7BF4F338F32AE7BEFA1FA986E388D3A60849999E89AC310F2BCA68735C36E48ADBC0B0D3C699CC22ECD9CBD878D366BABABB1529490B1913A0CDCEA6425D8A85274DDA99003D13A07F9A9035FD674CB014EC2FE974DBA2416CB03A91C21446AC0C72C4A5B3D407F652DCF32413C7B75108CF900B87148F4DA70965BC7C6AA2CD388B1802461A10251B5500608A039634A50C94717E232F1D904945204D809EDEF57C37672FE7659A93EAAB98FE9EC9D233C511CFC7A68DED523A25997055B4E126A8AD313FD5CCDA16317B2565635905C27A9E31BF9B62FB32E65EFE2172B3376165E782952594FED789ED8C7CFDDFE3D4C614221AF4DB18759BA95939633D26413071E0964CBC66799CCB2FE154D4C1B8DBCAFBAEB994EBD6CED55948C962B3A57ECE6C7B84BEED8FD31C0C910F47A9B8A211D24E2D16B53A39564184433261916C5CC10F4AEC6C7E1F473A6EE0EA4B1772E9EAF9BA31B8618DD2A9C31CDFF2109CD84E637D108F90B3DE1C8A76A3D9AED4045706936450A9C2ECCA710AE13855B791B35E0F87BD85342D58C3C6CD77D1D2D232D9629090D7371673ECA13F61E5896FE34ADFD9CA30E61474913405239CC92C6047C355E4662FE7B6BBDF4F2663B4C9255BD6DE712AAC245047B548E9E41E0EDFF707344772CEAD78518942388058C68EE416F0747E33C7BC85DCB9B68DDBAFBDC42C9D234F31FECD2F50AB97A9B939465C311468506956B9A95E04B9B044212A92894BDAAC1CF53A39E9CFC35B772B9B6EB8917C2E97341F93B5A8FB47D2543CAF569B8138DE095E7DF3EB3310C705D764BA8646E2BDA7E59AC924D52F36EDB18565A2924CDFEDC37AE37146F63C4B86716CCDA82B09934016AB8073BE323752B53933866B3AFD064A99F695083DE998F8B4206D94F34CE05464F73C72EFBB09CE9AC218EC5B25550D7463208B041B4CC681277F574288D16D24DDB3341B35C310AAD6A67086690CC5764D098B75BB914AD48295994FEB863B60D52D640A8BC16E494C480D06EB1E9700FD7B38B561F5563C9C5941AFB7506DA10466900D4FF8E7919B55D6076E8651AB95B25D003FC7E66B3670EDEAD97A1C13A3831C7FE4CB34F5BD4666FCA4B6E5EAB14B5F7601C7DD854C441902276306EFA31AB97082598CD0553BCDCB4DB7F04AEE2AE6168ADC76D552562D9EC781E71FA7F8C653348E1CA4A372D2588B39CDECC95D429F338B509BC046504AADD8A212CB6BFBE909FBF47797EC02436E17673273A974ADE1031FF9185E567EBF39F7D3C321271EFAEFAC38F1104E18125819FAFC1EDD407A6AC719F63AD893BF847E6F3E4ED7723EF6D11B54945F687266344A7A74B11A2D84C5B3ECB8EF2F6938FB2A4E5CE78CDD43362E32273E49297219C9CEE3E986DB38EA2CE017563573C7F59718D5BC233F66F49BBF0FF580A2D5C8C1DC6A4EBA3D4C38E20014918DAA14C20ACDE1080B6B07680FFB09EC0CA7724BD9DD7005B5A6392C5EB9961B36AED271F27440EAFCBEC6F4B53D8341BFE5933A0371BC8B20A6BBBF31784DE9A22AA8A445A93C16AE611D4C72AA64C0631C6A4304A7F733BCFD3EA2A1EDE4A3B3F862F26915A80532C421596BA00D41B57612C562499BE2980C2E513DC215FD60FD5C697449674A82A2046909A4866E270D43310830A3E6D3B1EA77716E936F31D4BF542BC40CD598E0AD0D490DD2A68169D88A6673922941E50C084E2CE6A94E4179E4A125A5B19936940C2BF41A198EE7E3CCDE44F7B5F7E2B52F03BFC36872086D2C618A49F9EB1D7F99C1AFFF2E6EE90C91EFF36AEE0676653630E0362934220C0CCDD0ED1C81588A89ACA764CB56A0C6ACBF7CF70D2C9BD54C1C84ECDCBA8D78FBD79955DCA70DB2A2D7C269A7874399951CF05728EE2CB5B868098A96BDB04C5AEA43CCB786389059C3416B11B3BC416EBFBC87B90D31A79F7D90EED35B68090668884B9CB3DA389D5BC28B85EB39E6CC27B47D726199A67814D7F570C2324B6AFB995F3EC09CEA09DCB8462DD3C2517B1EBDB915B42D5AC12D1F78BF5E6E3987BED188630F4A06FDA0E2EF91DBC0217FA95EE745E57DD4DC3C4772CBD963AFA1BFF5523EBA79296BE637282EAF0C95243B158C3738BE83ADDFFC9FCCAD9DC07232EC7557A87ECA8ADA3E02DB61D09BCD138DEFE7A8B794BB5617B8EBFAF5BA02AC634F3170FFEFE3944A94ED165E6EBA8E3DEE4A069D763CDF254F89B05A27571DE1DAF24F585EDFA71B48BFD7C389C2060ED1C3687E0EFFF69FDD8D9770CFCD986C9A7424BB7ABAF6669A846FFDA0CE04E87711C4A6AFAB49A94A094B52949A003D2D7227CD11E9FA04502F416917633BEF67F4C03364EB2338D5808C948B5195382AABE38AA30D4579484D06AB432F42BD12FC4F13F8A48927BE7E6A4C9B04692DF94D9056EEF0A49ACFBB38AF696F494F31854826C533D31D49F7A7442C5EA98666343D16635311A0D7F3106C5898153196E80EC73E6194A7EEE519A799960DF7D0BAFE2E282C2424AF6C0BB39F24034289DCA777E22506BEFE7B642AE7A8B91E5B7377F27AF60AC6F2CD2C5BBE84F9AD8D448164E6190219A1D7BB50C78B4B2CEA6A60E1AC1CE28F12178B3CFBD53FA767F0456645A714633E935DC8DEC215EC633E67728BB1E31A73BB5A58BEB087F6D606CA9588E37B76503D73883E770E67AD7666B9A3DC71490F6D630718DEF6004BAAFBC98465DDA2F6E7D7B337B3867DFE7246BC4EF2B90C0B3A1AB8E5F2C5C6453C0A281DD941DFB6EFB0B2B883D6704885FBCF145670B2712D67DC4E36DC700B97AD9EAFC6B092419FF9FE9FB2F2C403E4B0188FB2EC2C6C642272B822D8A523F703D91E5ECE5CCD0EEF32AE5EE2F04B775C31D99E10AD67A56703077FF8252ABB1EA5239A602CCEB33BB39A96709835955D3AAB35E875F193C60F70D85BCA9D6B0ADC71FD7A0DA1CEB1A7E9BFEFDFE3942628BA1D3CDF740BBB331B1876BB98D7D3C9D56B7B18192B290CD4FAC29F317F609B326DC6AC66CEF84BD8E7AFE07876095FF8FC5D64D3A6BAC25D069ED376F97983343319F44C06FDDEE2D505F042F2CFB40F731EB1DF2C392374930C1C24BACA9A93EAA0C318D1C411860F6F61ECE4CB64C68FE38F9F21531DC38DCA582230A4F88034D27C1DEDB6DCBA0AB36B375C0658AC8C52EE94059566D1DAB43142F229FCF0D307E8A4C1A8D9724AB53363172658CB38BA0015C2F3161AA049881479D6A112636A20624DC2ED954CAE6ACD216A59C784DF41F3C2F574ADBA11BB711E1139A55BE96F49B271F98B6C7942AAF37B5FA0FF6BFF0EBF3E46C9CEB1ADE94E76F91B54C2F49E3B2F67CDBC2E755DD7B6A8B2154C8057B849BF675AA6FD5B7EC8D073F7D1119E252F1438CBE1487E1D5B0AB7722AC8D3D0DECDF22E972BD7CC67DEDC363D9F5433E8DCB971B6EC39C9C17345DADC3AEF5B3B8B96238F537AE58734D50609A4D5E635F36CC32DECF0D7D19AB799D396E1C6CB5730BFA725696482E7C4DA803CF9C64B0C3DF145DAC78FD0169438E1CFE160762947332B695C7C091FBD69258DF90CA7462C4E7CE70F597DFC7ED53A1CB33B78AEE556C6C872F5F85374468394638F575B6F618BB78925ED161FBDED4ABA5A0AAA9C98E6A9A383A3ECFAF2EFB2A0B4970A0D0C676673C49F4F6BD0CF9AEA1B6A1E31E477F26CC35D1C751772FBEA266EBBF1326DF37A479F61F8BE7F47542933E275B1B5F136F679AB28D2C0FA25B3F9F0F58BC8173CA27A88D3FB2C27BFF69FC958456A6E0367BDF9ECCDAD63AFBB94DFFAC4EDCC6D14ED73F36514168CFFBA99424A5E98C9A06732E8FF93F89C50340D4FF362FDB7698C8794843F5999E84323E1A2020C433C00830719DBBF9D5AEF5EDCD249A89CC48DC60D873AF4347855308EDA52768B8BB3422893C249060757BC3811FE495D5CCE179878F7676D2611E5FC041B379086C10C93E03CDDDA2B9D5E53E682199E885DD966847ED542CD69C5699C83D37609DD577F1C722DE04AA34B0636324A4153064502A198A3344D5209D0DE891718FCFBDFC5AB8F336E6579A1E956F6662FD56CF9C3775DC6BA85DDFAB3411CABD492193F4F40171131123D6AE0E93FF91DD6955E271B95B4041F77DAD89B59C773B99BC8647D3EBAF912562F6C541B2E8558D47C21092658546D28CBFD0BA0B1D6CFC4A37F4169C7938A2F8F66667336338F9F64AEE750660577AECEF2A16B979311094FA19289FEB282FA21A1C054B512C79EFD1EE3DBBFCFFC89C38CE667712C339F573257D29759C02F6C68E5BA8DAB383DE672F23B7FC89A13DFC48E1C46DCD93CDAFA410669E0BAB1C758189C2017D7D8D178252F17AED280BA7CE97C3E78EB95538A7A419DC7BFFD8FB41FF921F383E39AD59E72E7D0471373A233ACABEED01539E077F15CC31D1C711770FBEA166EBFF17203571D799AB1FBFE2DF56A85616F16CF37DFCE016F15D528C3654BBBF9C0B54B686C1068AA4AF5E8739CFAFA1F53604C79D167BCB9ECCC5DCA4E6F05F75CB79A1BD72F3C2F104FF5B0A7D5EEFF7F7B5F025F5575ADFF9D73CF3D77CA9C90810021090984799019A4CE828A885A6BDFEB7B9D5E47B5752C4FFDB77DB5AD5A87DAC1AAAD1650A1D679061C502C606592790A53022401322737C99DFFBFB5F63E37272108416825ECFC4ACD70EEBD677F7B9F6FAFBD866F298256047DE254758C2B2DB7999DA4E326A095C72CF25F39EDAC3391F3514F28C7B1425EB801A8D98DB683ABE0DFFD01C2F53B6086EB61844977C38920059BC8D5411A19F4D0B3AC27E5F692BD28322488A0D9F2A6EA336B1739A92C0E7A8664468695632DA529454BAFF6CC0E91E34BA980641951F35511210DE8142C4B849935025AD62824E58E85B7D730C0CC92692A22658C83A32C7F2A937F6D72A384100709CB3F41E3337723D6528B56C38375C953B1591F84B02319179F7F0E8AFB66F03D91B60769E8999A06978BE4561DEC090A6B3A6F872B1EB809A3FD6BB9F0C5EF484699A7185B8C12F6670FCEF1E1862B86DB72C1DA952E44959FD83028684B1679ACAA14A1250F21B86F1D0702CBDD03B1D3330C9F3A4A50EDCAC1AC215E5C36A15868A2E822E990F29CB9138DEC68BB65FDA7A85DFE0206552F479BC38D4366B608D27906E1C242072E9C3404879B9DA878F5210C2E5B48C5E6A87164E3ADB4EB50E5C8C058FF8718182C4566A00A7B3D05D8E11B860A2D1BD9454370CDA5E708822653A0720F56BEF414721B372129588B9D89E350EEE88396700C85913D181958C325E6D5662E96254CC71E673E5BD0D3CF1DCDAE078DB238FE3607A14010756636962793053D106D1113E7146763E6A40148F4B981B01FC1FD2B50F5F46FE08B36A1C5E1C37E5701367A47639B7B30CE1B9C8E2BA70C8B4BA8F289D296CD117FD214412B82FE5C041D0FBC49DF99B4B8E2590AF1E2552A10B0DC0232B068CB88E1A28238C107596F9A5A6B856B4AD156BD1DC1CA2D68A92C45ACAD810B149C68851E6D80CBD1CA0515A2C250A6B0C5A57364F9AF5CFCA2D2AEFB5F82A0E9CBEAA948FE66FA9DF07553F091E5963493FDC7B19817D1981B219808E86E44137AC1DDBB04E983CE85993D18706673977222F1F6325F994FCD9848EB9CFB214A226382D66094AD42C3DC3B60845BD0E2F0A0D433107B1D7DD0E648404E4E1FA42578A0932E89164690F2F29C3E64E51521BF301FA641F74AD6B586950FFE10839BD7C38885D060A661937714B61BC538E82EC4972F1C89497909C2AD441B862C8996721F888643D0C9F2956E17FF9EF5082FBA1FFAA1EDDC7E6CAB67343EF54CC041672EDA9C09B86268322E1E37902D53EEF7C8BA28C2DFCA3A4D5480B2AB0C55EF2FC4F08AC5BC89549B1958927805767A8763424E08174F2C4620968803AF3C8C92032FC21109A2D1C8C0DBA95F45B92B1F03829B31A875338AFD5B51AF7970D8DB175BCDA1700F188BEB674C1204AD033BDF7B0ECDAB5E426AB4116198F867E234EC77F44562B801C5A14D18EEFF982B126BCC5CBC9B7825F6380B71D9602FA69F4B697644D0EFA365C19D680D8651EBCAC13F932EC07667119A35174615E762D6C401F0B94C38A92BFACE3750FDC2EF60C642A875656187672893F97E231733C7E6E3823185B2B3BA585DA282D03206E45A5504AD08BAFB94657B85D5CB90F574A52E253F7D22FD4E783EC925600F544B139AE269965F84B539ACCA2AE18F634F2A25FD879B106E398840FD2EC4427570045BA0556C47E3FE8D88062A61B20B848A5E447300CB2D204A5E0449F3FFE2EE87EE8DD84ED0A2EA51E47E5360877B146A06C2BA1BC1981761A4C29B940B5F4E112219FD11F164427367C293920747420E6B4788A601ED9B45FBC6219D409D02AFC2C921CE17CEB2D5689C77077422E818A58365A2D691C4644D8141129BA26D2A160DA2C5484393B3179A13FB61C4F8F118599401A7234C9D79F1F18337A2A86D279CB1206A9DE958933001BB9C05A87164E2966F5C82DE2E19789512B3B65B127A16D4EB31164340D37064EBC7D0963C046FDD6E440C0FD6FB266185670A1A351F12929270D5B83C8C2ACE16DA18D1288C78299DC88E21E2DE7FB8110716CFC7C05D2FF232AA35D3B024691636B98661505233A64F19089F3703FB5F7D0403F7BFCA297A4D7A1296A4FD27B61B4518DBDF85ECAA15C82B5B0297164293666253D26434F41A810B278D465EDF5C3EA56D7CF65EA4EC7D8733400E3BFB6099F74BA832B29117ADC4D0E07A9434FD83D76CAD998BC589B351EA1C8099833D98317558DC82F62FB81B2D547D696662936F224A8DFEA8D35D18D43F1BD34A72A1075B71A87413B2AA9621F1E06AAEA02CF30CC0DAC489A8D07BA339EAC60D5F3E0FF91974B211325BF48FCF97AC9A48DFC9660DA792A0A52899DD3AEF1890B43F177609D6639F9CEDC927F1ABBA7275D21FEDC92AD6C5F1C402B9C8651C495CDE39A3A58B328663D95CB60349201841DB992ED8DF3DCAB213B42D3A68AF7F8E3BA42582C79A349E894E8BC1B2C22D66E247987AFEF985887E380A046A11F61F44F4D056040F6E40CBE1522E8671469AE1D4029CDB2A8AC9492B9AB22A68BA3B89B29FE0A0ADCA46CAD4A0D2613EE03B2873D78980E6419B968036473A8CD402A4F51D056FC168387C3980D3C3162C15994073713BAE0E35E2B645DA6171C7D52DAD0A482A1311696266F93A543F3D07465B1D5BDA41DD4440331174989C52470698499585D1089AF474541939D8EC1E815E8346E2F2097948F7117E4DF8F4A15B9017D88B685443B599834F93A7A254EB832647126EFFF625C8A4D6E0923C44AC526CB57CD261DF3F55BEC5D0AAE9A8DAB402C6A20790D2548E90C383D58953B0D4338DADEF9C5E699835A50405D9E463172E27A10047298862EAE9BF871A43D8BB681EFA6D5900A7A1A14E4BC07BE9B3F1A973287ABB9A307D7231B2533370F0F547505CF61ACC68000D8E342C4ABB9E53022F1EDD1729152BE0D9F4327AE9CD08B7FAB13D7902CA3D03306CF8304C9C300A08D562D7C2FB915CBE1215EE7CECF50CC61A730C1AB42494180751E25F8B92867FB2555BE3CAC192C499D8E52CC415250998317584E8FCB2E703D43DF73304836D687524A2DC55C439DE0D70C1E77220C70DB8DB6A61345620335C85A4483DA7016EF18EC0074997A0494B803BD28ABBBE3F133EF98CB019214F4A1AEB8150ACE56409FA1C18DCF65D3C77E251125A30D4F498534E39622F356E58AB5CA6FBCBEBB90519CF954DE2C02257EB39962266965126129AA462617B018074DBC8060F2CB828275CD6B95B8D42E8ED2D69E3A823C26B9D9C84718506BBE26B076BC1B2EA3A32B5BD494F20180591F46751D0095241FBDEF6AFEEA8D2DD1BFCD75FDF0E2F6F0961D26CF6B3DE472C7818B1EA52A0621B5AAB7723D45889B6862A44432D2CDF2972A9651FBF2E543F8E37165E9B96ECA6C3443846812E13315732CCE43E48CE1B0E67FF91D092F2A0E969D0CC3461295B2BBFC37F8FF769C2B816161595CB85417D18593888166DF9A7A87A760EDC813A3E0EB7908E8523097EDDC3963C05F2A2D40040D3E1D793516366638B391829FD07E1EA8979C84A8A00913A7CFAE08F50103EC0A5E7871D39589330097B8C7E68369270DBB72E462F937CE9526785FDC4F2E192EE23FA15E5A6FB351D8737AF84F1D603486D2A435837B13A692A96FAA6211A73A05FEF2C5C39A5047D332831CE326B84BFC1EA8D4B963859D0FBDF5B80FCBDAF02E110FCCE54BCE5BB049B7DA3916134E1D2C9C5E89F9589832F3D80E2B25738D5B2D19589B792BF8C525731668CE98B22AD12B5CB1722B9A11449E1266CF38EC41E5701D20A4A3065F268A4D76F47F9A2A79070780B76FA86F2DFB7600022CE0494380FA2B8710D4AEAD7F07DD5B832F15ED2E52835C8C591841954A84280ECFD00D5CFFD0CD1363F220E13F58E742EC60939BCD0A35178A2ADF084FD70475B39504B4A7BE47EDA953C061FB827231C89205B6BC06DDF9D05CA3DE2FC7C918C249A1A939A1E8945C5FB3F9E689ADD2ECC9B4762496360907AA1244041D0A2CA56B481A6F446291E2E6B0598C83BA4C85A046D13236B3F98CA652D0D33D9F957F45E90BA2756DD834D4955744CA2AA4EAB56409CB62D2E678296E1AA882108DAB4085A66D2D2271E15BFEACAC8E9646853BBABB6206D4FA7EEEB5FDEF2EAD4DDFA697EA7782EB30537B941E89FD559BB1508D60147CA11AA2E83BFF6209A6A2BD0D2548728C95376F34B1822423C21A6BBE1F0A621BD7711D20B8601990522FB42A32A32EA77480F06599EF48051CEADA549DCDD0FB52C1FB933480B8BAD8AF275A85AF013B85A6B118A39B0837DC703508174C09BC26E1EF2119B86136D310757DB45740706E5E760E684626450C7AF4823563D7803F2837BE04614754606D6F8C67399759D91869BBE7505325D244F2A02AD421A56EE1A6C6D897C627A0E299BA37AEB2AC4DE7E1829F5BB79FBDB903401CB7DE7A2414B466E5E01AE9A988F3EA924092A3C5FFC68B26F23CACD17E8DBAACA2AEC593C0FFD0FBEC31B4CA3918E77D3AEC216CF08F47136E3D289F9C84A49C7A1371E41F1BE1779C7AC77656351F2B5D86D1661C698DE38B73011EB5F7C020995ABD03B76049B9DC3B1CB3318D5097998366924322B56A079F5CBC80A1CC0EE8411D8680C42996710829A0B25AE4328A85D8581F56B78CC756606DE49BA023B9D859831381997B20F1AD0F72E43EDC29F221668E6DE9C018787CBE9A9838EC981D930429A07CD7A021A5CBD38FF9B0A76A83AB24CCB42821E443F4F1BBEFBB5CB4964954D4BA2432A42E2C0294BB11250DDF541EFC2DCF937E1AAAB47C3246959210E2E1566AD188A2D0664A925C8A99546B40CD6B3EF51C648C4DA6D2770BB1B52FA662CB555AB0B7CD429E697D455DB6D7869615BB95C528ED7EE72E79D4AC4CAD940B1BB45A5F7B4DDDD28C76267DD78128075041718B605C3ECE2B014C9BBF9347679B922E863A1C8AA6DA4C12B349FE581593C3C32EF97BDB531AA586C01A2E416A132F27655BCEE4D90CC2563EA31A565EC03406E0B2F629A8B33192CC39C8D4D2221EB193B45DB3697BAD3F8F6AFC1910573E068A961A9CD3509E762BD3912B59EDE48CDCC448A4717ADB6A41A1C1DCB5D91668C1D948B923EBD58B088326556FEE67B286EDBC225DCA4D1B135710C4A1DFD506564E286FFB916E92ED242A1EC189B39C21E0AE1DEE12C3992B400D0B47B03428B1E81E7F0564EB3DBE61B85B5BE8938A0E5C09399872F4FEE8FA2DE3E44484E5A147CCAA7DEEA6D1843E9864F7178F9DF915FBD1241231147CCDEF8D07701072E07240470D9946224FB5251F1CA431872F04544A311D41A5958927E1DF6B806E0F211BD3065580EC27B3F45F96B7F4056D34EEC4F18869DAE126C750F418657C3D0BA65E8EDDFC99A23EB132662A37B140E3B3250589087017A259C9B5E4351C35AF67D927F7949F24CEC20821E9288E9534748825E8AC6857721D21660774EB53313757A0ADA742FE3AE474268D13C68D212516B66A246A3134E32029A81D4B4245C3E6D0C06F5F6B2042A0939116948656FE179EEBC5EBAE183FEEBFC1B71D5D563E0229D6DA9D42D96A6A42616BD12D0B3B56A59A672F90A8F8B4D045BF669B4424BED4B41B601B308D48A6F73A71C6ADC41042D26DB124468DF0FA45C2F1F4BE5A6CFE6B3F4AAC4770A2A46B3B92DF83358AD475AC2D265199756906BAA43319A70D19005DD4A047D9249025DF18522E86312B4AD29B71557B075426AF7BC49AB5A8660D8C541A4DEED49B2C258D224606AA2209FD8202C91758E6758FA48D66E2F89BA7B1B423B79F17736173EBB0ECB57E1D0B37360061BD01233B12EF93C6C3687A1C548C4AC19E330342F5376F110962E95C953CE316F5ED20CA2FF7C78DFF7303CB8018E68107E3D0107DC456C41EF71F6C5F7BF733D5298A02DB56EE13BE64D4E37441E333F1831902A5DA8B294F3A063FBD6B06F789FBB18DB3D23B1C3284238BD10578FCFC188C20CF6EDB29FD1F6E0910F32166DC3B68F16A37ED56B280A94729975997B10569BA3B0DFEC8BC129315C3C6900BCDE3454BCFA304ACAFFC6BECC1A3D1D6F675C8F3DCEFEB87A5406260DCB8523588D6D4FDC85BCC6EDECDEA134B9B59EF130C37E4CF62F4376F4089FB896A75C8155AEB17018514C1D9987BCD86134FD63210A1BD7F1FCD698BDB1287916769805B86C8807974D192E5C107B96C0BFF02E048361343833B1D97B0E4ACD621C3132451FCA681B57815241929F4E56861B6E3D8ADC240D974D2C417EEF7491BFCF588AD453BB1179D411BE3B043D8F2CE871300D11738977A4B18A9EA45B99ADD338638AD42926525AD3A2B58CF859CE93D503818501AD66C15C7B600BA9B0E6B928D6A240359BC1B666042CE0A5E972FE6D556B717FB2D426E757516AAC654A5BBB87A8B6945119B9E90892665BDC3A245856B474DFD0DB070331B4928B23AED373524F6487172982FE2C0CE564705A9E24436B7717012819D1B02E205FA0D40BE1205737E6271EEBB4CA7265AA494C7605E1F5606587F01BCB0E06D20778122E6F61D9580681ED27B24F48CDEEF0823970B6D521E8F0E293C4F3B0D1390421C38BABA68FC7F0BC2CD92FC44A14A1078FFCEF74A70ECEA4083B80958FFE027DAB572029D6C48B9D3490CB5C85D8E41E86E9332F47515EB66819151F376D7851847583DB41D121DAB02455FD55A859F2185A377FC8CA74247854E1CCC33ACF441C9019AD5300002000494441544A1A84CB466760CA88FEEDE757699259FA18F5E53B50F9C133302B36203D780407CD7CECF60C6317C411770E26F5F7E1C24903D11A7461FFCB0FA0A4EC796EB9556BF4C2A2D4EBB0CB9987D9E76463E2F0FE7038C258FFFBDB5058B30A2DBA178DCE5E2833FAC18806901FDCCD1A288DCE34ACF49D8FCDAEE128EC15C3E59307A3AD6C1B1A962FC080C6D588C2856AB31F1627CF44A9D91F570C1604CD5A2B7BDE857FE19D0805435CA8F271E285D8EC1A8A1A3D0D19A98928CA3185EB82C85737782349766A18D03B15F9998930B8E7A368BA2C8891BCB25645AAD445EF706C3F511FF41ECC9D4B16F4043849528F5AADF12CC926C032558478935AC919719F855433E34547CC2C5AA75995BF6C53DB2D6CCEDA22F296C145EB59621131B16E453F4B6956CBE0A1B88C8AB7E2CD633AC6CBADCD43122CA3C2811F19A894BF675FB6C48B3F410A9975786078A39095BC6441539030103F6B77E3E93FF6A58AA08F858D65D05AA71F3E1AC948AE95CB67113413B95C48F16BECF477227325F3BBED660E5B7D640189335EBC4F86B53079750B1FE0C910B4FDE427F285C57994AC32C7FEB538F4CC1D7005EBD10A139F245F848D54EA6D7870D5F473303C2FD36AE9CA2E11FA7C22523628B84B0910D480BDEFBD89FAD52FA377A81CC9A11ACE1A38E82AC07AEF38764B5C7DDDB5B2E3872833178F97C8F76E0B86B07DC72E64676723B7572AF45023CADE9F07FFDA45C8081FE67C703F92B02AE97CCEFB9D3CB22F2E9C3C52A8B751493E9112737F0CCD75D5D8F9E1CBF06D7F03E9C16AEE85B8DF3B04DBDD23B045CB458B2F1B33466661EA39C5A8AA8FA0FCC50730A4FC157E6DBD998545C95763AFAB10D3C7E460FCC802E8868E0D4FFE0AB9FBDFE5221DEE65489D4CB8ED54845D27FBDC45D86C0C41754201A60D4EC6F48925D8B6FA130E30165316073C3862E6E1DDE4194CFE579478398B83F5B6F77C80A6857722126843BD330B2B922FC51667099AE0C1E8E2DE9839310F493EEAEE220D4C56EF13A737CAEFA63D8D4F340CA9F0410B706D26E0496971ECC1DCBFDE88D9574F80C1BDBA48C65774A6B10C76663683FCDD744FBAC86F642A138D24C40C6BEC8A62A2155C6D5BC6B6EC0EBB535A3E46B4B6E447C45B8575F062481FB31C799C7B2DC54B2BABCE7A0D6F64BC6E05989657846575A45D7494FE9994F1A56D44740A7520108A2018A0C2B61379DE4FEC1A45D09F8593FD682517587BA275877397D435B0FBB2BA3B4B9D7231AD9522F768B139B4FB21444A5EFB3FDB279FD8CCCBAB44D71661C15ACD5A439A0346D95A542DB81D66C80F3FBC589B380D9B9D43D0EA4CC24CD2E2C8CB8867D15A046DB27B43183524D644FD08FD872BF1C182C730C0BF11D9C172F68492457AC03D1007F5DEC89B7419C64D1A6965A3F35DD156B77FCB36D4ED5A8F8DD56178FA0FC7A5138723CD15C2A6656FA061F5EBC86BD90A2F69828775EC4918C62E86DEA32662C279E7C9EE2B0211E6864808812DCBB0EF9DB9486F2987271A4034A26347D244ACF68C47B59182848C4C5C33310F05B9A928AB8BA2EAF5473064CF0BAC04D8E0CCC2A2D46BB0CB55C8591CE347E6738A5EC5476FA2FAA3E791836AF882B58280B817A08652CF50ACF58EC321470E90D00BD75F320C45D93E6C59F531EA563E8FC2865520BDC43A672E96265D823DCE3C4C1F9C808B278FE623BA63DF47685C783722A4C5E1C8C027291761AB73101AB5048C1E9089D9930AE0F350AF494BBB445882E2B4A0094D109E5A8BADAC34378BFCECAE34CBCA6E27A8F822EAA2E5D55FC9C5317B3C28BECB8173DA08659B2D3E3AD10230840F57A3A86408D8BCB10A8F3EF6111A02D4F1862C7B07825A0CA637821FDC3803E34664C3E0E6C2F2F5347D64C6524C3E063404A378E3F59578FFED771074F810D4753CFADB9B9099E212CB5716717135048BE5687C6BAD0E60D7FE0ABCF0C24BF8EE37BE8CDCB44C6801A108F6D25BFBF1F7D73E801E16C60F278A506F479D7A66B600861FDE8426DC75D7F7D0BF6F865857D4503A7E6AB5DC2DE2D41808C4441E74975A14DD7A2CE3172B823E166EF2C864051FC4BEDF95556C375FBBBEA27B532388BDDD41228FFF36061622A3EDEE89788BDAEEEE09FC30502054967EB3BE36D99F5449B81A8716DC0167A8152D7A22B69BC3B0D799CF043D78702172333C421A34148646476CC36441A2ACDC5CF8D253C542275DC070149F2C7D07DAFA97D137B0172EF811881A68317B71F795C34925484CF621353D15BDB2FBA0A1BE014DB50D8856ED42464B19D6E8037020E31C1467B8316D74211A0F97E1C0CAD7915BBF1E29816A2444FC68A0CE2466162A5386C2D5B704D959D9C8C9CA463414424D7D132ACBF620BB6229926A36B0B07F2BDC68766661933912EBDDA3D9D21B589089FFB870384C43C3BEDA180EBCF2008695BF045289AED7D3F156DA35D8690EC08CD1FD3079543EDC0665111EC6E2B97F4251CB4664B651EA9F9BF1230ADCE01D8B7F265F047F484356660ABE7DCD04243962D8B66A25AA97FF1D054D6BE1D05C5CB0F361D225D8C55A1C89B8642A69713860501EF4DF7FCA7AD0355A1A56279D876D6609EAB5448C2AEC856BA61422511234BB44A4651ACFA3605E8E77A2902E311924B08EF571BBB57B043D77DE4D9875D558B84C725548C7099BC2D24097A7403AC7B4D607F03FFFFD07EC296DC4AE323F9AA254804F454ED476CB40CC15C0E40BB3F187DFDF84217D3C3068B7E788A3A8FE0C3407F1B3BB1FC786B2FD987EC9798CFDAE4A076EFFF96F31E3C27CFCF1E13B58B48BA582B97E401809968BE3577F5A8197DF7C0DE74EEB839FCFF92E7C0E171C0160DEEF97E0A127D760DB7E52AFA18E4394764827204A1B0A028E565C75ED97F0A35BC6A0A4A43F123C54044729B754A4D59ED36D4FA00EB6491F340765BBFD307649138AA08F49D0B6731253B348D33AEEE6D8D910EE063B5BF4DEDE8AEBE88A26CBFD6CDF2AE25B44B7D784A54B42B9C8949E268EC1BCC8CB3FC6910577406F6D421026DA3C59A88FFA107138E17639A0479AE1A094C0A88E58248A88E1C37EA3376ABC7D9056320EE3C70E45BAC760E1FA582888EA2D2B50BEE41964B5ED83470B70697AB3918CDAA8073E230617A53C694EA114188EC0156B83116CC4EAD44BB1D21C87443D887347E561DA980244EAAAB1F495E7D0FBC82A0C0D6E833F14439BD38B7A23151167129C4E83CFC014440B8648E40AF0B41D40A2A3852DFB327711D679A7E090DE0B7E331543F39231F3FC1148320DAE4DAA6A88A1ECD50750B4EF79D652A646044B32FF0B3B5D0371C9A81C4C199107939207A8747CFD0604DEBE0F03DA7622A43B4597183D1D9B93A76029C620D11945612F135F9F3D0EDE68045B57AD40CD8AE751E4DF80584443B5230BEFA55C8152D7005C3AD887E95346889349D907A85B70B7D8641CBD98ECB73A07A259F3605C7116AE1A9F87440F159AD0A2940E8278968F5590258B7D6CEBD6F21858F673BB4FF5447DD0BB319F9AC6CE1ECFCDD23963815C159214A9693959BDCBFEB917DFBAF5E7189A3F187F7CF007209916B2B223E4AE8B6AA04253B26257AD6CC5AC1FDF89824169B8EB860BF0DFB32F16C95131E0A6392F63E58AA7B1F4FD67D116897087189FDB442006D43437C3E5882123991A0AB777899172EDB8E68A6FE1EA59DFC0DADDAD58BCF42DBCBBF83E64A6BBF9F92DDDB40F69C929EC9AD9B0A305DFB9690EEEBDF7664C1D9F2FB289C867AF031EAF0B098954F445731D1601453A038663D075433456B0A506920FBAADCDD67CBA1BCFFE31694815AA1C031ACB776777F0DA08B083F7A3F35B9CACBFA1331FCBCFEBEAED3AB80FBB32EC4F687170662C5BD0F6283F3995F58A35A85C407AC40D701A0622113ABA894D8ACABB4D3D82B6500486D3C7DD4B5A626EEC4B1D8D9D463E0E9A7D70DE97A6627C111D0BA991400C5A2880F235CB50F9E18B488DD5410BD6C2ED8CC2454F4C6B1313212D7AD2B56E23253C33098DF0624DD2C558E71A075FB419E78ECCC545E38BD8E3595317C2DAA77F85A206CAE8F0C3A5B5C149565084EC7FBA551DA170084EC30B4D73C1AF3BD14C9B823309BB1246E1236312B7004BD2FDB8F9BF6720C31D030D91B49CABEA22287BEDB71870F0656854C9E7CEC11B89D762AFBB18978FC9C28461F9F03875F6B1B7B6B562F3EF7E8C01AD5BB85B4B839ECCEE9B4F5DE76093771CBCAD9518579080EB2E1F0B570CD8B6FA63547FB410039BD72114D1D1E0ED8777932FC736477FCC189280CBA60C8383DC24651FA272DEFF428F86D1ECEE8D8F122EC03622E898817145D9B87A5221127D2E993346046545B185CB8AE2009DC21996B35AFA4CAD926FB950BA91C5F1F45F45576FDD9496AE159EA18F0E01ABDFDB8E1FDCFA4B2C7CFB71F89B745C7AD17770F1851978FA9987D90860D78BD42B0B8480BB9F3A88A7E73E8E5FFC642ABE7BDDC5083545F0D56F3D8AB797AFC65F9EF80EAEFFF26491F921F71DD1B838C49A38E15004A66E4A5F1615FF46F1DC734B317EE8681416A5E19AAFFD1907AB77E2E37F3C285C21923F69D326A9F89FFF7A099A429BF19BFB6E8583BC35B4B7B3433ACAADF4C4466F595D84A8506D14FF2774622C538EAA08E9DF31BBD69CD033D9F12265417717B47637B07445B4BB1AE26E906E5BB2E2262CEB26FE3E965BA5F3FB75211D7052272A196C69F75252DEA9DC25EA7763E35F7F0AB3B501CE4850746661B7A0E8BC428130EAA412811354F1DB0637F69A85D86BE6A3CC918B31238660D6A47C6E8A100983ADADD26DA558FDC10AF8FCFB911B29456AE4303CC11AB81C746CD4A08503DCA9BACE9DC60248075D79D8E518880A473FF47136E2E2D17D3069E400F62D92D1D45A538757E63D8E5CFD30D2DB0E20357404495A10313283A9DD143D8511222A37AA5CD9A874F7C35E671ECA1D7D71D89D8F94681D466569B8EECA29ACC8470F1BF146452DB0E7D5DFA1E0E0ABD0221A1A1CBDF08FF459D81BCBC6ECB13998306A0074A703C1A886482488AD2F3C01E7BEE5480D57A3C948C14EDF486CD20661AFB318FD5C8DB86A4A3106176531B65BD7AE42DDCA175058B7068198816A4F1F2CF39DCF42543386A6620607396340D93F70E0B95FC3156E456DCC874FD2A66387B3888B82461566E1CA890385DC282F1C2BB225C8998EFA96AB43E83A8AA0A9B82CEE04E9C404276E41CF230B9A2A09857109C4C8192DB234826D0EDCFFCB8528C8ED83EBBE3205F7FCA10CF73DF810BEFED5BE78E24F7338A06CF5004538C21BF2732B2A71FB8D8FE29EDBA7E1EB5FB908DFFDC18B7871F15BF8D11D3331E7E6AB58CE56BC468C93525923B4A13B4CDE54399D3004341E69C1D3CFBD838F56AFC66F7EFA43B85BB23066FA4DC82E4EC2C72BEE15FD19E936A595FFCE478DF8CA377E88154B7F8B9262526724FDF428DAB4283C3A694552F8CFE4C566F503A66EEC82B5A56B87674B182E816018810061DD29F3A4BB1C63BB5E117477C18B9BB3EDAC69B9243E3741DB99F9588919C732DD4F6653E04EE9C27F470F3647B3AD6D27D4844FDF5C8823070EA0AD95F449C2D0751D016AEDA5536F6A6A1A60A02D4C168586A8D38B5A2303B55A0AFC4632268C1C844BCFC983E910957DC499F459A5DB0FA072C70678FD7BD15A7B0091D64644756A446BC0156D434477A2C148C1A158321A5C595C629E96D30FC5191AC60DCA45769A57EA6A88BCDE37DE7A0FA6BF128EA60A688D35D04341C4A254D91803C8C263E52413471CA9A836D2516DF442C44C465A463AFA26C4307DDC20A4249AAC1AC84DAF751DF52DC0DE8F17C338B01AD5357ED4867D2C6BEAA71CF03139183BBC10BACBC9D660341245E3DE9DD8BA6209FCD507D1A4F970C0CCC3612D037E3D15A3FAB870ED0523E1F5187CDF15E57B51B17125C2E5DB501BD470584FE60A456A083B7D683AA64F1A299ACE365760CB6BF3505975184D8E642E8439ACA5B3C8D184C179B874FC400E12C6D3EDE5FC7366822D5D4DA8218A9C07C16FD68572B159EBB91B163413F4ECB1305CD2D32A7DB2D15818AD7E1D358780EC341DAB57EEC3753FFA33060CEB8BBB6E3A17174F1BCABA2AC240A572730AF2024FBCB5157F7FF61DDC7FDB2C242699B8F3BED791D3D7837B7FF15524BACDB884ABB5B91021D2B4F2DE2012495077288465EFAEC3AA4DDBF19FFF730186E5F5C182C7F6E2FBBFFC19BE74F970BCFCB7DBE0A4A51A0636AC2B4355951FBF79FC03ACDEB006CFCFBD816313F4C7DEF939C8EE9F0D9F69F0F221FDF70E82639C464B4B5E6C74E236042173A9B72A54E92EA39E86EB3B93B4DDDF701A3ECEE2CC0E567267BFC7C910B4B5C28939395DCFDEEF5188E77FF4C9A7D87B28885030C8D177F2B3C662A4B31C6672A0DF450D933B7F53A523E97A2499C005E34A909FE16312B70A1038B94ACA64F8FDAD58B67A1B0E348471A0B6192DC108DC24E0138D211C73C1E7F120332D0599A906268C29417A12BD373566A520937C70886E740DADA130F61DACC4A61D15D857E147736B048168186147944BD1A9EB08694A27A724212B3D09593E07A68CC8479A5758EE7C7A666952E114A0F2053AEDD635F9B1F0957FA0396C220013E9496E5C36B61F06F4EBC5562A9F28F8080C541CAAC392959B51D918E4D6C4A6AEA16F5A322E9F3A185909E4E327670F05F3A809AD8E2D7B2AB162F36194D53673897C82338A8B866461D2F001A28A929AEDFAFD78F5C38D286FD4D014612572E424C43069587F0CE99F0597B39332A3CCD464EA15BE28AB5DBD3C8E8BC579541C4500DA21CD2CBE8CE3591CBB70CBCD4FC3347663FE5F6FE42C0E879BCE51EDCA88EC0927E0A8C82F0C140CBC1FE1E4723CF3C2FF61D2900CB8B84E80CAFA35C44231684103F547DAF0BDFBFF8CE9575C80F3F30B70F7AF9E40E2C00CCCB96936B212BCE021D230AC5253D640D2D016069E7B6629C2410DC10050BAB309D0FC18382C83E32966C08305CF6EC1AAF2F771DFEF7E88EF5F3705CE2050B5AF010FFC6E39FEF2DC6A34C70EE12B5F1E83649366979A73B462D65517E0DC69E3E22507E299134756DEC0293B891E152EE1B5ED8A4CD031B406A80D9C754AF9FC64A02CE893C5D04E90274B8E27FBD9F6D7F12EFF39DEC83ABBC9D421AB4C95BD6DE41E8E0187EAA3089165CA8D6885B5C0DE37EE8012159624556F51C942348424534356326579D093257291F936C93294ADB1285BB8A605A86E89A2B2A61E8DAD6D8885C21C81771A0E24794CE4A425232BD584576AFA58B2AE8219ADBC5EEADE224AC1EB5BA23870D8CFBDFA88B45B4324871A83DB74C06502E9495E64A726A05782133ECE38104F3EC3C72956F2C1D248EC5FF4DFD9BEB7162D012A458FA257B217FD3312E03234715497B7C0BD7AC2C081FA20AA1B9A118984E14204FDB3D291996C726770D258B17281A9634D8BA6E1602D5071A4164E3D8A04238AC2CC24A49208BF4C0FA4937855730C076B5A106C6B854B8F2233D1859CB404789D0E21A5D185FB8BDF807F6F0B627033E3CF26688B8C2C4E12BC1D4373B38627E7EEC2ADB73C03B77317E63D75235BD0BA5B64FC58416A7643C8E05F4D335030E2FFE1865BA6E28E9B2F8657A7EA472A3C914740F651014F3DFE3116BCFD045E7C791EDE7F6D3B7EFAEBDFE3EE07AEC33533CFA556C6EDA9A51C9FA37C6E4A657460F53FF763F6E5BF4673B30B0167332206C92D046525AB17E15036A0FB60646DC7DF5EFA052E1D5B0433081CD8598BC75FD88D47E7BF8B81834DBCF1C26DF07944E607B94AE23157C9CB56A36A26E8CEA75A8B03E4DF384848047DDC4C82137F5E15419F385667DD95963BDACE01D6F7C7DA9F44BECBF1EB66ACF7B66C0D7A6EC354C34C1DC59D44F6ED4D608E17738DBF97ED09A2F7A30C8E48240AA7A1F37BC68924EEDBB7E596779ADDAEC66EBDBECBA0AD7424D8F139160E748DCC468E7F6A67DCACF7B15F67FFFCE361D29DC52A0885B25DC42750A054EE594CF22D7E0D4FCDDD851FFFF869988E5D983FEF265C3DFB1CE82E51312ADC63104136DA5542C0E3CFAFC4A3CF7F8037FE763B7AA73860905B8CAEA56BA496D85FFEFA211EF9DD4BB8E11B6371EDF55FC3BDF77D8C3F3FF3189EF9FBF770E5E593DBC95CBAD9A3BC03508051C3FB6F55A2E97025E6DCF53E6219D5B8E9275722C51D8119011C6127566DF0E00F4FBC0733670396AF781403331399A049EBECBAEF3F8EA5EB7660FE633762FAD402E195677D1D2BFE272A8259B2C122EAA300958B4D4E14EBC59CD57AD0DD5971EADA2F2E029DCD10FBCFD6F75D5D73CC07C53654EBC4C98510ED14261E365B74F754B2DB1717E913BE332668AE02156EAEB8D0111FE9A368F1EB786A5E296EBD653E9C8E3D2C377AF5D5E361182278460D7588E00C22E700F0F2C26DB8E74F8FE0E1F97760E2C842B8C8AD41E67B58541536B70037DFF90B5CFB1FFF8504570043FBE5E2509586DBE77C883797BF8127177E13D7CF1C071759E332784E27A417DF5C8CAADA5A7CED9A59D0DBDCF8E637EFC6E4A93370D125791832B82FA73E52931FB2CCEF7970377EF987375134F2003E78FF374873027A40C3C72BAAF1ABDF3D85EBBEF925CC9E311609E443A1A033ED1D524287B271D8EFD54D826EA32C8EB356B0FF84979BBAF08C42A093492EDC20EDAA7DC2F7D79170BB1A1F079DF8CCDFFE57F6E572CA5D178C7CD479F58C42ED94DE2C8BFB7025E9D1044D1FD4DA02FCF9C99DB8EDD679308D7DA020E195578E8349DD7064493F19B7461BB07D5D1437DFF622FEB9EDEFD8513E1F690909F14EE7C47B8FFDF145FC69EE7378F0F1FFC5C489A3E1A63841C8818A3D21FCF4A71F62DE1B6F2031BB0D2F2FF87F9836BA2F22A108FE327719EEFFC39F70E995E7E3B63BFE0B69C93EBCF4FC36BCFCDAD358F0CC3D48753BA538121DC3E88680DBEE5A8BDFCF5B8AE193EAB1F88D7B90AA47116836F0AB7BDEC3A277DFC313736FC4B051B9BC5C9C01A0AAA60ECFBCB408C386E5E1D2F3C6710A9F25E1655F53B6D515F74DD3EF685353047D4A97A57AB32F0C02761FCA89126CE79B3F1EE11EEFEF5F1830FE0D37222D684BB4426AE30B778416426BAB134F3E598ADB6E9D0BA7B113F39FBC05B3AF9904DD1543281A86C3E1844E6E8B26E0DEFBDFC7BD8FAD42AFBC303E5C7633D23C6E762BBCFAEE5A7CFBBBBF42C9C02C3CF2F0AD983076106B7050829EE5F0FF707129EEB8FB75ACDBDB88683400B7D18C58A4029E443FC64E29C6A38FFC0C03FA6660F39E18AEBAEE163CF2C00D987E7E21FB26D83943D6B374B1DCF58B7578F04F6FC2CCD984F7173F8C71FDFB62D7E630E6FC6431DE7E7F05A2AE20029A1F305BE172D6A377A68E39B77F0DDFFEFA6C0E1147C351E8DC90E038E95436178722E87FC3DA551F791A103811B2ECECEC3E91D7F079581E8BA55B83DA90517A6087AF137DAFD330F42FD45B5A185BC9EFFCB3C8A316E259F415417393034FCFDF891FFFF82998C62E3C33FF56B6A075972C86A1E29330D074288C071E7A1D2FBCB71111D4C0348EC049625F70A264CC14DCF97F3F40DFBE0069B65000906685B5C0E81BD96D6EF9F223F8E5438B70B0F21022E106A4A4B66119159938848F9B0A5CDE7C6F23EEFDFD3CBCF0EC2FD1BB97974BF5E98B34FD38E53B042C5BDE8C1FDDFD08728B02B8ED47D7E0BC5123D8FDF2DA6B7BF1C7C7DEC1C12387107147E1F685F1F853F7605889C6F7448162A1FECEAA1E8AA0BF500B56DDCCBF0681CF22C863FCAD831FB9ABBB3C86157ED4A59D89FF5F33E22FE6A7D8B1602B5A801F179CE7986D0C7EBF8685CF96E2CE3BE7C369ECC7A38FDD802BAE3C872B48A9EB7A5C2439AA73DAA15446108D072CCD72760388FE92AC1D1321B795F823FD5E0410455E3565F8D0ED50293D678970EE3455F6C9962AD4AF53A6B9F1BD5AA72E5B5621A7C44999609667A7EC0FDA7CA43824BF4427FD0ED21AA76B75BE5741CBA24558FCABCB98C5D1414265417F3197B9BAABCF8BC0B108BBBB646ABFBEABE063E7FB5496B43C7258015459266E719E4CC16C69013E5A5E8937DF580943AFC557FFF3028C1A9D0F27A50E32E6C47AF45FF17307E845AE9E203CD672A680A114DA67F17D2ADB96455224D6C5E99B36917E8D32EB45AD9E28B4D199DC39984954EEA0D27171FF16A7F2E75B27009953CE7E76A9A7CE06374B400BB150FA9EDA8A716E3B352DA6AA563B292B82FEBC4FB87ABD424021D02D049874AC2A4322C476521479EBD204D5496F248C83871A50DFD0C89D71FAE466223D2D998B90E84BC8A24BEB5B12A5CDA8E56BA40C97D01C8F0BF6536B29EA8C427D296D25EB5C3824DEC12A6CE28E38F27DE2A5E2FCA652EB5AEE0A567358EB333BD592C886C2A29E92E289F4E5A41FA4667F07DD676B108AA0BBB5B4D4C50A0185C0E745804947F6CFB408931951BA1CACD2392AAB8E46D0D8EA4720188423A22129C107978BB4A845B97D5C6CDFF2FF33CB0937050B0FC93657A20B91D52856882FB35383BA95C884782E55B784FC656D0AD3B0F53BA9A06AB1BE90CB8FB70A67E2B5FE716EB9BD9D962DDEC7B72AEFD72A529425AAB65385646645D09F77B5A9D72B041402DD4240BA1EF835B6AE25E25BA985C76E69917A174698D31D1D51D262112E002A9F1772FD92A42DD6E37A6FD9D6CAA2CB787B92388BC73F9ADDD6524489F8942A43E9F6B84F0B8BC5C8B62B16A95AAE2C59A26F31AD7474C8B275B16D08E21762FC72FF8937986D6F166B1390625788B4F25590B05B4B4A5DAC1050089C2A04EC56A1C54F52CB83F9D0F22DD3DF48F04AFA80454360E1CFA5E09AA062D249B12C524970A2B6306EA4C7CB38ADCF65239BD23222A0D277BAD6191365F72474257EA3B5AB2BB21BC5266BC07975E25F845337A85CDBF2894BBB9E7D3541D9FB50A4CCB12F9BC385B271ADDDDC66939BEFC0D6AC59A5D99DAA25A7DE4721A010E80E029D1DC547892DB59320D7FC50008D0369C2E4156DA6884885C6B3F8927E6DD638A1809E2455AB8EBA03C99216798885B6C85E3658154FB49122B785A4FD8E5A335D047FA3D23F22BA7CDB495C0A4FF338654E336F35CCC4EDDDEBEC98B1A54D16B4B8266E761F85ABBC11396E55A8D29D85A7AE550828048E8F4017041D77E712F1C89439E62049829C81C15FC227211AAD0A7FB395EE66D73517C26E22BD4E58E6F65D4058D144E4F1F7603F35B1BA4878B3979DF32D49D70CA7EA59422596E52FAD6C7AA5B8077A6FB2C385CE92BC81B85EB6A5DA4CA14ADA0EF8DE78AC3692B77E3E1309DAEEF3A1A41797D301B7DBD971C73BFE32515728041402FF4E042CEBD79EB570943B41FA82E3F9C1328FCDB2A83B11B4351C6159537A9DE4BECE046D25E5C52D70EB834519F96712B4B5894812B5B9D2E30148227FCEFAB0B9993B5CC78976425EE09804DD99B43BA58658EFC71D5502D4E5BC5361D4E798DBCFA76647471E4A188F521239603A75B85CE7815CC6000004E94944415422F5467D290414026738027677827D28C7FAFDA9186E9CA86DBEDFAE2C5AEBBACE9B4B7C679056BE752438D6755D59CC9F398E8E37284E17A2282614A69E8444D05DA67D9C143A274DD022995CEAFB46A370E85A4782EE0A68EB16ED7F3BA9DB562F520828041402A711013BC71E65DDCBE8A42DA84A69E0C19050B3FB421034A7B05851510E1E1CC782B6476F4F23AEEAAD15020A0185C0E745C0EE8EB6F2A53BFA6E452EA0D57FC022686A79757C35F413BFBB93B6A02D8226CB391AA1A86B0C4EF241BBA81D79A71B903F9FCE93D1890F595DA910500828048E8D40E7037E9CCE6C6E122E9C24EFBAD4FBA01FA941045BD0A7D04370D2044D2E0E2B48188B524B200DA6A933411FF5D5A90BB55A1C0A01858042E08B8C40572E6B994062EF21CB43B0C29A44D0E483FE4259D0D6ED517E24B51632AD5E6936F4ED22265FE44951F7A610500828043E0B017BBC526A2B0957475404098341EA0E7FEA4CE893B6A0594E85357785949F50FD13FFEDCA9571EA6E592D208580424021703A11E83242D8E103AD9E85C27A165CD8CE895F802C0EFBDD5A55971DCB788E05E0A9BBF9D33945EABD15020A81B317817683B2A369D935758B7EF3A7E3EB7358D0EDB763CF6F3F7E95CAE919C8E90047BDA742402170F621D031C5BA9DA03BD7F158FEE753E973EE8CF62925E8139B4A45D0278693BA4A21A010F8F721204AD33B7B0A3ADFCFE976DD9E1282FEF781A83E5921A0105008F45C041441F7DCB95523530828044E33025DF9034EA5557D1A085AB49339B623C3CA1A3CCDC8A9B7570828041402278DC089B9623BFAA56526C7497FE6D12F3CE5046D453315419FC259526FA5105008FC8B11E83E418B5E34C2403D555FA79CA04FD58DA9F75108280414025F7404CE4017C7171D52757F0A01858042E0CC404059D067C63CA9BB54082804CE420414419F8593AE86AC1050089C190828823E33E649DDA5424021701622A008FA2C9C743564858042E0CC404011F499314FEA2E15020A81B3100145D067E1A4AB212B0414026706028AA0CF8C795277A91050089C850828823E0B275D0D5921A01038331050047D66CC93BA4B858042E02C444011F45938E96AC80A0185C099818022E833639ED45D2A0414026721028AA0CFC249574356082804CE0C0414419F19F3A4EE5221A010380B1150047D164EBA1AB24240217066207062AAD467C658D45D2A0414020A811E858022E81E359D6A300A0185404F424011744F9A4D3516858042A04721A008BA474DA71A8C424021D093105004DD9366538D4521A010E851082882EE51D3A906A3105008F424041441F7A4D95463510828047A14028AA07BD474AAC1280414023D090145D03D6936D55814020A811E858022E81E359D6A300A0185404F424011744F9A4D3516858042A04721A008BA474DA71A8C424021D093105004DD9366538D4521A010E851082882EE51D3A906A3105008F424041441F7A4D95463510828047A14028AA07BD474AAC1280414023D090145D03D6936D55814020A811E858022E81E359D6A300A0185404F424011744F9A4D3516858042A04721A008BA474DA71A8C424021D093105004DD9366538D4521A010E851082882EE51D3A906A3105008F424041441F7A4D95463510828047A14028AA07BD474AAC1280414023D090145D03D6936D55814020A811E858022E81E359D6A300A0185404F424011744F9A4D3516858042A04721A008BA474DA71A8C424021D09310F8FF23866F9D43DF71C80000000049454E44AE426082 where `app_id` = '3';
-UPDATE  `fn_app` SET  `thumbnail` = 0x89504E470D0A1A0A0000000D49484452000001680000012C0806000000EE2C29AF0000200049444154785EEC9D079C5D55B5FFBFA7DD3A3D99F44602015208044209BD77E945050151442C806097A20802A222584014B120A2285800A54887480D2D011292903E997EFBE9FFCFDA6726441F0804E6CF7DCF7D78F326CE9C7BEE9EDFDEF777D659FBB77ECB88E338461F1A018D80464023507708189AA0EB6E4EF48034021A018D80424013B45E081A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013B45E031A018D8046A04E11D0045DA713A387A511D00868043441EB35A011D0086804EA14014DD0753A317A581A018D80464013F4FBBE06A20D4660FECFD1C40118F2639358FD43FD0F75A87FC56FE30F30E43DE4F5C9B1E13BCA35E45DE3FFF1D37F7B9FB7F136FA148D8046E0BD454013F47B8BE7465CCDDF806E07E8327E9D1C893D3084A44D4245B296A2544BCE89C0D890A03778D9FA81987252A4C83DC420C654542C2F932F07B090DF878AA4E5F7C939F23EC9EFDFE0B6B1117FA77E89464023F04E11D004FD4E117BCFCF1F2468A1C1C108D950ECA948348650FD3826C6C526C014CA0C5210D844A998C04C5E997075C2D249BC9CD0B93148F87231F91AA467F9A7BC6D1242FFDB110FB0BFA6E8F77CCAF50535026F13014DD06F13A8A13B2D1C60C7C164C34018AC083326364A8A74E3389F30B5F0A69C62493C5CC0359AF0B114C70E5E61300696785945C2B1A17E67C93507C3E7E4F260F903046D4134C8D421982E18F29507D243F7E7EB2B6B0434026F8A8026E8F77D710C46B46F947F96DF952192EF199570888C84A755542D3F897DCC2850C90BE2086221FC60E07B04769AC84CA26023B655428338495FA87B80E4A785F1075326837858C2E4150C52A0BEF4A111D008FCFF464013F4FF6FC4DFE2FDC230C43024624EB6F26223C6340C8C38C68806C8D7A8425C82B08ADFF13251B99B5AB98857EAC7F0AAC45E8D38F0B05316A1E360A673D80D6D58B9E1E4868DC7CC8D80541361EC8093C63052C4511A0C87C1783E1888D4D386A449DE28B95D67C0E9E16804FE0F22A009FAFD9ED4C1DCEF00074651A4C8D954398B98CAC0D65E9600A3DC47D4F52ADE9A2788D63D49A9EB4508FAB08C88280C88A31033949C768429D700EC305039E89034AE91A718A60953C3C80F1B4BC3A8091863B7263F7C3266F348A23847480396D344484ABDB363A8985B1F1A018DC0FB808026E8F701F47F79CB7F536108410B39477140148658710D7A16515EF5288557EFC2292DC22C76908B2C9C284564F783E9134531711CAB2C87642C549E3A825400E6A038C4B2F14911192601167E240994765CBB914C5B3B4D5366929FB80D66CBE6608E05B30DCCD4C005DE6FA0F4FB6B04FEFB10D0043DD4733E40C02AD32CC49904C6AF6F0C0EFE3ED9FF4BD2C16105D308A8F6AE227EE667C48BEFA75A5E453E55250A4A18664C6CDAC4710AD337B125312DAC2EA9118C2465ADDECC10A107A130752C11B64FDA36318D10A20849A7D87E889D76F04C937ED294EC916447CDA169D29E348CDF1EA3653258D904A58154B51AE7C097FAB7DA5C1CC8670F9E2451BD21A391FFDE42A8F7065A6E197EF2E324476FC6E6FF549A6C280B4F06B2C16C2658C88B547E7E700CEBDF6B30F76F10ABBBD9EB874EE80CF587425FFFED22A009FAED22B5B1E70521B169E18B6CD9904D3DB08441D5669E45ECBAC48E8167191886956CFA155E2658F02B4AAFDC82535C8B2991B168998DC172924400AD78391095859DB0BEE4A985C836D074F8664C688A82DAC78C256911624542991646646318BEFA992444E47A5E6060A6F294AB21F98661A4A79E416AD37D30478E22B22C3C2B456040DA343055114D0AD3CD61C8DF942E13C7390CDF04A74CC5AA60D344EA3FAA40A24459226F3E28073421345198F9788212D9C8C2F0ECE4DC813F5171F6C0BD49FD42C613F9C9CDCBB408B1B1E2443D1ECBC6A810B1826E40CE2273605B4486BCC3EB47723B893620764DD91BBBFCF5EBDE1D029AA0DF1D7E6FFDEAA8426CA694144E6239474583E180CED9C2934D40F9792882E72EFC1577D333FF3784AB9FA4990AA6DA1814821E8825D7970F862A627442135322D881E8D11C609A44586728B54764083127A42E3C6E44F25B47A93984C015A70F1C9226B12C4BA54B8230A46435A8A8BA75CA7EB46C731C66EB568451161C53DD342202525E4A91999FEA23A0898C2FDB8A1E35CBC6B24C55ECF2464712C32651AF7AAA182468A55289098849FB6172EFB12D5C536E3349546CA9248D60E760ABD74518B19F44F918723B528AF1C1187E50286E1960C7A0EA77E4BD15C927CF04C9B9EB9118F8F78661FA5B4FB73E4323F05E22A009FABD44F30DAE1531A0634ECA4B92A819A90A148A31A889882DF4C9D556E1CDBF89D2333F2113AFC0C6C40B9A126DB3906F2C119D0A3531141927F4266A381521FECB7B0F3EBE273F3554914B42F2721591EBC5A2E0886D22D31BB85E720151900C2A494CD32488AA985983AE6A0E37338D615B1E42CB564761E436C30F53205C2DAA3EBB4A9FD107713B2D151B5345EE860843920DCF37386474892E6540B1B2BE983D926782E4161324791FD7B27007107088C8C9266818E2AB9B5F924491BF3308020C47FE3EA87A016B4A21BDE5805AAD86191BB4346618D19CA22D6F2BEC3286E029A3183C124579825C32701D3F0FF187445FFE4D11D0043DC48BA38A8F88D7A4025018323652B8A2671E785F3BF4716AAFD0FDC89504AFFC8936AF1B2B8808E5113D9D21886D4C15F186D8B150FA40443D10F18586857C25A492149A484428D1ADD0B114A74854AD32088AE0E40661131B52CE6D928EAAC8D6E1E0219B941241CB77216BC74C13D64A908AF1EC345D4116373F9D71DB1F4FC366BB833345E9A45DBB9B5EB9EDC42318563531C24EE228C66C1AAECAD4DF8CA0E5E7FE40917938A058B125BE97E29A50523F3276033B32A53627C964482125E08A4ADC046FA040D232C136A1BF1AB1724D3F5D5D3D148D0C5E6C2BE28E7C9FB0562663864C1AD5C68CA963189D91187C4047BEFE363758EA93DC5435410FF187445F5E13F4FBB506CAAA0E2FC68E3C1591858643F22F79D4F6B0FA1FA7F79EABA8753F4226584B4E541C4136F1CEB05C0243E82AC9F73A22A393348563E38742D5268619128631860A55D34ACD11A90D3A79860F317D1FDBB6310D4BA52C06B622550AC3B6240FFDAF65DEF27321E6A4D45C883E49A1382A4362E21B2615DBA1D78496899368D9E51CAC86B94456037D56338E67D1E02EA1E7D95F12B56E41FBB4C3C018D864FCF749184C052337A48850A2D95852400656682B828E14410B491A547CE8F43D9E5DEBF37C671F4B7A3B71BA3AB16A1E516C60DA0E2DAD6D4C9A3899D832F13D8FC84E13C406BEEF13043E665003AF825FEEA3ADC1E1C85D67322CE39092E8DBAB924E0F96B6DBEA7631589DF97EAD1FFDBEFFDD08E8087A88E7BF22358012C586C9EE96EC9F49CAD809CB98D545C4777D8EEAD2C7309C066A918F617B2AF1614716569023B064D3CBC58E23953B15EEAC4AAA3593C38B6C2CAF44CA9434888369E7F1FD8144886C2A9A81EC81110501B1283654EC1CE208C94BEE59D20BB14160BC7929B72B7B6B31A4A2885418A9A219F9538C6C867EDFA533DBC6C4D99F2233F563E08C240ED7E23D750EAF2CF8339BEDF753329B1CA16E1C6F1A42AB1B4472334912E426516CABF7905F952DE870031E78751D0F2D5ECAF26295AA6F92326C9AD30D8C965CB4EF83E560D859369BBA05B6ED100601EA2271401884F841A06E50815FC3AB14C85A21C5EEB58CCF5B1C7DC05C5A7319B26A3F2048248A0369284DD043FC01D197FF8F0868821EE205228FE1A928C6904D40C3A46A49CA4136BF5EA072DFD5444B6F24E5D788A26178418CE954C1ACA868D5089B084D5F292DAC38C08A45C9E110DA794A519AC06A50A9904CA6192BD58A69B7916F1A496C3989EAC30CE82FF711861E51B988DFB38E7454C2F27AC8DA3572764820AA87FF804110A7898D00CBA860A9AA46E15283D0CB63D24235D745251E8D39F24086EFF6417A1FFF13E6B2AB89323E8D737E4E7AC68960BF7992201AD8AC3394AA25268A4CB5B958366079C1E78E97D7F1F49A0E3ABD2A664396967C9E49D906C60606A9EE7EAA664477A58C936F61C4E8499896A433845E2395D2303C97300AF18210370C89E208BF5626F22A44418DA8D0C3D471ED1CB3FF76349A92AC499E5234410FF107435FFE6D21A009FA6DC1B4F127092F5BA22E101DB291A16A88AB4699EA73D750B9FF0A22CB25322372618546212B5F741E0E9E15E1DB2E719C563968118D492ED98F1C7CBB9954DB7872E337C398BA1F8C98464C33C42DC080EC4E4E3622BCB08869C5D8923E08CAE0F7102F9D4FD7922759BDF4794646AFD064F4AFFF0313099A1C09A9CA76A6DC2C42234520D5889E472E97C688AA385640548E882D9F6A9BC1921E8BB14C6444AE9352A544E680DFE06C7E9492B2BD590EDA55B78788B44800256A361D7A31B8F7D55EFEF6E4F314CCB1F4167CB6DE6C13A64F4C93F563CAAB17535EFB0AD54227DD7186D4B0B14CDC743A8693A3E28610C6C4810F61007E481446548318378A28552A388E855B2B53AB1494CB48B5671DC71DB43B3B6D3E5CF63CD50D31917724E3FE3799F4C62F06FD4A8DC03B444013F43B04EC1D9F2E398EB48BAB76B87238D51A66E71DACFDFBD768AD2CA6266A07CBC20E51795E4947D896ADF2AEC20C69D756F9D56A36458FD380356A3A23A71F8A3D722E38139562212140295C193041DA206095775DEF72A7A254B959C8974BECD7F04BCFD2FDC25D94163DC6B0D26B34FA3DD84A6F9DC6B7724471486CD4880C0FCBC9409855496171D933AD2A66E8E0C421554BF2E152729EC78C7D1CCBC6DBF532F25B9FFAA66E7842CDC518B246881DF4AA829897AA297E316F2DCB4A065E18323263307DD26886A54D1AE22AB5EE7574AC5C467F4F37C54A9995AEC30EBBEF8B9DCE12C6065128517844E07B891A2584208CA8F91EBE2F698E80AA5755F968CFAF91AD54E82D75AB315CFDD913C949597CCAC5352CB2A2134FEE52FAD008BC2F0868821E6AD86B31B11D50B3A508C5C02E2FA3FBAF5F22DDFD0F32411FAE292233494C67955CCEB1255FEA4AA11F969927E540C173885A67D1BCCDD1D89BEE83911E0D664EE568456026052E1B7BC4A10B511F466D25E12BF7D0F7C29DF83D0BC9DA45D27688E5054AEA66D98D2AAF1B9A3515F12B15482CF1664026F4F18D3CA9B88C6B99B8A64D5E32E9BB7F8BC6AD3EF11FED4A950E3AF6F1629305FD01373CF8321DC670A2D864CAC856B61C97A641D2426E09A3D24FC7F2A574AC598B17982C5AB6921DF63F8A86E1A3A856ABEB25824AC32D635539E798308CF03C57917210FA54DD2ABE10B45BC3ECEFA7DF2FE396FBF8C169273179440341AA42D548D1103803D6AE1B8BAE7E9D46E0DD21A009FADDE1F796AF8EE3226E90C7364C6C7A293FFB537AFFF913F2B5D534671C2A7E11C310299DA572CC86E9A9220DCC0C419467B5A825A6CCA57DD6C7309AF7062347E018848E743FE9C4A1118BDC5B8EE34D4F9024B9A4046CB923B8102E23E87898CE7FFE1277D5938C355CE5F911BBB2D127E61E153C3B4E0A41E2760CA346362AE19327139555C9B86FD8E462F076B984FCEC33FE835DA9E8FF8A046686793D26D73FB20C3FDB465C2BB3D5F836A60CCF10F852961ED2608554FBBA58B6F8253A3ABAE8EC2B91CA37337BF783084D07D775955A45D41A42CC8A9C6563D04FC8DA97083A10920E70DD1ABEEFE2BA1ED4427AAA45ECB8C429BB6CCB11BBCD2430AB44A4C878A9C4296AE3EF7F1B3F2FFA951A0155C025E1863E860C81026B71E21164AA0646F50956DC713A4D95974949E01A9818B6E8A363EC50F2CCBE08CE88D336453F03A9D118D38FA275FB23309CF110B5135AB6D2FF4AD189657A3858EABF8D3E0211FD5954A48C5BAE19C764C36E2C6F19FEE247E87BEC368CE232325681B459C3080342C32690221649D39A01E92089A0F36119DF92021C9B4C18E1EF7C31B9399F4455B3BCE12125D81516F6C4FC685E273D8DE3092A7DECBA493313F2914A9D7891A3A477A9D865DD9A15BCB66431ABD675B3BCA39B7D0F3E8C6CF36855D62D690DCF4BD21AEA2B0893CD41D757A90D3FF054DA43A477AE572390EF6E0DD7B5E8AF54C0ED65FF6D26F1E963F7C531A4443D85E53A09394BD58C3E3402EF03029AA08718F47588B67904F96A48E703E7C1CAABC9FB15EC3043208FD0D219258E71A4A8431CEC6CA8D8397A83E18C9CBE37E99D2EC0488D549D4F446E97E494C5BC3FADD4145203F26E36B1C2B89434012083D4EF49F09E51AAB70844375D5D4E75D91D2C7CE0C78CB6BB690C639C5072D03522A7A8226609BEC37880A0C5772436C90511A51DBF4ECBCE9F8178406627B1804AEA26E5DA52C8B2DC35F9F9032FB136339E322673C6659894AA62472155439E0E0CCCC8C50A5DD6AE5CC6AB4B97B1AEAF48AAA99DAD77DA45798728EDB7E49DA518258AD647D12A820E937CB490B7EFB94AD9512A16943DAB44D18532940B559CD8E3A07DB6E1848366D31887E4440FEEDB0939BF8BFBDF102F2F7DF9FFE30868821EE209EEA0C8B0D8C1EA5F46FF5FCFC1E8BF8B9454048ACD5C9C2332C5AF593C3512D7359198F53923C94DDA93D65D4E84DCDC01CB4F614D958F48084E0CF6A58A43746FEF6213ABA61AC5425AD22B322E55E29852558912210B91DA6107E1DA27E879E4E758EB1EA521EEC18A42E2D8A6E648955FA022E85C5826104B53C32255F528CFFD068D73CF5111B52A7E5187E8A8436CD3A4EAC7FC74DE7216971D4CC7617CABC316C30C1AC2329ED140C16A221549297905337459B17C294B972DE7B5B53D6CBDD3EE348F184B184544D1EB298DD7095A0838C00F035CC93FBB1EBE5BC3AB5655AEBF522AE2B92EA55209AB6AF1DC530BD86CBBA95CFCF59398D694A159CC9F020F33258D0C742DE1107F4CF4E5DF04014DD043BC34BAC388B6682DD1E23FD27DDF0FC806CBB00C571916394146953227A64786F2692E1839DCE1B318BBF799307C17B01A3054A9B4549C0C729C2A3101439C3C32AA13CAC61E7285A410458C9406FA104ACA404AA4B12805D0660698DE2AE275F752F8EBD7C8066B958F4518B6E1D91E4E5C2518CC414B8AC34E61D75CBA677F95BE9967D2EDA5A8945D82813444536303B94C8A75DD7D3CB046CAB9338CCA54983E26472A92DC8F94AFA7094562A8B4772E86EFB262E91256AC5CCBAAAE02FB1E7A0C454FAC557DC26883D44618AE4F75483E3A21E824A511BA3545D441AD4AB95854117558EAE4F13B1EC5AD343276EE0EECB8D7565CFEF1BD688F6322AB8469669421933E3402EF07029AA08718752F10F25BC4DABF9D85B9EC09B212999915ECB8423A100F0B2166E97C22CE730EFDF63086EF7A32CEF493A8991395D19068A00D894213433A75C44A49213F5749808DFE2BA47023B966E24E9774A54D5C3BD4FF8F1CACB086D1FB086BEEB88C5CDF7CB2D26E4BDCEBE4C660888AC3C31B54713892233749F901CF8C3C99A7C77D9A6E63C440377149C9C835937CB16CEA15EC56ECB0CCACD1166D398B7228CE1819B2A14FB3DF4FD5492B8587197AAC5EF61ACB57AC21951FC6265B6E4BC937949953147BEB551B927F1ECC450B41BB818FEB5609A5D4BB56C5AF56085D0FB752A1A921CFC78FD89160653F1FFAF01574B78C60D20E53B9FAACA3D877462B8155C02483AD9BE66EF4FAD22F7C770868827E77F8BDE5ABDD2826E53D48CF0D1FA1A1DC8B6B270E72E9302215F9D46C715513E3E31A51630BBD4DFB31F6039FC3CF8CC6609C4A0D0CAAE806C97920539018FCBF6B331FB11D5296F889DC6FE0500EC9A29BAE1588BB9EE2B5BB2F2157594873EC4A2B44224965381E8D7191C88DA9645AF1A59CDC949B06447623CBDAF664C1265FA0373F15DB7112F37E4374C989C2A252A9502C5598D0DECCE89694DAC00BADBC327FCA4401B92091ED05525549CCAA956B78E9A557D974F3193839A99E94C29432612C3E1BC1FA1CB4283A06893A705DBCD0A51454A8887AA3E8920B628C9E6E8ED86B670E993B8BAE5A3F071E740E1DCB9A69D9762BB6D9A5811F7DF9305A6D298D076B30C53190E99022F9243124B735D14A6FFC0DF22D17903EE1BF1A014DD0433CFD4AB0B5F80704B79D473A86422A20B242D27E06CB2852336C52A18D6D54286647D3B4EFB5589BEC8167964979ED28767EDF9EB06328AD61C93DD763F90B68307AB084DC8C2642CBC1B3C50BBA82D9329E970A79DC3843CE2F92C6A3600DC31B3193EAD83DA8DA6D894F7352D74D245DC82D33C91D7B9248917F27136198B2513978DB313085F0E5B5A6C5BACE1E9E7CEA59B6DB6127622996C1A216D692F26D65869490F486042D567725B74839AEA8681AD780B5BD2C7FF8212E39F774F6DF691BEE58F414279F7C3EED85D9AC34B36C7AEC78BEF6D97D3878D30949EC6C2637B1D7B3E8898B75520024392A4DD043FC31FAAFBDBC26E8219EFA302EB2E68EB3697FE9B7A48D1405BBAAEC40337E86D8AC20042E5239276550C86D43FB51371264C712DA651CBF09D3B4DF5715414D52DD619954AA8CE1F5822992B90C912939DA8020CEB1B0A3C693AF1509429356CB6544631A2FDD4A97D14ACA3054235BE9B128472E9DC2F5AA84515248E285265557ACF50DD219B9B6A9D41D83E2CF284A4CF8E5E7A5729567E63FC7EC393B10063141244D053CC268809C072A0507095ABE7BAE45AD5A268C2A78E5327625A467F16B742F7A818BBEF469F6DB7D0BE2E63C3FBAEE41BE75DE2F08D2CD6466B6B1CFA15B72D5A78F2563BEDE306B60272069E8B27E3FE05D3FC20CF10AD497FFDF8C8026E8219EBDD87B9595B79EC9A8D5F711D5C06D9037F4497B3942DB25B084010D6A51134D333E4666C7F3F033F2985F2225D5851241BF8F2202B14B95E856542669897EC57CD936A98A0FB315F3FCF21E5E5C5924C80D57C31C9D8B69B47C8A52F3926BC5502E7A5280237914D127BBC9E65CE4E3D66A74556332F95672D92CB69552865242CE83D23931D3576E1D618C1F84546B1ED95C23B59A545BC6F89E90AF689D139216D2176256C5299E47B12AFBA93E71B11BBB5265C1A34FD1101B4C1AD3CCD147EEC32E7B4CA16B89C78597FE91BB1F7F062B34E9B52CB63E72677EFAF50F33A525B53E461E68B49E78440FF644D086D143FC09FAEFBEBC26E8219EFFA8FC289DB77E9EB6EE67708B31518BA93A753B5E5E55E489BD686046F4C41318BBEF95A4C61D4C352D1B8635B2EAE15F246AEFDF23B41B56B10D034B3C520351929804B6C8014D5E59D3C173AB622A66BBEAABD8D66C62577DF266A848DDB3C4093BE983225D606AB5AAEA6C1204892EB9BFD04FC3E84DC8340E53F969E5452D0D051441CBBE62B2112AA991409A184411E9548652A9ACFEB7747CF1DD324198E49C85A4E5BA42D083FFAEB8013923A2B0FC15B69B3089C6D0815A8DB11386B1ED4ED3C8B5D95CF4F1ABF9D3DF5EA1D00C1937C6B3463172CF599C78DC367CFE90E9A454383FA8E14E3C5F550E5AF60706FE1BE265A42FFF5F8A8026E8219EF868D5AF597DDB5719E5AEC48F5B70D32EA9A84CCA6FA06C5BD8D4706D9FDEDC6C261DFA4BACE62DA9490F5823549D3E84A0DFBF1C87E45A25041525604A75EF96EE263513D6563D1E79612985D4487C334B3E6F93B2A5E046CA5D7C0CC9338BD9536411F921AEEF532C970922E82DF4D35F28326DC60C2AA2B9B612937C395F5A300A1FAEFF92CACA810EE4A2FE50D61DAA1825F1790E4321DE55BD080000200049444154E39A3241FA778216A2762B2582FE0E76983A815DB7D8927CE89016EFE85444BE2D85D3DAC2DFAE798C6F5EFC0BFA1A62CC8A4F1CB4616F3191D9074EE5C6730EA04D3485D2AA4534E8030D0D03A5479799492B858D3E340243818026E8A14075836B46CF7F83BEFBAFA4D9EBA3660CC34B55C945652C2F4F299D22E57954532E85117BB2C9076E2448B7ABEE2292937DBDA7C7FB57CAE60EC8ED44CC278794CA14E2987B5F5C41D56C57A4D8D2E09092CDBCD057A90CE9112EFED58E1161F91695924F7FA9422D86FE728D8EDE025B6F3B87AA747B71C46F3AD98293FF249511C762C4A45ABA246E7AB1A83EC49323528D072229E556041D10E02B0BD44172FEF7083A5DAB61D77AF1BA5772FC2187B0C98809105A34B6E6F9F39DB7F1C39FDC42D06B31AE7D1316AE598DE742C64FE135E798FAA1FDB9E673BB336D586EA0196DD21F328EDD449F6DC836A56C23BE6FBBB843BC7AF5E5DF6F0434410FF10CC40F9C4AED859B49552B54ACE178A9320D6105DBCBD39FCED1E48944AD4834FD585AE65E8DE734131B2EA938A52A0C131DDDFB47D0E267AD2AB495877D8C6B782C2AF632EFA502E437C5F60D866563A59596EEE19EE1109942E711A657866A91427F91AA1FD15BF559B064057B1D7C206EE410DB268ED2610F74391FC83DC7D2BB3116A296AAC34011B444CB12398BCF731C84049E38D305F87144D57B3DA521043DF8251174BB6BB2D9A856AAA5B5EC3C67362B5E5DC315DFFA3E975DFE4D7EF7BBDF73D743CF1278FD3CF5E0EFB8E0BC9BB8FDC127C9BB25CCB441C3078FE198C3B763BB4D1A19D390A3BD2145168346D1ADCBE6A5EA0A2E8F3BEFDFFC0CF1F2D5977F9F11D0043DC41310FD6137AA2BE661CB0696DD8C6FD5C84435CC304BD1C99097CEDA76157BE77371B6389B309527107F641CA5145012DCA12C35DEC02A2B89643738067F27DDA8445961C5D4CC80BB9E5F40D91E456F254F6B730627AE25852D86494D34CB8E18FA07F8A55EE2BE6E2AC532A19DE585A5CBD9FD80BDE92D394AEB9CCE1818D245469A19AC4F6B88478704CB89902D88C45F235051B318EF47814F24042D8A0D71AE8B436A9277F6036A92D27003DC9A47E805940B450E9BBD3DF7DD761B15AF9B5D76DD96BBEF7880452F74B2D30EDB73F229FB73CE17CF63D6F65B72D1E7CFE2E9792F71DEB7AFE46B679FC1CC19DB70F2B57F2437A91DAFDAADBCB3278F1DC65EDBCE60C7A923D87C7833B6480E6D0F4BFA460696F2F70F4D497E0438327F52262AD98FF76F0B618857B7BEFC5023A0097A88118E7F369CAAF83D88A7853426150F0B439217524E6DE39921D9D0247DF08F31A61CAFFC306A460AD330A591F6EBDE424335CE0DBD0C935EB1EA585FB128FF436E14428C8EC3B26AC47D2FAC21CC657132160DB1386D48DF154735B89511AB32F05A894A7F2F6EB11B29D659DE5DA079DC44468CDF3469E725267142FA7279152DBF3E102167F9928D3F4971885E7A50A1B1A16B9D1074E4B9CAEBB926796ECFC7972792BE0A513564C133CFF38DCF1CCF9F6EFA0B857289033F30975B6FB983054FF533766433D75C7F2AB1EF93B61B696EC850ADF531624C3B76B6911FFCF82EBE77F5ED58ADA3A8A52D72EDAD984D368DAD29724695E9E3DB39F9C8BD9939B99946D5934195E7E0A53C3C33201BA7B12B29B135D11990A15ABBFF05D7D5043DC4935CFB512BA1E7629BB1EAE9A7A2C158BC2684A0A5896C444611F4B598538E53ADB15C23A5941BFFDF09FADFB148D2C04AC120BDFD827486FB5F5CCD0AD722C8E6B09D889C9485ABBD3B91039AEAC61249245BECA1DCDF8BE74397E897172EE2C80F9F841B1BCA8744352710125679E68177D9E0FBA0339D48E8FE8785E880ADA8A43284A445572D92BAA0E6614411B5DE121DCB5E63DEFD0F72E01E5B70EEA7BFC4D225FD4CD93CC3C9277D894257C0F8B12D5CFD834FA972F3AE354516BDFC0A63C78D64CE0E5B139936D7DF702BDFBFEA665A83566CF125C9655953ABD23A7238C5BCCDC87123C935E5D869F6243E7BC26E8C4CC50CB3930EE8A24591C839305C641BD854372E7D6804DE39029AA0DF3966EFE81585AB5A245656DDA22DF5D83EF0E8AEF29626AE255E1616A983AFC19CF24188C5D722A388CE198C2A8730C5A1A871BD822CE90F9884D0C97755EC2C79E228A06238FCE9D105782D63F01D090D4332B6C8E212273E6983E898E0578A14BBBBA895FA2984799E7C6131071E7918919D52EDBBAC7843828E09C59F44DE6B20921E8C9E93CE2852889244D0834E75838528CA6B43CC90DC9A4A4184529052E8A7D93229AC5EC5734F3EC175D79DCFD2970BFCF9B657B8FFA17F72F229473263FA445A1A0C5A9A436EFFDBDFC86787B3E76E07D0B16625B7FEE1377CFF47DFC049A579F6D9153493E2FC2F7C8D934EFD149F3DE7AB5C7AF5B59C7FC57759532A936A6A62ECA6DBD0D21EF295730F65C7F16DB47806D2D230CEC414EC1ED2E4C459E41DAD197DB2466010014DD043BC160A570FC712B20BC5C14ED201C9111A426992E290C7610BFBE06BB0A61C9FB47F32322A82960D3495E4186A825E5F78A1C4C76A335015331B067E9CE83764B4EB2A2177CD5F8C317C3C9EDC60421FC7B155946DC621761CA9AAC15AB18F425727AE5B664DA5818E52C8DEFBCFA5588E483989E9937436970E3242CE83C4FC3A414B9BAAA4E824A9381C685FA53AA3245AE7A44B8A4F59957657A056C1AE9508FBBB39E9880F302C6D33BAB51133DFCBEAD53E07EFFB151A1B263179B3164E3E651F86B75AF475F7F2CC8BCFB3EBAE0770EFDFFFC9E1871C4426E3F2D4530FF1E1138EE495975FA2C7ACB064D93226B68CA53DD54AA9ABC2AAD55D94FD98C52B56F29D9F3DC4F0995B307C6623271DB907A7EEBE15CD527B640694CC126933AFF2D1FAD0086C0C029AA03706B577F09AE0FAC994CB05CCC0252D41B37430117296AA3C89A08D80BCA4340EF801C6E4E314998BAE5808DA56E5D1923A18BA52C2F539E7C1D26531E9B74DD5DB45DE5D5A5B497C2CFF5ED553E4F9D5FD54446962DAA4CD5099F39B86A1BA86DBD2F3AF56A1DCD7435F7727A665F1F7C797B0FB8187337C780B962D291EC5FF6AD3D11CCC418B3A43EC3D37F8BE3EE71C4B014A42C8F225E725C52E89E74625F0A889C7B35B26EAEB66C72D3767E7ADA733AEB5816A7F3FF9F610C76EE513A75DC1A8F6ADB9E3CE5BD8620B87AF7CF9533CFFD44BA41B1BF9E7932F72E75F1E61FC98F1FCE52F5770C9A55770E10567D2BD76152F8B4DAA6973DF1FFE42F7E2251CBEEF41D8864DD3F0761E7FEA69FEF8BBF90423A7F25CE8921F9BE6CC0FEFC1E907CC62982853220BC39466BA43377FEF6029EA53FF1722A0097A88272DFEE31CFA562C53C51B29A9A88BBC817E2289839CA822F262283AF71252DB9EAE36097D33A7521CA225561280219471254D5B8D0183A224CD508DC1B7A018C5ACEAF129F417F0BD12C520A6E234E25A0D4A98908983646350F55B0CB0A5CF5FA5CCAA55AB946ED9F502E62F5ECB11C71EA3521BB69D5404268E49E2B9A11C945409F8E0C6A0BCFF863D054562E70D74E81EEC37385829A80A51028F6AA91FDBF318DBD8C8DCAD66B2F099C7297675B2E71EBBB0DB2ED329572B546B16E5628A334EFB1A1327D99CF0E18358FAF26A52D91C2B56F7F0DB9B6E67CE9C6DF9F6773EC96DB7DDCE2E3B6E4DE4D5F8F54D0FB272450F871F7200B5723F861571EB5F6EE598134E20D7DA4A5BD5E1873FFB33373FB914B3BD992DE64EE0DC53F666FF2D273242B091FBAB4E410FF1A7ECFFEEE535410FF1DCC6F71F40CFFC674899014EEC6346BE4A1724F95DE980EDA992EE759B7F9E31FB7D4DA5380245D0D2EA49F46D434DD072133030C2C454429C2F0A112CEB2BF15A6F0FB5B85911B86DD6A8192655D2F846063B0EC906D2E15B3A8E8865AA8F11B84AB1B262E56A0C3BCDF30B17B3CD0E7319397224966DAAAABF58FA184A45626C27052952711825043D48CE83EDAB948A230A14410FA634E4BB44D02AFF2CB6A241153C0F2A35361F3B9E7FDC71277BEE3297FEEE6E5E7AE515F6DB792E471CB51D815160D99290A71E5BC5EEBB6F45ADBC825A31E437BFF91D677CEAB3445696C99B3573F58FAE67FBEDB660D309E369691CC66B0BD788768ED809C8B7E6E92DF662DA0E37FDFE0FEA61E894A38FE08B675FC0C2650195FC1882116DCCDC6132577DE33866B66769B2920A497D68043606014DD01B83DA3B784DFCE429743DF4371ACC72D273500C2A25571B47CAA8DF97926EC364C5B88F30E5F02B54FFBED01215479438A629B3A477F1011F308D1E4C65AC57650CDC24549188BA59386A7B704D6F8D97D67651304C3CC7A212E6712C87C02F82E3E0463691E1908A4352614D751F17FDB3349335028FFEEE2ECAE52A1D7D551E7DF2394E3BED23A452367D85122D2D0D542A35957B0FD713B42FDD739583DD86F2BA6453302408939CF3A0D786AFB4CE49614A4D9425A502D5DE6E0ED9772FAEBCECBB9CF5E9CFF3D0FD8F512CF671C209C770CBCF7FCBD7BE7C3C86B994575F2971E5F7FEC2F84DC6B3EDAC49ECB0F5D674AE5EC71F6FFB2B63264EA4B7D8CD9C1D66B1CB6EDB532954F8D5F53772E2878F401CF59C6C23C56A05D72B6385214D99567AD7F443D624A886F8FD39CE38F76A9607CDB46FB50973E636F3EDAF1EC1845C9AACAA0B95BCCE7B2B881EB40891F9535D1E076492A249970D5CC348BAAFDB91DC24D4CE873A49D443CA1F45B54C9317CB1A88555B08A98D9453A579B03CDD88DA48CE16D9A5DC5C4571230D24D475A42069A0964AF59834C44346AE23FE2B725E2649676D38C077B194DFC1C7EEFFCCA99AA087782AA38E5FD3FB876FD15A5B4864C714CC16522164C22A8101A9D8C24DC3E2CC66CCFCF0AFC19CA68C8762A32A52006506FF6EF87950D89CE4BC078F444DA2B2CB9272301C4AB1C1D29E2A4BBB0B54CC349E6D2AFDB2944527FECCF201947B454232C9E74C7E1F62588ECA2D4B045D5CB79AEEAE4ED6167C5E5CD9C7891F3C5A59DA27A9147515E54297E49CE51922911E6E98D6D83082F6A46D95E711490E5A0A5324A551A9A8CDC352B54CBACF65E2F01C3BEEB025975F792D3BEF79223FFCF1EF69CC44CC99318CD1E336A1DD89F8C8BE5B53299578F0A52EBEF9E31B69C9DAFCE0C2CF31BCA19954DAA416F4629A0123478F52E5E8E96C036BD6AEA3211392B64772EB1F9FE5A73FFF2D3BED3699CF9E792CA15BE5E17F3C855BE9639B6DE772D6B997522A88F470187D61992D769BC60127EDC7A70E9A46ABDCCCA4DFA33DD03CF73D5A7312C18B8795638AD4519E4EA41FA4A86EE4A6EF43E0D26F6769940638194B7590376B3115DB206D4658F2A8D49803B3A6DAA7B94606978CDAD24CF91E666C52B60CD281811D9AF85903695BDC105631BC102FDD84257BCA86EC8A4A814E96A270B7DDA9DABA398C262B9AF728501E2C9695E4E4F5F1F611D004FDF6B1DAA833E3EEBFD0F5878B18567C8AC88928182DA4C5BA33128236484526153BA2BB7D3A630EF81E4EC32E4AAB26E5DEC48326421BF5D6FFF2A20DEB5112AA566A5DA425576859BCBCA29B1505173F9DA71C0B61259B849661FDC74774B113352C5B79339B7E8DAE95CBE8EFE96675BFCFEA121C73E4C16A4350D1F9808C6E43399DCA3F8B5A63E06B707370705350BEAB085A1AC0FA89539DA43CA41B4B10F8581DCBF8D89147B3AEA39F071E7D9A89336772D9F7AFA3219561EF1DE6926E4A31A9CD64DF591388A390627A34279F7901DBCF9EC5974FFF20EB962F66930993C9E5B2E4F216CFBCF018DB6C339347E73DCDBC47E7F3C9D33F486BE36876D8E144EC741385EA127EF1CBCB18D6DC44B53FA26BDD6A868D18C7E5DFF915CF3EB38A6AD1C268C8100F7398B2EB747E7CD10799D29C262FC657E67BABE6902D8A820569A34A26EC5237749FE154312875C6F42F5988E95718D5388678935184AD262D22018C3D0AF214E440D417910F2DACB80AE24298CE40569E7044C79D6C116484D8A54182A16267AC4872F1D2BDBD819A111019EB543A2EE8CC11ACAC52EE5F43DB84E1348C9F94E4DFD58DDD2008636C5B87D0EFE4D3AC09FA9DA0B531E7961E63CDEFCF6758CF0398A98062DCA83A55A7A31ABE696187E0DA117D8D9318BED3E7C94C3916EC4662533E0A495EF8DD2CE97F2914FC5796567F4D1178656D81D5BD253C2B4B3934A945F2182CDD4C447632687C9CFCF11B56FCA91F44E2F56C2711B45FA5F3B5457476ACA5BB0ABD6196C30ED95FA52FDE8CA06331F35776A2AF47D183E90CF5B3815CB31F0454C567C34D0A572AD59AF2953E785A1BB3274CA129D3CE074FFA1C97FDE43CFE70F7A374ACECE7D8433EC4F537FC80D33F7220E31A22D6ADEDE4BA5BEE61B7438FE59E3BEF62A71913B9FDD65F336AE4142EBFF43BDC7CF3EF39E4B0AD99386524AB96AEA3BFCB66CAA64DA4528D9CFE89AFF3D83F9F66ECF83C37DEFC03DC7285790F3F4357C75AF6DEFF103A3A03CE39EBDB84B51CFD55172F6F307597AD39FA986D38FDC839640397BC74087F0F8F582259B5C79BC693DCBE1FF3F83FEEA56BF1F364FA97329A1EAC7C1F5DC50CE5DC6638338F658FBD6790B65FA537DC8CBB6FBA95CCCA05D88198F405A46217DBB1E891272A274DCB88E14C9BB60D13B6DA92C84C618719B51C02A9963422D25E86FE5AC4F3F39EA6F8FC0334F57591732AD83997FE4244DADA1263EB6DD966FF9DB02C1BCB929E94EF2100FF0597D2043DD493EC2D62D9EFCE63F8BABF92725CCA718E7414A90F836B8ADF863C2342879FA369C671B4ED750E5813558BA7A479AB52196FF42885E6E51AEA4BF1A48445EB1314BCD8EFB2704D0F66A691A21B53F5C573437ABCC8065E442C8FCF1B3443FC57825665808AA0C5ABD9F26BF4AC7C9555AF2DA314A5E80B331C74D001181B44CE09A7BF2EAB53DE1A1B94720F46D212354B9E9940BC365C65575A1583A420A6542C12F8210D992CC76F3F9ECD86359273F23CF0E87CAEBDF9779CF089537869C1329E78783E9B4E68E48B9F3E816ACF3AEEFDC7032CEF0DF8F417CEE6F00F9C88E397B9E27B1771CFBD4F73C4078EE54B5FB9844AED65BEF08593D86EE6F65C72DEB57CF582D3952F75B968B368D112468D69A6B9D5564F162B96AFA3D8DB4FB11A71DE85DF27F41AC1CB91CBB75124C0CD5BEC7CC80CAEBCF82426A42DF2EFE64EFB062BC02B7790B22CBC541BDD86C9E2BB1E24F7F8B54C0856109B06153214320D44568506B3CAC3A55D69DF692F0ED87B1AE57233F32E3F9E1D534F53A285A23146A5DE6CBF4A94CD129A1E4EB08E55CE4CFAC7EFC95EC77D1447FCC009A8A4C5AA0058DDC17DB7DCC288C22236A9BE4CDAEE635593C5BA544C5BE833A650E581CC91D4C6EDC071C71F481498A4DFDB7BD4467F2EFEB7BC5013F450CF94DF85FBCC0D541EB91C3BEE51CD5453518013B9D4A48388FCDBB4107BFEB07D366D879D4F9CDE8EC8CC100415D229A9D8DB789D5642D0492357214A21FB2836D5E36B6F31E29F6B7B293B692A5E8C1BC8D691E430939CB36C144562AFF91F884572C8A2C63064C3A856A47BE5ABAC5BB59CEE52C46B3D2E279E7C8222F14AA54A63630ECF4B8CF5D713759844C4EB9BBE4A7F412FF9999C170F9A20051E65D7558649B2795AECEAE599C79F20DDB7861F5D760E5B4D1F492693E7F1675FE3C63F3E496FDF5A76DB692A7B6DBB3993C78C52B73891D3C5E94632F961F4F616F0AB2E66D6E0873FFE0D8F3EB2889AF872640B7CF90B1FE3E843F6E5739FBA880BBEFE6952D92C5E39C27152144B3D9856CCFC679FE385175EE188838FC28D2C3EF9D92F512AC4185507C7CAB1A6BF8F389F62FA213BF1D1930EE288EDC730ECBD26E8C8559BC9FD4686754B9752BAE92B6C5B7A82523C8AC78CDD78AC6F04A9C060845D60F3D1060FF64C259E309CB33FB13D950E83BE5F7F8871C6632C6E9CCD7D9D9B60D348BEDC4B4326C5844697A9F1227A228FC5B93DE96BD999233E74004EDAA54A96B8EA73E7955F6686F90C2D6E0706395E0B46F38CB719DD8C6462762D33332FF0626E1F9E586D71E1859F259349E1BCC7180CF5C7F7FDBEBE26E8219E019F107BF59DF4DD7A168D6617653722A3AAEE3CCAB62820E45131C2B13374DB6D0C3FF6228CD6C3098D1C50C65666F642D21B77BC4ED0D180FEDAC08B6DA5695EB0A48B0E334D119BB21712881D9BE49C55501FAA6A3FE99FF856872ADF362D2CAF42EFAAC5AC5DB694AE72C0AB9D654E3AE524C240042022AB4B941A83042D242C298E0D095ACE19AC1454B9673791D3557D5775E5F62AD21BD165B76D77C02B14B9E16737F2A32BCF62F26893864C063B358C42458A1C037ABA1662F47562C729666D3F173F3229D6623C57A47A36352FA4BFAF97AE9E3E6EBBE36E76DDF300EEB8E36F1C7FCCBE8C1DDEC294496D5CF1DDAB69696EE0A31F3911229752D1E5F91716D2D1D9C3E8F1E3C91A4D5CFFABDF2A23A9CD266FC194311369CD37B3BAB39B2B7EF8030A63C771D4B107F28D5377A17DE31F84DE700ADC183C5102F970E795E7B3973F8F8C5BE01E675F7ED5B10533E7ECC22E5B1A585D259E796105F3BB5A38F4804D396A778717EF5F4AEEE95B48971F635EE3CEFCB6631AB3666ECBB04A178E14012D9BCFF63CC7A60D4FB32A9ECABCC234B63FEE48B6D876734428FFE0CF7FC2E8E2C38CF75FA1279CC67DA56D9857C8D03661025B8C9B0AE51A85FEB574BB2BA8FA7D5C70E199CA43BB29FDDEE6E1DF6A6DFE6FFFBD26E8219E41D940CFBBF3A9FCF634D2D557A9D43C55E061C63E65274B1007646A11B94C96BE3022B3D36964B6398FC068C6762A18AA4865E39F0B239153A9085A35699226D778A458B0B6C0DA8247D56EA4AFEA2BBF66496D84A6A12480A6A83CC406F42DBA564B418DDA20340DD2A14BAD6B054B5F7A918E7E97A55D658E3CE6785A5A5AD6E799A54D9510AF1C4AE71C78EB497BD06F6330BDA108DA8B948D682DA851734BD85180DBD5C5AA050BB9F4BC2F70D58DF771E807F6606A7B062A7D4C9FBE19BDFD0141B91FBFB0964AA183719B6C46C3C8B1ACEA2CF0AB5FFE99BBEEBC17C7C9D3D036828F1E7D0433678CA310F6B0A6DBE3E28B7F49D7AA125B4D6BE7A69B2E60CDEA353CF9C4732C7BF5795E7AF1058E3CFC38FEF0873BB9E0A28B31530EF3EE7F86CBBF7B159FBFF0CB2C5BBA98E71E9BC761FBED4FEBF026AC5C23277CF3A7CCDE7947AEF9EA616CDAB4F137DA375AA6BEA497AA866A6270FB8F2F619BDAA388F1EB2FDDED58316257BE79C63EC843DA30F12B31AA2C5CEB33A1A989B6BCC3FDD7FF9A293D0FD3DEFF127FF766F1407657CEFFE2518C523D326D2A3D259EBAEE3C66B8F7417A184F9B3B707FB8299FFCEAA984CB16B1F2E66F31D95B41D94EF160EF8EDC5DDE8E5987CDE6C83D724CCC882777131DBEC37D773D854389A38ED84DA94BF2E29FAD8FB78D8026E8B70DD5C69D289B708DFE624A7FFA2CAC7C10A9FA9506ACD26BAF665B2293205B4DAC484B86CFEAD6B94C3DE63784CE584C45D0AADFF51BBCF9DB7B561C30F41C284189F0B1E98F2C1E5CF01A56D3487A2A21C5AA4F64584AA69594AD0839872A8A4EDA6DBD79E8A7FA0286E2D46792C6C328F7B070FE93ACEEEC634DAFCBE469B3D879D79D09FC88C077B1E4FC40521CB2AB2F46FC5ED21965E04B22EC0D2B05FD5A42D055BF8CEF96A8F47672EEA9C7B372C16BA4A398DEA6F15C7AF97534F906516105BFFFDDA52AE2BDFE873FE1B8438FA1A13124C86458DE1773F6972E22F67C769E330727DD44476F95E7EFBD9B934ED89FDD0EDA9A15EBFA38E7ECEB30BDD17CFA8CC3193BB18FE1ADA398B3ED0C7A3A57AAF6590DD976F20DADACECE8E2D2CBAFE643C79CC0CF7FF95B76DE6F67082B6C3E7E0CC3F30DFCF4FA9F70FE2517F2916FFD89747333179CB62773278931E97B7784D29751CCB530B9F97BE7B347F13EDABC753C9CDA9505AD7BF199334EA42B65D25E09B1AD92B2B935C8D3938687AFFC2C3BAF7B86D8C8F0337727966DB2075F3F632F8645FD94CC462A58CCFFCB4DCC9AFF1372B5152C6ADC99DFF907F191738F61C1CFBEC9B6C507185DADF2687A2B6E7B6D34D3F63A81A38E9F4263241D83E46F8CF19C022123707D53750C13AB83D4DB5BB6EF1D48FFCBAFA4097A8827309260D1AA5179F12ADC7BBFCEB0A842C51841D94ED360AC22ED8B57670EDF76A9A642CAF658DA77FF2EA98987534B87A4C4C2532A04FEE590EAC2015BCBF59AE437FE4314E14612074BAE187CD3E0E9251D744459DC6C236BBA45533CF8DAC11AC76463F1F5E3CD3F5586E12AE327F1B696C6B2B15B61D5C21759B5F879FC420F0BAB8D7CE48CCFD09C32A15C566DBC64C34F142CAE48B7020FDFADADCF392B82964AC101AF0DAF641008095965AA95027DAFAD65EB899B71ECE187F0EDEF5EC631271FCF0DBF7C84D5AB237A7A9FE313A7EEC3A66337E3EBE77F97899B8DE6F2B34F20D732828F9C7BB1CA935FF9D58FB3E396A3A9FA16CFAF2C72C7BD8F71C3357771DD3517D0D4BA827FDC3D8FBE8E51FCF5F687E8E8EE65DF5D6670DD759FE69EFB7FCBAE3B1FC4DF6F7F96CEEE356CB7DD4E7CF8F8AFE2C515CEFDE269FCE1E61BF8DCA73EC5A3F7CD63D3299BB2FF413B70F7FD0F538C46F1C7975FE2B493F7E7B4ED27BCA7AB4DBA4566FC02AE95E3E69B7EC3E66B1E6246F1290A768E27AC690493F764E79D0FA075744C688BBFF6301A82802E1B9EBEEAA3EC565C4B2908F852F518C6ED77109FDA6B1223E4DE6942C5A9B178DE0B180F5F417B71111DF11CBEEFCEE60BE77E08EF679FA1A9DC45D658C96F8AC7B230DE820B2F3A94E10D364E281D7294D90AD81EB1915515B37224A65BFA78270868827E27686DC4B9A2550D8D10D37D94EAEF3E49B6EB452A760B552B4353B40E2754A69D0496476805F4BB799C714731E2D00BA96546E39829550CF02F7237A5554AB419830BFFCD861624E67409E1C652681073FBBC1709DAC6E0655AE9E82BAEFF006DC49F8761788ACA43C3C68C6C5502DEB772298B9E7E9472E72A96780DCCDDE750369F3491946912879EAA0E9492725F0A5444DF3CB029385831B861046DD464F3B24A6FB55395CAB7DB3976DC720BB69EB12D9F3DF74CCEFCE2197CE3A25FD1909FC4A1874F65A7399B3365741B7FFEF353DCFAD7DF73D159A7E21A0D9CF2854BB9F8E2AF73C0D6C358F0E03DACEEEE61EB3DF6A310C0F9E7FE9AA99B8CE0C453B7C2AD5A2C5B9AE7E22B7E42D1B31991A972C5B74E65F369A358B9D4E39C33AFE5D565CF71DD0DDFE1F179F3F9F90DB771F24947D3B96621471FB63F77DDF17766CD9A819331E8EEEFE4F1A78BBC9C35F8C021DBF1D5FD676D0CC46FFA9A622C7E2865D59D27AC05FCF97B67B38DB99031D51EC2D861B59562913D93691F388191B3B6A318A41961B8ACF60C965CF73166F72E655534816F15F6E288D38FE6C0CD52495B2450000020004944415438D50CA203ED4D873C72CB1D8C5F742363DD85BC1CEEC3CFC35D38F903FBD27AF7B1B40625AA511357F7EFCBB09DF6E693C76F45DEA8608AB56A6C612A05928BAD9EC074DE7963275E13F4C622F7365F270189E88053FE6BACBDE51C9ABBEE2132CAAA03494E74BE468A50A46C7180159B78D8F464C632F6D84B305B0E2634C51B3A79B30DA38FA49C578EFFBCF3346886AF4A7531E8F37CEE98B790CCD8C9F491A2AB2071D8BBE8A9674A8C2EE5BDB2B92816A92161B18757E63FCEF29717D02916A30DC3F9D827CFA0E69BAA3555E057802A515021F04DB569B7BE947B40F7ACFA0ABA2E41B9821F5429B9FDE4CC88ABBE763A9DAF75D2D3E9B168F96A2A7199052FAEE5B0030E62F1E26748D9DD8C6C19C1ECADA6D35F2810BB21B7DFFF14F73CBD884B2FFD22D5154B68775C868F18CE9FFEF14F8EFCE011DCF8B387F8D5F5D7F1FBDBAEE0C9A79770EDF577538A435E79AD9396B0C2772F3F8B3DF69EC5F5D73EC0F5D7FD85595B4FE6F2EF7C9217172CE7A3275CC2965337E7ECB38EE77BDFFB1A975DFA4D962D5BC6C8D179C64D9ACCF7BF7F37FFE85EC9A107CFE6D2A3777D9BABE6ED9DD623867931E4251555EE63E51A97BFFDFA77EC917E82A9C17CC2AA4547F30816FA3319B9DFC96CBAE3741A039FA79F5B8B79DF5798DAB79027E2A3B8B9773C5FBBF818C635B96AD7314EA5E8B072DCF3E3EFB35BEF1D0C0B5FE576F743DC6BECC5215B3430ADE333B4B95D2CAEECCD8FDD2D39E5F39F64DBF698146542A3119714E958785E34F2B270DFE3DDD1B707CFFF89B334410FF134D6C40D21B671BC1AC66BB7B3F6AEAFD2182FC28A629C20AB22E9C8ACAAEE22693F8BE104F46543CA63F661DCBE3F2776864BB5B53A06930E49563871817B2BB73BD1F00ED27B80C10B4BD7F05A7F48D43A82E57D152A012AFFBC718784E6835E1E49F33DC3F7C81A111DCB17F3F4A30F51EAE9A6BBBFCAAEFB1FC18C39BB52096302AF841915307D71C9133545D2DE6AD0EB59550B0E347F75AB255CDF5515686EE73A2EFBE2695CF8C58B193366138EFAF007B9FC473F62EAA4496C366632DB6E3591C6C68011C35AF12A350CAFC6CA557DFCFD91677968FECB7CE5ABE76214D6322C1D92766C1E7F6E21071D7B30D75FFF0077FFF5CF5C71F9E758BAA89B2D664CC46CCC70C659E73379C4443E7FD68934B6BAA41C8B6A25522649BEEBF3DCFC97F8DC676E60E2844DD8739FE90C1F9562D3299B71CD35D7F389D34FC10FE0631FBF84E17B6DCB41FBCFE2BB1FDA6BE3607E9357F55423D5D731A3AA38238A298B57D7C003BFB89669EE4B6C9AEE245B79896A763A7F286ECAD1E79EC5C4D646EEB8F116A62CBF91B1C525DC6A9DCD93C5980B2FF930CD8D06B6EBAB660CBD91C953979DCD1CEF3EB527F18BEA59AC6ADE9A3999679963FD9811E52E9EF28FE3267712DFFCC627185E91BD458F3863E35B92EA30A47A5CB7FC7A9733AE09FA5D02F8562FAF50C189B3AA5ACBE87F85E57FFB222D7D77908F7C023F8B6BE789CC32E950E476594CA348351FB29CD16CFA815F638D9A4B6CA654659F10ACFC9FD0A9FD76095A92E052A21B9B4AA1F1B7879FC5193599DED861455F593579DD783B53296291CC49926E91540A5148CA8C092B65163CFF0C2F3E74972A2E09D3C339E2C4D34835B4889684D8EDC531AAB85570BD5891B3786EB89EB7DEAD4E5CEB6A5E8DAAEFB3D72EBB317D4213E31BF2B43799146A31E75CF84B56F676F3A1C3F6C6E8ED60FFDD77E65B977F93CDB79ACC991F3F99BFFEFE4F6C337B575E5CB29A6F5F750DE77EE10BCC9E3E857F3E703785420F471C7928855C9A8F7DEC12666F3181CF7DE238C2A2C5A8F60CE9E6027194230A1D8A45172753C2B2FB09FD18B76491B6F3D46A657EF8833BE92DD638FD531FE195258B88A23C6D6DEDCC7F7A35DFBFEA87586686C65DFF5F7BEF01675759ADFF7F773B7D5A2633C9249364D2494FE8810408254020107A1514A509285C2B5C51B0FDB162E17AD12B551451505069222DB450426F0984F46432993EA7EFF6FFAC77CF00FEAE7A31578573EE7BFC8C199253F6FBAC7D9EBDF67AD77A9E891C76C83CAEFC0713F4D67C99918952A495527695864BD9AAA5DF8597EE7D04565EC7BCD21A0A56995F1907326C971339F1D0E9DCF495F339C05C438391E3BBBD6790AB37F9FCA5A7E359267581DC0D853C7BF7DD8C7AFC1A86DBAFB035369D6FBF711CBB1D3E9F86753730CDBD87B6528E67AD45FC26B71B975D762AF552D228E794AB7B28ED8E26986E16439C77A495443F7608014DD03B04DB7B7F513E289030E2846503D32AD2F5C40FE1E96FD21876295122DF88631AAEFA92C57C13DB2A51C62597188E3162090D4BBE04D608354012DAF177B26855571EDCD1F95B197028356269B4B395C6D86D7F7A8AFA8933E923C6C6EE3E8ABE7823EEF8D68D123D7B3B471F6CCA33450D2DA0A7733BAF3F760FAFBFFC3C3937C6E499BB73E4B127D2D3DBAD7420F232F411C62895223951C99A0B8582EAE2901F21683F2CD1DB9DA5D4EFB1D3E8E1A4FD6EBE7AD9795CF28D9F71DF531BA9696AE582D30E266C7F95B6A6D1FCE28E3F306E562B272F3B98D54FAEA679C418B26597AF5FF12D0C27C1A5977F9ABADA46D24983D0F5B9EEF70F72FD0DBFE6A6AB2F67FAB811AC7AF24D9A1A7CA6CE1449D5563AF3A6BAC0AC5BDBCDA68D5B88DB0E93DBC633A2394DCEDD403C59A75A148B9EC78DBFB8931F5FFD7B468E984DFBD67E628E49326E327CFF091CBC7836571CB3F77B3F71DEC3339F6F2F31AD394ED6F748DA01714FBA62E2F4C64D1A0C8FE5577C92D9FDEB20BE959F7A87D357BB3F9F3F6F0F565EF571660DACC5770CBED77B32D3164E64C9D18B9415594D18D2BE761DAB6EF80E0B78938D5E0F4F9BFBF0E0C0122EB8703EEBEEF92E6D5D2B98501E6095D3C8ADBD87F2E9FFEF0C1CA78BB4E1E3969B942052BF1B128B6F236DD6E0907E0FABD14FF94B086882FE279F17223A6385AE92690C2C07B3E739FA6EFC18F5E5172864E204A5003B94DB4203C32860BA3E7133856F66E8370C1A0EFF3ED6E84520BBE1926DCB769F61A82CDA08DF0B418BBC67E4BA9DC3E0DA5FDF4FDBAE7B51882558B3B59B82FFCE66E38E40111A8E924355F295D29E271D1D22A064A0C6BF7BDE7A8E271FBA8F2D9BB7619B090E597224D367CD637B4F3FA16DE1CBF049B1A8C8F96D19D162311A4E291428F76F62FAA4193CFFD88B4C1AD9C0474EDC9F29D3C772D52FEEE2E777BF82E18CE04387CF6444711D53C7CC61F8A4A9C4471BBCFCDCF3EC3C7A26EB3776D1DDDF4DFFC000D7FEE257F4147C16EC7F10239B1BE9D8BC96071E5CCE19A79FC8474EDA8F526F179FFCD897B8F207FF4E53AB855F1CC935B73EC435D7DD4BB61B6276248BEAE713EC397F1A177FF1304C7F1BF17892FE9CC151C7FF1BA1398E7231ADCC6893A9906C7707D34F5CC0818BA673E9A1737704E2BFFA9AE52FF76076BE40C9AF61E61EB349A665332EC492B69C4D1B78E4FA8B99E06EA62E3D8C6F761F44BC6D169F38752E9BAFBE90C9D9B56C89D95CD3B194E33E7A303B4D1F4D6A0036AE7C90179FFD23BBB8EBA0D0C7869ABDB866531323A72FE0B367EECCAB7F7C88F0A91B98126E2517CF73E7F6391C74EE6718BD531386E1922866E85EDBCD6D8F3CC8BC23163273E468A577AE1F3B868026E81DC3ED3DBF4ABA380CD910B33D8AA44996B6C3BD97C3AA1BE98CE5A81103553F4D4114ECEC0112B2E79D1F4EE08251D7CD86BAE319B7E40B5899914A44493269C978A56D2ED27296B2C7DFFA0214557B9D4F9C7E0CBE7FDD1DCCDAEF10BC548C551BBB29FEAF6AD091E940547491E11B29770C0A2389BB77E093087A59FFEA73AC78E041063ABBC8A4EA386CD909A41BC7900B2D827216AF9853043D24C45F2816D4EFE57C8159A36D4E3BE6381CD75166B00D992279BF8F52A6895FDEFF263FFBF9439CB0FF78164D4EB3EAB94D6C0FEAC8D794D875E729AC797C0D4F3DFB227B2DD883B6B6B16CEDCE71E7F2A758BD711BC54296712DC338E7D8C338ECA0D9384E9EC2408EB0D84898F2F0623E5FFDFAFDDC7ACF724A658B45FBEE43C3B02CCF3EFD04935BF7E1D1875752DFD8CBCFFFF3226A1236EDDDF0F14F7E879EFE7A5C2F86E5942996B7E0040E7B9F7924072EDA89F3F6687BCFE7CD7B79E2750F6CA2F9B1EFD26667595D4CC08C0389373431B2FF657A9FFC15A3EB33F8561785DEA9FC3877388B3FBC0BA3682779FB8F18EFBEC9FADA18F7761D43F33813AFEF4D66974A38DE469CBA80E1DDABD9D638953F6D5CC8B32367F3D9F3F763565D407E4BC8CB3FFD1463BC97899BEDF4245A78313B1EB7716F6A5219D8FC388DC902EDE6249ECE4EE5924B8F241DDFF13BB4F78243353F4713F43F39BAAA575526BE905AB008DF17B08B2FD1F1DBCFD0D0F358E4AA62D4E0ABDA7289A457C60A2D3C234ED10E088218995DFF0D6BFED984660DF8F148BAD194AE8F209A34FC5B042D32738107A6435F68F08DEB6F67DEE225E4039BCD5BB6D0EB5BCA20E0DD850A516697B6394983653333D2F0F82B8F77E94C0F493045521E83FFE58484F901D6AF7C8A571E594EB6733B4DE32670E0B127D1175A38857EF2A51C652FC0EA2DD137D04B4F42748B7364D66CE6D28B8EC149268967C6E3F9363535A841979A8C8CC77BD4C4928A408B5E89FB966FA0409A0D3DDD6CE91D60F98A57097B363363EC704E5EB698FA5840DCF049A513340D6F220C02D209838194C34F7FF70C9F3C6E4F9A0A050A81CDAD4FADE3135FFA05BBB68D66C6B4312C3B697F72E52E1A6B62643B4D1EBEFF756EFED51FD9696AC0B7BF7C1EA5EE1E36AEEF6563A7C5EAAD796EBEFD16B0B3F4D3C869679EC6D1FBB471F8ECE1FFD0B3ED0B573FCD813DBF64726925AEDCA9A59A28943DD27681B0DCA39C6FEE491CCE539B32D48F1CC7173EB1989577FC07B56B1F618CDD4E10F4902FEF8C6D94B0ECCDC48D3EA5CBB2C59AC8E6DC789EDEDE4C7761181FFDF449CC9E9A202D13A6A590577EF32B7A5E7B9011897EEA8B5962E28CA394EA4AF4960AF426DB7883793CD73D96CBBE7134095D82DEE1B86B82DE61E8DEDB0B65233B1E8AA07A3442EB192242B48D6DF77D8D86553761F839CA665CB95C883891882809F18AF07AC94C12370DB699C3695DF615CC96C354E3BFA8CB891B4628A2EC6AD2F06F8CCF2A6D7E5F357BE40C8B2B6EB88399FB1D4C4EF4387A7BD89475295991F345A4132DC42A433092A34B79E65DDCFD1796FCB78494E4E9B2A32F62F56937CBAB8F3DCCF32B1EA72F5F60CACEBB3363B7DD31F359FACA0525A294CEFAB8BECB56AB0FAFB793C39BC773F8DEF37063218FBDF43A2BDF5CCBB0E666280EB070D6540E9ABF3389708030339C8BBE71134FAD952DD90C1BB76C2799A9510E3066AE9B0B3E7C3CF16217AF3F711F7BEF3C8DF1E3DB48A4EBC9FBD03AA296AF5D731B773CFC34171CB127979C720879B38EC5677E93ADB91807CD6EE4B0430FE05B57DFC45B6BB78AEE3DFBEEB633E77FFC14BEF8951FF1E48A97B8EEAACB9830A2482256A4CFAD657D579AF3FFED0A42D13989599CF6D1659C73F8747619937C6F27CD7B7CD6795FBB875D272729BCFA47761BD64DA6EB791A53D01136B2D69CC2ABB961BC981B8E93A9E3C2338E60FA883477FCD735C407DA49967AC8181E39B31F6C714649902BC6E9C8D5B2AED0C07AB791D1B3F7E094C3C73069AC436005384680513254C7C8C3B7FC8CEDEB9F674C720BB5564EB9AEE45C9B2DA53AD63196D7CB6319367B5F3E77D2346A7502FD1E23FADF9FA6097A87A17B6F2F2C49A7912268F117B4281A32B89D85EC1374DCF4EFD4945EC1A68827BBDFEA347FB7EF8945214C924C6409D3B3C81CF913BC9AA96A08C0F293944C4326C59563C95F7DA8B78B2C8D8AA6CDD5BF7D90DAC93B9368A8253B90E5F56D39CA9608330DC99146EF34F48EFFF328CCBB9D5AFEFB510849958B39124609BBD4CF9AD75EE6A9C71FA354F299376F1726B48D27E7BBE473399C01A93BF7D3431E6FA087CB4F389D2096E247D75CCDF91F3D85FA38B48C6C0227E0E2AFFD80A9B376E1B3A72C521E81B73EB989B3BF7223E5C428EC641ACBCB92A44CB6B79B96BA04138739CC1C534F2666B2C7827D39FDBCCF901EDECAAFAEFD3A3FBEEED7DC74DDCFB8FDC75F66FF5D67F27287C511675D4EAE2FC76DD77E812F7DED3BACEBAEC3355B280FF451EE7A934B3F730AC386195CFED5DF71FCB20339F6D0D1A493033CB6F24DFEF38627E8E86E249B8D939918E3C4E3E7F3995376656CFA1FAB4371EE976EE64B179FC8630FBCC0630F3DCD404F11279654834081E92A3D9071139B38EE9803A94BC7B17C7073257EF89D9BE9EDECC22DBA94EA8B94A48FB33C023B1C413C55C78419ADCCDD670C6D13628C340D25EC550CB3602508C5C04BAECA9EC743F7DDC77D4F75D23B90C42804CA5ACB2B974836D84CDD6512071C3E97F1B5627CA51F3B8A8026E81D45EE3DBE4E752A4B2962D064AA2884592E9032B7905F791BA567AE221D6C51150119F6289B8EFADD0E7C3539578AC588178A4AC2B238F56852077C95C06EC5347CE5EB27943E34C8F2970E49DAA0A58783D0A36CC578F0E54DBCD09EA36DFA548A258F17D7F7910B93CA1F31AA67876FEB70486943EADDD185232A820C11F7D0EFD1EBFEFA2314CB2CC3C096C985304F501860C3EBAFB0F2A1E524029339BBCDC7CCA4F08B7982813EC27291EEFE0EE6ED348DE3F73D88FFBCFD768E397129E312B5A48B05FABB3B1935651C6EC6E2A6FB1EA1A9DCC9C9471E419F0FCBCEBD922DF9243D2583BA4C12AFD0C391FBEDCA4B2B96B360E638BEF2E95359B1E2259E5BB581867133B8E5EEE594BA3B98BFC72E9C70E85C5A4D97782CC9FD6B03CEB8F0EB5C70EA31ECB7FB144E3AF30B307C278593E1664997B731B1C9E1CA2B3EC3399FBA8A96A6145FBCF068BC621FE75CF815B2DE287AF349E28914B3F79BC281FB4CE5DC23E7D0F08FE5673A722E0D0947D95E6D2F85B4E75CBA7A5C921834C7025A6A6C52A998D2B3B66216253FC0159F411F7A0A45E28E8327E7A6C8C51A36B665A9F6B8540CE2D226477EF0DC8D34CB6588AA1C26294BC79174678621BDB912FD259FDE6E0FC748D0506F924AD8D4A694CC8CD2DE88CE1EFDD811043441EF086A7FC76B444D4ECD518591A69CE8308B2251CC18C0E85B47FBEF3F4566E079CC720FA6635090C942C32216B8247D71CD0E31BD0CA6EF914BD69198FF059C396752B01D92AED4FD061BA3FFCA3129A713F9E4D0C3B5626CC895F8CA8F7FCBE1279CA83C015FDA384077C9A2E485984E4C7D6195D4A81AB0F1552D5A4C6177F461F9B63212756D11FF2F63FA52672FB2F1F91758F9E00334B64E61E2942978F91E4A035D2428D3DFBE8D733FF23172D91CB9ED5B98B9EB2EACEE29F1B33BEF6763470733C68DE2CA4F1D4FC237B9E791873860DF3D495B8EAA636F77037EF8CBA7B9F791959C78CA899CB1FF68AC810146A69398E52C99749A4E69DF4BD6F0F0336FF16F9FFB3ABFBCF91B8CAD6D64443040A96C70DF3A38E77357D06214B8E2B2CFF3F18B7F40A97694723BCF582EF6C05646267D2EFFF7CF70C1C597327DCA08BEFAD933E9DFDECD672EFD019B7BE378AAE3A6C4E9671FC3E2853BB1706A1335A68BA8FFA19C6A06FDA48C40C9BFCA5E853C5222A615F8AA53C753E52BB198120D6C4F8959E54CA14D54569A91EE2075E1B4558B9CDA331EBA729ACA8C5C49091822A06DC899E847FF53FE81D1FC67D2AFC3140D153BC4370A04A194326218651B433646E40D24F5362C7526FBA1741B0DF6BCCB9D617970A3DA3209ECE8FC8E9410C5AED6C330A400AD47BD77F4FBA3097A47917B8FAF0BDFD6878B6ABA6A96C30BD430871196F1DEBC99F5F77E8F5176077EA143E90ABB564289CEA43D710217CFC238040E091FBA62AD0C5BFA4DCCB10763F865E50DF7B70601A411CF1265BAB0846FC6E8F64D4EFFDC959C7AF639D8B114DBF201AFBCD58E53D3486FD1C550060111415BA18CA2DB7F9641BF7BD96F9741FEC21EE2BBB36D2111D7128353A112595791A0A783877E770703258BD9D36761147BC817DA09077AD86FF24CF699BF90BB573EC5019386D3366516675D7D072BFAE28435F524BAD7F2D19D5BF8F64797F085EB6E63FEDEBB71E4CE13A5AF8F6C6873F97FFD89EB6FBB9323971DC1E5A7ED8BD1DF45C271A8AD4D2B82ECECE923595BCBABABD772EEE7BF4BCEAA67FEDC299CB1782E13DB5A5995ABE3944F7E9D45BBCEE1D8C3F6E6F26FFF88CD03B5648B319AEBD2B89D6FF0D94F9CCCD8B67A3E7FF1773878D1CE9C7AD4CE18418EA2D9C4AFEE7E955B6E7F889A9A7ACE3AF3608E5B324FDDEA4B2D5E8D1899E6A0999908B544FB084A163694F6C4245933F2FEAB51B2B4D282E34486DC76648F562647027155977D0871563708C218E550CA6496DA91907AB19A0317053BD5E71E5D64879CC0239543303DF1CA32089D10DF120A8FA460A58C21E79E64D6CA744D8859FD8BAC41DC6AE5962F1E8976C9AF96DC6DB91886A7F4370CD7899E2A29B4A4D2FAB143086882DE21D8FE9E1749CE1291B33C2C75D64A7786B89AC89776033DCB7F42E1F99F31C26CC70D3D4A661A2B30487992D124C8C765D8C4265D36F16D979E86F98CD8FFAB98CD6D6037802935E4BFFC90AF9B081899483FB44DBF11E7FA7B56D253B699357736B91056AFEB64EB4089205D475E6D3ECA71465F36E9E8F89B72A3FF839EBF6C644A99447585843671CBC4280D90A2C4338FDECF9AB7B6B3EBC4A990EFA0A7B0911ABFC8BF1D761CE9783D37AF7C82630F9A85196BE0DCEFFE812DB1C9CA79A691ADCC4A6EE4DACBCE60C34040EFF62EF69F35516DE29D7FD97F504A36F389B38F655A7303996000694A7CF98DF54ABA473A5386A5E2CC9B360ECBCDB17920CEF35D393EFB85EF72FA01D3F8DC1947B32117E3E4CF7C8FADDBB37CE38B67E23809AEFCD1AFD8BAB95F89D9EFB7E74C2EF9C2523E7DE94F58F5C25B7CFEBC539931DE22F0F364CD26B6151BB9E8922B3874E9520E5AD8C2B28593A811C1AC7209C349293C22CAF4445E90D096ADE442446AD4D0EF18B80634C85D8D30B35C24079DCF4243BA810A91C26190023117360C35C12739AB5C0C230571D98C96734D08544858DCB5856807F78207E3163A39027190376284240870D424A1A887CB5362D2D819DAEAB551154C2EF9E2386F83278EE0018168489B1E9ECAD1E55C8F2B971D7903E9B0D33EB17F0F5FFCF9733541EF3876EFF1959243475B7FF285B4C4E8536E37CD2405E594E292EA7B92DEDB2FA6A6EB090CC3276FA6947E47C22F9113271243BA9FA5DC21E3B3218E78CD0DDF9BFAC3BE8E553F77F036F22F1F8E6C52DA52830CF34A0F386BC4D9520CB8F0CBD770DA47CFC0B04D725EC8B36BB6D24F92BC1189F66378481E67292190BF9E01454A797FFDE159059539E3273083B852A18C592E6630C09A375EE2A567563377C438C2EC46FAFCCDEC356D2227EEB4076698E467AF3CCDAE13473271EACE5C72E3FD3CD3279B54719CE216CE5ED8C625272EE0D7B7FF9E1933673267C6246E7DF02DBEFCD3BB39F4B023F8D87E23195F78835E3FC913ABB6B3A6A7ACCA1E3535359C71EC1286079D4C1B912455DFC26D2F77F1EF57FE9C0F1F30850B97CE531BB3373FB999AFFDF0D78C4CC137BE7C31ADE3E36C6FEFA0396331AC7624A79FFB353A73358CCCF4F08D8BCF205E2A73DF1F9FE2AE87573390184E7BA99D8F7FEA14962E1CCF4E0D4952A2DA2C59B0158DED4704ED826B53B0434A46995A378629E251494FB96567DCB8AADFBA8E64CD83D41788DE899C08D26A1995B7A24E1BA9F10FD6382463167DEFC109D1774C71544BCFE09D9C3C57F276C9900325156B88A34E1865C4C2AFAAF5D3C86248894262A72E1272C12D1288ED5528F74362EAE063198E2AB3A86C5C0EC77445111A0B59C33FB8F8FE1EBF79D5F0344DD0FF82284675C2A836278A1AF26512B2140A14C9C85A7AB1DEBA95CE3F5C41A3D54DB198C788C5D5449E6BCB1747BE28A2BB2CF98D85E58514CC3861CB5ED42CFE06566D1B864C8F85B5CA6C56CA09F2E5B7E53B2B99CEA038A9FC291ACC05CBE08B3FBA8354EB4EEC31B70D4C938D399F475EDD8C9B6A2070E284BE87657AEA4B2B9B48437DD2D28027C7FFB65EF4DB3DD2EF2E6ABC03AA6B97D5EDB2E3891C694C8D443B691BCFCFD1DDB185D71F7A9C098D4DF40D7461A661E9A2054C8D25A9F13D7ACBFDCA5C77E4849D58E35A5C79CBEFE8CF0E30BBB5892F7DE80446793ED7DCF15BCE3A6D29E9548A2FDEFA003FFAD3CBA4BD5A6EFCF431CCAE29F2FA86F5BC9A4D71EDEDCB39FE88A574AC7B83975F7A91C316CCE5F47DA78059CBC7BFF69F4CDA634F8E387026CDF492B01274166BB8E287B7F0D8EA2E8635D4326E784C79EAEDB1FF7E7CEFBBD72BCA690807F8F2858793B03CE2C9363E71F18FD95CAC258BC729A7EDC71EF3EA386EC14CD2865C5425F6AAA2ACAA03F29BDABC0D2C655B25B5DB444044E2B68767F8D8414CBD46D40E3D951FCBC5D6896AC35288928DBA77BF979A8A8A646555D62DFDF183175095302B612BC98C878AD562DE1B7565FC3767B3E800413276F9E4C1F348069142847CA31545742FD5694B9D6FEFBC8F64FA92FDCB5D8126E81DA5194DD03B8ADC3FE875B9C11A71DC5B47E9A99F917DE6670CA303CF2B508A67D468F19FB5DEF99EAAA78A13897C397B5B9730E2804F632666133A22BC14E5EAB2C3AE4A142A07932F6A747B1B88C469CCE68DDE02CBCEFF3A9FFDDC45D435D42801FD35ED03BCB1B5879C19C3B593B8382AFB7E878C658368A8A631748FFC4E5BE05F82C495FE595F7446A4C40161DC26EBE689DB0603EDED6C7AEC1132C904DB7205D58298B161DEE8619CB27057EA4A7DFCE2BE3F70F0D1C731BCB6254AE9CC027575352AC52B153D1E7BFA112E3CEA60AC7C8E177D9F73AEBA95DC8612DF39E764C60CEBE7E9D7DEE0F617FAC88C9BC73D37FC9423172F64C573AF72C159A7B0685499443CCDC32FBE8597ACA375FC6836BEF10AB3DB5A48A8E11F9B1FFEFE39963FF512FDEDED943D9B52AC8E58C266C608B8E8B40319D760D0DB5BC08DB5F2CDEBEE62E55BDD4C983C860F1DBB27472F18CBE88C18A5EA1AEC3FE8EBF27FEE6D3441BFCF210FFD3C8111C733039CECEBE4EEFF06E12BB7529B09E8712D1CC752B5C4B769310895CE83E85C88C1AAA885F565F662C4215FC76D9AA3BA3A1C21D5C0509B5192C5444327463479888BE707F41A31EE796E0DD7DFFB1C1F39EB38FCFE3299B8C9AA751B58DB53A6835A72B1464CDF1DAC9B0FAA6DFC37B38041F78CBF82A3BA7308A20D2755028D9B845E8954A988D5DBCF86671F63203740AF91C44DA6E5C699FA5217E71DBA1733EA2CFA4293A79E7D95E19906E6ED328FE67175ACDDB68D37DF7A8BB56BD773E6C74FA4B954A43148D29F88F3D8FA2CD44F7ECE0000200049444154F98E3263E3BD24CC553CBB21E089F67A5EDAE2D232AC9E1199180F3CF420A72C3B80C5936D1CDB25AC9FC065DFBB8D97576D27C8F6B1F7CC662E3AEB086C7A544D785D87CB6B9B3AD8D6D989E3E79937750CADCD0D140A457C5274F7E4A91B3E92555B7AF8C14FAEE3828BCE61EF69C3993326493AEE4823E4FB7C96E98FAF54043441BFDF91F3FA09AD34BD86A5062B129D0F3070D7D749F4BF8C5BCE49F561D01B303A50D3B4F0C2882C0DCBC12EE7F19219B65A33693BE42B18A3F71ED48F967A7792D0940D27B92D954A6208A56CB4B1E3A4D5A8F5C7BFFF3B82581DC71DB680A4ECC2DB266F760CF0C2E62C1DBE6C1A451DDC6ABB4A751BC834A46CB6A9662A5533FF737BAC3F0754363B25E9561B856648D970C95801357D034C88A5787AF99DACEBDA4EB759879F69A226EE606D5BC3998B66B2706C0D8E5987418CCDEDEB79E8B9C798B8EB2C56BFF52687CE5FC0C269B358EFC86698CDD7BEF83DD22D33E80D93CC9AD8C69E637CC6356CA5BD3BCEFAFC08AEFBDD2374F6F4637825962E398046BB8F836635622513DC78F74BFC66F9263C7B3485AE4EA60C2FF1FDCB4E27166C259673C97B31DC749A62394BCA28E2F66EC334124A9CFEA6FBD7B27CC573CC9B37819AFA0433674FA3ADB59145B35AA93307C5ACB451EAFBFD2DABD8CFD704FD7E874EDAAC4C5BDDDE0BD1394137E1C6FBD972D7B71815AEC52BF7ABCD1E65E2AAA6112513B5F014519BD84E19513CB28D3A7A9D49341C741EF6A483088C264CD9DC911E64D1831E1CDB961E5B4217D7F309136936955CCEBAF82AC64F9EC221471CC240292096761828F8BCF1D62636F67BF4953D4C2B8E614B2B97D450A52736FA918199779760DED1F418BCA0C8E693B2C492563BA9A59649FA65C60606BB8F68E6869BAFE3ADFE7E8A99568AF14670CB4CAA35B870E97C86E5B740BA9604068DDE00231B6BD95E2C61D6D4D05C5B839D1B6063A6898BBEFD7356777914E22D947C1BA7D8C9FC8601BE7ADA7E247C9F57D76CA5D78BD3950FB1620E69B3C8C2B96329F76CA0DD1DC985DFFC397EF34E749644FCBEC4D17BCFE0ACA37765DD2B6FF0DCE34FB3FBDC698C19952257EAA55FEAFF6583C64C3D66A1C4C997DF8A97A8A1C6EEE4DC338F62F2A416769B319626C724E5BB18D6FF466FFBFD3E39F5E7BFDF0868827E9F23A04C2764502B28AA8D1D19C7B6C32CC6BADBE9FDC35771BC7602E92D0D5D6246E4B6AD085A48D78811D8596CDFC229A5D50E538F91A466CEC9A4E69F831F1B85299B89A1130D3D8432A138E84F3828B42FFBF11D399F4F7FEB1ACA756338F8D88389C76CAC72C0F054C8FAFE40B5E06DDDDA4D4F7F5699C32A825624ADB6B030DE766D91FDC37709440F66FC6A807D7023AC6C9449042EBBB6B4302595E14B575DC556DF24A86FA5686430DC80E9ADC33968562B6F3D793F9B8C124BE6EFCCC1231BA82F9721D9805F3B8C7C6180965A876DE524C77EE96AB6378DA5148892922C7080C52D369F59381B0A1DA4E33E857C91AD5988D734D0940A4939657201F823E671C1D7FFC0BA7C968229651E9F51318B2316ECC3CDD7DE4A602598501FF0B54F1E43D9CF71E1B7AF615B39C567CF3A83D9C32C4EFFDA2FA81FDDCAD9272F64C2489B39D35AA889992AA699A106455D827E9FBF6595FBF19AA0DFE7D8C926615C0A075E0EC218453BAEFA5053C156FC977E45C793D762BB1D51F9A13CA0485A287688A04D0AAA7420FDD209CF26EEE5C95926F9D10B197EC0A5987593C0C8E01B32D9160D31A87D3E51A153CD192E452FA4DD33B9EC27BFE3B5ADFD2C5DB698496D2D84A51201F16823DE3070E58E7D906C865A6AFFCCFC7B6810E25D98CA7EBFEC5B4AA78064D152B50D5C9726C722ECEAE5C2EFFE9852C368480EA318C470EC04E59E2E6A6352DD2DCBEAA877BBF9FC718B99307624BF59BE92753D2E5D6FADE7E2938F628FF92D2CFECC8DACB26AF18334B6E713789DCC1AE6F0897D16D0D9BE86DDA70C23ECDD4ADEA82388D590A2C0B69E6E9EDA52A6CFD989DB1F788A3E11A04AFA50EC251504585E02CF8B633A718619FD7CE353A7B272E5D3FCFC8F4F32409AF1C393EC33B9810E3FC9BEFBCD67625D99DDA73711B70C3C31B436C5D035B2F58D0645F44323F0F723A009FAEFC7EC1FFA8AB2AAE486D8BEB4DF496D5732636973F508CBDB293C7F25BDCFFF96B89FC529F59130A4AB5AC672258B96B17021000F533C0E7DD15208C8CAA45E7A18F9702C4D8B2E20D6BA0746BA9520CC60A84C5AA5D17852172E9688C5E3644354CBDFADF73FC34F7E7D1F6366CC63FE7E0B993532855114A70E5F3965A82E0ED5DA2599B249A88621A2662BA5D7A112E877A6570A66D4631B97A9379131754C3CCBC32DE509F379CEFFDE2DB80DE308A4275C7AB0A52462C8C6A8110D675831EA8B1D7C6AD9029A86D772C94F7F494F6A2461BEC08C8638D3C68EE2AE575FA73FDE843510A3CE8742AA4029BB85F1758D746F58C34547EFC1AC06D8D6E3E1DAB58C1DD9C01F963FC3F54FB663D5A4D5E7F9761D1282985704BFA014DE4A561CCBED87623FD3DB26B169ED5ADC528954CA64EAA4111CB0680F268E6A60464B9AC90D0E2919891664C4A24CEE2E641250C9C1EA4DC27FE897E6FFD09B69827E9F831D8D824B563BD80AA7BAD654E33342DE8EFF32D995B7907BEEF7D416D761FA7970624A8E3450BA083E31D720A6349F8B146C08620D7805485825D67A696A26EDCFE8DD4EC51CB60718C3D5C6A16785140D9FB410AC2B9B837102D3A60F93B57D1E3FFDDD721E7AE635C68C6864C694494C9E3291444AC82CEAE61592577DDD7E340AAE2E3383757451E3B1D598B2AF26DCE4989076BB42998429C332E25E5E22DBB1991FFF76397EA2498D69DBA6F4474BBDDBC153E576B1E94A5063949992F4189E4EF2F89A4DF4256AF192719166C3C8F763D70DA3EC2748F65924DC806C3A209F0C09B239D515B2DB489BDD5A33DCF7C70730E31976DD6D771E7E7E2DABDD4612563F948BB85E1ADB4AA93ABF119628067935FA1C0B4AAA9D37ED24681D51CFAE9347B3F3F43686350D23D390624E8B43BD09C9D0C310861F720F91DDDDC129C01DF77C7C9F4F4EFDF1EF3B029AA0DFF710FCF503900452C60462EE1678E9267A1EFD31F54E0FB95C3F8129B7DF0E3157C850326297D0F0D5D49EA82188C595D48B0D338BE92468EF1FC58859279199730C467D1B7E22495EC472064B1ED22B2D03E192999765F0CF3068EFC9F2AB879FE7D11737B161F3369C545A5D14E47364E046DAF62C4F067C2D4A6602576AE222F2EFBBD8AE488C7A245C9FDE648CBE9849831FD01008413B148D32138625F9E8874E26EEC41508327028D660A23F11CA549CA4D0A2952D35EC3020085D4231A495963D99620BA5D41365EBB68C45CBE44628B39972F109294BF62EBA278288F48D7B79F596EAA2419C12316CAF88E9CB7B86F8A25DA1EE0CA44DD153C33AA2F857934ED0DC9024637B4A36B5A5B18ED14DB56A8C59ED1F0CCD74BC5D0192F789DCCE23D7759D417F80BF661FE843D304FD810E0F944B3E8E288A051DF8AFFF8E6D0FFE8816731394FA2985B66AD113329571703521269A0FA168F34AFB99E846D7E30AE1D5186CF73DB2F166C6CC3C92F4A4C33113D329261B285A320726536A91EE981A1DF6C46216A5AE5794DAB11F5012229381C5C1CD2F21542B1644ED734856ACE62409428F8C08A189D156FFF3584623E5D444759CBE15952EE4734CD320ADA695A302493412138DC60D8DBF28B303A2717929C944741C196DC98F7CE6A09E9A7A9EAC41DE4F9559E4C2E599F8BE41393055FBA11C9F9ACC547571280CED69CA1D8192DE8C2456FD207ADFB438C2F81EE2BD98AA91C1E5485FC2F20AC40C191672647E3B1AE953BAAF722711AD4875CEFC4D25930FF8C9A70FEF7D474013F4FB1E82BF7100421E5E806FCB5660489A5E8C55B730F0E055C406D6108B998A607CD3C63725FB8DC6879DD0231E9471C4BCB55C47681994CC3EFC544890B4E9E84D520E7662C2B42538BB2DC3AC15BF43E5861869E108E104B6AAC306410111FF15C19D282B1F942F55F9B610734CC9A80A35D9A2181CE4B0826E286F67DB8B2BD8F0CA354C1AB133C3F6FA77C2CC04BAED90786892F02C51E2C142FA58A2894735062D3B97CABC20226A2B28A83585A6B40CCA31C8D88750B964D8F2931C6C3D144A97632A0F66C0836A6EAEBC775C19EE1684BA95C101AA246404458278245E24C6BE8472BF227723F259715C71B909F291116E98A02406BB1E241CB9B8E431C47841843F4379BE307FD41F2E23FC43E3FDEA42F4413EC7F4B17DA011D004FD410ECF601A26596BC996B2B46C046EC1DCBA9CEEE537126E7B895A3A4561034F7A94CD48B3574A0F4EE0295D615386522401570236A2A017533A206E20FDD4263D5E0375A3A653BFD36E58ADB331336DE0B480D9A04A25422E41200E1D426E919980CA73076BD09E68750C119E2793786FE2AF7E84BE67EE2451EAA49CEAC21DC8D138E778EC7D2FA5109FAC24A22C374B188BABF63F718889EADA923A4B7921EA1A512A97EAAE40B253D9649432CC604FB8126092BAAF088FC8C69C64F2D2FF22346F284B30B962291991A1D283BC8F682DCB55668835AD482C88A0AC6ACFEAB3B009CD84EA9429ABF64643B5321A229A216F618934A741D9944B96341146770543C6096AC2F39D02872278FDD008EC08029AA07704B57FD56B064BA2CAF455B248CB410A0F1605ECAEA7C9AEB889D8FA7B70BC2E8AAE48594AA923CA2FA5AD4D39A1885EB01054108350B23D5309E763E6D53DBEE9C94462827E2F49393682A06122B1A669D48F9B8BD93806DB6EC6101523CB21B424F78C8A0C91D04F99A0D44158ECA6B4EE55B6AF7D01A77F1D56DF3AEACD3E1CA3487F902193ECA1AFE853B3FFB770667E32B230F07A3113494A463C1AC4192AADC806A392C75476E894E562A208171C25E216F5880C9520926148B958C649C7C8B945758CB2C928651AE1F081681092B429629A6542257CEFA87AB928FD498D3A65464342434A9C42D20557962C251B116935900E3CB12D1372177C074C033F167D86943C54295CFACC552B8B107E4939942853DFA18DC37FD579A33FA76A10D004FD010FA51AD2F64BEAF63B3493E444F7D780DA3087595C83FBF40DF4BDF22762412FB6D7AD6EC9A3163A07CF8C0D2A9545824BD2BAA7C87550B55DB2605F32615BBA26C41123AE3EA3E01A943D534D0E0E146298B15A12993A9C741A4B74407C9F72214B21D747C6DB8C13F42B764A482924F4702C297EF86A53CF0EC711943690A9F7D8589E43EB513760374E278C95D8FED61A4C291128E257A29714DCB2FAEFD671E3545B9FD4BFD5A6617F0F3DEBDFA4BFB313DF4AD03A6D1E89E175EAB8E3F27257EE163CBA366DA4BD7D1B3DFD79E2E97A9AC78D66644B73E464227716226E1F7874746CC32D9748043E8D4D2309E2B5AA94942BA35CA8950788EB31B0693D461010CF6448363663CA6460083D9D3D1472FDC4247B17BD12C7A1AEA9194B0C0FDE4E98A36ABDAC433F34023B828026E81D41ED5FF61AA167B1278A6EA35509403A1D24A3B64CA5B111F3B6C0D6E7D9FCE8CF31DA57D0686C477A14442FA36CC43143E92916828EF47F238296FF975A2F918591CAF44202A590178948CA3D7B10183876B431174926C91046A89A121CC9BE955E748813ED8DE1FB22A31A792B7A5210B76DC2B2473A99C2CD0F60587136DA539878C2B7E92D3673FF8D3F65B421033A01252B49D64A3360A7959EC67E4B8F61EC9489389ECB0B0FDF49D78B8F901A68C7714B84E9E16C2C25689EB517BB2C3992783C81D7BE9195BFFF25FEF6F5386651757B88ECAA5F76B1EB46B3D3FEC7317CA779AADADDFEFA2BBC78D70D3494DAC91B09DCDA56F63DEA2324468D15856699DD216D14B9E717D7D0B0F649EC5882556613C3763F84DD16EE45D8D9C193377E8F96FC66CAA275E2A4289B31BC781D8D6DD3997BC0129C54ADDA17103391BFE519F92F3B95F4075524029AA03FD0618B085A9C40E4365F5ABA645250E8526AC9FD56526DD4D588C346711585153731F0F25D64BCAD588840FF60378354654307D31F525693F281F44DBB58661CD78DDCEAD44C8565E08B2BB4F8E0D9268E6CDA495B9B6CE50DFE69887555549CC633D41CA4BA084836698A09A2D292B6F0FD003396A5E8264904192CB39B42CC677DDD1246EF71212FFDE1E70CEBDB489F339A6E6B0439AB8E6D41123F5587317C24479F7418AFDF791BC5177FC7C8A449A1A748B2BE8E4DBD2512C3C6D121FEE82DB339F9C88378E07B5F64A2D54F284A7DA14191128EED91CEF7290795D5FE68C61E7B296D931AD9B4E2517A1EF809C3DD6D6C1157927413ED99691CF9D1F328C662D418215EE766EEBAF2B3CC49B804E52C5B1A26F1277B1E071F7B3C63837E3A7FF925C6F5ADE24D7B04F95823AE99A4CE1CA0E859F48FD987034E3881926953636947910FF457EC037E709AA03FE00192C31B9ACB8BEE9CDF99D293BC58BA3B842B6352AA2876521E58C5D67BAF22BEFD0986C7BAC9CAC48A19236D2530CB723B1E1988AA0D35C357A24BEF6C69BD7B0630525F7FB70CFF3B9FFC0E68AA22AB860B25C38F3A3122FFBAC8EB2E6E0D5014D926258F1A27E69528382DBCD97820D6B65708CD466EB63E44BE7177EA9D849242ADF53A18B7D358C64C1C46FB4F2E614EB88255F1793C5A9CCF969A5AC64D18CFB06D9BD996EB649B3D8C93269834AFF809713BC69FEC9D79223E9B516DE319EBB8A4B63CC9DEED3F57032FB70FFF08A79FBA8CE2AB8FD27DEFF7C9A75BE90E6DA6E65E6585B91F079E760EA97175D4E1F2CA138F91FEDD15BCD0B080D1FE1B8CF43BB8AEE15C962C3D9811B1809E9F9E46ADED714D7A19E9917355DD7C9F37AF60467E1DB7D49EC8D4457B3067DE6ED458A2C5A71F1A811D434013F48EE1F6817955A0C63242D5B5A0FCEB4A9D60B4E3AE7B82ADCFDE436DCF93C4CB5D329281694AAD39505649A23F2DFDCB0969C753031A83331A8A60A3EE5DA1FEC86D63C85EE3FFA568D9948C46BD85A5A311F2684063A80CEB9A35E4EC3A0CBF1BDFF4A8A544C9AD656BEDC18CE85EC7DA5203BFAE398EC5C79EC8B451524C8E8B123596EFF3EC430F925C712DB6E1F3FBD49114C72DE2E443272A31A25ACFE3E9F602AF6EEC61FACAEF32B1FF351E482EE6A1D82E1C75E49EEC3E26A188B1DCD7CBC6FF3C9BFAB08FBB33CB98B2F71246995DB8775E4E776234AF596D2CCA2F676B6C26EBA69DC4B147CC5663F7F75FF525DA06B6F0447277A6955632DADFCC350D1FE7F0231633C2F1E9FFE929D4583E37644E61AF638EA0796492FEABAF6052C75D3CDCB894626A24277FE424629625CD8B1F98F3451F486521A009BAB2E2F5DF8F368C6AB8D2252D6D73AE2F8EE1628FD44F50EEC47BE9410AAF3D40D7B62748C7B792B245D2543C3E0D4C3F4360960895B55534FA21AD6CD2B7A0F2F2506AA8B9C83B2F52DA78D79F839C1ED428B53CC9CA230797C8EA28FA5D265D12F8A9E1948C3E7A1D9B7C364F6BDB3E782D47D3FFC7DF50B25AB83BB18896B135C4824DE41B2670C0FE87D060D93C70FD2D4CDC7C2D7DC9366E708EE0C0630E6671ABA38CA20DFAE83732F478063DDF3A8A616E8E9FD59D4DA16D573E7BE4785281B865DB643D8FE77EF06F4C2EBCC4D3E9FDD8D4BC903D674F2075FBF974382DDC1FDF8FC30AF7526F7A5C5FF3613E7BD662DC815ED6FCC799646B66F1A439830585FB68F536726DC3791CB1F4405A9C32D99F9C44C6F1B9327E21C77DF800DAC4DDE63F2EA0D95FC91DC38E635B3089F3CE5F46C6922E0F4DD095FE357BBF8E5F13F4FB85FC3FEA7343A9494B3521A984FC076951C97E4AE669973C0C115DDAFE04DB9EBF05B6AFA4C1EDA1A69CC7F2030A660B45710537CA988AACA50B448C6D85E0243996AC36F294FBF3524BB400531AFFD4349E585A398461D4CE27A3D8466853EBB5E3990E5DBE455FF35C46ED711899B67D59BF7D049B6FFA3273F22FF35A7C3AA659C6747C5E4FCEC618BE134B0F5DCC833FFE0E93BDE56C3666736FC3617CF8C38B98E29862844DDCE8501E8C5BCA0EEBBFB58CDA00EE6A3889C97367B26CE1580AA429173CBC789CA7AFBA8C9DB30FF3AC3D8BE589851C72D02246FCE674B61ACD3C38FC04E6792F32AFEB3E7E9D3C8645A77E849E477F4DDBEB37724FDD09AC8D4F6249EF2D8CF637727DFDB91CB1F42046D945B2FF7522B58EC7D5F6879937A591968E6719BEF129B6D7B4F08BC4329A9B46F1F9A32690144715431739FE51A7FBFFB5F7D1045DF1118F4A0A91ADD53B0F95B3853E9E212D7A268E7802660B94BAD7E0AFBE8BAEB5B763FAAB70C22231DB26663A940A051C3101308DA89F37907CD82190AC5AB274D59E27024DEFFC88CFB61AFE905173CB60A054209192294483925B269F77709AE750376101B1992762D44CC53392BCD1E9B1ED868F511B6EE0F1D442422F895B34D890D9854E1C3EF9E1053CFEDB6B59D07E3BF9603A77D51ECAD91F5BCC58E93691C93FAB1DAF94A23D4CB1E55B4790F15DEE6C388D390B16B078973ADC308563DA6C770D9EB9EA52E6E51FE749732E4FD6EECFBE7BEECAE8DF9F414FA285FB524B993E7114739EB984CD35B35835F163CC5A7B13A3FB9FE3C6968BF0EAC772F0E6AB199E7B836B336772F4514B19E564C9FED7C9343825BCA044A6BF87C049D1DFD8CA23B123B8DBDC8B530E9DC8D231A5C834414D69EA8746E0EF474013F4DF8FD907EA156F67B56FB3B310B68C4047A3CFAAE42059AD742B88BE841B623945C27023F96D2FE2AFFD2DE1FAE718E8969E8800215C51A416CF6602E966162381A8B54EEED47D6F682331BA6DB7C298AA6D4B0B483994917293BC68323B49EAC78EC3987534F191FB62C647E0D1AA3A3EE4B1B5A393ECF5CBC8C652DC913E996953F7666C4D8A7E33454D2264EEE45A1EBCE55BCCDA742F595AB92DBD8C93CF3C9A29A68765B91074937346D11342E715CB1851ECE4B7CD1FC7DE6509A7EE5947527AB37D19854FB0E23BE7D3EAADE5D1DA25AC8E4F67E9C259C46F3D9B7C660CF7B22F4B4E3D92E2D527D09A36B99B8359907F1C3F99E0BACCD12CDC674F46DEF969C6065BF851F20C8E3966192D4E9EEC4F4FA6D67179303E9F2DC134B2B2FE844BDE6D61E7DD7763D91E1986491FB88C7FEB3EE80FD477A6920E4613742545EB2F1DEBDBC43C48C86A4E7AE8213E538396F7868B6F7BB84A7D2DAE6ACE4660621573185E0F617613C5CE5728B7AFC4EB7B8D7CFF5A707B890D1ABE4AF61C480F74A440AFFAA495A6925154433166AC0927338944E33CD2A37725D63403E24D789934BE1323E6E6F0AD8C52A293E9BBF6AD9D94AE3D0E23D6C0CF9D935874CC91EC322E261A4DD4980186EBB2F1F9C7E8BEFF47D4387D3C64EDCD6E277C9A29633338A18BE99579655B8EF4E826567FFB3CF6F456F364389B0DD38FE1F0A3F726E379A40C93979E7A06FFDEAF924CC4F865EA78EADB66B25F9B45F1B79750488EE00E771FCEFEE471ACBEFA7CA6145EA797F1341B259E88CD6065F39E9C7AC4EEF4FEC7C76833B6F393DA7359BA6C29239C22FDD79C4A8DE3737DED39041317D09CF09838DC644A5392498D8EF26F2C63CB188EAA99EB8746604710D004BD23A87D905EF3361FAB5964352822A3D432DCA246BE7D35D3826F0483D6AFD1649E68CB4B2B5C5E1C400C690553E3254A23C3144D0A91342D0E501A584BE8E5F0CB65E584128AAD8A6561C607E54E93233113F558C93A8C5403A19DC137934AD253EAE1490F1C29527B5D84B19822733F88B3656B91AE6BCEA736E8E5CEE4FE34EDBA3B236B3D357597F2F2CCDB6D3F06F2F0F80F2E6786F727F2A9B1ACB576A665CFDDC91909B2ABD6F26677078DF39730A5B485DA877E4083DBCD4B35B371F7388EDA8606C26DED6C7BF931F6E20536FA0DDC103B9E23162F64CCC08BE41EF821FD619A7B634BB9E0DC251456FC02EFE95F3132D747776C22B7C7F6229C3E8763F79FCE86EF7C9496601BBF6EF938FB1DB284D176899E6B3F42261670A3BF94434F3F9979231C9CD0C1B05D6C99E60C6A949892618BA0ABAE417F90BE3295742C9AA02B295A7F33838E9C4EE431A496F1EE1EE677BF34724389FE46EAB943CF1B12E27FFB5DD43F88D3CB5FEA801E7AC741A9CD48EE48E96A0CF5552BE1A2C10B48203DD5439A156E918EB56B78F4B69F31C35F4BDC2F5034630CD835743B2D7418F5CCD97B31B3E6CD65DDCB4FF3CADDFFC5B4642FF19EB5A4E216EBFD7AB6A5A7B1C11EC71A6334179D75142B6FBE9A9AF66768087B09DC1CB6692A2D8C1C356C4F8EE319731AF9D6DD3973D90CF22B1FA6E7E93BC9F576F1C7F852CEBB6019E38BABB9EFFB97D0981849677C279EC8A539E8EC53199F2AF1EC773FC730C3E0F186B9CC39F244E6BABDACBFE9328C649E3F260E679F639631BE31CDF058A40F6D48DBA2C021A518A5C3213FFAA111F8FB11D004FDF763A65FF1F72030C8ED32F9FDB66E73B98497EDE5AE5FFE82FC40BFCADCA5CE5D3293748635F8B5A33012093EF6A1C3F1C29075ABD7F3F01DB7D2147395E594976AA4C76966BB9761544392334FD81723D7CFF2DFFF9ADE8E4D4AC83F70321465E8DDAC654B318EDD34966587CC67E791265D6B5EE7E6DBEEA1583B910D7D26975CB084D6449E477F730BEB37E4E8721B08EAEB38E5A3872B9794BBAEBD8E5CD9E679AF9165271FCAEE768915BFBC9A4E3FE465770CC79C70243BB566488BBB8D8CE5479AAC83043D38BCF3F760A69FAB1118444013B43E15FEB908A8CD4A318C8DD4406450C612FF44C3A06F5B07B7AD5CA736D862E26A2EAE298E38B3D88C6EAE63BF5D26911814EFDFDAE5F2E4F36BD8DAD183EBBA241C8B19D3C6B3DBA466EA5322431A2ABDE695AFBCC99B9BFBD8DA935765969853C3A449A3D879DA30C6254352851E6519F6D49A3CF7BC51A629E8E5C483A7918C99E48A2EF73CFC1AC592C58431B5EC337734861FB2B9BFC0EF9F594B4F21C3D18BC6322963D0BE653377AF580B569A0316CE644C5302CB2F624BD78612F0575279837DE33A83FEE79E64D5FBEE9AA0AB37B61F8C95FD3F045D7403A57627CE27B259D82D2E2706CA7A4BB633956EB5E87A4825DD1BC076032C2B413E8C1338A66AE513BA93E947D1FD10F53CA9B78B30D340C9209150F6869126B698E94A352794DE695BBD2E16E4307D4F65D859ACC8F144244B3D17331653F60192F4CBF1A4C33C6631A4944830605A24F21E19E98B31B2E46D9B946C7AAA1ABFA8E4B984BEF492BF23E02F0340D110BC26E80FC6C9587947A109BAF2625661471C15A145687F50274FFDB712C01B2C7F2835105F261065543C7236174128823CA1299428C3D243E2D842A051AD5BDED912B356A437DA8E9CB4D5DFC96B65C2521CBA65373449E8D4AACC3CB2C512A17FA90F836B0915A35C689444AA725517F54013476AEF9E8167CB3B55FA749C000007AF49444154E7B14A6508121492298A86419D2BAEDDE2A420C75D882E2FA2B91D88E58A0C0F6982AEB093F50377B89AA03F7021A9AE038A3838EA2019DABC7CDBCE44BC018736D58454853E2D5B49782ABF43D1F21B1C938EC9E8B610AED85C89C8BF19A76498C4431743FD9DB4B649A923CAC2232511E17C19418FF450A50E3ED4F4A206DB4331973510DF435B44A510130349896384922B078ECAEE45933A213AD7DE00A15143BB6DAB0E9551A2031D0A41CBE74BEE2DED87493518A47E55FE6142F63A83AEAEB3FA5FB71A4DD0FF3AACFF4F7E524488831E826FCF3A8A2053E4851D65C1832E2486D84819CAE944FE557907863E86F20B5482A7831D25B20937F80CC96095B6B5D84E49AD3BDA8C145383A10AB088EFC71561470EE4DE9FB90486C494C6935C29CA8496B8A3CB9125305C87C00EC847CDDF2455A51B06067DBCEBE4E22047A904B6E5A8E57971A5E217592A2ACF96B747E5FF4F9E007AD1FF2B043441FFAFE0D32FFE9F1010B294DC7950EE7FF0E9925E469B69CAE8D6083155061DE21B31650C20D9B318CA462D6B31559E10BA9347A47927DE85457C23A9E85F6ADACA7966889695F16B64121B6D4F8A216C48682A47440CC9C8835234E517A6D4DF09A91795F989484F85982571ADDD0A463305351128997427862F658C14D839558291CF97924CD45E281A24D10526B21B5315F3FF0926FDEF1A81BF888026687D62FC531178A7833AA2B1B715F106254CD51FCA84367AE6501FF5DB156BF5D742E4EF54A123DD3D495CFDC8DF50B441947CB564D9EF9EA48C4A0DD11B4B9A3C3805A99C5F877CB785C1230D6B3F72B3520FA155757150DB8631553E512EE3E2FCAD0E5ADE5B7ABB8784A4A26E956853307A44F7074352ADFF5498F59B5729029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D0085429029AA0AB34B07A591A018D40E523A009BAF263A857A011D008542902FF3F264F063D9ED894270000000049454E44AE426082 where `app_id` = '4';
-UPDATE  `fn_app` SET  `thumbnail` = 0x89504E470D0A1A0A0000000D49484452000001680000012C0806000000EE2C29AF0000200049444154785EEC9D077814451BC7FF77B94BEF8D143A842EBD188A056CA8F40E52444405C52E62C5F2D995265644451114456C6001A4F7DE413A2421BDE7FADDF7BC7399CBE648729BDC5DB82433CF1325D9D9D9D9FFCCFEF6DD77DE99514024A1805040282014F04805141E592B5129A18050402820148000B4E8044201A18050C043151080F6D08611D5120A0805840202D0A20F0805840242010F554000DA431B46544B282014100A08408B3E2014100A08053C540101680F6D18512DA18050402820002DFA805040282014F0500504A03DB46144B584024201A18000B4E8034201A18050C043151080F6D08611D5120A0805840202D0A20F0805840242010F554000DA431B46544B282014100A08408B3E2014100A08053C540101680F6D18512DA18050402820002DFA805040282014F0500504A03DB46144B584024201A18000B4E8034201A18050C043151080F6D08611D5120A0805840202D0A20F0805840242010F554000DA431B46544B282014100A08408B3E2014100A08053C540101680F6D18512DA18050402820002DFA805040282014F0500504A03DB46144B584024201A18000B4E8034201A18050C043151080F6D08611D5120A0805840202D0A20F0805840242010F554000DA431B46544B282014100A08408B3E2014100A08053C540101680F6D18512DA18050402820002DFA805040282014F0500504A03DB46144B584024201A18000B4E8034201A18050C043151080F6D08611D5120A0805840202D0A20F0805840242010F554000DA431B46544B282014100A08408B3E2014100A08053C540101680F6D18512DA18050402820002DFA805040282014F0500504A03DB46144B584024201A18000B4E8034201A18050C043151080F6D08611D5120A0805840202D0A20F0805840242010F554000DA431B46544B282014100A08408B3E2014100A08053C540185C562B17868DD44B584024201A1409D56C00668C1E93ADD0FC4CD0B058402D7580185E26A8786C26C36330B3A3D3D1D7BF7EE8556ABBDC6D51497170A0805840275470102735C5C1CBA75EBC66E5A0A6A0668B3D98C356BD6E0EDB7DF46DBB66DEB8E32E24E85024201A1C03556C06030E0C2850B8CC12A95EA6A40EB743AFCF8E38FD8BC7933FEF7BFFF5DE3EA8ACB0B0584024281BAA3406E6E2E060F1E8CAD5BB7222020004AA5D2066985C964B2141515E1871F7EC0CE9D3B05A0EB4EBF10772A14100A78800204E881030762C3860D080D0D2D65453340171414E0FBEFBFC79E3D7BF0FAEBAF7B4095451584024201A140DD5080003D68D020AC5DBB1611111150ABD5A52DE8FCFC7C01E8BAD117C45D0A0584021EA68014D09191911503FAB5D75EF3B0EA8BEA080584024281DAAB00F7419305ED10D0AFBEFA6AED5542DC995040282014F03005F2F2F2D820A14340EFDEBD1B02D01ED67AA23A4201A140AD5680003D64C81001E85ADDCAE2E6840242811AA900B938860E1D2A0FD0AFBCF24A8DBC495169A18050402850131520400F1B364C00BA26369EA8B350402850BB15900DE85DBB764158D0B5BB3388BB130A08053C4B0102F4F0E1C31D5BD004E8975F7ED9B36A2F6A2314100A08056AB10234483862C408C780A6A9DEB367CFAEC552885B130A080584029EA50059D023478E940768B916F4C90B19389394E559777A8D6A131CE083B64DA31116E4E7B006B4BAEBD1B369B89496EB306F5DC81011E28F4E2D63E1ADF2AAF0760D46338E9E4B45727A7E5D9045D63DC6460431ED1CA582223D8E9D4F43464E91A3ACE2B80B15080FF6C375CDEA21C0CFBBC252C982960DE8975E7A4956159FFFE41F9C49CA9695B7B6670AF6F7C1FD83BBA25BEB7887B7AAD519F1C2676B71392DCF61DEBA902122C40FAF4DBD05D4992B4AD9F91ABCB67803923304A0B94E31118198FBD89D0EBBC9B173E958F8D34E64E60A403B14CB8519C8607B6A5C2F348B0F7708E851A34639B6A077ECD801B9801EF3D20A84852831F016C756A30BEFD9E38A3A7DDE88AD7B7578704837DCD8A9B1C3FA156AF598F2C62F68D64885DE5D7D1CE6AFCD19761DD4E3F86903E63F7127A242032ABCD5F49C42CCF860B5D0AD58A53F376A909A61C6B2574738EC227B8E27E1FD65DBD0AB8B0F9A375639CC2F3238AFC081637A1C3C6EC08BF7DE88364DA21D027AF4E8D1AE07745CB4171EBF2FD8F9BBA9C125EC3EA4C30F7F14C907B4468F296FFE82AED77963D4DD1543A906CB22ABEABFFC53842D7B7498FFF89D880A7300E8EC42CC98B35AE856ACECC74BF371F6A25116A0771F4FC207CBB661E45DFEE8D6BE6E1B05B23AA60B32FDBD59837FB6685D0FE8175F7C5156F5C6BEFC2304A0010EE80706779567416BF4B8FFAD5F0568007040CF7BACBF2C403F3A778DD0CD0ED0DFBD32DCE1F34A16F407CBB70B403B54CA751938A05F9844167494430B7ACC98318E2DE8EDDBB7E385175E9055CB7B5E5929000D09A00775419F8E8D1C6A57A43560EADBBF551A34B42D596A4A167C7DBD111651FAABA5A2631555283FAF083326BD872F57963DEEF0DFF18B58BCF037BCF9E1F40AEF6BFE9BCBD1A75F2774EADED2E1FD4B337040CF7DF40E4486FA57782E0D703D36EFCF4AEB4685EA7406688AB4080D0B2A758DB42BD9888E094351A11626931941C1D63AF4EF3103F562C3F1D5AAB2239AE8F89A9DF32B75AFAECECC2DE86F5F1EEAB0E8BD279231E7FB1D02D00E95725D060EE8E727DE80D68D232B2C98967B1E3B76AC3C403FFFFCF3B26A39FED59F05A025809E4A80EED0D0A17604E807DEF9BDD2A02198DE79FDA3E8DDB7E355C0ACE898BB014D909BFFD6720C1BDBB7CA809E33E37659807E7CFE5F95D68DEE7FFFAE9358B36A1B9E7BE3DE52728CB8E559AC58FB1656FFBC155792333179FA401BA02B02B02701FA9B978638EC737B4FA660AE00B4439D5C998103FAB9897DD0BA9163408F1B37CE31A0B76DDB26DB821680B636277771DC3FB0336E906141D320E183EFFC5169D0108447DD3E0B770DE98DDB06F44042EB9297C16F3F6EC6D67F0FB25D18B8B5BB73F31164665843F982430218D8291DDAFB1F2E5F4C63FF26AB975BD0E74F27E3D8E173B63E7AE7905EB0B7A0A565D2714A3F2C598BB57FECC4F36F4E46A3A68E43BEA40F01B7A03F98719BAC41C227E6FF5D69DD2A0BE82DEB0F302D67BE369155F5F285341CDAF71FFB77EF9B3B62E7962338B4EF349E7C691CFB1B69F4DF894BA574B37FD0A5BAD1B1FA0DA3D1BE4B82533CE016B42C409F48C6DC1F760A0BDA29C52B77B20DD0137AA37563C72E8E7BEEB9471EA0E55AD0135E5B252C683B40CBB5A01F7CB76A8026984E9E3E8001815B7BD46DC8A29BFFD5533677C43FBFEFC4C7EFFF883B87F6868F8F1ADF7FFD0F1E7C6218EA378CC27BAF2E45971EAD10DF301A17CF5DC1D18367F1C25B9331E7F56588AA178AD6D735613DF14A5206FA0FEE692B73D3DA7DB8782E15DE3E6A767CE4845B6C8096FE5E996E6C03F423B7C9B2A09F58E07E40FFFDDB0EDC747B17787BAB199CC9F20E090B64B775DBDD3D30A6FFF336F7C6B143E730EF8D65886B1065D32D3B330F0F3C5EE276A0B620D714E9A6D3EAB1F2BB7F31EB7F93D0BD57DBCA4875555E0EE8252F0E76580E59D0F304A01DEAE4CA0C1CD0B308D00E2C688A831E3F7EBC3C403FF7DC73B2EA39F1F55F04A025809E32A0936C17C743EF553E1A81FB8BDFFD74067EFD61133A7469812ED7B7C23B2F2F61D6715474A80DA66F3CF725E21B4661D4C45BA15279E1A7EFFEC581DDA7980B22F9523A264DBB9BF9630946CBBEFC9B41FFF79FB6E08917C6A25E5C046BFF3E6DEEC7E29F5EB49559969FF9D8A1B3D8BCEE00EE1ED69B01BFB28903FAFD876F9505E8273FFCC7ED16B4F41ECA728D48DD1BE41AD9B5E5281E7A72984D377BF707B505BDE8487B473EFFCAE8C701FDF50B831C9E46809EBF6297B0A01D2AE5BA0C1CD0CF8EEF250BD013264C700C68DAF65BAE052D006D6D4CEEE2900BE842AD01D39C00340DE82D5EF82B62E222406E06EE4795BA23A450A03AF2630489C0203F761E250E0C02F4DB2F2D4154BD305B0F3D7DE2522940A7A76663E13B2B70E1DC15DBA0E2E675FB997F77C6ACD155EAD91CD0EF3D7C2BA21C0C12A6E714E1A96A06340D1E92054D2FAFFB1E1EC85E84F680FE74CE4A844786D8EE9FBE3CA4FE6B01E82A758D1A7F92DB002DD7829EF4BF5F85052D05F4DD1DD15BE620E1B4F72B1F2E26B5BE08D0DF7DF117D46A2F141668B1E9E867A5FCC55501F4CE2D474B7D9AD31342B0914671F0688791B73ECB20E432404FBF459605FDD4C2B5D56A41930606BD115AAD1E1FBDBB02C3C7F7C3C3E3DFB101982C6872138D9BD2DF06148502080C2A8948A1B6D8F0F75E787929E11FE8876F7E7D05FE01BE4E03885BD05F3D6F1DD8AC28ED230BFAC7DDC2827624940B8FDB007D4F4FB492E1E2983871A23C0B7AD6AC59B2AA79EF1BBF09404B007D1F01BA7D0387DA15E98C98EE24A0E922F4E09375F7C33F6F22363EB214A0C9D25DF9DD7ACCF9E2090685FB47BECE3EB3DB76688A796F2CC733AF4E60FF7E78C2BB6C00913ED1673FF519C64FBD1337DDD6C5760F0579453640E7E514A2B050C38ECD98F81EE67FFD14E6BFF9BDC310BC8A04E116F4BB04E8908A67A466E46AF07415014D7EF6990F2D6083AB238A7DE79306BF82662DEBE3A36F675E15C5C1EB4CE17959C503AD4B3F5F83E1F7F4C343E3DEB2017AC35F7BF1F64B5F63C28377D974532A14C8CB2DC48A6FD6B1A8116A8BF65D9AA3792B6BDF50AB55888C0E65FFB67F913AEC3C920C1CD05F3E37C0E169FB4E5DC1020F07340F79B4BF9994A40CD6BFAB2365A4E5203C32184AA5D2E9CB7140CF244037B4BA0DCB4B1466270BD05BB66C815C404F7EF377B7039A0669E8D3BA4D87A66CB08B125992F4F9CD53CBB68D9845420FD3C5B329A5A21B9C56594601DCC571DFDD1DD0EB3A398036E0E10F2A1F2E46D6EB82B7BEB745177CFBF91A165130FBBDA988880AB10D68DDFFA875D0887CC63CBA80A2067854023F8FF2BCFDD123B63209363F7DB7BED41DCF7C75227B0950993F2D5DCF2C414A0BBE7E1A6B57EFC2BAD5BB5D02E877A6F59305E8673E5A57250B9AEA4C9114DF2E5A53EAFEE83EF8318A78E1AE1F9E895C43F3DFFA9EFD7ACF94FEE8D1A71D9E796801EE9972872D0A83AC68D288273F7F5FCC787614D3EA9EFBFBE3C2D9142C5DF42708349422224370EFF4012CE285DAA247EFB655EAB31CD08B67DDEDB097EE2740FFB4C7E516344135A938228857A2B2B1F0FC3CEEAAB3BF191A0BD97CEC7387F7E88A0CF70E7D950DB6F3787867CAB4017A5C225ACA00F4A449931C5BD004E8679F7D5656BDEE7BEB0FB7039A20439608B712A962E4F37CFFB5A568531C6D40801E36AE2F7B00C822E10F9DAC9B7041260EE8C97711A0EB3B2CB14867C02373AA168DE0B0F06ACC705BD78731F5B121CCAAAC6AE216F4DB0FF59505E8991FAFAF32A0AB5AC7B2CEAB4C1C7459EE266E5D3B53270EE82F9EBDCB613104E80F57EE7539A0798865E36671B63AF4BCB13D8B82A96CAAAD807E66ECF5B2007DEFBDF7D62C40D36729019A4299468CEF671B88224093EF930F4CD15B8F06CECA02F4AAEF37B24F54F209F2B0B0CA761C47F94B00DD5E9E05AD35E091B9351FD0F4703AAB6909A06F466488839984B94598F9F1BF350ED0D457A571D2D49F125A356031E8CEA4CA009A5C1C0BDD0468BA07693F900E60D331FAD2223F3D256968287DD11C3D74D6F6770234B9CDE86BA447EF76CC0547892CE8D53BE661C5376BD9EFD263F405A2D71BD8DFA59A96F5DC1337C87DB17FF729C604AA0B31837FFDF4E9DB116F3CFF95CB2DE8A7C75EEFD0C541617693274F760CE8CD9B37CBB6A0A7BCBDDAAD163401E0ECA9CBE8757307BCF3F237F86DCB07AC21E402FA9BCF56B306211FAB8FAFB7D371A7E53D4C1CD0F7DE49809661416B0D9831AF6AE162CE3CD09E782E07F45B0F12A01DFBA09FFDC43300BD6DE32190A52837D1E4A0DC9C02963D20D00F9D7BB4927B6AB9F938A017CD74BCDCE8FEFF52AB0DD0524389A25FB41A1D9B364F69FBA6C378E695096C22D0D9FF92D0B899756213BDAC6EE93C1D770CBC9EB991C828EBD3AF23DAB46FCA004DF1E76495EFDD71823DFF335F9BC0DC6B143EFADA9C075859BFAED8CCC652522E67D89EFBA2221D2E9EBDC25C74F4E2D8B1E908068DBA8131A16B621B3C39752E1B68A7AFC0437B4F83267CD1CC5257BA389E1ED34396052D1BD03367CE94D579EE7F678DDB01CDDFCED2CF1F29A0C9274B6FCB75FB3FBACA829EF5F04216DF2B9D7127EBC62A9989037A52FFEB6403FAD1F9558B46A864D53C3E3B07F49B0FDC240BD0B33EDDE01116B42708CB01FDF933251124E5D58B00FDD1CFFBDCE2E2E0CF28BFB614D0347EE4E7EF638B6AE1CF31195FF6E70DBEF1297CB8E419D46F14CDBE9CC9974DE0264053E44BE3E671A081EAB96F2CC3CDB7776183D78F3D3F061DBA24B0B5547EF8FA1F982D16DC31A827222283995126AD0B019A5E8E8347DDC88ED158D6E3F77D80FFCD7B88C5B0A72667E2F12973F0E9F2E75C0AE8A74677770868B2A0A74C99E2D882DEB46913E4027AEABB7FBA0DD06471905834238B3E9FA8610BF28BD8E83901FAC9FBE7C2C7570D8D468F795F3EC91AC9DEC5A129D2E189297370FE4CB25B17B69102BA673BC70BF6D35A1C8F2DA8FA609727C0C15575E0807E63EA8DB200FDDC671B05A08BC5E780FEECE93B1C360701FAE355FBAB1DD054B1579F5984ED1B0FB13A92AB912C54724B7C3AE767AC5EB9051F7EF30C9AB5A86F8BE7A77CF680960E12F2630468E9809E743D95E9F7BCCDAC6ADABDA8459B866C5C8A002D758310A09F7B6461A9312B770C123E398A00ED78C1FEFBEFBF5F1EA09F79E619870D4E191E78EF2FB7015A0A615E99827C0D1BCDB5777194F5E6B6BF81F2062064DDA8834C25806E87C4B68E01ADD1193D0AD0B48A9B5E6760964E75A71240DF8008073BAA64E669F0DC679BAA0DD0641048E3995DA90DC55693B5C72393AA523607F4A74FDDEEF0F403A7D3AA0DD004C64F3E5889773E7EA41468A992653D877C0C497ACC1ED07FEE9ACFAC5FD26DDE9BCB59E40B8FCFA7095B46A309BFADD884ECAC7CFC779C9641B07E39DB5BD0F6809E396D013EF8FC31F8FAF93057CC03A3DF642F0C57BA389E1CD50D2D1A540C680AB3930DE8A79FB6861E394A0FBEFFB75B004DE172BF7CBF914D9290CE50A34F9D4F96CD6230910E12960768EA28B9D956BF1F9537FBFDA98E6EA94AC739A027DE41802E19CD2EAF3002F4E31F961F8D409F6B278F5EB8EA749AE8E0EC023B65D549CE92A2144E458996E67465E280FEDFFD7D6401FAF9CF373B05687A60AF2465DA6E81D6C7E08351F6F745911A3FFCF3161B50A290380A97A39996AE986462BF7A5E5534E580FEE4C9DB1C9E7E9000FDCB01B758D01466278D9D973E6B149AE9A5F242A32631AC8E14D14216B4343C8FE7AF08D0348393BEA429AC94C2179FFBDFBD6C708F7E28D69F0661972E5AC3BEB8932EA6A349421C0B67A4D0492ABF2C0B9A9EB3E9E3DF61FE6A0AA124A690CFFCA7F5EFB814D04F8C244057FCDC10A0A74E9DEAD882DEB87123E402FAA10FFE710BA073B2F3F1D1BB3FA25BCF36B8F5EE1EB6CE478D1B121A88BB87F7C6A963174B1DA34C74DEEF3F6E61B1A7947EFC761DCB47C97E9949873DBA121938A027DCDE5636A09F5858FE6017F9C2BEF8F05756035A458DD6B8A0CE467E33BE825A25AAE730AB1C4097E5337458B08C0C1CD0AF4FE92D0BD02F2CDAE214A0E933F7E09E53A8176B9D3840FD69FA33656F19458026838056AE1B30BC0F830B4513B9624CC39580FEF8895B1D2A4D80FEE4D7832E07F4AEAD47B1F68F5DA5AE6FFFAC499F43AEB7F43C9A424F3E609AD0C3DB8216986AD834062DDB3462BA4F7B7A386302A55BEEEA6E1BF07FFFD5A56C012A4AD7756ECEDA89D2A205BF202DC5BAA175C326318C0904E0E8D87056264F3C469D7EA7F564766D3BC662DCC9A27636F138E8C747749505E8071E78401EA09F7AEA2959759B3667AD5B002DEBE21E94C906E8DBDAE07A9916F4931FC91BECB28FA1CD4CCFC52F3F6CB4DD3DCD0EA45956146E44FFA6639DBAB564032CF610A0CE48D623F9FF78D817851AD9039A9F4717A1E3741E9FAC41D6E688F1B7300B837C783CF489F2F2BAD0BF098494DAB66FCA46E5CB4B1CD0AFDDD74B16A05FFC62ABD3802E2FC48D5C67FB779F6455A5A9DB836F78128B57BEC4264591AB833468DBBE09C2A3426CE162A4DDE6F5076CB7C7A77C93654779E918856F11D4794818ADDB617FAC2ADD995BD01F3D6E5D55B0A274F04C3A3E7503A01D5DB72E1FE7807E6C4417B4A8EFD8827EF0C10705A0DDD16138A0C7DFD64696054D83844F7D2C6FB04B0A68F291CD7EEA73A45FC9C6B07BFAB25B2178D034E321373D8D81236E004DDAA185E709C434B59816463A7EF83CB3BCC982F874EECFB8636022FBAC238BE4E63BBA62E0883E367F1E8519D1E02A9D4729F97206060CEB8D4FE6AC64BFD3570D7DCED267FE0B8F7D8C944B1957D585CAEDD8AD05CB4F1318DAB4B72E5F5A56B2017A722FD0EEDE15A5CC5C0D5E5CEC1E40D3A0F49CFF2D6383CD34A87478DF69F629FDC682E9EC339A2C673ADEBD671B6685D18C437A71D1025364155248187DF5B4EFDC1C4FBC388EADDB4DED41D65BFBCE09AC2C5AB294DC547C6D6EFB78E1CAF6CD4A01FA741A3EFDED90CB2DE8CAD6B92EE5B7017A78175916B42C406FD8B001722DE8E973D7090B5AB216C7F8DB5AE3FA368E7DD03493F0E98FE50D76D9AF84F6C0E837F0DE678F21AEBE756D824726BECBDC371307CDC6A2152F3020D0834FEB418C9C782B03299FF54680FEF7AFBD78ECB931080E0D002DD04FEB4A48D79126F74A504880CDCFCA0770CA0B8BFA68E9B357D565E4ADB3644FCDE5807E75724F5916F44B8BB7396D41FFB96A1B028A1733E25B7DD157C3B18367F1E093C398B57CE6D465B628120734696CEFE2208B9BD6D97E7AF67836D59E26634C19F13AF361523BCD59F4B86D09526A272A4B3AF8E42A402F7CCCF14C4EB2A03F1380AED6F70307F4A3C33BCBB2A01F7AE821C7163401FAC9279F9475230FCF5B2F002D01F43DB712A01DEF2842807EE61379835DF680BEBBE763A506A9C8DA5DF6E7FF3079E8ABB65042FB075F0A68FBA541ED17FAA786A7B5260E17EF2012131FC966699605E81BDA4E454060C9AA6CBC2E6CD6E6ADCF22F1C6F678E99D2915F6250EE857EE4D9405E897BFDCEE34A0695D12AA1B250ECCB27CC2A48D2340DB6FA3C50716EDF779A401A9F1035F8682C646D6BDCDAEED2A407FF8A8F56BAAA24480FEFCF7C3C2827624940B8FDB003DAC131264B838A64D9BE618D0FFFEFB2F9E78E20959D59CB1608300B404D0E36E69851EADADA3D515258DDE88999FCA1BECB2073459753470651F12275D1BA22240D392A28FCE1A0DB5B70A85051A0CEF37B394056DEFF3AEC8821ED66F26BEFDEDD572C3F3E42C45CA013D7BD2F5080FAA7809CEAC7C2D667FB5C3694097E583E6CB864E796410546A158BB9A7A8024780FE75C5263CFBFA24162E47101E7AF3332C4AA1BC8D78ED978CE56B7A3BEA33651DE72E8EF98FDCE4F0F4C36733F0F91F4704A01D2AE5BA0C1CD033867644F378EBEA85E5A58282024C9F3E5D1EA01F7FFC7159B57CF4C38D02D0A500DD12DD5BC903F4B39FC9F3A54A814900A04F685AAAF29199236D6D447EDE817D9E90654193CFF4DE690398AFF4E907E723BE41149B8DC5634A69F49BA6DFDAC2A29EFFCA664167A466B3C819BA1E01FE9E012F213C22F8AABAD0C4204AA78E5F446E4E21C64E2E3F4E9703FAE5893D6401FA95AF773A0D6836D5BA78F7715AFA9366A8D13E84EFCEFE0663EFBB831DFBE0B5EFD804277B40D38067C3C6F5D8A0DF8923E7F1FCA31F23B14F3B0C1A75235E7EF233B69428C5D1DA039A5665A45DC5695DE91FBF5987573E78C06516F4BC876F74F8BC12A017AD3E2A00ED5029D765E0807E64480759807EF8E1871D037AFDFAF5900BE8C7166E128096007A6C3F02743D872D4C71D0B316C9F3A5528812ADDBD034C13A018606ED687ABB343DF3CA782C78FB079B3B8116A7090B0F66DB6151A2995CE46AE0162DED9F476B1A50A20D66A9CC75AB77B1B5A0297D3E6F159B8545897CDD8F3C3B8AAD9D4031A294E87A6111C1A0BDF7688D14FBBAF0BFD1E0202FB33C5138A05F9AD05D16A05F5DB2CB2940F32552797DC22282D8DA1094A4C7482F02368567EDDB7982ADD5406D21D58DCEA1DFE9EF3C7197CEA2F9AB986E3C714DE9CB87F290AFFF8F9FB7DAB62D73D869CAC8C02DE8B9D36F7078FAE17399F84200DAA14EAECCC001FDF0600274C98E3B655D832CE8471E79441EA01F7BEC3159F57CFCA3CD02D012408FE9DB4236A09FFBC2395FAAAC06B2CB24C7E55095729D398703FAC5F1DD6401FAB56F763B056867EAEACA735D19073D679A35F6B7A244805EBCE698B0A01D09E5C2E31CD0D307B59705E81933663806F4BA75EB2017D04F7CBC45005A02E8D13727C806F4F38B9DF3A556A51F7932A05FB8A7AB2C40BFFEED1E01E8E2C6E716F4070FF576D81D08D05FFE795C00DAA152AECBC0013D6DD075681E57B1054D330989BB6BD7AE45646424D46A3514B4771A0085C964B25086EFBFFF1E04E8471F7D54562D9FFC64AB00B41DA0BBB574BCB335B9385EF8D2395FAAAC06B2CB44332D0BF2346CB5304F49DC827E7E5C175980FEDFD2BDB502D034E188260C39B3951307F4FB0F5A3700AE281D2140FF754200DA91502E3CCE01FDD0C076B2004DAE658780A60C7201FDD4A7DBE0A50482839CDFBFCB85BA547B513ABD05451A0B46DDD41C7201FDE257BBE0AD0602FCEBB676451A33747AE0B9B19D6501FA8DEFF609DD8A7B787E81194613F0DE033D1DF67902F4577F9F84BF9F023EDE56CB4C24F72AA0D15AA0D559F0D080B66826C382A6E83959802667B59CF4F9EAE3B8946E5D8CA8AE275FB51706F76A82368D1C2F26A4379AB168F5715CC92EAAEBB2B1FB0FF055B34E1CEC6FDD73B2BC54A03130C8A4E55837AE150908F6F7C653233A3894E2426A017EDA721639053A87794506D729E0EFA3C23DFD5AA07E5440C57DBBA080CD3F7108E87FFEF907E4AC1649282014100A0805AA47017231D30C6E5980966B41574FD5C55584024201A140ED5680C2EC64039A02A645120A080584024281EA5180004DCB3C3BB4A0FFFEFB6F0840574FA388AB0805840242015280004D3B59C90234CD09AF6DC962014C6633BB2D15859E882414100A08053C44010234ED05EB10D07FFDF5175BB4A3B6A5BC223DD6ECBE8CD8707FF46A13CDD6E51549282014A85E05B47A13FE3D988C2317722ABC70937A81B8B9631C22829CDFD9A47AEFB06A5723403FFBECB3E5039A32FCF8E38FA03549F57AEB1632B52529BD5468D5EF3E04D76B06A3AE0817F7AD46FA4C14CCF10000200049444154993DB058AC16B5484201A140F528E0A5F645E36E0311D5AC6B8517CC493E89F3BB7F85362FBD7A2AE60157E9D2A50B7EFBED374444445C3D93B0A8A80857AE5CC1E5CB97919B9B0BA3D1E8015576AE0A168B0539857AACDE978E941C03D4DEFE0CCADE0A3D125B84A06D832078ABBD9CBB48359D7DF6EC59346DDAB49AAE563B2F939797C7FA757878C53B2C7BFADD67656541A552213838D8D3AB7A55FDB40613FE3D928993A96604453580B76F60A93C26830E7919971017A0C7CDED221011E45DE3EEB1B215A629DD7E7E7EA857AF1E1A346880D0D050D6BEB6A9DE66B3D9A2D3E9909393036A7C82B5C964AAEC753C2A3FC139293D0FBFEFB880139772E01B148EC0F03818F51A146426C3D7CB885B3BC723B16D7CB5429A560B94BEFC9A356B06FA71946EB9E516F6F9E3EA643018B067CF1E242626BABA688F2BEF8F3FFE404A4A0ABA76EDCA340F0A0AF2B83ACAA9D0A2458B101B1B8BBBEEBA4B4E768FCA43CB1CFCBCE50CF69DCBAF10D04D239418D2BB19EA85F97B54FDDD55191F1F1F84848430EB392020004AA5B234A009C8E4DA2050D3434B80ABA989EA7EE67206BE5F7B08074E5D81CA2F148111F150AAD4CC82D615E4A030FB0AFCD5660CEFDB1677F66A536D03872D5AB4C0F8F1E36DD2D29BF3EEBBEF46AB56D6A541CB4B74DEA953A7D8E173E7CE21232303DDBA7573BA89C8AA1C3264085B83A536A7A4A424B6D60C7D467EF9E5972CA4A96DDBB615DE323D0B6BD6ACC1E0C1833D4A9AF7DE7B8F595AA3468DC292254B30618275B9D48A12F519D2A0776FC70B2B392ACB99E3851A3D16FDBA1B9B0FA75408E8B6F50370DFC06EA81F5DF12243CED4C553CE254B9980ECEDED0D5F5F5F663DD3EF3C29C882A65F086C66B3B9C6C3F97C722616ADDA8EDD472E42E11BC22C6782334F0CD285B9CC920EF00126DDDD03836E6A0F7535B83BA2A2A2909E5EE2577BEDB5D7D0A85123870F99F43C727710A0BB77EFEE741FA3AF26B2CEC98AAECD69E3C68D0C665F7CF105860F1F8E175F7C111D3A543C459AB4A1BCEEF87271466B699F910BE85F7EF9059B366DC2FBEFBFEFCCA59D3E37BF488705CB3760ED9E0B1502BA6393503C32FA46348AADD9EEA8CA08C6AD660236776FD0F90A4BB1B95C93AD662EC4C5942C2CFC6113761E3E0F957F38FCC3EAC14B75B51F8B20ADD714203FED2282FDBD30F2B6CE18DBBF1BD42AF7FAA4C3C2C2909D9D6D6BB7575E79058D1B37C6C48913D9DF6EBEF966DBB1499326D9FE2E3D6FCB962D3873E68CED98F43CB290E801A644AB6351E84E4C4C0C4E9F3E8DAFBFFEDA768C5F842044D7DCBF7F7F997D495A1F8A8F1F366C98AD9ECB962DC3983163D8EFD263F6F7C10BE6F9695B359E162E5CC840C92DBBF2AE575E999F7FFE399A376F5E4A37FBBAD0D8CAAC59B3D82879CB962DD917C3CB2FBF8C8E1D3BB27197B7DF7E1B77DC7107DE7AEB2D562D5E669F3E7D70E4C811964FDA1603060C6071AB94E83CD298D2FDF7DF8F3973E6808E539D08EE543EFDFCF9E79F6C0088121D979EC7B528AFEDEDDB972C2CDE67487FD295A79F7EFA091F7EF8A1ED77D29ADA9EEE99DA9AEA4575A47BB2D7D45EB7323B84937F2C28D261EED2F5F87BF7B90A01DDA969181E1BD7B74E019AA49582994B6D03B493DA5FF3D3D3B3F3F1C6177F61EFB18B5007109C63A0F42A5957D5BE82F442A2A88E9C943308095063CC1D5D31EAF62EF056ABDC762F3400400F0A4FB367CF660F1B01A07DFBF6F8F5D75F6DC7BEFAEA2BB46BD78E3DE8D2F356AD5A8503070E80CEA54470FBF6DB6FD9BF09DE645DD3DAB237DD7413A80C2A9FE7A773A589EA42F9E8B87DA2F36813619EE8C1A7BA5C7FFDF5AC23F5E8D103CB972F6787A5C7ECCF7BF5D557D93993274F66A3D3524380D793DC08655DEFB6DB6E03FD945726E946EE1FFB7AF2F3A86EE7CF9F67FAF23C742DD28E2045C7C8BD44C709E094A64C9982952B57B26353A74E65F748FAD3CF9D77DE8977DE79078181D6C12D02AF56AB657A5379348643962A7DAED2A42FFA3B819F804CAE2C4ABFFFFE7BA9F3E86F15B5BD7DFB1248E7CE9DCBEA4CBA503D29D1F5EC279A51DB926B8CFAC18E1D3BF0D24B2FB117367D4A57D4BEEE7A00F20BB5950274E3B8087755A5C6945B2B00AD3718F1D8BB2BB0FFC4E552C2FB06472224BAD1558DA1C9CF4241C625984D25D12AC101BE983CB82786F5EB08959B2C697AC8294A8627B2E438682B82774580963EA4654196E05B1E842B02B47D59041B821B954580B6076D45C7E81C3A5ED679FC5859D793739EA332EDF5B107B414DE540702AD14E652F8F363D41E94087C04480E7CCA5BD631CA2B6D43E979F6C7E877E98BDBBEFE151DB3D7906B432F66AA1B819DA78ADAD05DF41280AEBCB2351ED006A3096F2EFE0BFB4F5CB2DDBD4E6F445EA19659D21501DACF5B89A08092DDA4C382FC316DD40DE8DCAA4129477DE5652DFB0C7B084B73791AA0093C04489EC83A240BDF11A02BB2842B826959D7231FAB23EB9ACA243FBE347DF6D967CCF2A6E46A40930ED2411C7A71710BDA194073B0F3FBA0C140FA62910B688ABEFAE8A38F4AB9382E5CB8C05EA4E501DA5E37FA5AA0AF1D772501E8CA2B5BE3015DD62D6F3F74167397FE8BB4426585801E7B47674C1FE57857E4CACB7A6D004D616464A1F3A810FA44A741C0EDDBB733DFA37DAAC88296C2947CDE04215AB3D611A009066421F274DF7DF731BF2BA5B2CAA4E3F6D635BF1E3F26B74CFBFBA3D03A1A202360F3E44A0B5A7ABD8AAC6BCA57190B5A5AAE14D0D4BE34B6402E137B17873D84C9DD71FBEDB75708E8EA1E771280AE3C4904A03D04D0349045C1EA3C113CC9E749D11A15B938C8C7CB272D9015D5B97367F600F35491D54ED7A070330A3B9326F21793BF92E04089C2F17EFEF967067947802690F3F3789904688A3D961EE365929B87A029F7584565DA1F2BEBDEE5029A62536910977CB66455D2CFBBEFBE0B2F2FAF5216343FE60CA0EDDB9EEE83BE00DAB46903FBF6A5AF98071F7CF02A401F3E7C182B56ACB04DC4A1496714B54110961E23ABBC7EFDFAA5F4E6BAF16395C788BC3304A0E5E924CD25005D8D80FEF8E38FD974FAF292D447C81F7CCA2B3D8FAC4B0AD5937E8AF2F30882DC5A9503688AF5A5B2ED13019AA0CFCBEDD4A913CB42E5D3C34D7F976E2E4C616CFC5859804E4B4B63EBDDD22C3EFB32A93C3E59A7BC63E59549EBC6C4C7C797F2AD523D49031AE82398D25642D244D114A41D852ED24B822C4D02134F4B972E65BF13A00972B404827D5B906E3CF163D2F3E8D8B163C758F9BC9DA46D687F8CF24BDB5E0A68E931D289EA4D6D43F05EBC78311B7CE589A271A82D28D1DFE9386F277E4C0A61FB6B0A40571EA0EE3E4300BA1A01EDEEC6B42F9F5C1C83060DAAD65967F67E66AA1359AD04037BCB5AAE1EE595C907E7CA2AC7DEA2957B2D91CF7D0A080BBAF2DA0A40D762405714E151F9AE22EF0CFBC13E3AEBF5D75FC7E8D1A3D92CA9AAA4F2CA1C3972240B692B2B25272733F7847440AF2AD716E7B84E0101E8CA6B29005D8B015DF9EE20CE100AB84F0101E8CA6B2B002D005DF95E23CE100A3850805690A09983455A1DF8D23E851A1DBEF8653BB61CBA5CE14CC236F583D89C84FAD1D678734A34812C34C8AFCEADE52E002D002D60231470B9021A9D01BF6D3C84EFD6EC416A665EA9F2553EFE15025A5F5832998B4EF4F351E3F6C4D6B87F586F848704B8BCAE9E5CA000B400B427F74F51B71AAC8046ABC7AF1B0F63C96F3B909557C4965EF0F60B8297B70F5B0258A52E992446B769361940B37C690906A34EC39607A62DEA06DE781DEE1BD2ABCEC1993411801680AEC1081055F77405B43A03D66C3D8A4F566C46A1DE8280B05806E7B2160662F762B140AF2D4061560A60D4606CFFAE187D47578404FA79FAADBAA57E02D002D0A53AD60B2FBCC05671E3891645A28914220905AAAA804E6FC0BFBB4FB1D9BD053A335B02D82730EC6A485B2C30E88A509099C4E03CE68E2EB8E7AE1E08F4AF1B7B1396A5AF00B40074A97E413305690BF8B8B838F6F77DFBF6213333F3AAD986557D58AFC579B4DE35CDC0A3597972122D35BA79F3665BD64F3EF984E93170E04039A78B3C6528406BE66CD8730AEF2F59C72C6982B477406809A46975498316F9E9976C701E795B973AE9D690CA27002D007D15A0F932A574A0AC85766A1A81681123BA27E91A2115DD83FD14715A5294EF7A51D3EEDD93EA4BAB4E12A4DFFB7A1D8A0C1604473580DA2F9841DA6CD423E7CA39580C1A8CBAAD33C6DDD59D456D94EB0AF1A41B73635D04A005A02B05689AFE2CDD3A89A607D3BA1D34FD98AF64C757C12BEF184D7FA6058CC8A2A5A9D43CD17AD634F59BA648DB1FA3C92A044A822C5F5C9FCE23F8F2EBD2BAD4F46F5E26ADBD4CB0A57D086991FDC8C848765D5AE7E2E2C58BB8E1861B6CD7A6C587E8CB81EA4CEB3C376CD8904DD3A615DEA44B7CD209E402E2EB3BD3EFB496344DADA64933A4034D33A775A5F9312A9BD66016092048FFB1F90816AFDA8EEC023D82A21BB2C1C29C2B67A18601FD7BB5C1D4E17DEAACCFD9BE8FD46A405FC9352120AC6401227EF3FAA23C14E5A6635CFF2ED5BA9A5D4D784009AEB4180FCDC2A374E2C409B6D12D2D144FC97E76225FCF81AF97215D6E54EE31AE0B2F5B7A9E54B3B22C613E0D9C8ED16C45BE79009DC72DE1B2CE23C012C079E2D3C6695A7A454BBF4ACBE5E71280F992A3345B927EA7CD5D29D1BFE947BA746B4DE807EEACA334042F334F0B28550CCE753594AE22AD6B35A0690BAC8AD23D77751780B6138840429626ED1AC2D73E96EEC44210E59B0CD0A9B4D810ADB8C701CD77F8A063F680B63FB66BD72EDBBACD949FCAA53C54261D236B9A438EFE4FA0A5414C6E9DD2DFEEBDF75EB6625B5910AE08D074AED4E541F748207516D0F67017802EFB09E42178DFADD98DACDCC23A1D4A57E7007D29351B3B0E9D436E81A64240B74F8847F776D6253545B22A20DD2A8BF6D3A30132FAD4E74B98F22DBAA47AD131CAE3C8BAB60734B912A4ABF211DCF8EA6B748CB669E289E04D10E63BBB48AFCF8FD9FB992B0234B949C865C293B46C672C680168F94F9246A7C71F9B8FE2F2956C4C1C783DC282FDE59F5C4772D64A0BBA8EB49D5B6E530A68BA80FD20A1A32DB66815396E713BB2A0A97CE9B2A5E5DD90D48D51DE605F652D682948D7AF5F8F69D3A631DFB6B0A0DDD2ADCA2D94763FA2088FBA1C4A57E72CE8EAED62B5EB6AF680A61D5A3EFDF453B6EEF2B871E3D83AC763C78E2D75D3B4E03F1D237873570165A0C1383A466B18DB839DD6B4A605F0C99DC11385B2AD5EBD1AB4B6321DE389A04CE0A7813EFA37F7EFF2E3B4EF624580969E479B0ED00EDAB488FDF8F1E3591134E8497E76FA122040F36334B848D7B21F24DCB66D1B033A4FE472A1DD5FFCFCFCAEF25F0B1747ED7A3EAAFB6E84055DDD8A7BF8F50866FEFEFEA596E9E40BD4D322F694A43B93D3EF04263AC621CC8FD3DFE818258ACCE03BBF7009341A0DA48BDF53281BE5A1BFD1319EA4FBF5E9F57AD0CE31D244C709B0748CEACE13BD5C424242D8AFFCBC808000B6BBB8F43E28FA82AE4D0BFC4B8FD1801FF9E2EDC3ECC8E72DDDFC97AEC9973D955E93AE4175A563555D6AD5C3BB8BA89E9B15B001BABAF72773F37D89E2AF81024D9A34C1B973E7AEC195C5258502355F81B262BE15665A171080B1A00085972EC16234D4FC3B1577704D141833660C962D5B764DAE2D2E2A14A8B90A28A00E09464043EBEEF4525033409BCD6664EEDD834BDF2D857F5454CDBD4F5173A18050402850C314B098CDD0E9F468F7F26CE60ABB0AD0E49FBBB26533F4070F2261E4A81A767BA2BA4201A18050A0E62A60282AC2DEB91FA0EDDBEFDAC67F38A4152693C9420319C99B364271E23812460840D7DCA61635170A08056A9A0204E8DD73DE478BD7DF6083DA522B9A019A46EE2F6FF817EAFF4E2161F8C89A767FA2BE4201A18050A0C62A60D01461D7DC0FD06CF66B080F0F679144A52CE8FCFC7C0668EFFFFE43C2F01135F64645C585024201A1404D53802CE85DF3E6A0C9CBAFB065162A00F429240C1D5ED3EE4FD457282014100AD458050C1A0D76CD9F2B03D0A708D0C36AEC8D8A8A0B05840242819AA60003F4827972007D12094304A06B5A038BFA0A05840235570106E80FE7CB00F4C91302D035B79D45CD850242811AA8001B245CF8A14C400F1E52036F515459282014100AD44C059805FDD14219803E71020902D035B39545AD850242811AA90003F4C7B2007D1C0983E459D05F6C3E89E5BBCED648416A4BA5BB3589C2CCFEED11E2E75DE55BCA2CD062E1FAE3D8FCDF952A97214E745E01959712A3BB37C5C49E09552EEC485236E6AF3D8A7319F9552E439CE8BC0271A101987A634BF46A7EF5767B6595CE00FDC947322CE8E3C791307090AC1A26BEF507140AC0C75B212BBFC8E45A050C060B4C6660E5437D111B625DD2B32AE9545A1E262EDE0C2F2F40AD126D59150D5D718E566741427430964CEE53E5E296EF3987796B8FC15B0D2895A22DAB2CA41327D2AAA03A3D705FEF044CE9DD42564906AD16BB3EFD580EA08F2161804C40BFBD1A71D15E78FCBE60599510995CABC0F7BF1762CF613D563E78B3F380FE720B7A77F5C1A05BC59643AE6D25F9A53DFD663612A283B0E45E2701BDEE381E1C1B88668DAC6B5E8B54BD0A24A51A3177713EEEEB458096F73564D06AB0EBB34F6500FAD85124DC3D50D61D25BEFBA700B42CA5DC93C906E8A9373A09E87C4CFC7AAB00B47B9A4976A936404FEC25FB1CFB8CCBF79EC7BCF52704A0ABACA0F327DA00DDB339A6F46A2EAB4066412FFA4C06A08F12A007C82A34F1BDBF04A06529E59E4C3640DF7F83F3805EB24D00DA3DCD24BB5406E8A8202C99D853F6395703FA02E6FD2B005D65015D706209A09B614A4FB980D660D7178BE400FA0812EE9209E8F7FF168076418356B5081BA0A7F4711ED0DF6C1780AE6A43B8E83C1BA0272456B9C4E57B2F60DE8693C282AEB282CE9F6803742201BA99AC02998B63F11772017DB7AC4213DFFF47005A9652EEC95402E8DE2E00F40E0168F73493EC52AD800EC412A7017D4A005AB6EAAECF5802E8A6F2014D511C5F2E9601E823879170974C407FB05600DAF5ED2BBB441BA0EFEBE53CA0BFDD29002D5B79F764B4017AFCF555BEC0F27D17316F830074950574C189A5009DD85456892CCCEEAB2F6500FAF02124DC7997AC4213E7AE178096A5947B32D9003D3911B1C14E84D9A5E763E2D2DD02D0EE6926D9A5DA003DAEBBEC73EC332EDF7F09F336FE272CE82A2BE8FC8936405FDF0453AE6F22AB4006E8255FCB04F41DFD65159A387F8300B42CA5DC93C906E849D72336D8B7CA173995518089DFED1180AEB282AE3991013A32104BC676AD7281CB0F5CC6BC4DA705A0ABACA0F327DA00DDA331A6F4682CAB4016C5F1CD1219803E7410097201BD60A300B42CF9DD93C906E8893D9C07F4B2BD02D0EE6926D9A55A011D8025639C04F4E63302D0B255777D461BA0BB37AA1CA0BFFD4626A06FBF4356AD133FDC24002D4B29F764B2017A4277E701BD7C5F8D0674618106BBB71EC34DB777718FD8D550AA0DD0A3AB7E0FCB0F26615E0D0674DA956C9C3F938CEEBDDA5683E2EEB9442940776F24EB22CC825EFAAD0C401F3C8004B9805EB8B9D280FEEAA3DF90975B68AB74C76E2D70C32D9D65DD84A765D269F5F8FDA72D1836AE2F766E3E82A09000B4696FF539498FB9ABDE2580EE86D820275D1CDFEF7739A0CF9CBA8C3F7EDA72D5ED07870460D23479A19C72B54B49CAC01BCF7D89055F3F5DEE29C70E9D437E6E217AF46967CB43FDD1D575915B67FB7C36408FAAFAF3C000BDE5ACCB2DE84D6BF7E1C0EE53B62ADBB7213D0737F4EB84E0D080AB6EBFA2633CF3FC379763C6ACD1D8BFEB24D6ACDA86E7DEB857B68CF66D48D7EBD1BB2DA2EA85C92EC395196D80EED610532A03E8EF96CA01F47E24DC7ABBACFA267EBCB5D2801E71CBB3A5C43F7AF02CEA378CAE91968FD168C2B9FF9290D0BA21162FFC15317111B87388751698F4982C31AB90C906E87BBA2236C8A70A25584F39955188892B0EB81CD039D9F938F75F32BBC6E7F35761E8D89B111119026F1F35DA769037BA2DF7A6E4007AF5CF5B7125391393A797CC94A5FEE7EABAC8AD7399808E08C092911DAB5A04961F4AC6BCADE75C0E6802684C7C24125A3560752BC82FC289231770FFA383D9EF67FF4B427CC368F8F85C3DBD7CD6C30B3163D628C4C647967B5F04E64EDD5B5609D0C494156BDFB2954D75A167D13FA0EA464B951B00800DD05D1B604AB786B28A6216F4F26532007D80007D9BAC42133FD95625404BC5A44FD3AF3EFA1DDD7AB5B17DD690E03C4D9A7637EE1ADA9BFDCAFF4E0FD4ECF7A7B2BFBDF3F212F6694B292A260C1F7D3B131BFEDA8BC2420DE8E1A363743DFA749A7ECFDBB8E9B62E98FE8C7553DCA71F98C7CA9934F815F6BBFDB1F36752D8DFCBBBDE57AB5EC6BB2F7FC3CE7BFBA5AFE1E5E5053F7F1FD0DF29D1315ECF85EFACC086BFF7B2BF0704FAE2AB55B3593DD352B3917E259B1DA3F30202E54763D8003DAEB39316742126FE78D0E580967622E9434A6DF1D1BB2B589B53DB3FFDCA78D6F6E5B5EFC8F1B7E0E907E7DBDA97972B6DFBF95F3F55CA82961EA3F6A7BE30F3A10530994C080CF2C7BB9FCC40E3E6719876CFDBACCF50FA61C95AAC58B2D6566D7E1EB513F52D3AC6CF93F580543213B3A023FCB164849380DE76DE2D80EED3AF138328253240D6ADD98D944BE9EC0B84F49EF4D00044C784D99E357EFBD959F9080EF167CF07D774F7D6A3ECF01F2BB7324DA97DE918B7A0E3EA47B26394F8F34B7D46FADC53BF98FDD467A0E794AC65FEFC525DE818B52F7FEE795D785F9B347836167E3B933DFBD2E7BE924D5666F65280EE6A7DA1394A0CD0DF2F9701E8FDFBE403FAD3ED4E039A2A4E6F676A78EA007DDADCCFDE7E1CE2FCD8FC37BF67D6CFE6639FB346DCBC6EBFB5F1BE5987C53FBDC8AC583A975C26FD07F7C49BCF7F8537164CBBAA4CB2A20AF2351839E116DC3BF4559C3E71C956E68C49EFE1DEE903F0DFF14BD8B2FE0056EF98C72C8591B7CE6265C6C447300B82EA49293FAF08CF3DB2907D56DB5BD0F6C7BE5CF85BA97A366FD50023C6F763F59CF5BF49CCF2EEDF6306D6EC9CEFA82D6DC76D801EDBC97940FF74A8DA004DD62E694AF74F9FB594A456106F5F3A4660A7B6A076975AC9D23E43E757748C975D96052D3D26ED33D41694DE58301DBC5F90E54D7D66FE574F2128D8F58B4AD9003DBC83EC3E609F71F9A114CCDBEE7E40D375E919A4B6E2EDC4AD647B8BD6DE8266E74C7A0F8F3C3B8A3D8794E8D9E5CFB6F4187F467FF8E7CD522F602A73F2F401ECB92FEB7AFC1867027F46F97348D7A044CF5B59FDA2CA0D20B5A0BBD4C794CA00FA87EF6502BA9F55344729F1F39D6E013435064F6461F5EEDB010468A9E56D0F76E9434A30E51096363EFDDB1ED0D2878D3714019A37309DC3DFEA04D590B040B4EFDC1CF562C35158A0950D68A9FB83E04D1D840025FDE4AE32A0C774446CA0132E8ECC224C5C79B85A015D96BF98204B89ACDD6307CFDA1E7CDE16520893DF31B641146B0BFA74B677716467E641ABD5B3F2664C7C8FF51D4780B6777F507B10A0A53ED16A01F4D0EB1C3D7AE51E5F7EE40AE66DBFE0760BBA22403F30FA0D66E90604F8319F74598026B8F397B33DA0ED7DD004D9AA02BA3C78D3F3C78D21B701BA733CA674A92FAB2D0D3A1D76ADF84106A0F7ED45825C402FDAE51640F7EE5BFA136FFCD4FE78F989CFAE39A069E0E29BCF5683069B6EBDBB3BBAF56CEB19801EDDC17940FF7CE49A027AD7D6A3F879D906D69973730AD0AA6DA30A014DF9785BDC39A427E8E5C9A14F8393BFADD88CD4942C561E7D25D5184087FB63C9D092414C594FB7241303F48E8BD714D0F4727CE7E56FD0B8592CEE1ED61B1FBEB3A2940F5AFA85C4AB2EB5A06B15A03BC7CB6A4206E81F57C80474DF7EB20A4DFC62B7D3803E75FC2236ADDD8F9B6FEF82662DEAB34F9D675F9F68F33BF38AD09B70C4845BD82711F995922FA5B1F38A0AB578F08961080D0FC2A205BFE0E09E53CC1D21D782EE7B47578C9F7A272BF3E3F77F4483C6F5988BA341A3684C7974300C7A233E9BFB333445BA52839B645DFDF0CF5BB2017DE97C2A1E9D359AD593C0B2FECF3DAEB3A047B6776E90902CE85547AF29A02B72719465414B3BA8BD8565EFFE90EBE2209FEA132F8C65835DAB966FC0A7735656BF054D801E52F510B3E54752316FA7FB014D63472BBFFB178D9AC6B028ACB20602C9A7CFBF40A583848E004DCFE153B3C7A345EB86F8FBB71D786DE617A52CE803BB4F62CEEBCBF0C25B931DBA38EE4C7C14CFCC9EC08210E8CBEC9D9796B0F3AAC582EE1487297201ADD561D7CA1F65007AEF1E24DC2C13D05FEEA912A0FBF42BB190FD03FD70C32D9D586350A246FD62C12FB86B68C99AB8770DEB8D1347CEE3AD17BE6650A32880EB8B43A5A8A19AB5AC8FD0B040FCF9EB76D6184545DA4A019ADEF8345897969285479F1B839CAC7CBCF7CAB7E875730706E8837B4FE18917C7C162B660E79623AC9EE4E2B87368EF52803EB2FF0CB31A1E787C28F47AA3ED18758C796F2C43FD46F5583D7FF9611366BE3A810DB4B8C4C531E23AE72CE8AC224CFCE5D83505F41F2BB7E0CCC9CB4C5B6A8BE87A61155AD0D2B02F8A2EA03EC52D687A80776E39CA421DAD9FE2076C16F42FDF6F6483BE6326DFCE069638BCCF9F4EC682777E804AE585F8065158B57C23B3FA1A358DAD5E1747B81F960C7202D04753316FD725B758D0BC5D48531AF0A3F11E7A462849014D2F484AFCD926BF2F85E5D1E0380FA5ABC8C54180EEDEBB1D8A0A34F8FBF79D98F0C05D8C07F485959591CBCAFAF7AFBD3640DFDEED1176BCF5754D70EBDD3D585DF84B9D8CB6D52BB7B081407A0E9B348F6306DD98FECFBBDFC5D1310E533AC5C932769905FDF34F32017D535F5985267EB5B7D280A64F59FEE0D045E21A4431CB599AF80020FF5BEBF64D1019156A1B180C090D44FB2ED69D0A8E1D3A8BCCF45CF66F1F5F6F160D909A9CC9E0479690F501DD6F1BD8931EE3FE447AA02945C786A3651B6B60F9BE9D27405602257EBD0B675370F19C75DFBEC41BAC7E427277505D2A3A46F94E1EBBC05E00AC73ABBCD0F3C6F6AC9EE427250850DAB6F110FBBBDC641B241CDECE7940FF7ADCAD80A6766A9A100F5F3F1F68353A9C3A76D1D686FC7EA5EDCEFB059DD7B0490C8BBC909E476E8CE44BE9EC541AB4B52FB3BC7E415F6C9468509ACAA4FEC8274548DB90974BA182E42A91F60BF27BABD42AB9CD243B1F1B2424400F6C23FB1CFB8CCB8F11A02FBB1CD052BDA5CF1ABFBEB47D793B4ADB903FA3D456A429FD2E7DEEF933CAF5A617A5B47DE93A74ECF0BED3AC1F911B8CF70B7E3DFEFCDAF799DDDBAC515E94384BA4CF9AFD735865F18B4F319C0DBB0000200049444154B44571748CC5948E7201ADC5AE553FCB00F49EDD48B8E96659754CFC7A7FA5012DABE06ACAE4CE019FEAB8051BA087B5456C60D5378D3D95A5C1C4DF4EB815D0D5A1474DBF0603741801BA55956F65F9B134CCDB9DE4724057B94275F0441BA03BC4604A47ABF1E528310BFA97557200BD0B0937CA04F4920302D08E9477E3711BA087B6711ED0BF9F148076635BC929DA06E801D658E3AAA4E5C7D2316F8F007455B473D539A500DD214656B1069D16BB7EFD5506A077EF44429F1B65159AB8F4708D06B4AC9BF4E04C36400F6E85D880AA6F107A2A5B8B89ABFF1380BEC66D6D05B42F96DC296FA3D1B2AABBFC4406E6ED4D1116F4356C4B1BA0AF8BC694F6F564D5C4A0D761D7EFBFCB00F42E02F40DB20A4DFCEE8800B42CA5DC93C906E8412D101BE0848B8300BDE6B400B47B9A4976A90CD0A1046879FBD8950DE84CCCDB27002D5B7437642C05E8EBACE3608E127371ACFE4306A077EE40426F79DBBE272E3F2600ED4879371EB7017A4082F316F45F6705A0DDD856728AB602DA074BEE90B78F5D99803E998979FB5385052D477037E5B101BA5D14A6B48B92751506E83FD7C800F48EED48E8655DFBC2514AFCE18400B42391DC78DC06E8BB9B21D6DF0917478E0E13FF3E2700EDC6B69253B40DD0B7C9DB85A34C409FCAC2BC036902D0720477531E1BA0DB46624ADBF21788925EDEA0D763D75F7FCA0474CF9218E48AEE2171C54901683735B29C626D80BEB3A97316748E1613FFB920002D477437E661800EF1C192DBE4EDC25136A0B331EFA000B41B9BC961D13640B789900F68B2A0FFF95B06A0B76F43825C40FF784A00DA6173B92F830DD0FD9B3809681D26AE1580765F4BC92BD906E85BE52DF25E26A0FF2340A70B0B5A9EE46EC9550AD06D22645D83B938D6FE2303D0DBB62221B1A7AC4213579E168096A5947B32D9007D7B23E701BDFE92B0A0DDD34CB24BB502DA1B4BFAC95B43B84C409FCEC1BC431902D0B255777D461BA05B87634AEB70591760805EBF4E26A07BC8DBF63D71D559016859F2BB27930DD0B73544AC7FD567B69DCAD563E2BF9705A0DDD34CB24BB501FA66792BA09509E833B998773853005AB6EAAECF680374AB304C69256F5717E683FE77BD0C406FDD8284EE3D64D53AF1D7F388085362447FD7AF8D2BAB02753CD3BF3BB43879D68895B7D4771ED01B93715D4B357A75A9FAB2A575BC399CBEFD4FBE2B4042B03796DC246F7A7099803E9B877947B230F0163F663C8954FD0A64649BF1E39A22DCD73214535A86CAAA0003F4C60D3200BD65B36C40F7FFEB1272F46659151099DCA3808F5281E57DE310E357750BFA4C9E1E0F6CBD8242A3C53D9514A5CA56A05D980F3EEF2D6FF6595985AEBA908F3947B2201E4BD992BB25A39702B8BF6528262684C82A9F017AD3461980DEBC0909DDBACB2A746D721132742659794526F728E0E7A5C0AD7101F05729AA7C817C83199B5335C83388976D954574C189D482B17E2ADC10237FDB33FBCB5E2C34625F86165AB378D9BAA049AA5C845A01D0CBB66588BC09640CD05B36CB01F4462474E956E58A891385024201A18050A0720A30406FDB2A03D09B08D05D2B57BAC82D14100A08058402555680017AFB361980DEB801099DBB54F942E244A140752960B158401FF2791919C84A4F8351AF8752A140786C2C82C2C2A152A90085025577FE54D79D88EBD4750518A077EE281FD0050505B8BC750B52BF5C0CB3D100D6F345120A5C73058A3BA2055058CCB098CD5058E81705A05440A150C26CB1300813AE554A6BE402FD9B76C0A1FC2090B3FC4AEB79F4634B02DFD7BC894505A05028E0DBA4099A3CF50C222222A056ABD9DF28294C2693A5A8A808A9A9A9B87CF93272737361341A856C42816BA7004158AF8745A301B45A78E5E6409D9509EFCC4CA87373A0309B411634C1997A2AC19828AD54ABA1B258A0A4F38B13C1D91814047D44240C1191308584C2E2E707859F2FE05BF501B96B278EB8726D528040ECE7E7877AF5EAA17EFDFA080D0D655F7F36409BCD668B4EA76360CECECE06C1DA6412D119B5A913D4847BB1984D306667C3989303537616909509A4A743919101456161097009C83E3E30F8FA41EBED0DEFCC0C98743A1428BDA08B8F4390AF1F7C755AA8345AA8B41A28B5DA52B74F70B6444402111140743D788585C12B2404AA901028BD451C784DE82BB5AD8E3E3E3E08090941585818020202A0542A4B03DA6C3643AFD783404DD6335927220905DCA500EF5FC68202685392A14949863E351586D45418333260CCCC80456FDDF49525A512E6E060988343D88F29240486C040688C4644FCBB0E3ABD1E3941C1D0F4EA8DC0C828F8984D50E7E7C3AB201FCAEC1C78E5E7C12B2F0F8AFC3C40FA75A8544215150D556424D4D1D1F08989856F5C1C7C6362A00EB6C6B0724BC65D5A8872850204646F6F6F10A8A5EE0DD6FFC882A67FB04F46F2D915FF5BC826147087024529C9283C7F1E0567CF409392027D7A3AF4599930E65A37FFB525B274C3C3618E8884392A1A0808802228088AA06078F9FA322BC370603F14EBFE8141A984AE556BF8F7BD0521A1A10CAA068381191D0672931414C0929F0FE4E742999909655626149999405151C9F5140AA80283A08E88807778387CEBD54360B3E60868D4187EB1B1F0F29617D3EA0ECD4499B55B01EAAFF4437DDADE2850588ACD196135D7EE4E70ADEECE505888FCD3FF21F7E851E41C390C436E0E4C4545301615C1623094AE5678382C71F130C5C533382B7DFDA0F4F385CA3F805918F4E3EBEBCBFE6F361991B6E833E84F9D623E65EF21C350AF5367F6A9C8014D5F845AAD967D19D20F8D961B8A8A60D66860D669A1C8CA84322505CAA42480DC2AC5060A7B48BCBCE0E51F0095BF1FBCC32310D8AC1942AF6B8F90D6ADA10E0CBA56728AEBD66205CAFA5AB301BA16DFB7B8B56A5280BFE43569A9C8DAB717D9FBF7A1E0CC19180B0B61319960B11F7CF6F1016262616EDC18A6F8FA4040A075A08F60ECE3C33EF9E887A04CFFE790A68E9C7BFA342E7DB21006F253C7C42062DA2388898B431059D90A05FB1AA4B114B2A4B9354DB02E056C72E9E9F5301A0CCCCFADBC7C09CACB17A138778E457F481301DBFAA34250CB1608EBD819611D3B22A041C3127F61A908916A125D5CA6562B20005DAB9BD73D37C7414CD0351B8D6C902EEFD449E41C3C809CC3875074F162E90B2B14B0D0E71BFD040642D1A4294CF51BC01C5D0F0A5F5F366A4DBE377B20739F1C81D98B2C5A0264B1FBE2C2CA1F91FEC7EFCC1A56F5ED87F80183101919097F7F7FF6A9C8E2A48B7F08D6F443E32B1CD6E4FE90029B8FC110D429AF3239095E17CE4371F9122C3939CCBAA6E8117B70FB444723B463478477EC8CD0B6EDD80B4649A3F05E5EB6903EE1C7764F3FAC0BA50A40D7855676F21E39902946DEA4D1C2585800437E01728F1F43CE9143C83F791246F2F14A93B7372CE4B7F5F165111396F87858E2EBC3121AC6804C3F7C60845BC8DC4A2658D3710232C1563AAA4D7529C8CEC2E90FE723FFC001C0CB0B010F3C8406ED3BB010252A530A44DBCBC40ED8046229B0B91B845BD8DCF236190C0CD0CAD4142BACC962D7E9A0A0414C72D1482C6DA58F0F825AB44448BB760869D90A3E915150F9FB434523F36AEBB66402D64E76C63A76BA00741D6B70B9B7CBAD4F02AF36231DFACC4C14255D46C1850B283C77169AA424E6B6B02502504020CC0101B0909B8106F6222381A8682809522A95CD4DC12DE5B280CCAD643E7022851AD589A09ABA67172E7DB304FA9414A07113D47BE021C4C4C4203030D0666597779FE5019BCAE5C026384BFDD7645DB30147830126AD06484B8322231DA081C6BC5C280A0AA0A01794C48543163459D734C818D8B429FCE3EBC327228241DB9BFCE464610B60CBED8E75369F00749D6DFAD237CEC165D2EBA04B4B83E6CA15145DBA88A2E414689293A0B9920203455A4806D228B2822C624B6808FBBF223C1CA0FF878543EDEDCDDC16DC4AE6BE64FA5D6A2173204BADE4F2C04575D469B5B8F0E30AA4FEF13B2C14EF3C78281ADCDC97CDC0A2807F3E122EA759A503E33C8A89FF5F0A6CEEFEE056361B70341860D4E960C9CB85252B0B168ADBCECD8532271B0AD2C9EE8B42151808DF9858F8C7C7C32F3E1EFE71F12C3AC42F2E1E5EE48B17B096D364752E8F00749D6BF2921B6680B25860282C40C1B97328387B1645172F409B9E067D5616741919304BE391C9EA8B8880393C0216FA090B83323818CAE01078050430284B812CB59009CA04633E4B4A0E90A54DC32DFABC94149CFBF20BE4EDDDC3FCD9C1D36720BE6953E6DEB08F21AD6CD396056CEEBF960E3812A0B90F9BC39BFE4FD129E6DC1C6B485F4EB635A42F3303C8CA2A6D5DD38B2B2C0C3EE164514722A0491304346CC4AC6D5FFAEA10B0AE6CD3D5DAFC02D0B5B669AFBE31E9E73D4D0EC9397A1479278E337785213F1FC6FC3C16FE56CA4AA678E47AF560AE17C306F594814150F8FBC3CBDF1F6A0A6F2B0E7DE36E0B1E69C1FDCCDC8F2C8DF3E435AB8C3F96EA4E904CDBBF0FE7177D06435A1AD0A60D6226DC6B736FD843DF99A6B587B574C091EAC181CDDD1F521F36738768B5301516C24CE184458550A6A6C22B3D0DB89202486646521DD9CB2D3010AAA060665507B76A8DE0962D11D0A00194EAD23E7567EE499C5BF3141080AE796D56A91ADB66ED151522F7C40964EFDF8FEC03FB98854C11182CF4CD7EE66854141BD033366A0C0BF99069504FAD869A42DD24A16F3C26D9DE6D611F785F1520DBDF249BEDAAD1E0D29A3F90BC74295B12C967F418D4EFD587B937E8055119F7466544B49F23207DD1F170BEF2FCD734E8C880ADD382061CD917495626BC2E5D82F2D24520230390FAF269D20245AB50644B501042DA5D87B04E9D11D6A103BC838285755D9986AB057905A06B41239602088594198D309B4CD0A6A723FBE00164EFDB8BFCFF4EB14FF0526E031EFAE6E303456C1CCC8D1AC3D4B021E01FC0DC11F63E64F2F1961769C1A12C1DDC73A5B464B1E6255DC6D9AFBF42C1BEBD40541442C64D408376ED58ECB3B3EE8DAAD6D51ED6F6C0E62E101E1D6203360D389A4C50141640917419CACB97818B17009DAE24A44F522902764093A608EFD205611D3BC13F2E8E59D74AB50A8AE255FC846BA4AAADE8B9E709407B6EDB5458331B94E9D35FA301CDD8A309218517CE23F7D851F64353A94BB92BBC54B0F878036A6F202418888D87393E9EC18E66ED1194A533F6ECDD16DC8F2C0D7DB3ADBAE5C6491A2C7AC36040FA91C338BB601E4C14F6D6AD3BEA0D1884D8C68D59EC33D5DD13922D24B138F6BAAC093357CD70A401478A27D7EBA1484F63E17C484981222F97019B85F4D94DF2A10891E096AD10DCA60D0BE9A3D996E476A2B03E451953863D411B5187CA2B20A67A575EB36B7E06455AE8737260C8C9812E3313F967CF300BB9E8C2056BA445894F814D83869F3F2C01FE405838101BCBDC168A9050781547599435B027755BD803B932BE63578845D0D31616E2D29AD5B8B26C29E0E303BFC14311DBB317A2A2A3AF8A7D76C5355D558674C20CF7A34BDD217CB091FBB0B94F9BAC6B364126ED0A14A9A9B0646640595404057D05D10A7D92681AA5B737029B37476093A6086A9E00DFA8683608A9A6A52BA9FD45AA110A9439D59B2F9674A5508BAD4959D018C552A31ED59AC5338EFDB50508CFCD42784116FC32D3A04DA655E052A0A54127C9C3AAF55221D3DB0FE9F4E31B087368280B81A3F037F8F9C14BA5663F349D9AA22E54DED615B4C8C76C3D669D1CE2A5F482822D8A4F0B87172F1E5E5DEBDB5B006F830E26A5174C5E2A982D66B65646E35FBE05CE9E4672783492FADC0ABFE6AD1010140C259B61E851AD765565AC6E7E9ADDC856232B5ECFDA0CB389A6A45B63B0E92B81A69E1BF4D675438C06EB34749A2064214B3A3B0BCAEC6CB63E76A8B610D1BA2244E98BE06B92ACDF4EF1D7E1E12C7C8F061C8D91F590191C8EECE070E4FB07C1AC28FED2F070BD3CBB355D5B3B6A8A06417EE8533F823D6F5250B3D5ECE86DBD33390BBF5FC842C7D870D75E5D94566905582C2EC5DAA6A6407FFE2C74E7CFC13B3B0321857908D2E4C35FA729B5959339300886C828E8C322A0090D439E8F1FF2BCFD51E0EBCFAC6495DA9B0DF0B1D8646F1F2B8CD5DEF02A9E92AC2C863114927568D9035CFD4F31DDBB3EE932749BD681D656F4EF3F90458EE84E1D47836F3E829A1649EAD403598937C32F3A063EF449AFB0AE0256B39275CB2EF61FDB2C4702B6894D003291CB83AD23A287516F5D3384AC6B82362DC5EAA7D3205857C47EFCF36843832CA833D3A1CCCFB3EE3A539C742A6FE4F907B11F6D781454F10DE0DDB829BC1B3606CD7C64ADECE96FB79AD5B095AEADDE64C6FEA434BCD5BB150B43950E76B31D55A8E1379E4FC5A1423346B76B52E90B88139C53C03649A4B000DA93C7A0FBEF14F417CEB2B591CD05F930D9AD636C51AB610C8B80AE5E0CF451F5D82E2134B00716FE56128F6C8DB8F02D8E4F2640ABA1F252318B53E9A58492C0267963973CA7D50F66AB82144A6746C1F62DC85EFA250B4F0B9BF6187CAEEB84CCEFBF81FEAF3F60F20F80B9FF4084F4EC83B0F00878FBFAD602C0145BD67CA9DFE2DD6208D6F4C35C224603B3AAF5E4DED2E9A1B7ADD0A7835943A17C45405121BC7273E19D7E05DEE9A950A7A5D29649259D931E7EF2550705B1979E4FB304F8346F019FE62DA18E8A622F646B1FB856EDEFDC735453CF2E3218F1FEE68378B76773361BB6D482FD04E8C2C2426C387705C70D2A01E86A6865DBC83FADB6967C19DA13475174601F0C17CEB14F598B5E675D8A536209997D7CA06BD018BAD838E8A26360F60F601690978F2F543EBEF0A14922B4146771289CD587EC0D959AD6B4A091FE92352D6C037BFC5E3DC482620B1A190CC8DDBE05053F7CCBC2D17C060C855FFF01C879F16920330386FA0DA11C320A11AD5A233028987D0DD42A0BB0B8CDB90D2C8DBFA63D16AD6B8810ACADD6359B3443A17CF47FB6A4AA0E26AD967D81C1A0876FF225F8255F86F79564280B0A4AF76E5AD889D62E2137575C3C7CAEEB08BF36EDE09BD04A58D6D5C0017E0902F47B1BF7E38D6E8DD8AE2AA5B6BC2240D3A6B1EBCF26E3A4C9072385055DD234C533ED6C0ECECA828C03963E614D14736C6271B0BA9347A1D9BF17DA83FB61CECAB05D8F3D94C52BBF59542A18C323A18B6F004DC3C6D0474431CB97ADFC563C63CF9BC05CBC14A7756A3501D93A638FBD858BA15CFCB4556397ABDAA5084034953BE7E07E687F5AC696FEB45CD7115EBD6E84F993796C453C43C72EF01E3402016929306EDD04FF9E3720B0F78D564857B67DAA56CD6B731607377787144789306017478130EB9AD6BF2E5E039B7E67BE6C8A773719A1CECC60B0F649BA0475F1D88575853E73699BD9CF0FBEED3AC0AF4B37F8B668C3B605A3303F5A6AB5CACF02FB40A299AB66902BADA6F4C9EA686C0D59D01BF7E3F5CEF5CBDE34363F3F1FFF12A0CDBE18D156B838986390A640275D8621F9125471F150C735280E5F72F4F967B57DC84F489F9E3493CC989106DDF163CC8FAA3F79AC54C81441875C1666B537CC3EBE30C4C4401B5B1FBA9838906FD91A8F6C1DD0F3F6F6818F6FB1DBC2A704C8CC6F45502E8654C94083A3BA5647F7937F0D8BC50AE8ACD3A7A0FB693954278FC1141E01D07A15470EC144BEE8DE37C18FEE75F3BF6C1D0C655434EABDFF91D59F5E237DD1F2F5299DB3B89F4997542D7687988CB49B0C59D9D68D0AB8754DFF27EBDB4481009A42F8A624C1273909EA8C3478513CB6410F2585FA49D75BA1094AF51BC2A74D3BF8B4B90EEA7A3150F8F9B3D98F647997BC142BEA6BD6BA1AD252A13F730AEA060DA18E8967D017EE148000FDC1C67D78AD737DB664EE55BB7A73409F30F962445DB7A0A9C39B4DD09E3C8EDCC51FC3989C04DFEE890899FC109B8A6B75D1493A23B76CC8A2217F714E16CC140277E922F4E7CF407FEE344CA9A940F1483B1B13527BC3E4EF0F939F3F4CC121304446431F6DF527B305EB556A2B907D3894ADAE0BA9852CB5924B8DFCD6602B922C68B2F8B25253A0FD6939BC766F8785E29B556A28755A1849AB464DE17BE6141445855637CF4DFD103E78147C8BD781AED55674792C97B8454843BEE093D57F6D80D140EB6097F65B5BDD21D615FAC898506567C23BED0AD4A92950D11E8E5A0DBC0A0BA1D0EB4A59D74A5A08AB49337893DFBA7E43A8C223A0A490CDB0705BFCB57D1B509DC87D95BDF8136837FC0375424B040D1D0DDFD66DD9649B3AD96692B62440CF910BE8E17519D034384333F00EEF47FEF225305EBCC0769056F5E98BE0C123E01B1A566A8495DC15C6B42B30A5A7C2987A0546B2B82F5F80293909661AD82B4E168582597FC6A06018E9FFA1E130444432178685F6D82B5EE18D222C4A7CC8C551172CFC4DC57E4AAD8D4C837B1EE643AEAA2D582294850123373B0B85BFAD8472D33A2825DB6259945EEC6B83606D080E81B66357F8F6BD0DE131B108A0DD588A17F477BA1E35BD003B7748C9824F46161D422E11F261EBF556DFB56D3BB06277084582786565B2A810554E1603B63A2F976DC22B8D1051F8FA41151307557C7DA81B3686574C2CBC22A3D946BC5E926DC1D8347D9D0E39BFAC8071F5AF5090BBA5452B040E1A09DFB6D7313F785D4E04E8B972007DDCE48BE175D6C5618573D1AE6D285CB502A6CB1761F6F282F6BACEF0EE773B429B25C0DF3F0096DC6C182F5D80E1FC59182F5F84293303A6AC0C9873B26DAE0B66257B7B431F1E69FD098B609116E6A0600664859F1F0B7763B3F6D8564E3ED6752E282E9962948B07F628D2823EDB4B5C173622D7D2FE6C5DEFB9202F0FB91BD741F9D76FF0A2D9749244DA6AEBC5A2B04317285BB743786C3C42C3C3E1439FDD5EE4DBAC596E1DF7376419112236FF7549FCB57D848841AF6510A7F5AF09D84A722715E4C12733033ED95950676740491BF24A1259D7F4E3151109755C7DA81A35818AC2F922A3A1D5E99075EE2CF46BD7C0F7C06E284D2678356A82C0E163E1DFA96B1D734F956E7502F4BC4D325C1C04E8617511D0DC723EB817052BBE8589A6DA9ACDC86DD711BA6E8908F5F5454056069417CEC194960A4B411ECCF9F9B0684AAF6D419FE0BAA87AD090BB22321A165F3F16FEA6A0D0265B7445692B9906F5D80F597F3CD28206F88A5D15B5CE4AAE8848346DDD6C4651413EB2F7EF8162D5F750A5A596FA12D1D48B456EF7DEEC333B242A0AA1E111F0A3CD5DC9075D3CC5D9FDD0ABA157B08F10217708A8AB9BADB1D7B65D6668B20CB9447874089F3CA38399DC1E9A22280B0BA0CEC9826FDA15F8A45D812A37A794750D6F1F288BC3F994E11150346A8A82D070E499CD50EFDD89C09347A1341AA18CAB8FA029D3E1DBA2B5DB16BBF2F4D62240CF9703E863265F0CAD6B80263853F4C0D1832858F635CC17CF5B07088382A08D89876F7616545A0D144603406B224806502C5E2AE8A3A2A1896B80C2D878188343016F6F2829F4CDB738FEB838D282BB2EAC16329FB157126D61756DD742B745659E8EE2B6D06A34C83CFB1F14CBBE82FAC2395602B9890AE2EA233BF146F8356C8CD0C828048784C22FA018CEB53D8AA3323ACACD2B05368DBD14C761B3BD268BF770249788BED87F6D28768710B8597488566B0B0B5515E4C32FE512FCAF24C33B2589C1D796A86D680B342F154CDEDE30F8F94395970B75A135EC4F41BBA64F7F12BE2DDBD4494813A03F940BE821750CD066B309FAD3A790FFF90258922E3BECDAA6804006E482468DA189AD0FB38F759121DBBA16148BCCA22D7C6D6E0B1ADCB3F9908BFDA4D5B1C890C39BF1C00CD65D5334C8A6493A5F7F0AD5B1C3CC6991DBA00932FBDE8EA0E87A088F8C42504828DBED9B74AF5571D01ED226D23544C8F5C736D3B5C560170F38DAE2AFAD96365BF0C968648B3BF9A52621E0E279F85F3A072FDA12CCC17D31483FFC147CEAA0254D805E2807D0478DBE182C13D045855A68B43A0FE94E55AB067542BFF42468BFFA1896CB763B5153589005285478411B1C0A4D7C431451F85B58048B2AA019792A6F8AB690FA90A5037BC5F1C8CC8F4C33B468D69E6BA7D5AAD52A0405FAFDBFBDF3008FA2DAE2F83F7D534880449A020A22F60E4840408AA4808A58F0292A3E8C140141A58874E9080822D828FA0011450445514A22A0204BB161C702811084501292EC6E92F79DBBDC65B26C92BBB39BD9C97BE77E5F3ED89DB97377FE77E63767CE3DE75E9F5EEDC952CACBA3398BEDFA44F4732DEA13B2CE4E934F7FDD2A847F63C591FA8D70AA5922626A26208E6EE4D8589121E94CC0A9E8D6F7F30F0460890847748CF92621A2688DDCBC7C918DE9CFA28535BD5DCA19FACE0D389E7587882CC773F388D01C2334D748C4F1A388CA3A8CC8CCBF6039FE0FA2838A11EEA1DB82292AE4FE47E1A8DF182567EF177F9E8751C70A090E465434196ACE85822B2A04E8F95B147CD0DF7B01E8F90B5663F7DE5F2B6ADBBCDB4B4A105662478FFC9FD0B8F8142CCE99114A95ACA2106CB35BB0BF3802A783C2702A380245C10485B0B3E9D261622E5EE79F73404F264C0867C5390772A5E8D0A07E2D0C7AF21EC4C645EB3EFEB17F4EE2B537D762FF1F87751FC3AF15455C6F311CB6025C6ACB46883D1FDF144522343C122111D10809A389F94344B243A0D292AFBBB6319EEC77B75F4FDB1F07FBF6DBDFB1EC9D0D3876FC5C04913F8E5BFA189423E09C42C439F993336780FA4C84F8151789BFE2624A8EB10BAB3BB8D88ED8E242C4C2817A4185681B968F8B424A4FCA46C7B321083F86D4C0A7E117232784E658A1368C7F00FBAA595C6C34BA776B83962DAF563A14017A812AA0EFBC522D5125ADEF74444706E186ABAA66880C5D5821B602D4CF3B826A79271173261FE1793658F21D08B39DCBAC729400C7118AC325E13858AD06F29BD4454854C4D9013D9A45CD99C156FA35BBF22FAA5FFEB023FB583126BF9086F8F838A50BC1D34E070E6663C2C425A8573B048DEA53E240E08B00344D689F9F87429B4DACE8425993A194DA7E16CE81FA955FED29142EAC97660E0CD44F28B3DD0D9BAC7877E5665CD3340C71D58C9A40EA9C61730ED6CE5C0211DE576043C48F99B830EF24EAA21009410E846A6E0F7B6810F2A3C2608B0E437E4C148E45554776543C0A23AAE6245879F925D8F3830D5D5313D1B54B2BA56B8400FDEA56450BFA0E45403FD1773AEAD50AC1E07F3B97E1A94AC519C85F8282FC429C3A91879339A75178E20C824F1620F474212CB93644E6D91193E780E58C1D4167AFC1E2F82814F5B809A1B5AA39012DE07CEECC8DF485AEF8280FD6EF6C98E42BA00F64E385494BD0FAE608DCD9292AE0DDE87C9DA68845070A0B9C596F1476181E118AD050E703D1489DDD051935F3048282C331DB8480DEB8D18A77DFDB8C86E9E67E00001894494441543EFF8A41E3866AAFD7FEECF052EB38163B23721C874F2274F92E716F099B3B0828B484222F260C6762C2504070AE168E92B84884D78C415C8D18C4C5452322325C844D06B2AFF5689379C481D90B4FA38B97807E4D05D0DF392CE8AA08E8BEFF0380B6DB1CC8CF2F407E5E210AF269E219FAA3D84F3B82CFD81156E84044810331A76C88CE73A0A44E2C42DA5C0A4B02A56007F6E291807EC147401F3C908D892602B4B889CF3E4045F85709101C1C24FE020D67FA6D12D0334D08E84D1BAD581940406B812616277014A3202717451B7F4648E649E4C685233736028591A1B05B425014158E104B1822C2C3106E0983253202515116444653D62C256605F661EC0BA0535313D145D1822EB03BF0BA0AA0BFF502D0FDAA38A0497CB2A2C50ACD8E22D8ED34E94C110A690E8342BBB0DE68E0ACC85E04388A10161484A8B868C4D58A4374B5489735A7A713FD5147027A828F803E70201B934D0868A911DDE8668A7891807ED1A4807ECF4480A6FB8906A04F669D405E4E2EECF4B619162CDE88222268D2AF3084478489C1B4F070E71B122D18E15C34422E1251F9EE427FDC8FF218D2822640A72A029A5C1C6F2A01DA6E4117450BBA7FBFAAEBE2D07608419ACCB44F567F89C399FFE0A1B414016CBAB808D0B6429AC7C019D369B1842326360A9648CAF80BEC1A7812D0E327F8E683260B7AF264F3B838CABA59A86F263DB70873973CEBCFFBC9EB634940CF78D17C3EE84D9BAC78DF4480A6689282021B724F9E41C1D9882FB110B18073A8B09245886AA8762A5C67975435D7863BA05308D0A9EA3EE885DB147CD0DFD82D485504F4804A06F4BB6F6DC0E2F96B111DED0C679AB3E419D4BD30017BBEFE19C3FBBF5C2A72416EA3FDD67DB00D2F4F7BF7BC7A15DD89542F2BF3181EEDD75500BB5864173AE7DFA50B8D404E6E0DBAB008CEDA550F2A3A76656C97801E37210D357D1824CC3C908D293A004DC0ECD9750C6AD4AC264E6FE088FBD1B2EDB5429B76D73C810B6AD7709D76EF4177A1437233B14D3C045347A16682736053BBAD3C9DCC06E869260474BAC9002DDD1CE44A74D00AE6414102C602CAAEF0D3B3095A5578922FED752B2DE8E4D444A428029A5C1C8B54019D72855A14C7C0FE956B4113A0A9DCF77047F1EFAD573E8E2DFB5E1780DEB2710F068EE8E1D265C023D3D16748775C755D2301E8DCD3F9E7D52BEFE63F7DEA8CB0A063AA4522A59BF3A9F7CDAE5FE0B0533C69096AC4C7A2C125755C3E50BA9608DADFEDFEADD4619B5ED550C43F1A5124A0C712A06BEA8FE2C83C988DA93A013D67F20A4C7EB9BF385DEA83E726F5120FD17B3B0EC7CA0D535C32BCFED26A5C7E7543DCDAE1060168AD253CE2C97902EE54AFBC427D4E7D2FFB7DFFAF993899E3CC44A3D764EA7BF7F2EDAE5F4BC504D7B930BEC2762AEA3B69414F9D613E0B3A7DB315AB4C6241938E72C057C651D377EEF3CA54554BB9ACEBC405E8944424AB02DAE1C0621540EFB55BA00AE8412602348925A1A007D074E313A00930543E5BBB1D5347BF853BEF6B233E47464508EB9020202FA8158B3FC391C3C7C5F61FBED92F1217464C7CB494E558D1CDEECB7609E831E37DB4A00F66635A25035ADB3F7A01AD85FEDE9D3F63D60BCBD1B8E945A85E23465864D437ED3ADFE49294FAF0E77D7F8BD8DCEC2339F8F3F7C31830F43EB4B8552D36B5ACBE91809E6246406FB2E283F70317C5519666DAE88EFF3520BB9FB30474923780B63BB0E44B0517C71EBB05C98A16F4600301BDF895B578F3E535655AD065017AD9C2F5983FE33D51AFBCE20EE85E778F47FBA49BD1332D455413EE8F43C7F058FF3B5C87496E31109FEC98233E2F9CB70675EAC5BBAC6F5FC0AB5A57027A941F003DC347407FB16137664F5C8E79FF19E6D1822E0BD0546FDEF4F7307BE1900A2D5B2DA0E74C7E0794C94A6F4DD56B563BCF2AA7F6A80FE72C7E06D562A384E5AD7D00AB6AEC693F023482C331D98480CED864C56A1302DA17BDAB5A5D09E8CE29894852B5A0ED0EBCAD0AE82445400F3100D01FBFBF15F5EA5F809D5FEEC398E9BDC52BB22717873BA0572CFE5CD4A37D474EEE25EA51D9B5FD2711FBDCEAB6EB4AF5BB27405F50ABBA184DA6927DF8385AB5BFCE94807EDE0F807E5127A0FB3E3005575C7B09C8DD90D22D11F73FD249844AB9BB38DC01FDF8BD1371CD8D978A7AF4207CA44FAAA847EE0E59BA746F5DAA9FDC01FDFDDEFD88BFC0E9DA292CA089E71DA506102B1BD0934C08E82F18D001E7B916D09DBD00F47F5400BDDB6E41D2E56A3EE8A79FAC7C1FF43F4772D0A94B0B217A932B1A887F5500FDE76F87CEABF7D3F77F62E4A0F90222D2AF2D7BD313A09F1AF900A2A29CCBD253A1412D0904FADCF6EA3434BAEC22B1EDD60ED7E39E073B20B6BAFE946B6FAF2C69418F1CE7BB8B63E614EFA338C8553179E4620C18769FF8E91736A8E5F2BF5704E8514F2DC0B0F10F8B7A752F4A404C356782CCAF3F3AE743F9FCA31D48A85DA3543FB903BA76BD78DCD8BCA94BB6C8280B2E6A58CBF599004D83BC34A776C34BEAA0EFD3DD41757C2DD2829E38DD7C3EE82F365BF1215BD0BE76B14FF525A06F4F4944E714B5280E1A245CFA95828B8300DD5911D0CF18006852CA134CDD0709E50022EDEFEE83D6AA5DD6364F80FEEDA703E7B946C8C27BAC7F57F1B0D0BA38DC7BB4BC6D3EF5BEA6B204F4737E00F42C9D80D60E126ACFCB1DD0DA814095680CF701623AB63BA057BEBD110BDF1FE57A70BBF7BDD68276D7BCBC6D15F58F04F40B2605F41A0674455D58A9DBB580BEDD0B402F5301F42EBB05B73755B3A0870EA85C0BFAE3555B8590A977B72E25280DC88D7DFAB552DF692306D2D7EF425E5EFE79F5CA83371DF3930FB6E18921DD85CF92CAA3778D455EAE333D5500E2E18EF8F3F743B8AF67475C7C693DF17A3EACEF5CD7F6071F4F466AB756220C8FEA2E5E3DB6522F0409E811E3D250C387288E4399D998AD03D0D95939220C72E838A725EC0E68EDE767C7F544F3565789AFA8DE2BD35762EC8B69E7D573388AF055C6B7F8FDE783CE70474D79A2C7244C9ADBDFF516336DCC5BD8B96D9F6B0F314878FB4DAEBEFF27FB0486F49E85FC33CE19175BB4BECAD5BFCF3EF192685FCF8C7412D0E3A799CF82DE9A6E4520009D73EC94087D3DFECF29D44C882DD54F957A1398F0E012D09D9213D14911D0850E07962B01DA664127450B7A582503DADFDA5328DDD2373E11376CAFFE5D51BD86337E57164F0381E5FD06772B9942C7EEEDD9A19445E7EF73D01E4F027AF8D834D4F0210EFAD0C16CBC34D57B1747659CDB86755F63E91B9F62E0F0FB85CBA4569D73B1D42A96B7F637B95BC9DEF66F59E727013DCE8C80DE6CC5DA55C646711CFC2B1BEF2C5A8F5EFDEF100FCF63474F8AFB8CC22169DBD123392E296F68DE14741FCAF048DA264353698A857DDFEC2F25BBDC46061485B9D25BADBC2EC865291FBE141E2B5DA0DAF04BD91ED5A37249937AE7DDF7FEBE8E25A03B7A0368BB03EF6C57707158BD00F4F02A06E8BFF61F16373F95EE0FB547D32B1BFA04E8A9A39688812E59FEFE230BDD7AB4F38B9F53E5A291801EE623A00F9B08D0F49093A5636A7397D54DDF790BE837E67E88DA756B9E5DA710C2BA6BD8A88E6BC05845634FFB48408F3529A03F3218D0145143209403F152331A079A33658548F4AA5D375E44D14C98D5474C86F4F66BEB70C5359708781384BB3FD81EAB5764B800BDEFBB3F109F108BE726F612F75397C4C178B84FAA00345D1714563969E4225C7BE3A5221B91004D6F4F140EFBD9DA1D3879C2191F4FE3481FBDBF55D42BEBBED77B1D94554F0BE88E8A1634F9A0DF55057447450B7A44150374451D411714CD1BE029E1C1535D4A035FFD4E866B53F3C42B85EBC3A822013DD40F809E63120BBA3CEDF272F3854B431BEB5C91D6ABDF4987CDE64CD3BFB871DD52C0AFA86E59DB25A0C79810D0DB365B611640D338C2DE9DBFA0FFB3F708AB973EAF7C6B83C835A090594A4EBAEC8A06221C72D1AAD1E78D3168A19FD27210868E7DD8D5F734A651BF612D91854AF378C831244A446A72797DD7C3C2DB87BADE6B425B4F02BA437222BC01F44A1540EFB459D051D107FDDCC0CAF541FB43ACFFE56348403F4B80F6C1074D16F4DC69E670715485FE92801E3DD57C3EE86DE9567C6C120BBAAC815E02B476905F05D09E069DE9812DC710C862BEA8412D3CD83B091F2C4F170964A3A7F51613FE7FBA663B766CF91E1D529AA1634AF34ABFC4B480EE90AC1EC5F1DE0E05170701BA8322A04732A02BBDB3CB6B4002FA9931BEF9A009D02F33A095FB52027A944901BDAE8A02FAB6EBFAE0E2C6CE37D04EA9CD71C77D6D5CE1979E004DAE8E0617D776F51BAD2A44EE904307FF41DEE93398396119E62F1B2E129A32FFCEC6964D7B71FDCD97E1C616972BF7B59E1D25A0DB2727C21B40BFAF02E8AFBD00F4F30C683DFDE7B73A12D04FFB01D0F318D0CAFD2201FDBC0901FD65BA1546039A9284268E58245C1904C823878EE1C509CB7073CB2BF0EAAC559830BB0F12DB5E2BC25229DEBD2C0BBA7B876158FCC118D10F1116E714A4B27802F4AEED3F62D5E6692E88BB77A0FB203E65FB6ADD1FCA1DEEE58E5A40B7F7C2825EA502E81D8516DCA668418F1914581707AD8442E174B2D0C08176D4DF4B5D3DEEEE29E142EE6844ACB38A053D78741AAAFB10C59175301BF3A7FBD7C541A174B22F643FD1EC76349B1D85D2D1E010CD52E89ED823B7D179934544AFB0142E4759829E2653D26EA32880FC3305E78DD297D7877AAE1109E81153CCE7E2D89E6EC5271F181BC52135ECF7D0541CCDCAC105756AE095FF0C135FD3140D1FAFDAE69299C261292263E7B61F5C619414F238FDD541E27B6DF82CF997DB77BE5984ADD2B1E531E5C1A81ECDAF220B0D1252DBE4E7166DAF1E23C264FB3F34557CA63059F79C0A3DFD5F511D09E8764989B84D11D0857607567FADE0E22040B75304F4D800039A468FAD5FFD284685A9D0D35926915424A2EAF6AA00E8A7FC00E8057E06F49D6D9EC6AC3787A051930B21FB893E5318160DDCDCD769840849D4CE48487D42BE49E9BB6CD1FA6A74B9A73506FF7B961885F7349F0AF92FE5B6B2E6DBA82C400F3729A03F0D10A055EFA9B2F6F36425FBFB7EF6F537AAD4D702BA9D1780FE5005D0DB0B2D68AB08E8F12600B476A4F744CE69BCB5E063116E73ED4D4DC4BC1BF44AB375F35EB18C0E8DFE535CE6B7BBCFAD44DE29B585784253ECE68EADDFBBF46F7DDBF5C2BAD35E349486FCEBD9701DAA3773C252D196AFB3A3A974BAA77DA48B63A01F00FD9A9F01FDFC53F3C572474F3CD54D845A757BA09D6B647DF9A2F57865FA7B689678A5887796912F14A7FCC7AF87D07FE8BDE27429DDBB41A33A98F2FC12D18FF49AAC8DE0A0FEA5C996562DDBEC9A44CBD3844833C6BE2DDAF6573F91055D121C8E612604F48E742BD6575140533F5DA9993296AE857B1E6A6F58D8AADEFBD0BD9E0474DBA444B4F502D06B5500FD9517809E60324093505A2B8A42712896B2E60571C2BAA6F932283599C2E32894EEC3151948BE2B110FF64EC6DC292B047C699F8DEB76E286669761C0881E6262797A2D2338D320832C54C75668C77303E6056C850F09E8017E00F4EB7E063459C9CFA4BD040A7BA242206ED8A8AEF83FB986E875935E69C94A769FEFDBFD82F734CA4FFBC8B4FBC7BA4F2817D0FE0EB592801E6A52407F5645014D092C2BDF76BA27A8D0020FF29AF1173C8D388E04741B2F01FD910AA0BF2CB4A08DA2053DB10A00FAFA669789C99124BC656A32C565EEDEF11386F59B8BB7D68C1329DB23A73C269257F67DEBF485BDF9FE683C76F77801684F596874419901D0FD7D04F49183D978C3CF80A61903972CF858A4C3CBAC407973C8B792B21664280BD0EBD76EC7DFFBB3F0F8A0BB44F201B59174674B24B7181410403F6342407F9D6EC5E75514D046C0D3883624A06F4D4A441B2F2CE875AA80BE5511D093AA00A0B53E2C4F3E4AB2E616AE1A7DDE5A77324D58029A06BADE5BBA115B36EEC5B817D344DAA95900DDCF0F807ED3CF80A6C13B5A458532F7126A55C7ED5D6F11F706E99A4B96D28629C2D7BC7CE17A8C9AFA6F11FAA49DF04A7B23490B5A6B096BB3D7B42BED787271549605FDB44901BD81016D0487CB6C430BE85BBD00F4272A80DE566841EBCBD4264B9AF25460A3383CA598BABB38FC0568EA0D8A1220B7C6D03E7330FDD581B46CA1292CE8BEA3D310E743A2CA91CC6C2CF233A0098AE44EA231026DA815C19456D4888EB1880C3FD273D2DC7EC247AC02E80792468A745E5A717DDCCCB452F5CA1A24AC2C400F9E6CBE288E9D19566C64409B02D0AD9312D13A492D5185A238D6EF5488E2D85A68412B45404F3301A02FBFFA62B11415150ADD5A307315A6CD1F203E6BA706A5CFB43EDD90C7678BC9E1EFEAD10E4FF69C26328E96AC1E839E778C1193C30F19F520260C7D037BADBF8818CB5EDD9C2E0E5AF4925627A6623640F7199D86581F009D9D998DC57E0434BD59C8370FD28B1EA4B29F526E71BA236491DB28E98016E17DF88E316255162A8BE77F849B6EB95C58E2940A2CDD54031F9D8101C3EFF7B856E59A955F883E9485E668A09570FCB91AB8F4410F3221A0AD19566C62409B02D0AD9212D14A11D036BB039FA9007A4BA105898A809E116040D3725634D22F4BC20571229E52161AF8BBF3FEB6C21D21CBD64D7BC53C00B2CC7B7BA898649E66C6A2350865916E0C19A3A9AD27B77DB7E737AC5BB50DC3263C12900B420E12A6F901D06FF911D0E492D0F6857B3F49D8926872DBF40503852B845C23CFF6712E23F640AFDB856B64CC9057316EE613E23BD94F721B7D275D20EE7D48DBA87F694C81067EFDD54F12D0034C08E85D19566C664007E47E948D4A174762522212BD00F4065540DFD244CDC5317370605D1C01ED85B3D108724DC240FC1609E8DEA37CB3A08F6666E3ED19FE4D5409841E65B5591971D02541E1E86F4240EFCEB0227D75601255CCD4E781FC2D12D02D3B27A2A52AA01D0E6C5201F4170516DCA26841CF6240BB168D0DC4052101FDD828DF7CD0E4E258CA8056EE4261410785A39F49019DC18056EECBCAD85102FA162F004D3EE874AB820F3AA3C082168A807E69F074445A827055937339F39571C2663DE6E71FEF0025AC04AAFC71D0816339C5E8E5070B7AD98C25A8151F8C06F54203753A95D66EFA67BB444291BFCA9E1F6C08098F405F13027A4F86155FACDE8CA68D42512D3AD85FA7CCC7F1428133F925D8F79B1D2D3A27E216550BDAEE40860AA0D30B2C68AEE8E2583A6D218E671DF3E2A7F3AEFE562022D2827F3DFB0862AAC7EA3E744EF631AC5EB012B9274EEB3EC6FF5BC5EA0935D0F3B9DEA63BED9FAC3F20E3838DB0E53B97F9E2121805424243D132B9356EB8AD99D20FB0391CD8A20AE8668A80B615DA50525CACF40378A7CA522008E1967011BAA6B7501FDA6D769450DC2017250582828285EE662B458E2238ECB44001F76560FB2608A161212050AB148AE2D8BA4BC1C5B1B9C0829B1401ADD230EFC30AB002AC002B50BE02345BE3972A80DE4480BE542D8A834567055801568015F05D0172716CAF08D0E9FB0F634D4E092EA95BCBF716F908AC002BC00AB0024A0A388A8A91F9D79F187FE345888F8F47585898CB6D1954545454929B9B8B1F0E1CC6C63FB270A6A000C5EC5B561296776205580156C0570508C80D6AC6A16BD3FAA859B3E6F980CECFCFC7D1A3479195958553A74E89A5D279D0C857D9B93E2BC00AB002E52B4003FC91919148484840DDBA75111B1B8BD0D0D073167471717189DD6E475E5E9E8073015BD07C4DB102AC002B6098026441C7C4C408385B2C1601671999154480266BD9E170883F726FB0F56C58DF7043AC002BF07FAC80043159CDF4476BAB6AC366F507D0FE1F8BCAA7CE0AB002AC80110A30A08D5099DB60055801564087020C681DA2711556801560058C5080016D84CADC062BC00AB0023A146040EB108DABB002AC002B6084020C682354E6365801568015D0A100035A87685C851560055801231460401BA132B7C10AB002AC800E0518D03A44E32AAC002BC00A18A10003DA0895B90D56801560057428C080D6211A576105580156C0080518D046A8CC6DB002AC002BA0430106B40ED1B80A2BC00AB0024628C0803642656E8315600558011D0A30A07588C655580156801530420106B4112A731BAC002BC00AE8508001AD4334AEC20AB002AC80110A30A08D5099DB60055801564087020C681DA2711556801560058C5080016D84CADC062BC00AB0023A146040EB108DABB002AC002B6084020C682354E6365801568015D0A100035A87685C851560055801231460401BA132B7C10AB002AC800E0518D03A44E32AAC002BC00A18A10003DA0895B90D56801560057428C080D6211A576105580156C0080518D046A8CC6DB002AC002BA0430106B40ED1B80A2BC00AB0024628C0803642656E8315600558011D0A30A07588C655580156801530420106B4112A731BAC002BC00AE8508001AD4334AEC20AB002AC80110A30A08D5099DB60055801564087020C681DA2711556801560058C5080016D84CADC062BC00AB0023A146040EB108DABB002AC002B6084020C682354E6365801568015D0A100035A87685C851560055801231460401BA132B7C10AB002AC800E0518D03A44E32AAC002BC00A18A10003DA0895B90D56801560057428C080D6211A576105580156C0080518D046A8CC6DB002AC002BA0430106B40ED1B80A2BC00AB0024628C0803642656E8315600558011D0AFC1776FEC638DDA41D8D0000000049454E44AE426082 where `app_id` = '5';
-UPDATE  `fn_app` SET  `thumbnail` = 0x89504E470D0A1A0A0000000D49484452000001680000012C0806000000EE2C29AF0000200049444154785EED9D079855C5F987BFA54957AA882E282088051535D244EC0876A3222A2AC1462C11A3F2370A0AA8281883062504BB066C815829828A801A4540015B0451A42ABDB848F93FBF91B3DE7B97652B7BCFCCBEF33CFBECEEBDE7CC7CF37E737E3367CECC77328C040108400002B12490114BAB300A02108000040C81A61140000210882901043AA68EC12C0840000208346D00021080404C0920D031750C664100021040A0690310800004624A00818EA963300B02108000024D1B8000042010530208744C1D8359108000041068DA0004200081981240A063EA18CC820004208040D30620000108C49400021D53C7601604200001049A360001084020A60410E8983A06B32000010820D0B4010840000231258040C7D43198050108400081A60D40000210882901043AA68EC12C0840000208346D00021080404C0920D031750C664100021040A0690310800004624A00818EA963300B02108000024D1B8000042010530208744C1D8359108000041068DA0004200081981240A063EA18CC820004208040D30620000108C49400021D53C7601604200001049A360001084020A60410E8983A06B32000010820D0B4010840000231258040C7D43198050108400081A60D40000210882901043AA68EC12C0840000208346D00021080404C0920D031750C664100021040A0690310800004624A00818EA963300B02108000024D1B8000042010530208744C1D8359108000041068DA0004200081981240A063EA18CC820004208040D30620000108C49400021D53C7601604200001049A360001084020A60410E8983A06B32000010820D0B4010840000231258040C7D43198050108400081A60D40000210882901043AA68EC12C0840000208346D00021080404C0920D031750C664100021040A0690310800004624A00818EA963300B02108000024D1B8000042010530208744C1D8359108000041068DA0004200081981240A063EA18CC820004208040D30620000108C49400021D53C7601604200001049A360001084020A60410E8983A06B32000010820D0B4010840000231258040C7D43198050108400081A60D40000210882901043AA68EC12C0840000208346D00021080404C0920D031750C6641000210C8D8B871E33630400002108040FC08646CDBB6ADD408F4EAD5ABAD4C9932F1F3021641000210D801815225D04B962CB12A55AAD010200001087841A05409F40F3FFC60D5AB57F7C23118090108400081A60D40000210882901043AA68EC12C084000024902FDD4B41FECE5E94B774AA5FF59FBDBA199D5BC24C71487976EC36808945A024902FDE0846FEDB559CB770AA3EF194DAC7DD31A5E0243A0BD741B4643A0D412608AA3D4BA9E8A43000271279024D0CFBCBFC89EFF68719E531C8737F073250423E8B83747EC83000412092409F490B716D82B3397ED94D05D6736B176FB33C5413382000420B0AB0930C5B1AB09933F0420008142124812E827A7FE602F7EBC64A759DD7966133B6ADFDD0B595C7A4F638A23BDFC291D021028188124817E78E2773666C6CE97D9F53BAB89B56DC21447C1307334042000818213608AA3E0CC3803021080408910C816E8A5ABB7D9C4CFCD14DA2EA420D1671E9E615576FB9525531C25D2A628040210282602D9023DFA13B38F977F61AD1BD6B41E2FCDB46F7B9F6815CBF91F9AF38BC56607EC854017537B211B0840A004092409F46D6FBF6DB37B75B0F7E6AF70E2DCAAC16F73CD0FCD5A6D0BD6FE6255CB97B116B52AD8B94DAA5AB709CBECE993EADAFC35BF58BDCAE5EC9C3796D898CEF56CF20F1BEDB87D2AD947CBB2AC56C5B2A688D3B52A95B1B92B3659FBFA954AB07A66087489E2A6300840A018092409F4F1076EB6BAFDC759A5F2656DD59D1D938A397FEC12CBAC5A2E49A02F1CBBD44676DC3349A05BD4AE60F7B5A965D316FF6C99D5CAD9F8051B6CE2C28DF6E3CF5BAC41B57236E2F8BAC5687EDE5921D07933E2080840209E049204FAEC96664F4DFFDE2E3D223387B50BD76DB6BA95CBDAC08F57DA21B52A58AF293FD9ECAE0DAC4AF90C27D07B552967E7BFB9C4469C50D75ABFB0D06675CDB455595B6DC2771BECED1F7EB6EE0756B36BDF596EB32F6A50A22410E812C54D611080403112C821D0C598772CB242A063E1068C8000040A41205BA0376C321BF34978AF273CEFA80C2B5FF65732ACE228440BE1140840206D0458079D36F4140C01084060E70410685A48A924F0B7BFFDCD264F9E6C071E78A0DD7CF3CDB6FBEEC51FBE60CB962D76DE79E7D9BFFFFDEF9D32D6CB8C7BF6EC99744C6EE75C73CD3576EFBDF7DA1E7BECB1C33C478F1E6D679F7DB6FBEEA1871EB2F6EDDBDB61871D56641F47BC0E3AE820EBDDBB77915FBE7CE9A597DA3FFFF94FAB50A142A16D7BE38D371C87366DDA14288F49932659870E1DAC4C99F82F2346A00BE45A0E0E81409F3E7DAC65CB9676D65967D9BA75EB6CFAF4E976ECB1C7167BD50A22D02FBFFCB2FDF18F7FCCD38665CB96599D3A752C2363C7DBC9CE39E79CEC0E61EDDAB556B162452B5FBE7C9EF9EEEC80FBEFBFDF0E3FFC703BE9A4934C79CE9831C3097F51D2A2458BAC7EFDFA45C9C20A2BD037DD74930D1C38B0C85C8A647C3E4F46A0F3098AC3C22170C71D77B851D7A9A79E9A542909EAC5175FEC8443CF2B9E7BEE392B5BB6AC1BDDEA77B972E56CF3E6CDF6F0C30FDBFAF5EBEDAEBBEE7202DFAA552BEBD6AD9BFDE52F7F7102B66DDB36AB51A386F5EDDBD78DA03552DBBA75AB13CB7FFDEB5F39406A04BD2381D6B923478E74E75F79E5953662C40827E283070F769FA9CC7DF6D9C724DACF3CF38C4978E6CF9F6FFBEDB79FDD77DF7DF6EAABAF5AD3A64D4DA3DECB2EBBCCD925FBAA54A9E28E57521DDF7BEF3D67DB01071C601D3B76B47DF7DD37C946E5D5BA75EB1CA22C5E5DBA74B1CCCC4CFBEEBBEFEC85175E70769D7BEEB956A95225AB5BB7AEF5E8D1C3A64D9BE67E2BA903515D2FB9E4127BEAA9A71CD7E1C387DBCC9933DD685A9DC9A04183ECDB6FBFB5FEFDFB5BF5EAD5DDDDCD9D77DE99835BA2402B5FD5F5ABAFBE72C7457720BD7AF572EC656BDBB66DEDC71F7FB42953A6381FAB8356C7F3873FFCC1715CBD7AB5FDE94F7FB2430E39C4EEB9E71EEBDCB9B3F3B1923AA9264D9AB8BF2FBAE8225737B50171555B12C70F3EF8C0B50F7D76F4D147DBFFFEF73FBBFBEEBB5D5B58BC78B1F3654113025D50621C1F0481010306D8279F7CE244FA8A2BAE7075BAFAEAAB9DF84A2474B10E1B36CC6EBDF5D6A4FA5E78E185EE62DCB871A31364DDFA2B49602444895315A9236809EA934F3E99E3D65A02AD119DC44249827AE491473AE1FDEB5FFF6AFA5E2226018B047ADCB8714E647EF7BBDF25D9973882D6744724D0BFFFFDEFEDC5175F74236FD557222FE1934D4F3FFDB4CBE3EF7FFFBB9D76DA6939045ADF492C35724EE475DD75D7D99021435C7D366DDA6462DAAF5F3F27D012612589A3044DE2A4CE4CE22BD1534728811647899FCE4B4C3A479CA34EA45DBB76D6B061C3A46352055A9D9F3A9A7FFCE31F6E0AA359B366AE43489D2EDAD9085A763DFBECB34EA035FD251157DD24DC8F3CF288ABA33A4EE51D2509F5D0A143ED965B6EC916707580127E7D5EB972E5425F330874A1D171620804341FA90B5BA3535DCCA973BB8F3FFEB89BA3D6A8F3DA6BAF35895224D0121A898B92845DA3494D3F442955A06FB8E1062750A9F3AEB98DA0958FA663F6DA6B2FD3DCB35224D01AA15E70C1056E54DCBD7B7737F255CA4DA0BB76ED9A3D7A57672091AE55AB961B753FF0C003EEDC51A346B9BB81D41174A29F5F7FFD75577F3153F9E2122509B538260AB4BE133795A10E43234B8DF023811E3F7EBCEB104F3CF1C4A4E6A40E45A367A568547AFCF1C7EF54A0D529A8037AE79D77DCB99AC67AEDB5D74C3EDC73CF3D9DC0EAFB4481163FD5435C0F3DF450676B24D09A27DF7BEFBD5D99E2A539F3D4BAE93BDD81A8038DA6927497F2C4134FB8CEE2FCF3CF7777130F3EF8A01B7517342509F48A152B0A7A7EEC8FAF59B366B68D2CB38BBDBB4AC4405D94D11CAEFED645A751D68E2E3E19A4D153345296D0E902D6C82F51A0256E8D1B37B6A38E3AAAD8047AE5CA95EE81E082050B5C99128044818E0A927D9AB691E01654A0AFBAEA2A37E25492A81C77DC7139043A91978E8B38258EBE131D97CA517717CB972F777724D1C83A12E82FBFFCD23EFCF043BBFCF2CB937CAF291189FDCE52EA087A47021D9DAFBB113DDC9458270AB446BAA79C724AB678268EA07724D0EA841F7BECB1A48E4953195F7FFD758E29B344DB773492CF4F6367049D1F4A1C1314014D4348A0759BFAE9A79F5A8B162DECFAEBAF3789C5983163DCADAAA62B340570F0C107BB51902EE4F7DF7FDF4D03E86FDDBA270AB4FED7ADAF4445F3AABAF5BFEDB6DB925671147404AD919D845923F11B6FBCD11E7DF4D16C81D6A84DA3448D4835BAD3E850237309811E786A24F8CA2BAF644F71E43682D67CA9EE10347DA0FAA803481D41EB7B7548E2356BD62C97A718CD9933C79521E19B3A75AABBFB10AF548196C06B6AA8418306D9771C91408B95F86A84A9C194F8AA3CB1D31CB0E67755374D3FE9D8C49497406BCA481DAB58687A46D342EAC8F46C60B7DD76B34E9D3AB9ECD4396B8E5BD31AB367CF767712FA7B4702BD66CD1AD3BCB63A1BCD93FFF4D34FCE07AA836C974F7497A472C4453C357216FFA8732AC8C58440178416C7064340A2118D0C135744E4F6B90458B7F089A3C9E8B34428FA4C295AC29578CC8E8E8FCE8DCE8BFE8F1E2CA6E69398C78E6C8D3E8B6C557EAA5FEA798975D677FAFFF9E79FCF758AA320BC72E3A232A272538F49E526BB732B3362A4EF73AB5FF4799447A24FF4775467D993CA2CFA2C9551E2B2BCC4F3537D987A5C6AD905B9887208B4EA9CCB0A9E82E41BCB6399E288A55B302A8D04BEFFFE7BB70A4349A358CD67EF8A35E169ACA2D74527BFD57BCA3CFB79F3561BF4EE37B6E8F693AC42D9F82FE42E087D04BA20B438B63410D0148FE6A0B50C4C73CA5AB5408A0F812481DEEFBEB76CDEAD27DADC656B6DF9BA4DD6A151AD6C4B35EFA6B58BBA1DF8F9E79FDD7C979EAEEAC185FED71A51CD95699E48437CFDAF792B3DDD3EF3CC33DDFCD5860D1BDC13CDE8964BE72B1F2D458916E9EB182D4BC9CACA72652B1FDD4E285F7DA627A32A4FF9143421D00525C6F11080403A092409F4B275599679EF5B6EE4BCB65FF222FEFFFEF7BF6ECDA5567AE81648B743BA356AD4A8917B70102D44D7F21BED12FAF39FFFEC045A02ABA7B4126309ADD66E6A82FEDD77DF75EB0CA3759C9AFF6ADEBCB95B485EAF5E3DB714470F1E162E5CE8167A6B725E1D8496BAA84CED642AE80E29043A9D4D8DB22100818212C831073D78F2377663BB4656B64CF256D28F3EFAC8B4665473547ADAAADD387AEABDFFFEFBDBAA55ABDCAD919E324BBCAB55AB66679C7186136889A8D6251E73CC316ED1BD9ED06A6792D639EA69B046D37A1A3B77EE5CF7A45A4F40F53B9A84D712966FBEF9C68DC0C78E1DEB9E866A81BBF2296842A00B4A8CE321008174126015473AE95336042000819D1040A0691E10800004624A00818EA963300B021080409240EB619E7611E9815ED5AA55DDAA0B45A8D2CE2B45ABD2C339C50DD04A0AFDE8819EE20468894EB49632CE4813E7A065BB7E14C12BAE49DB47B5C32BBF3173B5253835A04C71D74DCF066457F4FC20357FADB4D143E01DA52FBEF8C27D9C177305A7513E7A9641824069269043A015C54B1787045A1788566868CBA9B6BE2ACA96B636EA619DF6FD2B5A93A27D69F585B66E6AC5469C53A2402B8297D67D6A758A02A2E83BD5574B04B536F484134EB037DF7CD33DEC548018EDC157D272430544D777A79F7EBAE3A3285D8A68250E7A98AACF274C98E0E232A8E3D203506D1356795A8AA82DA75A7AA80032DA22AA73B42A45DCF5E0554161B49450F10B74BEECD183586DADD5F2426DCFD59662F1D7AA16D9A6F2E4336D6955D017C517506C051DA380318A52A687B68A68A6E3B5ED542124D5E1469D5594AF1E048B83DA42547785AE94CDEAC4552F7D2F16DAD6AB108FB25D11D8548602E8285E81F251EC03D910EDCA52E7AFB6A4B815F3E6CD73211915874151DEB41D58E2AE87C962A8F08DF2C3C71F7FEC98C8663DA056601D715084340D22947F648B56FE6820A1BCB5C5560F97359810BFDC82DCC7B9CD625BE926B04381D6084617A72E420984566A684FBB02AB68B99B0446610725D4DAAFAE2577DABB1EF7942AD08A9DA00B5D9F6B59A04687AAAF56986894A7D082123D8D18A3D0870A5EA33B0A45175327A52581BA8B9050EB78E5276E123EDD7D28908D045AE22D6E1268C54A50BE1220899AA25F291E80BED77A6F2D558CB69B6A1DB946C5B251DFC907EA10140B41211915E376E9D2A556BB766D17E74002267193684ABC155652F629C9A75A65235BF5B7444CC2AAF8B75AF2A8E03CB7DF7EBBF3E9C9279FECCE579C07896A62E72B51543D141FE188238E308582D49D978454E2AD7C159F409D85CA57A84A89A692F252A728A6EA84541FD9AFF8063A473131D41189AB96574AB83540500728C1958D8A4FA1A872126889BA56F928EA9B96668AAD6C136FD55BAB8DD4F12AB2596A2C87B8B757EC8340A99D837EFBEDB75DE42E2509A20276FFF2CB2FEE7F858CD4F240ADD5960068599F8443499D9136D548B0156C45AF4D9238456BC1B5D450EBB5D5C9693427B1D4765A8D5C25D61A792B088C924675FA91B84AACD5112A088EEE46D459A82C95AB7325E8DAC0A3602E2A5F1D66B4645122A7202D0AE7A8BC14B94B235B8DD015B92B8A0D106D02529017E529115647A20E401D93469A2A53C165F4B7C4508163947F9487EEA0C44382AA0D462A471D8C6C175309B6045165EB188D86B56C32124789A7363B296F754AB249DFAB23126BD92F5E1AEDAACE9A5A93C8EA0E409D8B3A27F9450CC54A62AF3A8ABBEE7634D2572C604DA768E9A78ED19D8882EE48F44910F08940A915E8743849C2A48D373ECCD7EF4A3E1A592BD29846DAD1C87A579647DE10F0950002EDABE7B01B0210089E00021DBC8BA9200420E02B812481D6DB8D434B9A138D125BBD43F32EF58140D804184187ED5F6A070108784C0081F6D879980E0108844D2087406FD9BA2D4724BB501030C5118A27A907044A07812481EE39E633BBEC884CEB39FA539B78651BDBBDE26F3B03B53C4C6B59A34D0F05C1A3B5BE5A179CDB6BC7B55141AF454F4DDAD4A06DE4DA2451987253F343A00BE2358E850004D24D2049A05B0E996C1F5E7B8C8D9EB3D89AD6AE6A87D5AF9E6D9F3621684BB43674BCF5D65B6E1DAB767069E75C93264DDCAE3AED0C536C676D858E5E63AF0CB4A9429B34B449415B87B5414431A2B57B4DDB8CB541449B0824A0DAC1A7EDCEDAFAACA4E3B56B51C768A79A369068D384DE1E2C9BF45D7E13029D5F521C070108C481409240676DDE6AD5FBBE69D52A94B31FFB9E92649FC4308AB52031D63666C544D0AE31EDECD2E60BC53DE8D7AF9F7B8DBD624F68C79BB6DF2A69E7DAFCF9F3DD2E37ED4CD3CE33E5A11D631264C5F950BC05ED3E53D20EB448A0B56B4C82AF2DC5DA55A6D1B4768C699BF2C08103F3FD6615043A0E4D0E1B200081FC12C831073DEEABE5764AD33A39CED7565C05B2D1765C05C351901B05F151DC0AFDFEECB3CFDCD65AC54E50AC0A1DAF2DC31AED8E1933C68DB425E8C3860D7379286684A63624D08AE9A1EDD2DA82AC91B93A03C583508A5EB5A511B7B6F00E1F3EDC89BB5E95A500398A0791DF8440E79714C74100027120E0C52A0E6D9196786B34AED80C0D1A3428143B04BA50D8380902104813012F04BAB8D820D0C545927C20008192208040970465CA80000420500802087421A0710A0420008192209024D05A8D115A5200F72831C5119A77A90F04C226C0083A6CFF523B0840C0630208B4C7CEC3740840206C023904FAF365EBDC16EFFAD52B065773A638827369A12BA477362686A22D74469C586402DA613C69D2246BD5AA5591F30A2D8324813EFFB9E976EFA9CD6DC0C4AFECDE8ECDAD5EB5DD5C7DB50E596F6B563C0DBD2F4E2F19CD2D45AF338A2328043A8E5E29799BF47670BDC19C142F027AB72529994092401FF3E8549B70456B7BE4FDF9767AF37AB67FED2AD9476B37A0E26668B38876F4DD7DF7DDEEA5A3EAF524E07ABF5CE3C68DDD4E42357E8D50264E9CE8DE7EADB73A77EBD6CDBD9C349D09814E27FDF894ADB795472105E263159620D039DB4092402BD468D53E6F58A39A556C4EAF0E49474B7815284923E9050B16B8DF3D7AF4703137B4055CAB2514752E12E8112346B8A0491A711F76D8616E6BB8822AA53321D0E9A41F9FB211E8F4FA42033D4D6B282546B144A0F310687DFDE5F275D6AC4ED51C476A7A4391E4A2ADD653A74E75C18BF47AFBAD5BB7BAC8744AD3A64D73236AFD2F2197384BC4EBD4A9136B815610A7281CAA22E7A90E152A54C8C1418D28B7F94B71C8C8C870771AAA2F299E0410E8F4FA4561841F78E00177579D18461881CE8740EF0AD729EA9C46D9E94E3B1B417FF2C9272E509342A67EF4D1473674E8501B356A9475E9D2C545E8D38FEE10F4604902AC8EEACA2BAF74C7D4AE5DDBFAF4E9636BD6ACB19B6FBED956AF5EED824029ACEA8409135C1C6DDD3D2C5AB4C83A75EAE442A516477CEB74F3F4B57C043AFD9E9348EB7A4A4C08749A043AFDCDE1570B7626D01A358F1B37CECDAF2BEEB446FE125AFDADBB028535BDE79E7B5C4C6C8DB6155255E2AC39F6D1A347DBE0C1839D40EB2EE3F2CB2FB7962D5BDADCB973DD485A3FB366CD722155DBB66DEBEE3C24DAA4F41040A0D3C33DAF52116804DAAA57FFED25048938D6AD5B6755AB5635FDD6685F3DBC42A4469FAF5FBFDE854ED58FA63F3495A1E334E2D6D446E5CA95DDE74AFA4CC72969AE4DC7EA1889B7460D3A0E81CEEB72DD75DF23D0BB8E6D517246A011E85C05BA280D8B73FD228040C7D35F08741E02FDF9E79FC7D37345B0AA79F3E6D967B38AA30820033A15818EA733116846D08CA0E3796D96A8557A5D5AD7AE5D4BB44C0ACB9B00028D4023D0795F27A5E288993367DAA1871E5A2AEA1AF74AEA398D5651E93576A464023962716CDDB6CDCA646404C989298E20DD4AA520102C812481DEB465AB55EBF3A6952B9361EBFB774AAAF4800103AC7EFDFAD6BD7BF7A4CFB5A350EB86F5C66FAD6448779AB772832D5F97654767D6B08E8F7F6063BBFF168005814EB777281F021028088124815E9BB5D9F61F34C9BAB5CCB4FB3BFDF6704D19EA4DDB999999F6D34F3F3941AE56AD9A7BBBB7DEE67DDE79E7B92D9B5AEF3B64C8103BEDB4D35C5C8E74A5E3864FB30FBF5F651B523A19043A5D1EA15C0840A030049204FADC673EB6D7BE58EAF259D0FBC4EC687691406B67DC871F7E68471F7DB4CD9933C7962C59628D1A35729B37B4A9A366CD9A367EFC78B79EF898638E298C3DBBF41C047A97E225730840A098092409F4D2B559D6E6D129B677F54AF6CE556DAC4CC254B476DA69A345F43BDA8CA10D17FAD1E60B4DF62B66876258A46EE32C66BB0B951D025D286C9C040108A489006F544913788A85000420901701043A2F427C0F010840204D0410E83481A75808400002791140A0F322C4F710800004D2442049A0B5842EB454AB56ADEC2AF1903034EF521F08844D801174D8FEA576108080C70410688F9D87E9108040D80410E8B0FD4BED2000018F092409F4DC656BADDDA3536DFDA62D967577E7A46AE98D20F3E6CDCB7EF16BF4A691E820C5924E8CBD9C2E265FFDB8DE662E5A6D671D54CF0E1BF2AECDED751C73D0E972468CCBCDEDC5BF313679A7A6E9FA9C346992DBE54B0A87409240EFF697D76DD59D1DEDFFC67E6EB316AFB1B7AF6C935DD3912347BAD7405D70C1056E3BB7760F2E5CB8D06DF1AE57AF9E6B18DA45F8EDB7DFDAF1C71FEF5E1795AE74F5E84F6DE4CC1F6CF55DA72699C043C27479245EE5BEFCF2CB76D96597C5CBA862B266D5AA55BC4EAD9858C6219B24819EB374AD1DF9F07BA690A3A923E80F3EF8C045B3D3BBF6147B63ECD8B1AE2128AEEED9679FEDEA2281D68B5157AC58E1E272C42D21D071F3487AEC09F98D2A08747ADAD4AE2A9539E85D45967C634B200481D69258DDD12A068EEE60A38440C7B6D915CA30047A3BB665CB9659DDBA757340D4DC5EF486EEC42F57AE5CE90247EDE89CC48B456F11E72DDE856A9BBBECA44481966F468D1A65CD9A35B3962D5BBA32A74D9B666DDAFC36BD976A885ECD3479F2646BDDBAF50EEF14259CB9050BD3F4E082050BAC478F1EEE6DEF854D0A4C3678F060EBD2A58B356CD810812E2CC8989F87406F77905EB973F8E187DB4D37DD6477DC71875D77DD75F6ECB3CF9A2EE68B2FBED8CD59F6EEDDDB1E7CF0417BFAE9A79DE8CE9A35CB5E7AE92517BD4FF3F11D3B76B42953A658BB76EDEC9C73CEB15EBD7A59DFBE7DDD05F9C4134FD825975C62F7DD779F2B51F9DE7AEBAD2EEFB66DDBC6BC9984655EEA085A7E79ECB1C7AC7FFFFEB6DF7EFBB90EB943870E56A3460D173AF79B6FBE7142AC51AB845CBE97303EFFFCF3EE554DEFBCF38EA983EFD3A78F55AC58D1962E5DEA62A32F5FBEDCBD624D0FD4D5564E3EF9640772F6ECD9A629C3134E38C11DDBA2450B77AC3A7DC55DBFF1C61BF3055C22AD69C6C4C4083A5FE8BC390881DEEE2A8D86C78D1BE72ECADAB56BBBF9F69E3D7BDAD0A143DDC525D11D346890B56FDFDE5AB5FAF52D2DFA5C6F94C9CACA7217982E565D987AD79D1E940E1C38D0162D5AE4E6E875BE8ED7C5AFEFDF7BEF3DF7D203AD7C89C39B68BC69B1C56068EA085A235EBD68425305F2D58B2FBEE844531DB646B9EBD7AF77A176F500BC69D3A6B661C306F7105C3E9460EB6F75C037DC70838D1831C2BA75EB961D9637BA03D36F897724D0071F7CB0EBA40F39E410F7807DC68C19EED98EF292A8173621D0852517CFF310E8ED7E89960DEA628C045331AFA38B4A17A5DE2023418E56A8E8C2D6C3D2CE9D3BDB6BAFBD66A79F7E7A763C6C65AB63A3F3D5014471B3A3DB5F95A9D1B77E482547202E73D01A317FF9E597D91D7E711040A08B83627CF240A0E3E30B2C2921027111E85D515D047A57504D5F9E0874FAD853729A0820D069024FB10526804017181927F84EE0D5575FB5AE5DBBFA5E8D1DDACF083A2CB72609F49AACCDF6F58FEB6DF3D66D7674E61E61D5D4CCD8A8129C4B0B5D216DB0D283C050921E424E9F3E9DADDEA138747B3D92047ACCDC2576EC7EB5ACDE80F1493B09B5AC68F1E2C5A6DE590F35F424FBEBAFBF764FB9B506533B07F5E4398E2F8A4DF417021D58EBA53A10089C40BE045A0C860F1FEE56253468D0C01A376EEC461FC3860DB3ABAFBE3A5BA0759C845B4BCEB4A44CAB21B49E54C22D01D78A06C54190A05F7FFDF5258E16812E71E4140801081481409240BFFAF952B7CCDFC7480000071A4944415408FFBCE7A6E788C53171E24427CE5A642F81D6FACD175E78C1054F8A46D0D10E2A6DF0D0C27EDD76299D71C6192E129ED608FFE73FFF71427FD5555715C1ECC29D8A40178E1B67410002E92190E321E1A62DBF8A6A85B2658A649176D669E386C4392E09818E8B27B0030210C80F015671E48712C740000210480301043A0DD02912021080407E0820D0F9A1C43110800004D24000814E03748A84000420901F0208747E28710C04200081341040A0D3009D2221000108E48700029D1F4A1C03010840200D0410E83440A74808400002F92180406FA7B4CFBD136DE32F5BF2C3AC588E295726C396DE7E52B1E44526108040980410E8ED7EADD56F7C897BF8F5CB8EB2560D6A9478B914080108F8410081CEA740972F9B61B7B46F6CF74F9E67BF6CDF0E5F5417BFD2ED486BBB6FCDA266C3F9108040A00410E87C0A7493DA556C5DD6665BB236CB9DD1B375436BD3A0862D58B5D1AAED56CE9AD4AA62F5AAEE66173D3FC3BA1F9969FBD6A8EC824EED2C21D0815E55540B02C5440081CEA74047BC1BD6A8640B566EB4DE1D1ADB8C456BAC53B3BA56AB72799BB36CAD8D9AB9D8F6D9A3A2CD5AB4C6F4F283BC12029D1721BE8740E9268040E753A035C571418BFA3672D622EBD2A2BE7DBA648DD5AE52C1366CDA6295CA97B5951B7FB1792B3658950A656DF9BA4DD6B1591D7BFD8B658CA04BF7F545ED2150240208743E05BA489473399911F4AEA04A9E10088700029D4681FEA0675BDBBF7695705A13358100048A950002BD1DE7D8AF96DBA52FCC742FCC2D8934E0E466764DAB86255114654000029E1240A03D751C66430002E11340A0C3F731358400043C2580407BEA38CC860004C227804087EF636A080108784A0081F6D471980D0108844F00810EDFC7D4100210F0940002EDA9E3301B0210089F00021DBE8FA9210420E0290104DA53C761360420103E01043A7C1F53430840C0530208B4A78EC36C0840207C020874F83EA686108080A70410684F1D87D9108040F80410E8F07D4C0D2100014F0920D09E3A0EB3210081F00920D0E1FB981A4200029E1240A03D751C66430002E11340A0C3F731358400043C2580407BEA38CC860004C227804087EF636A080108784A0081F6D471980D0108844F00810EDFC7D4100210F0940002EDA9E3301B0210089F00021DBE8FA9210420E0290104DA53C761360420103E01043A7C1F53430840C0530208B4A78EC36C0840207C020874F83EA686108080A70410684F1D87D9108040F80410E8F07D4C0D2100014F0920D09E3A0EB3210081F00920D0E1FB981A4200029E1240A03D751C66430002E11340A0C3F731358400043C2580407BEA38CC860004C227804087EF636A080108784A0081F6D471980D0108844F00810EDFC7D4100210F0940002EDA9E3301B0210089F00021DBE8FA9210420E0290104DA53C761360420103E01043A7C1F53430840C05302199EDA8DD9108000048227804007EF622A080108F84A0081F6D573D80D0108044F00810EDEC554100210F0950002EDABE7B01B0210089E00021DBC8BA9200420E02B0104DA57CF61370420103C01043A781753410840C0570208B4AF9EC36E08402078020874F02EA682108080AF0410685F3D87DD108040F00410E8E05D4C052100015F0920D0BE7A0EBB210081E00920D0C1BB980A420002BE1240A07DF51C76430002C11340A0837731158400047C258040FBEA39EC8600048227804007EF622A080108F84A0081F6D573D80D0108044F00810EDEC554100210F0950002EDABE7B01B0210089E00021DBC8BA9200420E02B0104DA57CF61370420103C01043A781753410840C0570208B4AF9EC36E08402078020874F02EA682108080AF0410685F3D87DD108040F00410E8E05D4C052100015F0920D0BE7A0EBB210081E00920D0C1BB980A420002BE1240A07DF51C76430002C11340A0837731158400047C258040FBEA39EC8600048227804007EF622A080108F84A0081F6D573D80D0108044F00810EDEC554100210F0950002EDABE7B01B0210089E00021DBC8BA9200420E02B0104DA57CF61370420103C01043A781753410840C0570208B4AF9EC36E08402078020874F02EA682108080AF0410685F3D87DD108040F00410E8E05D4C052100015F0920D0BE7A0EBB210081E00920D0C1BB980A420002BE1240A07DF51C76430002C11340A0837731158400047C258040FBEA39EC8600048227804007EF622A080108F84A0081F6D573D80D0108044F00810EDEC554100210F0950002EDABE7B01B0210089E00021DBC8BA9200420E02B0104DA57CF61370420103C01043A781753410840C0570208B4AF9EC36E08402078020874F02EA682108080AF0410685F3D87DD108040F00410E8E05D4C052100015F0920D0BE7A0EBB210081E00920D0C1BB980A420002BE1240A07DF51C76430002C11340A0837731158400047C258040FBEA39EC8600048227804007EF622A080108F84A0081F6D573D80D0108044F00810EDEC554100210F0950002EDABE7B01B0210089EC0FF036DA3CE30CB0602C40000000049454E44AE426082 WHERE `app_id` = '6';
-UPDATE  `fn_app` SET  `thumbnail` = 0x89504E470D0A1A0A0000000D49484452000001680000012C0806000000EE2C29AF0000200049444154785EECBD07985C57952DBC6EA8D039A8BBA556CE39675996836C30C1806D8CC3100C0C434E33FC93FE6F12330FFE37BC37A4218C8D033080C1D8B2B171002CE728DBB2AC9C73ABA33AA7AA9BFE6FED734FD555BB2575CB92BB35AA82B6BAAB6EDD7BEEB9E7ACB3CFDA6BEF6D60885EB13BB6073E4C78A601D83E0CCF80E9039E11C0924F4C38A605C08411F80810C0E04F60008105183E8C20800F1B811CE7C30ABAE103088C5878570E10F8308C52048103580E3F95FFCB8FC1D358300C1B3E7A6106162C1FF00D0F401C7E1043607A809196F3C5DD243C38F0631E0CDF542D32B21D18F7D2181D0FD0DCE3A0335688C0F0D91898B0E049CB72AF5C0FE47AE0BCEC814F4E8BCCF4B7EF0E86E4A2BC3DEB8E1D816F98080C8B180CD333041C5D9320EC0B180B780BC01134F93E60868818185E088E1602D84040E07541ACF67D82B70D83C7C04760E409221B410AA6C177D4790358847F04BE8FC0F678115881058FE00F0B084C48A39046E073E1C8938522301CB05582F37D007AC594B17863CF0174984918310B81C7EB5AF009D6B957AE07723D707EF6C00507D077ED0994B54B20B4607A81401E41CF277ED29C860F33A02D6DC0353CB19E2DDF80011FAEE9211073D704021BB012804760766897C33613083C176EE0C2B763E0B74CCF4310A441FBDA342C3866026EE0C13003048101C3A4B51E082E7391E0F9D4EF2E2C0B705C1B26AD737E66A8B6F605E825134661EBBE43E88C17CA31B2BCF8862C30B957AE07723D709EF6C08506D0B8636F209C062D509F904900239DC0F76833F3C785E959423D109079A8007400B8B68BC052562F7C521C363F15F0B682344A3C179E6DA1DB00D201298B18EC208698E7A0DC74916701C71C07BDB6095AF2088A60F2DA6E1B4ACC143C33819E20015FAC765740BF302F0F1DDD2E3C338EA02F400740C24B63F954654177DAF9F0030F961583EF04C2CAE45EB91EC8F5C079DA03171A401B77EE0DC44A3600D315A2412C66E16D058A099C81B2A005A05DB1A04DDF16ABD5176ED8156A83C7D0A8B52C1BBEE7213FDD897F7CD72CECAC69C1833B8EA1CD8EC3430249C7C3F25185583C65040A8A93D8B87B1F5ED8D78AF678114CBF105ED08B3CEF383E75D12404AE8D751B0EA0D1CC9376CC1D5F85E5E392B8FF89ED684B94C3336815472CE810A0974D1983CD7B0EA03B5E048F0B0E2DF31CC5719ECECA5CB3733D10F6C08506D0E65D7B03D9F6FB2E92A91412AE0BC37709D1300D039E69A33399079871F537795F3AF482187C43CC6E18A055EDC3F0153D625806E0A430A3D0C66D37CEC6EE3A17DF796403F69AC5E8461CC54E37FECF876662FD935B51D3DA814F5FB702FFF2DB6D386C16C30C12308C1E94FA4DF8F92DABD1D191C6771FD880D7508E1E04B87CD6447C6806F0EFBF7C0DC70A47C1A3639100CDE7C7E644007ACB9E83CA82A62F53AD26390E3A37D3733D703EF7C08506D0C69DFB02C3F061B91DB87EE1447C607A12493FA43C60A0C907BEF8EB6D48E5952A879E410B9A0EC198B01F34B44DF2C5A44108944100C3F451D8D3822F5D371F9D0D298CF4DAB1E18D8378AAA7046DF142E4F5B6E03F6E988D679FDF85E30EF0CE55D3F09FBFDF8966BB04DDBE8DB8D786F72D9D808B475968D95F83DADE387EBEAF13A9781CABA78CC34D734DFCEB2FDF406D4925FC8056FF89009D24C531798CA2386205F0CC502A22FC46CE49783ECFCF5CDB2FF01EB820011A2E926E07D6541978D7F42A24D38E58A49669615F0B70EBF63AB4E79522F0E96A235D403504019AD486098B5237D3814FE7A049D43630D36CC7D7AF998D6FDEF53CD6CCAAC6D4C9A3F1CF8FED423A9EC09462139F5A568D31234660774D1DEEDB741C134795A0B327C0B3C73A5062B4E11BD72FC06F1FDA85D18934DEB17629BE74CFAB688F2570F1ACA9F8B39906BEFEAB4DA82926C511CFF21B94EB690E3A07D017F84CCEDDFEFFC81EB8D0009A4E42133E4A8C1EACAE32B176E22824BB7B94751C98A8F312F8DE6B7BD156504ED20326A570E49A058809D0593DB472345222E7E183D3F270CBF2B1787C73272A8A63583831894FDFF512F2E301FEF2BD73F1E853DB5196CCC33B574DC2FF7E602B6EBC74165E7861135E748BB1A03A1F7FF38E69F8E3B66E94DA1E2E9E5E847FFAFD4E6C6F6AC392393370F3AC18FEBF5FBD82C3A5A3E0D2B1498947487110A069412FCB01F4FFC8F999BBA90BBC072E348026C54180B67BDBB1B02885198900452E19683A0A2DB4D97978E4B88FD6781160DB80A7647614AE09BF21AF501A2194878702A7079FBB680CBCC656EC74E2703D0FEF5E361ABBF7772375EC20AEBC7401BEF6D327E0C48A307F7415FEDFF74EC08EDA1EDCF6E8661C0EE2F8C8CA3128F55CBCDE6AA327D58B8B168C4071CCC0F7EF790533172CC64DB34DFCEB2F5E464DE928F8A0059D03E80B7CDAE66EFF42E9810B0EA07FB22730292EF6525834A104B3CA02C425C084BA3603DD00EEDBD482B49D0CB5C62AFC4F685D58E24C14AC0EE2C243C7D18D2956376E79E732DCF3E04B38E459481BC09C71D5F8E2CA52DCF7C0ABF8C88756E1972F1EC09EC3CD9834B202372C9F80E3AD1D787CCB51EC69E9C547AE5E82471F79053BD27948DB0646C55D7CF3BA79F8D6BDAFA37CEA1C5C37DBC437EE7E1D35855514F385DEC1302231624153C5D191E3A02F94A99BBBCF0BA1072E34808EDDBE27F04C133E290BAF17063D7D0C27F13D188CF6A36ECE64F0099D7F2A1E4549EA18319854E1D8B4A4FDB83807E35E2B568DB23179CC48FC7E43233A8D387A6D2096EEC0D7AF5F80C79FD88DCE542FAEBF72018A933D38DA968747D6BF84CAA23CBCFBB269F8D5639BB17CD542FCEEF1FDA8B31370AD00899E66FCD5958BB0E9600D9A8D625C3E2B0FB73DB015C7F347844A122E126AE1202D93F05CAC985CAD22094F00E8210BD8BC10A64EEE1E733D70CA1EC838F3DF4A3F5D68006DDFB93BA096382030D3720E3B2FC848E818C742EE42E91FC8430B102A37621873187E28A1D92E980B8324B66B508A6781E7A2742FCFEB45400588C148C4B45CCF372D04760CA6EF21F01C04B6054334D631A419BC627A30036AAA1DC633226D9960C60ECAEBA8A90E2CB6818B890B33F0256F47CC0BB0724A15B6ECDE8F365AFE565CC2C8E9C00CE30E33923CCD5D2B9D5E56AAF7B6FC2E1709E999B7326873DFCDF5C030E881306A22D3121D49A1A61583D0B29B5D9D868754EAA0E6DAC7A70F899535241765C7C4EED81DB80468432549A29E99FF95FC1BFC8D099328A313ADB10693FEC2A5255387EA6C5AD71AEF088AF2A7B26E331992784265ACCB7F1470F2453D3503C2B968D007A93E31E53D15B0A871548E91187057A21DD9F62088C3F2022C9F320ADBF6EC41A74D999D5296A85BCB2C412138EAA112695BB808A9B69EC3F7A3F1E9C36082E59A90EB81B7DC0382137A471BCE1D0689454E1C450FF5FEC0E760F0C90B0CA0AD9FEC09486FD026D6C9914817303B9DB29409D04C76C46394F0596F5574E72A1863C225E6D208D986307824F30004A54F0468D229D44DCB47C46B02A92070F8C0981F247CD14A968304D4A87D563942C43A97DFD946BE6CD85E80A533C663C7AE3DE8B26C3812B26E48DE0F394D36895EEEF7AC5113357072BF67C65D6843E4C64C76777D8A3123D3F364E6667497AA0DB830E422625C9F72EC059F9A3A24C6EC905C947D14BF9DE9466D655932C844108C16B30268041E83BD43EB59BFA71D837AB50C019ADF531F85917D2A039E4A51AAED5EF594C4FA0DFF27A02B80CE4522C858C9729CB678FB18ED593E2B4C7F4ADAC38C096D62071EE22EF9730F6ECC80CB044EC2ABD3F9990D6A1916BF2B376B9FDE191E0C4C9433CCFD9E7B46031A0394E09E04CD749EB2BED6B48E021EC87C743E357348B072482ECA21F79947360741600B0093C755004DDB9499E708148C1CE47B613AD113D6515ACBA1C9ACE90BD2256F829B28ED116E77C23BEEBBA82A4E4A511C4C0DAAC19DD18BEAA532D86552D88905CDBF0DB826179010A07D0B0101DAF4E1584C830AD8F2B5E1144918AE6619888EEC0373BFE67AE07CEC012D79157A347B030AB4B5A1161AD9326D355E0CEC666F7DEFDC21C1CA21B928BBE468437DC034A1CCC96C48427CE50A0C100F1D810467460F12FC420B3AD397CA7A95ED89847B872C44F421F101841CB402DE88234EACE390E2D0DF059D824C37CABC195E98EE34900C784C454AA7A1247292AD912116B6D26573E556ADE1596D9FE70D44A2CD2C7A261354BB014C72EBC326E5A81EC1391B3AB76738FFC7809A7959287B33EFAC8C394E3FF9119FD2E09CE463AB2A87042B87E4A2C4C48686BAC0800DCFF560C74DF801415A25161238A5152BD55068851204C9F512E8C284FC3C4A142012DA0293923D2AEF0498D5DF1E734CD3E127CB6810FAE9A29FFBB06D0B8EE3C0B419ADC816510512A8A4FD868118131D312FB4654ACA53A63B65EA3CD30AD4F98D9858C75C4E4CCB86492589D0DEB4FC5D499D1A786A30B04D02DE62D8AB36EABF4FB68E6BAA458A1084F7D6F75C9A92899E5BBFA7AFA5CF23394B42FA46F52F171BB6435BF87A4868764E1DEF33EFAADC83B0392133C5CFB80352560AFB599D5FAF8619062B7C966AD154F711EE58C2C55203A5FA2CF4ADF242B218EABF436B48BEA317591FA66987FDA8DA1C6D83FE9D0BA5EF7B52CC41164DF514C2E3553F64CFA9EE2B7A8CFE5DB74DF56BC4F71B5E57F529FB246B04E8FB55FD1CED9FF31F1C55BF0C8884D004E439385E194C7CB6966872A99CA28748D178BA9795474815E890CA1EE177D41C50E3E664AFAAAAAA21C1CA21B9A802E84631482DCB82EB39A1EA4B292ED828710F1274D9971CD85234CA874DA0745D58026EA1A0261C1FC2251B047B72BE66F87D5FAEC187177DE907C2F76DDB0EF33EAB24FDCC96E79B74EE5196C7B25510758964D163651583B23A5AC774519AF0180169B3AC156BBB28BED90F3D906AA2EA89A9BA3B7A6D9EA3BF575F00EF0FDC4F046D0D646AA04601592D568A42E2FBBA5FE5186EF7C2C542FA2DDC1D084FAFC13C8223AC2C230BA506B030519538D043054E94DCE6F1A6C574B0A1FF20036491F7C3052BFA7DDDA610FAD5E409C1BDEF738CDE6FE6B3C8C8566D668E9750EE18AE3DD1C54A0177E439F5E1C0F4E4CD4CE4485BE4ECE1DF99059563532F466187B0CFA2D739291AE43E18540F48C2487892C387F357CF778E2731EBC4C7CFB91C3EA78867508F01CE8F53194C55179A055D57DB18D8E2C9736158317802684AB32103DB8E21CD20955072C7D54E56455AB3BE0268095C09C1978068D931B1F494354D8DB29A70323168E7FA1E62B1385CC79187C889AB141DB4D643558658C7363CC9FD41300E0364EC185CCE3926E1A7A8841699CB14A8016C2B297486944A0C5C59A12DEAB025FB5EE8AC147F647691E0ED3A4E5ADA9351E0458625277A2AE5A0BBBB53FED51699B678792FDA2A947543163B02B19BB11015C829CB512896701B28D63017C2D06AD0D6875A2CF46EC310508F8296E7F988C763B240F2A5813F0BFA6AC1E4B5FA82A6BE86B23C9555DE7711918537B298CA330AD5363CA70649DD2E35548213BE93DD3D850BA858CB6AB1E9BBC3E0F9F9D2A0291658E4FA5100EFBB28E8FBD08B9EFE9B6D8BC5380E15E0F3EFA88576B2730E0A9172079FD003B296DA406B4B3352DDDD2AC56F38E7619B70B9401BD9621F314B8D4FDF77C5382B2D2DC5B871E332464C7FDD7BC159D08D4DC703234823F0D212364DF506C19225AB3888E92CF4600B18FA6E0ABEAF26683C1693BA827C59EC685ABC0104E8BA7B52B0E3545410344DA452291414E4A3BBA757A80C9E3F9D72E4779ECB66B51306AA10944DD21A161C97F23E17F9090544298545D28E98D0C906528E02A2980124F84110834340E7B8487AF0520EE0D0824FC0E5CA1E33614921DAC82B00BA7B7A909797CC58B6D18F1558D8282E2E423CC66394E5AA64276A9B2C4669C60912EE1CD4D9B29CBB06655AFCB26884AED43E4E92701D525BC590EEE00E820B1FFF55DF535C3BFF16608B7CA61743B5D81134E937085B1D5E53CE935926420A20D3DA2CF5230C5164F1E079B860D242CA5AF9EA3EB58E5D6FB2A34CA48C2379B66A57A65E590A47EE295411292A253C5F8606D2540C0F0B7541E177C2BD5064039DDD4AABBE0C9F56781FB268CB82F0E696E6F0F6ADF70077D8FBF7EC456F57376C93735DE56B7768B0C46292972766C54451253B2A06A2596A47D3D4D484B973E62863EA2434C7C8CA5143C2360CC945F9381A1A8E072652ACDD8D96B66EBCFCCA265C71E51580DF83279F7C0A8B96AEC2BA071FC33BAEBC0C7F7CF4618C193D56B8E2B56B2FC7EF1F7C08EF79CF5528292941437D1DC68E9F80DFFEF65E2C5AB404E3274C806D5978E8A1DFC98ABA68D142CC9E3D179E949FB270C7ED77E283D75F879FDCFA137CF92B5F41617E3EEEBAEB4E5C73CDFBB06DEF11ECDE77185E570B16CD9B8E9EDE5E6CDA711485C545282B8CE38A4B57E057F7DC8F92CAB1E29C9C376B0AE6CE98863BEEFA3592B1189A5A1AB0F8921588053E1A0FD7E1D9173661E9CA155879D11294971487A0A90096A0D1D5D585BC3C16B415EEE14419A7800B50565E86782CAE060E9F56264C2A941646385C050A04500231690E8E38E59C543B095AF43AA827B4ECC39D48067043D0D3F487DAC22819627F0C9D962D4639BC13E899108F32D63AF7116C5BE4BAEABE14588A851969C389ECE6891249C5D084C79F009C272E1EAAFD2136862B9B8E57D256B87A04E174088FD17A790DEC72ADCC795431062E52C46EE5300EF97A2F14D9469F69664555EDE8F3B4DF3A425DE0672095B167D76EA47A7A90306D668808A94A139E01D8B1189C545A7C4C2AE59A32CCB8DBA9AFABC7FC05F305C44F068855552387042B87E4A21C4BF504E8202D72BACECE1EDC7AFB4FF1852F7C113DDDEDF8E5CF7F8A4FFCC567F1D9AFFE3DBEF4854F61FBA64DB8E5968FA1B7B717C5C5C5B8EDBF6EC5ACD933644BF29DEF7C170F3EF4206EBCF146DC76DBED48C61372CC876EB80E9FFFFCE7F0D24B1BF0F77FFFF7686B6F432291C4473FFA51FCAF7FFB377CE31BFF4BD21DFDEC673FC7273FF971FCDDDFFD2DEE7FF419BCEFDA0FA0C00AE0F7B6E181DFFD0ED5539660CD252BF1A95B3E8A1FFEC7D7B1EEE1F5F8D047FF0231C34251D2C30FBFF71D54544DC2B5D7BC176DEDC7F1D2E6ADB86AED25B05C1F1FB8EEE3B8F7FE5F4BAE10521EC2AF1B4CCCA7ACA9CEAE4EE4E7E56B7C3EC1132DD66710A0ACAC14764CC9F5387A3A3A3A919F9F8FCECE4E141515A2A7A71789784214267B76EFC6C44993D0DB93427979195A5A5A51565A2ADF7B62FD13B8F4B24BD1D3D38DFCFC027475F7A0AEEE18E2311B63C68C81EBD2C36A21DD9B4651713EDADA5A515A568AEEEE5E241209A19476EFDC81AA5155300C0BAFBFFE0656AC5C81BC645C38F6C3478EE0A9279FC6B8F1E370E9259728478CF84A2D74B4B763FFFEFD98BF6001DA5A5B656165FB3B3A3A6417316DDA34384EAFEC82FEF8C73F62ECB809983163067ABB7B108B5978FA99A731A27C04E6CC9D2FF7C26D69575727F2924901BAC71F7F1C6BAFB842EE2D954A63DBB66D72AFB4947A7B7A905F5080CE8E0E24F3F26457C5EFF5A65378E38D37B062D972A41D07896402DD9D5D28282C14ABF8D9679FC6D2C54B104F26A4C27BDA75B071E346CC9C395316D5981D83E7BAF258928904DA3B3B505458848E8E769494940AE7F4FC0B2F60F9CA1572EFCDCDCD58B972A5A2D5F8284FE27BB8C071F6F4B79F49FDA0EC15EDC1E1FE74F7EE3D6241C7E8A0374D89F1756C1A4E2DD87FF010C64F988251E52588B929E52B0AE7584B730BE6CD9B2B7320B348F76949E5C88A21C1CA21B9A800747D6D4085867472E0E0073FFE216EBCE923D8BA631F5AEA0FE103EFBD0A1FFDCB7FC4973FF3E7D8F0F493B8E683D7CB13193F763C366F7C03DB77EDC04BAFBC8C19D36760F1B225F8F6F7BE83471E78101DCD2DE84DA7F1C52F7F113DA914FEF33F7F805FFCE297F8CBBFFA2BE1993FF1F18FE39FFFE91F71FFBA7B5151568291D5A3F0FB071FC4BFFEF3D7F18B750FA12B0D5C71D1522C5D380D77DC711BCAC7CDC38A95CBF0E5CFFD396EFFCFEFE2CE9FFF0657BEEF7A246D0B13C68FC0873F7C23EEBDE731781E69985E58B142785E370A0BF2F1AEAB6EC4430FAD43DAE9128F7F945E601F747777CB64EF6F5088E45A00BA4C0089AFFBEFBF5F76115CA82A2A2AB075EB56F93E0166EEFCD9387AF4286AEBEAB16AC56AECD9B317A346560B20BDFFFDEFC1ED3FB91D9ED3231CF29871E371ACA10D89A4896993C760E32BAF61ECF8A978F0A13FE1C337FF19366FD980850B66A2A6AE160112686BEFC5A73EF111BCF0DC134249D5D4352330E258B56A15B80BDAB97337BA531EF61EAC4141320E27D581B815C7F4E9D3316FFE7CB1989F7DF6591C3B760CF3E7CFC7E6CD9B6551A81E3D5ADA77F1EA55D8B7730736BCF232521E29A17CF89E09279D42220EE425E2282C2CC5A1A37502DEFB0EEDC3DCD933F1EA8697F1FEABDF87DFAD5B878B2FBE1875F5F5282C2D41322F894B2FBD14F7DD732F46565662D7CE9D9831672E9E7EE619AC5DBB5680998B426343038E373763F1E2C502BEF3E7CD934569D1C205F8E177FF032525C5385A5B8BD56B2E456373336AEBEBB174C972ECDBBB17B66162D3C6D7B07CC9521CAB3D8645CB5760D78E9D183F6E1C1A1B1B71D38D37E06777FD0CD5532660DFDE7D98396D3ADEF5AEAB32522F4196219B7DA7C7C1E17384DEF1291F4A8FEF637F5D235CD29D4680A963AA4584CB8DE19E3D7BD0DDD589189DFE1C99664CEA91BEBA710BAA274CC52B7B0E62ED82C9981C4FC3A0892D34A925CF8BE3523BD2FBBBF70B8E836E68AA0B028F8E3A03899887471F7B04A61DC7FAA737E06B9FFB042ACB0AF0675FFD477CF50B9FC11FEF5F874BAF5C8B82C212CC9D33171D4D0DF8E92FEE466D731BFEEA4B9FC2F77EF45F9830753ABEF2E7B74836BC4F7EF22FF0C5AF7E055BB76FC7FE03075131A20A9FFBFCE7C57170CB473F8A7FFAA77FC02FFEFBE7F8BBBFFE1ABEF7DD6F63E78E1DF8CEFFFD36F2478CC23616927DF24F282BB691EAEDC6FEFA1E4C9D360533268DC1CCA953F01FDFF901565D76050AE2092C5F3E0FB7DCF211FCE4D6BB5158948069B9686AE84249693E0A8BF270D53B3E88871F7E10DD3D6D198765742B7D2A8026A213D4694193CF25886FD9B205CF3FFF3C5CD7C1F8F1E3D1D6D686499326A1BDA3031B37BE8A2BDF71255E78F165AC5AB95AAC095A7274722E5EBC100F3DF8200A0A929836653265D9D8B4750F8A8B92183FB6022F3CFB1C4ACAAAD1D4D48DCF7CF616DC79C7ED58BD7A311CD7C581C30D48E69560CD45CBB073DB6BF0BD340223819E548059B3660B2575E4E8511856125B77EEC7BC3933B1E5F557B060DE7CB11A972F5F2E2CCBA64D9BB07DFB762C5DBA542C674EA677BEEB2A34343460D2C40928CE4B62DDBA7B317AFC38CC9EB314CF3DFF02E6CC9E8DEECE66343735A0B878041A9ADA5058568EBAC65A4C9F32095B36BD8E0FDF7433EEFFEDBD282D2F434D6D2D0A8A0A3172743566CF9E838663B5D8B97DBBB463DEC2453870F020AEBDF65AB1B8B90BE1E240FE916D7CE699673067CE1CB1EE274F9A80DFDEFDDF58BA7409B6EDDC85254B97E3A5575E41D98811282FAFC0CEED3BD0DED28A919515983861826CAD17AF5C29F754565C22BE8BE5CB96E1B1471EC588F1A365B7505D5185CBD65EAE92D41273CCFE29A3E1038C43DD124D6EA9B40F622B0726BA8200871B9BD1D1DB8BAAD222549716232EEC9F8FDDBBF6A28B16347D4CCC926327D0E0D9786DDF514C5AB612EB37EFC59A91492C8977C92E89AC1A8D1F8EC11C40F779DE750D750135C4B661C1F37AE0B8295C7BDD0D98BB6019BEFFEFFF86EECE16DCFCF9BFC657BEF859EC7CFD357CECE31F4347AF87BC781E62E9767CEE2FFF166BAFBE0ED7BC7305AEBFF123F8C6B77F80A533C6C2320CBCFF9A1BF00FFFF40F22ADF9E297BE8CABDFFB7EFCEDDFFE1D6C3B869B6EBA01FFFAF57FC1CF7EF653FC9F6FFD6F3CFBCCD3F8ECA73F8B471F791877FDE237F8C0F51F42FD9183D8B96DA33810A7CE5B81CB2FBB0C66D08BD6C646FCEC97BFC1473FF917B002A0B0C0C22BAFBE846FFFDF5BF1EDEF7C0BAFBCFA1C5E7E6933FEFDDFBF8182C23CACB9E82A3CBEFE8FE8E9ED384167A92DE6530134396A5ACB23468C9041C4EFB4B7B76754016234F85455C4433EBB03050585B26BA01E9C8A0E7E87D6444141015A8E1F17E967221E87E3F848516520F4743A942DE6C17503949695A0BBAB1D011CD9C2DB89022A9750565282544F1B9DE268EDE886652785FAA00A87DBF69E942399FE0AF2E2707A7B51985F20967E6161A100344159288F50D9C07B2B2A2E462A9D42716101D8E88E8E3698311BB178A1502BC9441C81EC4C3CECD8B10B400233E7CE426FAA572894643C26D7E1B9A9DA217F44C78F158F212F3F1F5D6DED2A9B2059C7507E49A72B81D971A8F2005C4A24439F00DB979FAFEEABA5A116C9FC7CA49D344C2B8694E3209E501489A4E7F294239AFDCBEFA743D59015EAF34B8A8BD1DAD20A2B3F2974515141210A8B0A613068893C57CE821EE00AA072DF5022C5F99CF2811E8FC5A54915062849C4608B23D81380EEE97104A0391E0233861E3B1FAFD534E2D59A26380523B0ACC8C09523131248465A84738B3BBB050B16BC4979146DE0056741D7D613A04D91A97102E6E527B0EEFEFB306BEE52CC9C3201DD1DCDF8C30B1BB16CC912DCFFEB5F22EDA690760C7CE0EA0F60DEF4B178E4F1E73077E92A54151B78E4F1A770D12557A224E6224699146CDC7EC74F505C528A1B6EB8110F3FF298586ED5D5D578F0C107B1E6E2D5D8BCF90D5C7ED92572ED071F7800EF79F7D5A86D388E7B1F78002585F9F8E8876FC0B66D5B51505225562A8182C073F73DF7A2A5BD0BBEE360D5454B71C9256B70E8E011DC73CF3D9830613C6EBCF166A452E44E13B8EFDEDFE1BAEBAE851F38F2F007437168995A79797946FAA565679A9F8E4AD5A2722EE56C53C34B17D4CD48DB94870AA49C2D2B749688DC904013AA2CC489C7F692665165C624AD95687B55C51B5A1FA28E08AF132AF7F8B14A6F1591C569899D76146AEDB796BE8904D067508F9247392EB96BA5BC30696E8A32841F33D5ABF227125C0528459A670BE72B4DA1F6551C770C1072C5A32F1AEC50A3CD7ED2F2BAA8CC4FEF6CB2F240B5B5566D578E521D64A39CAFA11A260C7C60665C19CF5A19C2558D3C68E8A02525E205D42B850ECBD07F3B4094BAE00E535239E6C7099F43266A97F923C38C0B546FD127211302D8B977073ABB3BC549089F11CA31B81C87DCB6C492E87192E8AC3F84716509799FCF954E425AD00B172E1443E5642A8E0B0EA0EB1A1A5C7546510000200049444154A4DFC4692225ADD288C52DA9F547599D0483089FEB2261873EEF80BA525FC0D2B69348CBB3EB8561D15165C1777A2437B365DAB062319166893EDA8A094FCBB923123B9F9394166A4A30810E1F5A95D43F8B1C8F2B752FAD44EAA855208D254807B1A294D6DA80EBA6A57D0408FED02BCC874CD0A723CD32132A7A2D5045080603D03A228E1A4DF2C61A70952A4CA90594B39152210D88BABA7956879CD53A0BCE654047A9F542DD7998AD208C055196B568AB55549CE4E8962016AD0A51EA09514744C08B8E4A3EA98C0C2F1230A31126AAF638F177AE06047F95BD906D5116BE8A209511C0A2C1E17555702875EA0602EAE523CE2339948109A2A157578E120A99C54A4BE0C2FE8C6A944505A3B5E33A4252161D755DE93B06E09CF860144067648E2A5042B740DEE7B5D8759467E65E27EF8150ADA4D2FE86CF5F829CD402CDE72F8F87633F949CEEDEB70BDD3D1DC897DC38E4A1998C8D81676925DB74F360D1F0400ABE38EC95ECF4F8F1E3426F9D0C9CD9C80B0EA0EB1949C8AD89610A27CA008F9809A47C0B3689D3809183DCDA73DE7AEA69486875D692E17B12812C1255EA1BA99650323665C7A98929A1C02125A0408120CE7FB536991A583BB4729585A5020DC42453E945C374A3E1DAAD2216C30010ED00D461D0EA7B0449E50552C11E94F56435C87CFF541487BA1E904C72CB1D17303E31B0236B256B052E4FCFB673E1B1B8CDD3C09389E653E7142062ED30C1441549990D4AE1E7EA5ADADA544D611E12DA7FEC578217393C02A40AD737F9CC189E2F61E00A7CB426BABFA0141DD999B1AAA58A0E0D682EAC5EC602E67352A0479DB71CA00296B8B0CB24A5A5AC646DD2BB2138F3583B8C94944C85741B4964AA52D0E8A098EC62E7A988520960F061323294D6B658E059099E3E5E162F2B1B85496380C02BD18AE1B392C5A4CF4E820609ADE9E1943A6B38AE1399BC641C67A2B808FF47B34E3867A571E738945C3886856DDBB6A0A9E1182C5124D9F0641CFAF02C5F9C8A89A04076B3A6EDC1F019DDAAE626E71839688E8993A9382E40806E0A322946A94E24584BC5923047744475AB763B5A00ACB688922E29CCC92CE93168432B447E93737C20F9E925AB9ED64786E0AEE04C4F2565D9C93161218113077678F137552AD19652348A30AB283ED980D0007DAA55FDC4EB4713FCABC45399D00909C0602765894FE9FBF07D65656A678C8AE79429206C88B26CD52BCC3E284443981E3693DC8AA0CE6AEB74D0BCF99E070602CA532F3668864608339169FD71F894327FF639715FAD76562831704854012B2AFA5427D751BB87F062A155A78A49A89F4CCFF6C94B2E5FD3F2EA131A97B3A04F352694DE9CE0AB94FB993E660A87481F33B199C7374C0BB66123C1BCEC0890A67F811A24563B224D85184C2F2E94896F3952D554EF8424A0299485E6288EF0A9D4372880565B4FCAC76981B03395E52B53555754914003992EF209815881B2215557F83B7F344087F455F6F90F40CEA4CEAD4B6A6990E2C4631B95E2528D99F0481941CAB3AC2AAB88AD1C8924E177F83E37DAFAFD81C1943A6A008D3EE9E922E01C1EA3EF417F45AAC084FD295793FB5220A668067DFD907B1650E2D6918B940668F6532C6C2D45FE9C12FC2EE5930307C4E883CA66F0D6DF0FBDF9D2F97A915625CFFAEBA1930374DF4FC25E8E24CC917BCFE425C9463D66AE132E649A37D100ADFA2FFBD4C48088148ED0967D966EC905AA0C6C26A84E95DDAFF6AB069CF3228211F0E6ECF4D51FB2BB33F9AF0E5221F58C5EF8266D700BB6A7AC6AF2CF965076E1F923D183390B3A7C323535B5B2F1D4B38C734FA66264604BADBF30CB98CA4DA5C85196C852095058922AFB7B66029C4166CF30E15DD81C02810ECB25C8B265FC3B4C8023EDE4EF0AB06038DAB43AF15FBE2F56ABCA171D7DF5A53BFA0ED8930D94810DECFE8FCA5AB66A4792DD59848B5308327DDF57E35F5255090073D1CAE6EF561A6DA9809301685221FD03E229DBAF2D7C098BD7246498794EC05903B4DE2DBC95DE50DF8D522D1AA0152828158CFCE8454E28A3EC7D457766274BFA7EB6C6E75BBFD3F3EB0C99F918199302D22138EB11A07C1280E19960D24865A8D1D863621C3EC31E0434A0E84CF40C511AB9060DC2887F6200003D7AF4E8B762319D71E70FC945D9DA9A2347250B27FB9F966FC6EA08B7B6B2C9A48240B25165EB0AAA49A1F32F2BEB3BBAD154CEAB3024F744488CEE5123166A68A185F6B3B26D08CA7C84FCC9FEAE2C4465C567365D3A07B58034918C5554486EE9BF35D00FEE190D9CDAD0E78D2E0061C7462FD9F74987A39D695589D46AC086DCB1F69E07CAD1A6905CEF6E140BAD00984BAC025045A2A8BE622D9CE806FEA4832C82E16A4286A966254DAB0668A673E533E5F21CAEC6991266FD6C34A2EBC20046B706E1687227062E300028AA9AC93A5BFB3FA98C5F5D9F3462415B67C98018DCE839BF8FE6580895CF6280C9EE555200AB872B249A446432777BC83CC9000AEB8DC20D77E2266CDF81E9AB5D2C0D08CFF4C2CA496AE7A75FA73398A64D9B3680D174F6FB7D482E2A968BE7078C91A7851CA3B34E78896CF56BC5F5867F0B8884535EB6DAAAD9EABF2AAB9D721265362D91CDBBB287B204A2FEE69B102BDC9EF3B167DB13263E5519B20480543BB34F560F8AD0EA0BF8E0D91EC5D166817E700F6F50B91A64E046288148E18213AE2AB71C1248217068199340636812AA09A2CE275B46BDAF08FB5E81B95A086937ABA710D22302A30AF0F56B20009D59A1335FD2B520B3A58C94D5AEB9F4F0C0BE273F39C7D1EF03E86F2164A878C5880A71B4669A73AA7CC13A4D8AC6880C05C7020EAAC90492CC9A73063BBCC18D9EF3FB688E3FC9AF2ED588D4B8F48D00AE04F784554AC5925600ADE80F851196E8A55D3874720BB6F8B0FC380C563AB21CD1F7730E683FCB407BEA82731206046849AA8D10A0C3CA24B47E09B59932DA5A66A3805539079557F7C422647C3F14E4840E860C1EBD890FD5567066F3DAC7426475952C0FADE451BC3E1F2EDBA9E127C2C788834C5321B2048520CD0584D2BD810E85F0B8C1300499EDBF5EB04EE2808A027458BD8B002D478779B865132083BECFFB62488B7E43BB10430B5A6D361543AF16C9BEFCF9C0003A5C84F5E6441638FEA1CFCCBFB2EF651D767DFAB5BF7E3B4DDF9FA0CC300C09A1AF0C015A9F4EAB7F4261885AA735B91C2E6072EFA195A74C02E52F1140103A4E5982041BE9A5CC42AA7C18629064EE5FE7B9CA9A1DEA43E5BC8DBE04FCD9538A810B8D15A5C936C2F26DDA07C10557B547AD1C6AB9D6171DE4183D47876B0B9AC06CFB6ABCD17A26D7CC71C92E568E4202B4026FD360EA5F0B96AFA4750468D7225FED2A800E2C78A6A3C408E1181F4CF32F3C80160D58C69E1B4C5F9DD36343FB326B699E3815B4FBB29F3664BF99FD30AB3C39A78D969367D52683B9D69B5A1DBE31E0F70773B1411DDB5F7F2AB07B6B0ED4D33782003DA25C25A9123DB6D4C92467AF803460DA5ACF459239C23D1601B2C53AA6049450E791EE126061CA4B214825902661262562368805303C2EFAAAFEA66FF60854D2FAF37C4B0517191E1C8325D768456A9A4F296484680B33E2F1775FA2197DE43954D204024E2C1DC71212A6DF1B169BE077E388F3BAA0F2C191B6F17C043505D867E2D83D7D7F9EC9117AA12298EAA79EB1C9FA28B5942840CD35BD0B14FB2E637FA95DA0F21B9DD9E8B9F0007AF024EB993CE7DC77723D30E81E10802E2B432CAE2AED5053CB4DB7728492C2F2E47F3673968B3F995BEB009E945FE3DFCCA346B0A0984B297824A882013596C0A330A2DC25CADBA6C06CB837B14427C39C32122024E9593DB11E2DC60804363C46808685217CCB861B3A3413928D8DCA06A50B367C0658057019394A791A532B505D498ED6244FCB95801257D202C30BA007FDD0CEF11772007D8E3B3877FA5C0F0CB4071440974BFA5372F12C7F462B98F440E0C69010DC2485159360169BD49AE72288113C59F32EA5822024F4DB02989FD86718B12311841262CC0458BE0F8F5579EC84142596326FB0608679525C568263C08CE1C363CA5AD742CCB7E45883741B2D738B414C74E64AD48CDC2203A5A4F005CFCFA01809EE8949D42E1712F1ABB00832819DF41BEF2B0CA91E681F5D68C7E500FA427BE2B9FB1DB63D408066D6BA984D8066D425A90D715B01669EE4FA26D0F5C243CC60A161153599320C38868F98E18A554A0A83E5D93CA601302DC445FEA52C5C265BA2A5CCC843CF2419A1E809FAA1854FB57C3848C064A10982AD41E0B6D422C1A34D0781E521CD7C14B4E5030B0E65A901291213A6D7058311B1661C1E2D75522EC217F08E68462B073679DBCCF67FD83E91A16F580EA087FE19E45A90EB01E90101E8B211B0E3AA928D68894C575401293F0F9B0F1DC3D809A351650135F58DC82FAB40257D538C5E630E10AF5734B70C83776D03BB1B8FA3644405CA8D5E98BE0DDFCA037C077104E84CB958BFEB200A8A8B60F6A6B070E64C141ACC57DC0327518098CB2A201E6AD3060AEC380A186D6B2B30A7F829E57A68696A911C312D6E0A13478F45CC49B3C4808442D35A4FD0CA6638BE70DBE4D229355332560DD002DC8375645F40E32507D017D0C3CEDDEAF0EE016541974BC22DBE62BE299C6DDA32D0E9E5E3AE675E835F58882FAD5D88F52F6D42C58C299859508896DA3AA13C465755206EC5D0D6D28ADAE606EC69EDC0C4793331362F86969A26C46345A8AC2840DCE9417D5B177EB56D1F2E5FBD18BDF55D786DC3067CE283EF83954A61D7A1439830B20289FC7CDCF1E48B985655894B664E468BD78BFA86364C193316AE67A0B7B31BF52DCD38D0711CAB972E44C3DE8328CC8F614C4539EC745AC57A32302914F7280B5CE988A92C516A921C409F6A54E6007A78CFD95CEB2EA01E20409795D382563C7122D48CF75A369A61E3F9BD0DD8535B878B668D46434727AAA64C40FDD114DC861A54240C1CA86FC4ACA52BB069E3765C3A732C1E7E69032E7AFF5AECDCD786B2740F7A8ED561FCCC09583E792C5AEB1BB06ED7015CBB76352A61E0B6479EC682C54BB1F1D9E7B16AC10CEC3978108B2E5D8A4737ECC692EA4ACC2E2BC5DDEBD7A372EA421CAD3D8E6B2E9F823D9B0F624469110EB776209DB450525E81EEDAA358503D12D3CA99D03E0597E6B6A5B2228A7055386856BAB66148442C017AF8A83886DB70CB01F4707B22B9F65CB03D20003DA20C71164A60C63EF2C6868DB41947BB6FE3C51D073165E174FCE14F4F21595C8485CB66E3E13F6CC6A7DF7D1146270CDCFAA7E7E0E45763E9DC6A2CCA4F62FD1B5B50346B227EB1EE65DCBC7609E2ED9D385C7310D7AFB9081D0D4D58B76D073E78D525280C4CFCF8F10D88578E859D7630BFCAC4A123473165F17CBCB1AB0E2BC68EC484823C3C79E81052455578EAE9D7F085EB97E0F0B643A828CAC7E1960E948EAE46636B37F26C0FCBC68D41351CC4DC4E04311329910CC6956430B4A24D3F9653710C60A4E7007A009D943B24D7036F470F288AA35492B9D3B94606809234D788A1BB278E5776ECC6EC15B3D0D0D689BB1FF8136EBEF92ABCF8E201AC9D351693AA4AF1DD077E87F1B317A3C4CAC315D32A70DFFA673075F5123CF4E81BB8EEAA5528365C341F398A259326E2787D231EDCB113D75C7D05F6EFDC276599E62C5F8CC3358DF8C09289A8AB6F42C9C89178F9D55D583E612C9CF6663C5B578F194B57E0DE754FE02BD7AFC081AD7B505E988763ADBD983079060A8A0CEC3DD48232B70BAB275723E675C3B17CA49983422C66EAA8C39067F2D0B4A07332BB530EAD1C40BF1D332F778D5C0F0CA00708D015AC05198F878A6552002CEEE0C2718AB1F7680D468EAB4641C2C6ABDB77A37AF26494C62D3CF3E246B4A5BAB07AE51254968FC0734FBF2015D6118B61E9B2C5303D032FBDF2AA1480B864E13C8C2E2E40472A8D9F3EF52C627905185354842B972D15A7E46BDBB7A2A641D5585CB97C198E377563E38BCF63ED6597E2D1D7B7C08B17A3BBA3131FBC7C1E9A0E1F415E2286960E075E5E01F61EAE912217572E9A87729F4EC694241272A804A1CA431C9F94E0A9906715AB97A337721C74A407825CA0CA00A02277C850F480D24157C08A33FA8E0127B4309D30DF754C74D192DB8FCE433B8EB4CF90EE00012B9A1B012CA707B604A5C4E1B01C172D56AA28021BBECD1C113E620E93F850E86C209D2850DFF303E4F7F60AEFEDB322107F3C5F2479CC771CB70CB8E93482780C8E94D83260A628C663CAAA001EA576B625CE4CB627964E23CEEA4160C27A06A730288541350C9566F2AB306D6F2E37C8698759CE823E6D17E50EC8F5C0DBD3035BB76E43597905E2319644A2A44D0135E5692A631F256BACB8C2506DFE8FD6A7AD6A0E3236DB7354A635D3822B55839881CD86EBC5C439C702A7F4D049FC0BABF2F02B4C1064FA92A58D117F5211C473E53A22F4E341AC7EC3D42E6E0AFC85D91224B045624F54D93387FC3283651825E805520351441C4AFD0CCB6068B7CAA92CD546CC407EA8E6C8BD4EDE033980CE8D8E5C0F0C931E501CF408C4241787AAFFA89214A9E2057C4FA5220DDF973C10444E09F98011A424308521D8C44786A1488E083FAE127A09404BB85F08D290325FB0C2F25E52D98BE5B774642097002E0EA654ABB62C55EACD60997616DBE575188CC2F34A522B43405782533CD688D4499A780E43F280B0982E53AC7251A0E48E7548242AD2B64F59FA69983CA2B7BD1939807EDBBB3C77C15C0FF4DF035A074D2761B490AC805F08D8BA66A3543697A443524613362303FD9444F149AD4D29344E25088192259798B343E71557D767CD4D55E95CCAA8ABC83EFE97F51833694E7DA13B6C9BB407230D6320A60B28FB2C861C87C3A2C98C966178B700B44A764BEB5D650FA1354F27A12AF7C4058596B94A36145ADA7DEA66E6C688EA811C40E74642AE0786490F9C0AA03560D2824E330844786226295296AAAAD012A6C8B5543E69DFF5108FC7F1C4FA273065CA148C1B3F4EA2FC68814BBE0E46F78596B9048DA85475F07D172FBFFC0A66CD9A8392922295E6D530E18456B3695AAAF8AF1FA0A9B109955595C24BBB8EC48BAB94A6643A4875300708091AD793A2CC3CB76DC64470175D84A295D687C9E31816CDC801F4B0780CB946E47A200CF52E67B2A4FE2DE8D6D656747676A2A8A808A5A5A5686A6A8293EE4549692962F1189A1A5B85022170575757CBBF6DEDED282C480885C06AEE1D1D1D30CD382A465489C57DFC783D6CCB4245E558016BDB36E07A297475A6505A3602B53547C5F27579CE716391EE4DA1B9E9387CD394CC7B3FFAFEF771C39FDD8CF2F2327476B4C349A75152528EBC8202D4D6D6C9398B8A0A2542B2ABAB0BC75B5A609B36CACB4A60DB266AEB1A6411E1E77C298B3EF7D23D9003E8DC58C8F5C030E9815359D03D3D3D78ECB1C7306FDE3C01DA442281BABA3A8C193D0A478E1EC182C58BF0DDEFFC101FF9F047F0D20BCFE3CA2BDF21E0DCDED581DE5427468EA8C0D62D5BB160D142D4D51EC7FC790BF1E28B4F63CCD82A343634A2B878242E5ABD1AAEDB032B16E00F8FADC7CA956B70EB0F7F884BD7ACC6A1C307317DCE7C34D5D761545525BA7D605CF528DCF3AB5FE0FDD77D10B66DE1E8C10352B2ABB1A9050B97ACC4F7BEFF3D5C7FFD3578FEB9A7F0B15B3E86679F7B0963C64E42477B3B2ACB8BB06DF3464C9E3A13F58D8D18376E1C66CC98213B819C359D1D9039801E269333D78C5C0F9C0AA05DD7C58B2FBE88CD9B37E3E28B2F467D7DBD58A4C9988DE6F666AC7DE73BF0D8234FE2339FFA349A8F37E29E7BEEC1D469D3B164F912BCFADA4B081C47B2E45D71C55AA41D0379C902FCE557BF8835972C472A954247872F00B965EB462C5EB600AD2D1D58B17C357E76E79DF8EC5FFC390E1D3E842D3BF762C9C20578ECE107912CABC4B5EFBF1AFF7DE7EDF8F4E7BF2096FDA30FFD4E9231054602575CF501FCF6BEFBF0D5AF7E06B7FFE407B8ECB2CBB073D741AC5EF30E14E4E7A3B9FE307E7AD77F61F6DC85686E6943414101AEBDF65AA16F72AF1C40E7C640AE07865D0F9C0AA01DC7114A63E4C891B8EDB6DBC492A6D5396EEC68B4B4B5C08CDB78E0FEC7F0A98F7F0231CBC20F7EF8038CACAEC67BDEF75E3CFDCC7A549597E1B55736E2E69B6FC2DEBD87515D3D16F7DF7F0F6EBAE93A710A767604183D7A34EC18B5CB293CF6E8E358B5720D7E7E1701FA933870E020B6ECDA8B8B562C474949215EDBB203F989185E7DF179DCF8E18FE08D37DE40655909AA4655E2C9F5CF61CD6557E1B7EBD60940DF71FB0FB176ED5ABCB17917162F5D0D27954663DD416CDFBA111FBAF1C348A55DA16348DB685E5DF3D37D9DA5A7B3AE6981EBA2BB7DBF3BEC1EF8001A94B3A007D049B943723DF076F4C0A9009AC0B565CB1671AC15171763C28409929E948EB7445E0263C74FC09EDD07B060FE02AAE6B07FFF7EA41C173366CEC0DE7D3B50555181B696361CABAD45CCCEC3ECD9F3D0D3D386030777239D4A63CA94B9A8A8AC90E4FECC087DE4F0318C1E3D11DB36BF8145F3E7A0BDBD0D75CD6D48D8163ADA5AD1131858306736EA8E1E46634B2B2AAB2AD0D2D8A07288C4F23071CA4CECD9B3074B96CCC7E6CD1BC549D9D2DA8963B58D22A79B3D630ADC5427F61D3822CA137E5E525222F446B4D279F4EFFE2A606B550B9F8F9225AA57F4F7B7E3D99DAB6BE400FA5CF56CEEBCB91E18640F9C4E6647071AC14B6B8669298AC68E0A0A8FE5AE62E2642390493E694AEF442297554C284063E27E06095205E2ABE4FD9EAD3420810B532ACED251497DB4AF825A6C1B69DF43CCB4E0A41D98F1047812566181AD026B24B528AF6BD82A809BD23BB64F17F60D98D82E8680118A3CD6776032D31D152711CB37CA4347EF876DD780CDD3EBCFA2601C2DC4FB3F01A873003DC849943B3CD703E7AA074E07D0046672B4FC57C9EA426B31D42E53FFC008424AE2A4D0298F11C064515825C3531AE7B09A49A06A090A208ACC4EE9E32885E33122A7A37E5A6A0E32F2C554E5AB2CD64464815A9E5B05BEA8C2ED61E56FD16CF37B0C3B67860F5E538135B5D7AA7D59B08D82B006DEBE20ADA90FFD39FFE5317A21E2DF3C46EBC3FB5AE2E7EA999DEBF3E600FA5CF770EEFCB91E18600F9C0AA0F52968351384C8490BB0B1ECAB1B88748D793B98E7C263F0475891450246CC245CDF95A84082A5C54840021C43BA4D43E991791C0BC1327787D42F540B00C19AEF13540316919524FBA658E5AE43B025887BCA2AA625CEFC1C6C97EB23C6A016C9C7A18E13C33CD461335085750F696A1358A3C02B581F06E6E8DD4054071EE5A9D91F1AA8294FD4FDC2F734F00FB0FB87E56139801E968FE56C364A9585CFD415CAD074D12C62E789F6542A5DAB0D73A6B27DE477DE110390F9220449804518BEA162EEFAEB87B3D9D76FED5CA7036802D34B2FBD24804425876CF9A91BF659391B787DE3CB98B76801D2AE8FFCBC7CB84E2FD2BD691CD87308B3E6CD830707B615C7B1DA1A74767562FA94A9028EFC71D2296C7E6333962E5D269C30ADF454AA17797909A41D0FBB76EFC2F8B163909757887822893FFDF1115C71C53BA4B415230993F124528E033B2F0627E52066C410B3633870703F468F1B0DD771908C25E132C9522209DFF2B179EB66CC9C3E4BEE835AE8DEDE5EB4B4B4C8DF1515E4C3036907258694EF516D42108E822F8F2710E7E7E763EFDEBD98366D9A7C475BD6E77B6EB41C40BFB53935CCBFCD782DC671313C4C594DCA54092B2C67DEE067E41B2368F736DF597F1E7765D9E994678C5C53DB70666593FC10612A0A02310DB82ED743636FAF843D57E62591E4B65C724778924A53B6F1BAFE92AE902D303E3C5EA702E8B6B6363CFFFCF3A281A693ADB2B25274D017AFB954246EF3E6CEC67FFFFCE798366DAA2C4994E111BCA74F9F81D7376EC2751FBC1E8D4D4DD8BE6D8B009DB63A7564229D8EC78E1D93CF088E04C5B2B2323436360A2852D23773E64C1C3A74480265D89EABAFBE1AAFBEFA6A065493C9243ABA3A85A3EEECE8C0AA55AB44DDC1F612388FD5D488239094C9254C5FFAE8A302C6EDEDED983469925C9FE7183162842856D8B683070F62C18205387CF8B01CD3D6D621C99CDADA5A71E38D3762CF9EDD3874E86028CF3370D965970BD8339F885029E7793AD31C400F8FB9798E5AA1427FC3D4376126317529499E231B5E41EC8C457A8E1A32A8D39E00D6D278D91BABB9161AC1746089734900DBC0E1A6E3A869EE86A40A62D1D4EE4E2C9B3B0B098B5F51FCABDC6540A80EE956FDDB30295A7A2A803E7EFC3876EEDC29C045CDF0A851A304DC36BDB105EF7ED7554824E278E28927306244392CD3106B3495763061C2445153AC5CB90A058545F8E31F1E159024D81D3D7A54AC4D5A9FEC73022581995188353535983871A25C73EEDCB902D4858585D8B76F9F5C97DF2300D382E5F9C98D73D1E075290524B86EDAB40953A74E95EB2C5CB810070E1C10F0E467047B2E386C8B80B6E7C982C3F372813872E488003B178C6BAEB9060F3EF8A09C23954AA3B6B6569EE7CA952B71F8F0211C3B5623CA163A44B903E0391438F3C19EDFF9A673003D28E838BF0E56C09C1DA2D92D7F08D2DA98E69F19C01E1A8BF2A49A557D13D26466630B2D696EED990C1EC0F1DE5E6C3E5C83B163C7E0E97BD661F498F198BD680E366FDB8977AD59853C8349E309D06A29E229B989C8DCE97900D0EC1F02167F08403A24BAA797A1D5C57257B472F92F79651E4790221D41AB3BBFA050002B9DEAC97C9F604AB024E0F25F8230C18F80CCEB1134F5E7DA01177D4E045B02A8E6816518313748A8242168F318CD236B6A82C769BE587F47F3CA5195862CCD4190A137146D41FA422DB8CA52F6E487DFE7D088C5E2619E1272D05497287EFB7C7DE500FA7C7D720368B7C6360D4802D6069D452AD398501AA181CAC29DBEE1B3DE7258E96200173847874479434E465FD256EA5C6B9280131E5C58B0E004168EB477A1A6A60E0FFEE66ED41CDA2715A73FFAE9CFA36CF27854E52730A9AC445A4A4056654AC36C6F4348E9F4D775A7E3A065890A4153EEC734E1FA5446D031A79C65920429FC8CA9444973089DC1674E399CA79D7FBE005CD4A9A6F95DADA088EA9109C27D1D7051A544147CF93BCFC54522FA8ACAE1A4EDB2882840D70B80FE5D7F4F5F5724857AB88699EFB4EC50B7837F6BCA462F1AE77B6E8F1C409F2390191EA7151220EB2094DCC204682654271F4B1DADE26903E6E7359849D81E3280EE2FC526A9182E1B02AA4120CA0397E1C4411AAE1320B00AB0ABCD41BAB515BFF9AFEFA3BBBB0D2927C0F2CBAEC41537BC0F6E4B1BE68F1AA913B5A96C6D1AA087C743CAB4E27400AD9D661AD8646D5509E854AAD0508D41299C8021E99F30B78576AE46C9ACFE762D513DB2B660A3D17B51ED71EE0DDB5D0000200049444154D4AAD660A9178E6850495F479D0E2ED1117FBA03F4FB5150D5CE3EDDAEE8A2A1AFCFEF472D6FBD109C2EEA70983DFE7E9B9303E8F3E1299D711B0945610E5E99C6946211B469D9F0FD98E2646586ABF78D8CFEE18C2FFA96BFC849C9ED312DB6DE544A1C806C63D2B011B32D183103A6C52D6C028E61E3707B278ED5D461DB2BAFE2F13F3C8AFCA2127CEDEFFF1A87DADA70F1ECD918499998CC6225EFE0A657AC4CBD83380F280E0D40517582BC474A833B8C30D08389F575FA516A9E65932079A3952F82001DD50B47F5D4EC229D0D4F07854441BA6F22237D6CDF6092BE0A0ABD1068C0D4FF46A574FD59CA995D824BA99FDA2168F0E577A36D8D82BC5E104E4A9BBDE511FAF69D2007D06F5F5F9FD32B45077B661087502C600420ED078899AA54A7CB01AEDD2852022974152A736CC0AF7EADDE308A8D27D10070226DA122DBA4B2869679398EFCAD23E5B8FDD63FD29850432BBF8B764E59D57412F6063E5EDD7B18F9A5C528B0F3E0F829347675C0EAE9C1AA99D39114CB324479FE26E433551D0AB20673BF03EE983338F07416B406CBA8BEF76420D4375063B88255B45DFDB5B12FB847170C6D39F7B5D0CFA0EB87ED5772003D6C1FCDE01A161DA47D013A05A0A69DD22A17D5A5052860C86D08CA625B3171BB447AA964EB3A34F7542D88F289FADA0457EDC8EADB9EBE5B5ECD3DEAC00BCD31462D2485C551991DDF50DA3AA997A702DF582C0FCDAE896D876B903412F090465E7E1CB3465649515356C5A6E59891D9F156E5DB2CC544567A78BC0692B05FB7B4AF951A7D3FDA87FDFD3E3CEE7660AD88521C510B5CD32151A7E4C0CE787E1D9503E8F3EB799DB2B57DAD68425947CAC193AFEF4241F5582462166AF6EFC4A58BE660647E3E4C3F04385AAE16950ECCE610B21D7DAEA427870661521012E0E05047A11C565417D0EA5532A76C29233D89A2DBE628A0F4059B28F8F3386EE355CD3D559E89E59B849AE12E40AEE3C2830D2E4474DAD39FC4DD414C8C661EAF9C5516397702BBD0EE1AE28746B5D2DF833C1D4047B5CB7D77249AB7ED4B03682BF37C19E6512B3A4A85F4A5534EC6639F2FF739D076E6007AA03D751E1CA707B7F6A8F7027862672D8AE3015A8E1C444F470FE65EB41C1B77EEC77B562E40B1E9C122A279615922E16569712AB580B68635F5A08196004C2F3DFF8D7AD7A35D14F5EA8B4D1E26F0893A70A2C7472DEC13AD41DAB98A8AB0323A6806AA78E8A07AE35803108BC34BA7D178AC0EA3C64F10AD6C7B7B27F28AF3918C9BE86A3B8EE5CB960924F39BAA167620F77ABE501C7A11D32A8E6C7FAA808C6CA15772B5BAE02CA924CDDB865AF2611498A3C7851E139AF252F239D5EE68D4A0EA03B5AFA2844E49F3B47854CE16D9FD0DCFFB1D2C8CE4007AB03D368C8FEF0BD06D8E87DFBFBA155D8DC7F0D4FDF7C1F603CC5DB10297BCF76AC99D30B5BA1CF9BE038B9A5715E2A13297994A17AB7FB475D6977E885A677D01F664807B3A8BEEC4EF29158A025553723928679FCABA565F730C5DDD291C6A6842AAAB03E585F908622652BD3E3CDF44A2A4141D4D8D284AC6B06ACD4561584AA883D63B8541F0EDE7FAD10F84837EB33281098354CD40F5990230F5CA02960455EA2AE0E7FA460671FEA8C5AC7767AC16137548469523A4E908CE5C84383E993B84B94214D82B7DF489F73E7C764883E896CCA139803E935E3BCD77B2F2DA48E85B386754F45E3696ED6C5E3E4A71F0BC8D1D9DD878A4166FBCFA1AB63EFB0C6CC347D5E86A7CFE2FBF8AADFB0EE3E28573502040A5D23E42B29C655FFDF1DA0369EF401C52FD01FA9B796D5A518A8C20406BE851444700782ED229071E130581A930F92E83596C18561C0E7967CF438CFF26949243941BC30894A3FD793A80960A2AC9642621BD72A8320F8789969656E1AB189E4DF012D0169E5E297914E3A4A4780266C2DDAB4C25D9F1A85BA3922D650E19C8433F0BC7B06DA4CC6841EB17C19951944CE6CF484746193A4E1A9D9D5D72AF8EA3005BEF284E8C1C0C73019C85B60DD52972007D967B3E541E87369FAFF247844A012A0E0820B2D10EF9D033018BFEBCD6191DAC5851AEE85F53A6855F3CF11C2A9379F8D36F1F428FD38D2BDEFF2E548C1D8DD9E327A1BA305F38676616532A87508825E750DBE4FE2CE1B3DC65A73C9D8A04A3A3D094643807F61F94CA1F4C9E934C24D0DDD58DAEEE5E24F312E8EC68C3CCD9B370E4C85114E417E0785B9B64552BC84F0A7875F774232F9184E3BA282E2E92C843665E1B2E2F05D0157D8AC62A2B9860BC61C3CBA8AE1E255B7B866413B866CF9A8BCEF63678BE8BDAC6268C1A558192C2221860063B033B76EEC0A20533D0DCD282FC82128CA9AE04635528A89494A2FC4DD28B6AC7AB1AAF56C0237C78F27E644DD3BB186DAB660C8FF0316903F60C3A5559D004682EA98A16A395BC6DDB360947EFECEC861D8BCBEF4D4D8D282B2B41616191245FAAA9A945555595848D937A63BE0E91827358EB95FD246DCA046CC971CAE371AE56F181B447ADA0AA059523AB86C49C18928BCA7DF7876E6730984EF695D03E11CB45863651595C562A4F0F013AEBF01ABCC4EBA45402A793EF23EDD079E78A2ED64F24B1B7A51D758DCDC81760726025E3B09C5EAC62D62F4AEB18B841B3321C107DB5AA511EF02C76D3804FA5B7BA6C07CB2E710DE1046C6E6EC6983163D0DADA0E6A7F351F5E545C80AEAE6EF4F4F6CA82A31D96EC375A66FC5E322F0F6565A5A8ACA8082DCB0137E79C1EF866800E672A20392E76EFDE8DCECE0E4C9D3A4540BAA1A10163C78E87934AE1E8E123309371545694A2A9A101458595088C18EA1AEAB074D10CECDBCFBEB3B070C11CF8812171987C11A04D82B10C551B9E61CB2E4301B42B7FBF1D00AD9D7EF47B6880D677DFDDD5850D1B3660D6AC39A8ADAB17F46291DA8E8E368C1A552DD5C3C78D9B2006C5B871E305E42D4BEDB334F89E0AA4A3004DA7B27A9D23881ACC0E2E00AA72007D36E75C6885CA2AAC86BF3C6F9D0C5D246DEA13A54818DC38E86BD546D71A0219B780B42CB5A2827286CE204073770F761DAB45CA4963F2983118575488227296E24C0ADBC0506AC169ED6052CD1B6A0B5AB7412F14D265929B38EA08535B7AE971096D5609E3D577B3E58FD4EFD9E7AD542567F3F9BFB573BD19A0B3E62833D6F119B7B6B6A2B8B850F26B7477F7A2A0B01805C924DADB5AC16255AC52523D72240E1DAC454151191C378D823C80393BF2F28A503DAA2203D04A1FEFC120184B84A52D202D794A585965C8005A511C519F0A1329959797E3C081432828C81780E63326D53172E42834361E17EB9999F094E5CD31C29D6AF69908A3D3CF6B20C7BCB5277BE6DFCE511C67DE77FD7C5303B4629A694367784F728199ED6008DC8300E82850EADF396125DA8ED6224CD9B66B6FBF067F12043E2D22BE41AF3713D998617E3756C490B06F1F8EA72A75506827A58EA4AD0A04FB2A324EE4F9CE2D4510BD767F9C7856D5103234C2B7AA68399D1758817A76769E29B77E56874A3F273B1D07AD658A3AB190E4AD9000A34095AD621A565637115F590CA6CD7C1864E27B85CEF0034BC0984E5779F24201E8407A3ED5908E9335DB8329795022696ACF61079C6841C74F906946952BB1181D884C8CC4E2B01C9BCA24E5FD657968064851E171A264F464007D0E6FEB2D9F3A07D06FB90BFB9E20BB45D2D5D8D4B00F3DEADA9A1EE44E2AE3DC09B39A9183E48B7C2B338A7141709D3452E9344A4BCB24593A7F9F3E7D0AB66FDD81CA111538B4EF000ACA8A112FCA47CA75E598D6C626941617A1BDA70BC9823C2460A1A7AB1B0B172E00BDE9DAEA540017F590EBFB3EB7001D9D747D6BD0658136DA36D5AEBE6A87BE8ECB289573D687C0199E70203AE8BE0B8D410769C0884C17763C26748FD41134E2E287901250CCF927FE045DED4048B6B095CA94D0651054CE3F95A25505889FDBE7ABC71477454ADAE9A90C78DA828E3C4BB5C652AD425B83CE41BD28EBF7958A458059FC9C598A43CC8D01EC96B2FDA292720DF52B07D067FB09F4D95269A193A835A3CF7B008325DA340D46740C7100D39BCFD7860DAFA0BEBE0179F9F902A87CB92E5345AA4C618B16CEC7ABAFBC06CF0FD0D1D585A2B212049681C07331BA6A24766DDF8144320FC99262D88938CC942396D345175D84A2A2828CDC290BD07D07EDB99DC0510E5A26591FE765B48FA232C0682083FE5EDF47DD3720E66C0F85C19EEF741674DF124EB2BB892A31987B83F44E8635269805AA36A186E02CA795016821B6B433F64D12BD73FB7C75EAAA2840C7E2340C948350C67D267B1D2D63B52B0DE8DC14B9A5A6BA4869E84995CDD921DB477DA7039873D105492D5C43FBCA01F459EC7F256D0A6782EF86BC0233C829317D36BD27493E355AA2965D74EB1D05223A4EC83912ACC8C3F5F7521687B21C18E5C7014FF995E7A56058069C709CB32A735C6449AAE0663A9D423296276D9482A2A79C8F7AB989B6E05C4FE0413EA0C11A3D0398B4836CC1191F7E2A802695C59D5234C56686979714A3DCE62BC052811C063CE68EB66C780272AAB28E1A8B2A67B4244D0ACD4DF53DE59350E755832953E43503DCCA69F1E6053B6A8A0CA60B941495E395A9535DD7473CA60255B4C2868B07DBC9C50786E88E008379A06945ABF1A7683955C59CD4075FD1C5BDBF85BD3F5D3FA5A6A4476C2B4C819A99D03CA32A761B3DAF4A57A52C77452F4A7281B04DF40978617E6A46B3EAE4552A2BB93A5EF5B1EE53D9CF48908E2AB63B79D2842119A14372D11010073B854F39DADEE444F3A9DF08073739416E33657B458DB1760CAA4C103295FAB44673C87C480465BD15A7C5CCC178B2FCB6E17C82EF05D8B56BB77CB7A4B818C7EBEA112B48A0786405DA8F37A3209184159830ED38D28E23C7CD99390BF1BCB82C1AE1BA71927B7EFB298E814FF5B06D03D9C7464F3A6423F1CD77763A0B9ADF88523799B1422B526A137262AB1458945A1A521A8C5676A86FE7A21C52557CCE921B5A00459F57298C644C33317E48CD69D0572D5640A801FDAD07869C08D01E019A1674184948702650133499AB9C8E4C716852BB2FE0AC0C0DE1D87DAA3BC8BBA7A5A5043F05A86A6CA8F328EB3A6A1845FD1C328FC2EF4AE08B04BFE88C80EA5CAA8FD50C36994A200C14123A4E7D3BFC4C596BD1BE328C98CA2CC842BA6AC9CCD03119795F48E5F0318CACAA1892113A24173D9B00DD97D3CC58BF46801E184885AB683E022464FB9875C044B596921E923C61386868D5688F3D6BBFF1A513A96B2751BF16B4F64F1A90A00596462A2D2E41E7F1767831136563AAD0DDDE0EDBF5D1DEDA81B2912351535787DE9E5E2C993F1F166B4399CAE83FFDC3198E0567CFD4821BF81270AE8F3C1540EB2D7F5FCB50D11C814828130C79770218D401FBACCD487A83CAA13CB1D298A3440A7F49156E876A6749BD2AD9C199EC5E1E3C2B77B32F2DB8E25C0ECB8599EA98749A1236EA8CB58725BA682B481FDCEBCD00CDAA28E2F4F41C09C4E11C49C4188C44808EAB44FFCC5F2ED55428CBA3EA43A977141B42EE9D65B94C29A04B0026FD97EAE9956355F51525C1E43D7177C239C69DA77E9FFFFA727D75AFEAFD985085199E9E8B1C35E482E0AA008129518DAA0801C15D392B1510B35A3A6B188873D6601E19FEED885124D67CB8D3763CA657652A60A0AA72C4E9A7E3E03A7C40470FC945CF04A0DF6421F7B93D5935431ECC370CD07577B03B85970EB7A3B228814595F91813B761691357EEDC9749405D2AE59AD104441C2404660E98BE8BC0A97A364A8F642C020E56D7811BB324E0807614B5CF6C02ABA77822ADF211E3273A93DD903D99018D9BFFD1079D4A66C771C17A809491C56296EC7C4879C8B384813163C7A2EEE831E4E717A3B9AD15C93C0B85F909B4B7B563D4E829282A2AC4EE5DDBB9838793EAC5C47163D0D0D08458220FB1781E6A8ED5A2E6C861CC9B3353E498070ED7E08A775C85E3F5C770F0C07E548D1C85BBEFBE1BFFFCCFFF82AEEE9E30078BE6BB95A578664E455D3EC180173050C5433C460B5A011FCFD9D3D5893F3CF628C84D1F6FEDC1656B2F47797931DA3BDA2470E7D08183D8B2651B56AE58898EF6768930ECECEAC073CF3F874B2FBF02D563C6E29BDFFC26BEF6D5AFE2F6DB6FC79CD9B3B068C142DC76DBADB063163EF6B18FE1473FFE31D6AC5983E2E2526CDBBA45EA1C7EF9CB5F96E2BB0C8C61EDC59A9A6398BF70219A9BDBD1DCD626CED835AB5749D1DA8E8E4EA5CB6F6B473299270652221E135F106B3CF27C9595ACB5588B8A2A150DE9A61D8C1F3F0EC9441C5BB66C5121EB868931E3C6E2D8B15A54565461DAD4C943322387E4A2670AD0279368F505EFB461E058DAC17FFCF10D3CB5AF054536F0C955D370D3A289A02D2C369EA1EC0015B867A0A7B72753FAE784FCC77DA0A87FB95BF620D9BA85DCA00AEFE5021EF28E2C2FA4F669928F4306BE845047DB144AFF86ECC9FC8FC6DE01DDDCA902551860B37EFD7AD4D7D7C99698C55819BCF1898FDF82E75F7C490AC23ADDBD282DABC0FA279FC6473E76039E7FF649E1730B4AAA71E9256B70EB8F7F806BAEFB005E7B75034A0AF2D1D4D8847113A760D3E6EDB8F683D7E1B777FF0A17AD5886FD870F61F4B889983E73369CEE0E3CFCF0EF71CD35D7E2FEFBEFC7DFFCEDDF8915AD39E8ACD2E16C02745C516D818F82641C3FFED18F505E5686445E1EEA8F77A0A0A808A954373A3BDBA5606E5B6B1B366E7C1D25C52512594A3D347D2BFBF6EDC7873FFE09B89E872D5B3623D5CDB9E648D18799D367E00F7F780C13268E97809F8E8E0EBCFBDDEFC288119578FEF9E7049459517CCAE4C9D8BD6B17962C5B26E05B545282CD9B77A027D58BA54B1663FC9851D8B8712366CF9E23FD3376EC3858764C8AEE5EBCFA22A93ACE4595DAEDDDBB77A2ABDBC1ECB9B3B17BD74E94141563FAB4A9983D7B16BEF5AD6F61D9B2E5122979ACAE1613274E92E8C8BFFAEA978764460EC945CF04A0A3338B80C6E49AFC69ED48A1B9A911ED6D6D121C52513512C9927C1C6EEFC6371FDF83CEAA69483ADD981B1CC7D72E9F893256970E030BCDC043AABB17DD3D29E433DC3A163BA1D8A6C2D2373B114F39CB4327858C6B061FC8162BAB43128555C897D192A6C51C928C92BE93C9EBB58C69406832EC0FD25BEFC10C354DDD64B7E959FBEEDCDFF0A942BDA9DEF9F18F7F84E5CB9789EE9D0B32ADBA9B6FBA11F7FCF63E4C9A3205FB76EDC2D8B19370A4E618AEFBE0FBF09B5FFF02B61543E5C809B8E6DA6B70EB7FFD0037DC780336BEB641B2F931E8A36AD418F4A41CA41D17BD5D9D282D299490F8F193A661D1D265686DACC313EB1F477149A954E5FEDAD7FE1F3956BDCE9E05AD551CDCDED35051015EA4266C3CB57E3D36BCBC01F3E6CF47A2A01485C52578F9E5E7B178F1622C5EB44040F9CE3BEFC4D429D3D0D2DC2221DF2C804BA08EE5E5E392CB2E43DCB6F1377FFDD7F8E217BF80E6E34D98336B367EFD9BBB0594376FDE2C69046849F3F5FAEBAFE3F2CB2FC7BA75EB24A43E66DBB878CD1A6CDEB255E8C386C66604A689D5AB5662EEEC195877DF7D225B1D37662C9A9A8E4BE839BF3767CE6C3CF9F49358B16C39B66DDB8AE953A7A1A1B919E3C68EC38B2FBD2014C7DAB59763F6AC9962D92F5CB808C9BC7CECDEBB07ED6D1D9838650AAE7BFFFB063380CFDA201D928B9E09408BCB4F1C0794EE0738DCE5E0A5BDF57865F336C40DA0282F89EE740A3D5E80E9336660F18C51F8F5AB47F1E8CE46142285AFAC998C0FCD9F089B593D597DD8F5D1DBDE8A7CE610C84FBEED916CCAC71F91340FD993386B63E9C413092E937755D59CC9AF4AD27F710304707D2A1B42F916F7FBA1FCC534F9A4B9F41A30590A8CCFDB60CE0A75866C8980C172AC03BFCF5371D09CF0DC6ECF983143DD572843237FAACB4129599A2CEFE22863B49DE2585DF8811F2A13C2283B2A15424E95C680CA10A7FA4C49149936807D452E57658BE3FB2A28EAECBD44CA26A42C836EB40E5AC9459533D0178024AD435D379DE05AA5A27377906F6600CB9B5F8A9F4F3B29518124E209E19BF56E5417B6E5DFBC47D248FA3E5522AA6CF5747E2FF3779835D0237D9876B077FF3E4C9E3E0D49EAB7BD303C8D1C366F8B857AA948A163D5A39356519ABC365FBC26FFD6DCB87A166A8CB13FCACBCA8764860EC945CF08A0C532F5903280A31D2EFEF4FC6B706063C2F4C9889595210D0B493380D7D6869AFD0751D7D286792B16CA56A62A2F86E9A5169CE6E3A82E2F97C913B71388C76DED0F18B202AD676F8A0DB333A9EAB2522546B9664D989C29C22A499289D077AE222C61AA3C14866F432A18841E792D8992D349FDD530E8E11CC6869F4EC5C1894B4754B43E5F345FB2D2492B8056BA6615FAAE25952A784349E4A2B2B393E9C1A33E90811C7F262341951D536DCE70D0043AEDD709E57F2247EBA37A52F7D157AB9C851611A3F07BE1353430F75571E876F777DCC976B219354DA8A07119D92855899463960B82A8B99493491909E1B127A846C26022BEA75FD16B8E1C397248B072482E7A26002D468519A02D08F0ABA737C1F40C2C9A3503F5410A0FBFB113875A7A501533F09E39D331A9A404BB1BDAD05C77001F5ABB1CB1AE56FCE0473F428FEB61C2E891F8C2673E27455915FBEB0A9084354CCE646CE7BED35F0F4432BC72C7C3A4FCC45D79F61C75921D4A852010B74D838139045F7ACD5525EC4C3E92FF9FBDF700B2F3BACE04BF9763E71CD00139E740309BA42952924965C9164507057B67EC2A8FD763EF6CD554D9B3B35B5B3B6B595ECD682C590E4A54A4324951CC0104488044CE6834321A9D5FBF7E396D7DE7DEFBDEDF0F0D7440B7BA01BC57D564A3DF1F6FF8EEB9E77CE73BE379496671E44EC4E230D6DD78C55ACD770A9C758CC1024C8AEEA568781381AD01AAE2C49889CE9BCE8014FD170DC60AA0958BC3FCCD802A9F5D59963A7468A5BFC9F9666F38B6838A1799423B8DCD4130F43BF3FD54DF55DA4A688BE49A6B7D853CF2ABC7B6BE93955CA07149B13DF4E2698EADABAB9BC51177ED1E9B939B4E07A039C663D91CCE0E0CE36B3F7D098F7DF04338373482BF7DF56D0CB82B8463EAB1DB51171BC517EE5983BBEA7D787BCF2E2C58D881E8B1BD3875F408B6DE7D1F7EF0BDA7F09FFFEAAFD1D9BE50E43DB3E441DAB9D22A5A4EE933432D60751ACB9C5574302641D8EC2E647276A9121E4D2511CF01D51EB7B8AA9472B2AAC9A8FCF13C8F2E10E5AB679F299FEBDCB838B815167A99CD96A78599EADCE3818B1568F4F2A41351C602B4B5D5AF150C9F2E684DA547955B25233F790693E6081700CCAE32278D58D6984C3F8B05AA85C80C255E2A9F93CA9A4F26313C6EFD849AFC2C9C719DDE4D80B44A0B5C93562B0BBEDE5DD105438076F05E426894EF58968DEE3203DC562EBBD5AAB75ACEA6CD3B3A3AE6041CE6E4A6D302E82C10B2013F78E13578DCE5A85DB206FFE3855D783D1544D415105D67769E379DC092CC10BEF4D85A5079AB279CC0067F06C7F6BD8335EBD7E1D7BFFE15BEF0879F454B638B68CE929297CE51645E09C9973E33D402669E6A473B7DD16AD2D991CCD990B0D971E0E809B8BC7ED89D1EC412692C6AAA46BDDF2581536E4D39E7ECDA1FCDE25802D0A25048FFE2EC15999DC8C5C1096C2C4CC3CD556E0BD6613425A0CC68528257856DBBF97DAC8BC30AEEA6078AB7F5C55B7FE36299A11E93CB1403B45A2A15075BB941E8B6E232AA1268D439C6255570E9A842035AC697D6A826FF89CF9E49391657825C44927A0B017903EAC5006D160903DAA64D142B8B710BD5BEE24DD35D20E941DADD2165DB34985BDBD94A8F1DAF3D4BA9DE138C322EAE9772C0979FFA213EB8651B8E2503F8E2CE93E876542265F3CAA42604D81C7654477AF07F6CAD414B6D3D5EDBB917FFE92377E2BD37DEC089EEE378DFC30F6251DB42D845A83F85ACA4E0DAE154BBEAD267A65AC0E29620A02A4FB40DF6AC1D11BB1D3F7F6B37B6AC5E819E0B3D180A8D60C1B2C5E8EB0F61F3C22654389C797A974C7ED9978A5F44A77C4E271163F22F3619B124038E85EDB24ACE28248F98ADB44AE75769DD2A118A606C804752A91D0C0C16742BF2A063718D58B7E5AAC49472419880DAE4DFEEDA47E6FDCDBA2ABC249ED02A95CD0ADD54EA59730C64C229414F95D751F0F7AA2083E97C93F861433A9383C3E9C8EF3A84E5A4330BB34C0BD7D9B9C6E540374BF14E82C141B37B313538D96E63762EE6BAA214A99250CCA22349376C67AD95623282AFBA8675A1D0167CC9C531C108A3F3FF52C6862F7FEBFBF8D8FDF7606FC88B2FBE7D065D2E376073C39D25412083ACDD8DCAE830FE6643251635D7E3C5D777E03F7FFC115478B5AF536A58181F9A7847650B5D02E79998E2966B685724FFC77E11F6052B8067EC38198EE0EC4818B9F3FDF8B7AFFC03324862CDB6CDD8FEDB0FA3BDB5190BC8AC111F876C8A55C05063729EFD32C38F6BBD1C01BA4A2AAA28853A2BD79893399E484A12049914645D24D349D93E7BBD1EA1862D59B24C808CB200890459070EF87C5E5CBA7449B4C2172C5820DF9391409EEF8E1D3BB075EBD67CE0917F0F0683C2093665A768A99346CAA418F27DEFB8E30E4958F9EC673F2BC932575BEED36F2093B065EEADC282AAB4D9C10307108F2791B1BBB176DD3A11F54FA6E2F0FB7C181E1AC6E5CB17851B9E4A26F32E12D2E756AF5907AFDF07960BE33BBFBD6B17162D5CA4B8D289047C5E1FF6ECDE0D97DB8D152B5688956BDAC8303B582861FDFAF5B2285DB87041DA9FFF663BB18FA40DC892B13B845EC744B3706844F8CC0BDADBC4374DB70DDB92CF104F247060FF7EAC5EBD5A59EF12CCB4E3FC85F39270C4C5C0E9724976E8C28ECE39818839B9A9DEA61496D9498C25A6760E03F8E62F9F4773731B72758BF00FBF7E07076C7E245D7E649359385C0ED833393446FAF08F1F5C8DD1D1611C397F097FF6BE3B5121FA2A5C4D0B928E6ACB4DB856018FD267665B80AD6B4ACD2A9F322D451BF65CBA0C7F4D159EFBDAF77174EF2ED85C19047C417CF44FFE3D9ADA9BB020E88757028639A46959E92AE77447C9967A967BEB7A001D0A85F09DEF7C172B57ADC2E9D3A7E1F678A5CC55435D3D1289980083DBED456363A38011931C98C1B66CD952C95AFBE94F7F2AE04AF71BAFF5BEF7BD4FB8B70F3DF41076EEDC89CECE4E016E728809BCFCFFB163C7845AC6F30281009E7DF6592937F6E69B6FE2EFFFFEEFE53E133123A6D2B3B43299794780A6D017697FCCB2FBFE534FC9BDEA1B1A70F2F4393434360A08F6F65EC67DF7DD8FC18101BCFBEE6ED4D6D4E0724F0F5A9B5BA5B2D0E9EE6E7CECE31F87DBE3C1ABAFBE8AD5AB56E3995FFE12F7DF7F3F8E1C3982B26050DE399D4ACBA2C636D8F3DEBB02F44C5E617A38DB818BDFFBDFFF7E3CFDF4D3D8BC79B3BCF3DAB56BF18B5FFCB772122B000020004944415442E414EC4E077AFA7AA55E228B6034D537E0E8D1A3089497A1B2A61AE565E5B872F9322E5FBC84473FF07EC951D8B777AFB4EF86F51B70A5A747EEE572BBB07ACD1ABCF0C20BF0070270BA9CF88B3FFF0F7302107372D32903B49AE988DB81B74E9EC273EF9DC0030FBD0FEF1CEDC2BFEC3F87414F0532368F583181C8103EB6B61D7FB0AC127B8F1C82AFA109BFB37A21828C3EE7A814C7BB2BE52B138C9ACF054CA732B1E6D3B185D557D502573B15069780D3E108BA7AFBE10DC5F03FBFF4DF44B272CB96BBB1F5C1DF42F3824634960711607F092B4F09DEF01A8AD9AA0388B3F8B21303F453A8AEA9D57C5C07826541AC5DB3063FFAD10F245BCDE954EC074EF664322D40B36AD52A9C3DDB2DE0F2B9CF7D0EDFFEF6B70574962E5D8A9FFDEC6762C5F1BE1D1D1D025004FACB972F0BD0335DB9BDBD5DAC45023501BDADAD0DAFBCF20AFEF99FFF5980DCEA9F2E0EA44DB5A9C6B038324A8F3A180CE09BFFF2AFB8C2F25E6D6D707B7D08965508E0324985C0C9249E6F7CE35FE57DF99CA4B292331E0A8F60FBF6ED58BD768D2C4A7FFD1FFF0A9FF8C42770D75D77C902F3E0830F62DFBE7D9260C205A0B5B555007AC99225387BF6ACB4C1A64D9BA49D04BCF7EC917F5351928BD6CB2FBF8CAE93A750595D85404539D2A99424A57CFDAB5FC3F66DDB303812029C0E4992C9A4D2A29572CFFDF709C0FFE2E73F977BAE5AB952323AB9436199B686C606A9C148706662CEEF7DEA77E7042BE7E4A65306689E905135FBFAD3697CE99937B0A6A3134B1B6AF1EBD317F1DCF18B08D9CAE04BC7F0405B351E59D581D17814870FECC1871FBC171DE565125252B42DE5D630D5A909CED20873D612539D3E37DBF12A5AA860DA46FA33C2C8E1991D6F61DDFA7518ED1BC0D05004D51D2D18EE1FC1B685CDF0B342B6A983934F78E12FC61535FB3EE86BB938087EB1585C32FA98F64D41218FCF2B02474C5F5682403E7165508B62707058C08A5B6A5A89B446E916301578E8CAE056DDF85E6941F2779E23D9737A4BCE6D3DAD67E36F354C0B9ECFADB815A06F748458015A980E5A9680AE835068485C2D3607D5EC28A4941E2322C6FA8454C1631A3ADFC568DA10BCD91E742110044D8208DBC1F8E6F9DCBB77EF96C587A06C449368C9D37D41F1322E7A6C17B605DF9BFF665BF37AFC3D3C3A8A80DF9FDF5150E695F39E520E4E1201EC2AC927501614B7464A44A754D09216BCB89DD8CEB9AC6A7F6653DA6D686D6E99138498939B4E0BA07574368E1CF6F50CE0F51D7BD1B97009EADADA104EDB30301A4759C0856A770EA19E1E1C387C0C77AC5A847B5676C2AF39A934C9146D4B65B6896FD3F8D7F202EA373ABC4BE7ABF6356B9E2A846B92910930E15814F0B870E4CC59D85C41D81D5EC4D3312C6FA84583D72305D89979C6A995A7D5E61D1BB3BFA25ECF82563E16A5D8A6827B225AA977098AA1402D65A3BE6667A5158B26B21AFBF46B9BE415CB5E43070A8DBB82C75A038BE6DFA6D49675A459AD662B7D6CF2A3F1EA441582936263A85D8B8A15AAF6A7B67571A289E1482BFE7781C5A29E4D3D89298166A88926586A7DA7628686F51D8C0EF7557FD33ADBE24766760303B39A66A7FE2661499179CDD3FE747052125644E94EB348549694BA855662A8AF2DF1A0AF3F9674D9766E96D9F8FB2E8FE0D9B70F211D0E6345472B1AAACA301409E1F0F94B4866ED7874DB16AC5A50854A5A63DCA6D1B7A1DD1B05F8503AB62AFF98AC8ED9E3D64E7EA2DCFC476A8F9465521752DA074743F0799CF0BABC48D91C08D1F798032ADD2E78753030A333BF1D020EE358CBB36C564C08D0CCB63300CD67165F8CD2C5E038535AC58632A6E7B9D6432E48DA2AE94C6B5284D58F6CC0D864B61583B63573511B3C5701E654469211BCB766123ADD2CBCA65827A2E1CCEA409A8A6778CA85F7548B8E750EA9F753017911FB976CCADC55B535ADEC112BE759B5A72E68A0CF357F2B5E8484724DA688A472676073399114ED6A05CE5CE809C2C40E03D0F4AFCB02648A10E8B4FD34CB786919024D2C4463FD6D964998CD982241577B178CF595B7C2446B97B0AA8A71B2A113B0239400BACE9EC7C9AED3E8B97259AA2CAF5CBE1C8B3BDA51ED77C9769A5B4F99E496555D69C35A54E33445C00C9499DC2E4E6592DC8CC7D2F2A1C00D2538E90FE4B69F91EF9EBE01343537C90438D77D4602475C0CBD013F3C6E376AAA6BB17BDF5ED435B6C0E7F3E0E4A12358BA78919ABC4E17FA07FAE1F77A313C3C88C6C66655C1847AC45EAF6C6FDF7EFB6D2C5CB808FDFD7DD8B279D335B454A6A7977D3D9A1D9FCF6CCB8D5B428185627B90DE4BAA9D4AEB36F757143BEA6A18CB5A29136B70175A9AA2DE495C841C707E9FA18EBFCE7815EB5A59D4A974A25086EAAAD25926843AF5325185F16F438AB532A95331260B52092771FED10DA2DE4901AF759130BF5B2D6123AE2F82FFDA0E52D633DB4A99AA229E2F9C7153F0609A33C2C2201AB396DF0005A8B5B57596CD82F1DF754E6E2A1D98CDE564001B3D023D30294C62E43AF3ABA46C33F41645066A0E895416703A45CD8A65A4FA07C2F0795CA82CF320160EA3A22CA8565303CE45EF2F2BBF68411BAEA6E2AD5AF9A9C6BA99E630B92D4E2358515D8D00BD72E54A09EA305B3091525B7F6A30545554E04C7737828100EAEAEB100A8D60DDFAF5F8F14F7E82A6E6660135AFD381458B16E1FCF9F302F2F473D2A748BF23A9580CE41030C81AE071AC01C9EFE96678F081FBB5F55AD4E4D2B966EB3EF9DDD144006DE5311B3052C8A2C02B473AA11EAF640D29E0E1A856415291FC92A41B6EB9191151A2F2622DEA19C9BFD96894D3DD2355B10D80A9925AE28BB6589563CD1C3557A6F3518B4C4EF4A08D8B4359ADFA6AAAA694EC3B8DBBC1A1CB5259136B8CF688FA9B7290109C792CC5FD0BEE9182B09411F857BB863983A6719BADB9B9794E1E684E6ECA16C8643239ABC68075CB62B673E6FB9E2B57F0E22BAFA0A2AC0CF1484454B132361BDA162DC5C58B3D58BD6205CE749D473C368A4C2E29B5FFDA5B9A8562D3D0D020560B79991DED1D58B3664DBE030C185B7BC49A245002E889A738DB8B20CD1F822AFFCFD99C92640C06CFED0887C21230221F58C0C9A6180E831455F7780468488BE2F70CFC281781B2A494356AB6C56AA27B3C4CD048C871FC290BFAE5FF525A694C670A7C1648D413BF8E1C3111405B2D46055EDCE129D68940A3B085B4529F521BD1DB7AE546936D3FC56574719F6C5AFB7905A095252D5559E22939864A7E2CF3407093CA1F3AE185D6AB49D898E4AB5DF330EB6E40F1A009D01EBDE0286A2A8FA18F9D3B1917E985192AF131614505FD4C45146355B3128B9CE320F758F5AF2AA2ACDC0AEA7CD63D54FD58289B3567B074CDF6B9ED1255B2D96CCEBAE25AC1B2D8D5101A19C1EEF7F68A255655518E68741476971BE11865096D68A869C0C8D0103C4E2742E121F8021EC4E329C4E3313435354B94971161D2775A5A9AC50250EA5AAA3F8CA80D9F47C8E9B4CC8BB776373A036EE1F3D9565266485B7467CF9FC3A9D367D0D9D121B426A96471F122CACBD97751E1D7D23A1B1E1E862F1090083B3259B4B43609558BEDCFE40346D1693D1B09483621695A0B172E44592098DFE617025233D3C813A57A938530369B2F0EAFC785443203A7CBA70AA6DAB3482513F2ECCCA2235F3A91544C021733013349E55D77B8E538BA32320445974778D507F6EFC5C60D6B1550BABCA259CE76318B20173063B9CECC5BABAB18E0A4B83EF9C0A29DAE65387B7B7B641E55945560F7BBEFA1BDBD03274F9E143A5C77F7696CD8B05ED1E516B44A75133231B8E33971E224962F57BCF1CECE7659782F5C382FB4C15DBB76A3B373A1D008D55C5465B2CCFC9BC977BB916BDD766A76F1783C47A1734E4033D8CD04E7CACA41410A11B7B81CC82C0914898C8A2E6EC0E717EA4F2A93119173AEDE24D247474611F47BC59289B3569BD674B52E046AD576211E8BC1E355DAB512C165643A430A945B683826DBC8D0816EA4736FF573AD0C02023045DA7BFB06A4F61BAB55545656A0A7E74A7ED2912BCC063FDDD585728AB94B2DBB8CF43739BF46EF977D50162C436824247F633FB23F9889E7F3283A9AF5DE06606EB4BDAF07D05C545E7FFD755990489D2358334BB0A1A10EFD0303F0CA73D9E0F705F1DEDE77B17DFB1DE227AFAF6FC0C18387D0D8D884D5AB566160B81F17E90E4AA4104DA74D223C5AEB1A11898EA0A7FF0ADA17758ABBCE96C961381C436B6B1B366CDC209548C4125514F119FF88054DFA9C4EF52660F267F7EE77247184F533CF9C3D8FBFF88BBFC457BEF2153CF1C4A7F1C61B6FA0AAAA52161082337F3EF4A10F491288DF1FC4BE7D0704D0B76FDF86EF7DEFBBB8E79EBB9148B0F6A04DE6F8430FFEB60897A92AE7CA05329F3EB79D16C79E3D7B721CDCFCE18020F791939B9DC5C9C86C2002F6F1E3C7C54D31141A853F18808B05331331D873369407CB1149A670A9B707EBD6AF45CF8573B09115104BC05B5989DE814149063039F7EC748287E1A4F21E4C19E5BFAB2ACBC56A33890104E975EBD60968943E536B016E750787423261159898EDAB11145255D155D61D79A6D448A028BD5332CF84BBAAC1D7E854D08560262DBF376C02657529949AA9497D3D80E66EECB5D75EC3B973E7F0D8638F4932098FA755B076F50A1C3F76146565953429D03F38846D776C44321E971D44782482B5EB37CA986271E0EF7DE3DF50E1F763F3DDF7E17CCF15545456A2A3B61E878F1EC6A1E38751D3DC88B52B96E39D377760D3D6BB10892670F7DD774B1156A5CB9CD562DA53EB9FF18E366D672C680609DD1EB7042B0998BC5F6F5F0F5E7FED35D4D536E0C5975EC1073FF8980072636383EC6C5E7DF5157CE4231FC1AE5D3BB178F1223174984CF3E94F7F065FFFFABFE20B9FFF027EF6F39F221209E3DE7BEF9573588FF1A31FF9A88C118F9795C0E9C251CC91F9F4B9ED2CE89E9E9E9CD93AD152E2F69716B5A998C081C24C21A347108DA5A4F8E3A9AE53E8EC68432A9194EF2F5FE945DA0ED4D4D5A0BFA7077E97138E9C1DE5B5B5088723963A832E21D013148C856E7C6504E8587454267A5D5D9D2C1A9C880477FA4A4B9FF15BA0D87A35A233745370511DF329B6F46ED8401A4F20FE862F2A8F7C3D80E6F8E4D8A021C15A797CCFFEFE5E6CDFBE056FEED8857BEF7D5052B083412FAA2B2B25F3EDB5D77760FD868D387EE228CA026558B16C19B2B9242E5CBC8C8EF68578FED7CF8B1B88EE38BA49687D9605BD58B4B85DB2E6962E5D069B8D3EDF9C365C6459523AE63368415BE96EC68256D2A08A4142CD8DC868044D8DCD387AEC047CBE80BC3F9353589771DBB66DF2EE8CF3D0F0613599E5CB9763EFDE7DD8BEFD6EECD9F3AED4FDF3FBBDD2C674551D3B7602AD2D0BC4CD41D125137B986F73EEB6B3A0E98336568F95EB79ADD59D0BAAE67168A60509E7460C514596878606A4A8A5EA65F5231C55AD7025BF0BE3CE90ECB5E2981149D3D698894E97828445183B8EA56AF51512BCB8008A85E86040ACE853C8859881F93737006DC66C315F379B4BC161770A88CA771C680C7E81FE68FE5DE92BA7526429F14317052D45E5B661728B8C70D9DAF31AD4C3E035150B229B637579ED234EA7E070AA0A2DB3EDE22013CA58D0EA1D9CE22BB73BD4F3A8D891A206F2C37737711C9EA7DA8BCF6AE6A3D2F93065C1184064069F0486B56A9EA12CCEC02099B14BDC76004D1687616E58077BB155966F6185C18A3B4A7FB15441D1B2ED9A231A1A1A42B0BA52A2DE6EA86DB021F45F8515DC424BD45D0D2C157D9FD9ADF28C8D8E797E21B61B771DA4C2319DF737B3B0CD1D409B05DC8C2DA1BC5122955CE62C990B36D81D1ECDDD4F29253F025D3A07267F300027D662868C17BB04116D043C06FEC41221ACD3BE5032B8B94C1A99ACAA6B58603B196B73064D68C348D13E68F2D909D005394FBE9F9647D525BB38344D1660F1FC29C47E0A006EB4A54DB2982AFD652459D5CEA0E4E2284CF899D9134E03408C056DF4704D47AB95B50094790B4D6BC7D25FA906AF02540A24D958E2C60684868711ACAE120EAA64A1E5015DBDA6F1635A7D95565A9DA14F19FAD235178B69BCEFCD7E4A715B58B7C38CEC337E409753E133D93ADC2A576BEA599C1327A158A16B2A037DA2925786074DFF79815AA68059123248BB13BFAD7A35A6AD1B2B40525004F4B406844E9EA0F52829E2F682E03F991D595AAB9205ABB2F08CBBC1CC9BD9603B58697605C693D6B0A6352CC944643C311B92E90863D3D90D4D562D26CA82569F9C58CFF4A19B1883EA774A857297A10AC9CE247D70A6E6DD6DE783CE652553456D7FF43ECD58B385D5D5E4F0EB80886C0185D36F499537D33087D070585801EA30B19F75869245FCDB22C66D3ACF90E9C75B18662AF034530365AEAF63056A4E6482B3D135B68ADE98B69F38E1609A006D1185BF5649F6D90068C5D31E2BB8AF76601C9474EB180343D7E7935470651C081849762BC579A85DAE133EB4268C30180400559A8B23ABDC78521984AE847C3D3DF56604FEC2F8B42E413796A8429AA04954D10EC2425ABAE06C0E991CDD14CEFC0E557B2CD53A3446D7465F41EB71281F7321CDDD003471803E6B1A683A876CAE87FA98FBDF7E99841433303D61014DE95C439FD256837431AB36A8DC581D1F29582534956960338041E16F46F955985F4D24E3BEA0F5ADC697552BA1906966A5E31506DABC1A2733F730F9B4D76BE4BF16FDD9B499D572A65B83006D7CCE63B7B8B36C414F027D2771C8B8ED39998A2A66B765C6936A17055E94795256A34A52C921A3CA3C49511905C0D4B848534AD161432E95868B56357248D1CD415706F358983D287F57413A9B58263AFB957E5FF14DAB4A35922AAD330E8DB53ADDC1422F8BF0A02DA9DE920128D6BC7E473EB79A903AC1A46029F3CF2C6460AC64717971E7CB854D176F30CFACE699D12FB10609D53BCD97CF6DE78316F379863E526BD2064422A46DB9E066258CD2E7DA2D906F79369C1548B53E045D46B277558BA1523319EB76A24BC3B06F6EB5A62E0668BB852A41B049A6B84D7731B7262FB9497EBED39E412C1A81C35B21B97F4E5B0EE94C0236875B454B98FD484684D3298143B18CED76C44746A52289A474D3882080937A483D0F131FA1FEA2839A4C698447A3089655AA406C26A9AC735668A1246F3A2569F3D1684C2870D27BCC40141D109780241756B29332E9B404F4443E34AF1B42CDA1020F5A02EADA5DE8B2DB100D87652790B2B9E115594F96BBA2BB46D1F194CC28EFABABB6EB5D96CBE7021C2E05B9E984B882E87BF7B8A82D429F3C634619793637150D450B4495D562B6217315C2236104CACA9578932EFB457AA694CBD2B2872C48CC1D9DCA368DE977663F29CB3C166556AB4716518753EDCC53499D85CA47D6B2A3BC9FC7AD323F73593B1A9A4A6A76539EE7569C61CFC7A231A97B26DCDA295FED363B41EB54707FA1045895DAB244E5B5DC17653F8D7CA3B896F4CE83343302152DE75BD105743D8026BDEEED777663C58A9538D5D52D1982034303A80878515F5B8563478FA275E15201C8A6867AF45CEE414D5D0356AE58894B674EE2E5575EC392E52BE172BA101A1DC1AAD5ABF0AD7FFD061E7FFC719C397F4E32EF860706859E76AAFBB4D03E63D1A858B49B376D403A95C4B7BEFD5D6CDA7287F8FD2B834A73D94E7AA9CB8763470E61F3C6F5D8F1E65BD8B0618308E6D73736E0E2C54BD8B8699324CA9012C73EA46E32136F1E79E491BC521DC7012BAAA4B33A514554E2B292FD78F8C001ECDDB34784AE4E9DBF2245989B9B1AD0DF77195BB66C121D96B7DFDE8D75EB3788F8BDD7ED4530A04A7AFDF6FB1F45E7A245D8B57327BC6EB54011CCB9A03011C9E3F5A1B9B909478F1D950499C6FA3A49E7A71B25102893E49EA79EFA2E2AABAAC5B2975259C90442A161D4D5D548D92C2E0C274F7563E99265088F8684CEC70F99334CBFBFE79E3BF1D24B2FA0B2A21CE1D138FC7E1F46A321B8DC4E78DC7EF4F78510F0073030D88340C00D87CD858AF26A74779FC5673FFF87730229737253BD2D9C310BDA000789F1FC50F7A1F499A005B469467026198A0381FB0EA98ACC4DAB5433D172117A8742EB82139B0B20AD2E6B80F7566AEFEB0134C7D8F77FF04301E0FA8626F111B36453477B23DE78E555545556E3ECE51E7CFEF39FC38F7FF4235457D74BE511AFD78DA0C786175E7A159F79F20FF1F39FFF1C651541A9D6F1C273CF0B50BFF6E61B2204D5DEBA005DA7BAB071EB66D1E4D8B56B175A16B4A1BAB25C00EFC5975FC5DA751BB06FDF7EF85C0E7CEEF39FC50F9F7E1A2323310C0CF4E2CFFEFDFF82FFF1DFBF22554C08E297AFF448F625DD3265E595924E4F90FEB33FFD7778EFBD7D52D18402464A1F5D5B910CE67954651827EB2BBA5DF8E2DFFD1D36AE5F8791915191F4F50503E83A711C765B56126812C9244E9EECD252AC4E49F53F71F4885461F9DC9FFC094E9C3C2119BF6FBEF196EC3456AF5C8581C1413435354AAA78341197946FB6FF5FFDE5FF8AA79E7A4A1628064FC92767F516BA5F962D5B86969616ECD8F186BCD3FBDFFF28BEF3ED6FC1E70F606868045FF8FC1FE3FFFBF297F0977FF91F447C6BC78E5D686A6CC182B6569C39D385CB972EE283BFF361BCF2EA2BA8A808E091471EC0CF7FF13C76EDDC8F8F7CF8C348A6423879EA30DA5A16C2EF2BC7EEDDEFE2FFFABFFFEB9C60E59CDC74A601DA808311ED61E249E9739D16307139318F559A31E19996B3783C68383BD22AC49A7588921A7D9FA391519556AFAB7EDC8AD633DFFD7A00CDECB7E77EF53C366FDE827DFB0F8A25D7D8548F851DEDD8F3F6DBF0FAFCA8AEAFC75B6FBD85BBEFBC13EFBDB71FCB96AFC2C68DEB70E5F259EC7CEB6DDC73DF03D8F1C69B486612D8B071235E7DF165A9F377B9B74780A8BEA64EACDB3777BD85B6050BF4CED0857BEEBE53DC772FBEF42A52D91C823A03F6F0A183B2F5B7DBB973CCC0E7A5BE471A65E5653877FEBC58D2741D50A69596F9C18307A52622B36A59624B0AD652BC4903348BAB2A2D0E8FACD85C8809D2278F1FC34BBF7E019B366F8637502E5209870E1EC0DA35AB6447313A1AC1F7BEFF432C5ABC18838303282F0B8AF55F5D538DA1E1307EE7773E801D6FBE89E150041EB2409271F8CBAB505F57CB8A547877DF21AC59BB1A5D278F23128BA3BAAA5A2C632E2ED4ED78EEB9E7A4F02B0BBA0E8786C5FAE73B313371786808E5E51548A632F8E0071EC30B2F3E8F586C145555D5C2AEA19EC9C30F3F844307F7898BE3D5D77662DDBA953877BE0BC323615455D6A1EBD4197CE0031FC0FEFDEF6161E702749D3E8986FA5644C329FCEE131F9F13AC9C939B4E07A0AF0E651519E014ECC9649088271028A5674FB83E290F079DA869641964A54F8E143085CAF24371733B5CAC3586F0282B4C3BAFDA9DDC8A207D7590506B8A6B8682B01774208CEE0071FF087D4C9587CAB18A8AE281EAC40D2DAB9B61A56BA7F85E1974133A1EAB50D33FAD772CC2AD56FE24E42866AE2B9A503D3D9B4E28C53EFA53A90297A6FF55C55F541C86FACDDC0F3119C6A114F674E28895BB6D744DF43C143FB4A288E87C000B400BCF44F267C4412BEA83F40B4B554FEA5353579DC1CD2445EEE9D7A56F5E73A599684329D23455F998E0A2FCC5B0BB60A7EE06B2C8D89CC268E1C292B3A9D811255AA98B2D7AD3129854D43B1A070468691EBAE4A4A28D0AC44A4101117612EB028CB28ACF5EFEC00A100EADA3AD5E958B1905ABC40FCDE335FF5A3299993C2322552C64CEF774A1BAA6724EB0724E6E3A5D8096CECB434FDE0C54161F2B1167B322E4122C2B9F10A06EE703C48521342ECEC84C5E839800AD1B53748A6959E7B20E8486E8AFF489B0BE9523AE26D39C0DA159EBC2F1591CAABA8BE2F82AD6906272C85F659B4FAA5D3A9392125E90121F8A6AA734CEE9E127079AE7520C48D14BA56AB616F6E20B19117C8228D3AD850D22CC103B1CC24ACA2AB0CBD92489045926BBA860633623C59EE4B8ACDC5FF58F95816380DAFA7F1E27E1482B40A7291CE651EB8C7CABAA95E40374129CB30980D2BAE663C9DA4E0AA1EE19A11EB2B6249F81C136CD0BE0EF0C3C72312128139C856228EB98A6C7E6E55A4DB92A9D74A60B1D9898884A72A3F56F28BB7C16260A91EDC25A8DEA9954C524F683AAA044D714415B71D7550B98ED2383824A2295EDCFF74FA3A1FE36D3839E2A8BA3D0E9665E2A80B60E3EA6D9D2475812389A18BB18A957255849ED52AE0D87D0BA34C79C4511721944C3A328F304E0F2B826BEE82D72C4447AD0C5A02740C8E168279011A85D52F35200C9460B50201C5966030A7C1198146019C672F1422756A855905F2C55A5392D241BB13655F963A2230B57703185A49CF33994E094953A5AC842BCBAA3242EACCB42898B4303B400B758F766BCE86031AD53EA511348B5C0BEE4F6DA68B9EBFBE6F8BD0256B1E865C1521635192532D6F40E249DCD69612D2E407A5111CBAB109C5656BC7A1E43DB53EFA4D2E7A59559A185D16D1B8B24287F1DD73F8783FE74FAD919304C0BB30539EE3858F99240AE74B6D547A5E0DB6DECC714B2B6249A1B16CC89253227379D510B5AAC0B954ACA41158DC524123E672F76938014278BF06C59A5DA6EC3F0680C57FA876173BBD052578D80C38EE8E808821E0FBC2EB7A6ADDE1EADAA6A12D688BFB73883923B086E83CDF63A2F5320B5EE4C96206963AA4C9BE1F533B3D0E9F220C7B46E52D34CCD151EE4A4F56B0164A100B34CB8768DE8926C52FC8A092EB452ED04E302408B059D75083813A455C95D65A15BF9C8D71A9E06A005E832D4CBC88A0F5AAC67E976DECB80ADA9EFA976AE5C2084362817574B908639A5EF2C9E1A72A11D12407439B8AB50EDE3B0A96C44717B20ADD2E38DC68EA61BE62D6F29CAA0761E62C98B6EBBBABF7227F1FA4A0082FB3F6967592CE80A5196B9DDCE3691D12FCF2469F902CCAAF28D4ADF573C7695BCAC2CEB052D6D7332F8E7E4A6330AD07A2810A409D031D26D7C7EB8945BAFF419A70538EE24AD96969E1D38131EC5BE23DD58BD7211A299348E9F3883D59D6D58565D0637072F01229FAE5BB8603178DD2A8D3D7ED158F5767C678233815A40486B898B8D99A355EB80C3468B2C2D6E089BCD2DBE7E9B3D23B6B57828740D435A9F1CA3D4952140B3AA8CF88CE99F753868900B508BB782C0237EDB0C720E1758F1CDE570219B4928707238914A2BF0918C18FAA98D3898F68517343526B6A0C94D26DD2D2B40A77CEBA4C54B824D26839C9D2E0055C28A2E0AB18C25F74C2D0CEA1C5564961C69FAD0794DFAEF6D5C40C4ED40B70D9F953C6D0E338A403991A6C56DD1FA1050D6D995A6E0ABE87FF0DE92569F91DAA3BC3FC1D56E638C80199F4A2655F9A0EDB0F32064944F5C78D1AABA0F5DF0AADA0B331909C9A142850000200049444154CEFC9DE9ECAAD28BDDEE425D4DF59CC0C99CDC7466019A2BA18AC928804E21E0F7EA62B1B70A64CCEC7B28FB2D83141C88A432F8F1ABBBB069D9323CFFA35FA2B6BE06EB1FDC8E0B4323F8E0F245E2A726A343C95215EAFADD8ABE67D3CAD70368AB7B83C92906A8A548AC9D16A7038E6C42F9332558C81F15B8E392C8B58E9C6202BD8032B1D7CED2600EA93E235B7AAE8976BBB89CE289049C1E5A9792442E1ED804CF73B2F24A162EFABE6D3649D22AAFA846361517FB312BD6A4760F188B96A0A915E6640E16CD7E31DC75156FEA41F3BEB253A0AE88C9194C517304C83A3D70BA18A84CC24546865EB0685073B120A01258F9CCC2D37633BBD726D573025E9FFC9FC7113F95FA9D4B15DA88C7E57D9C7A01E0EFD48916DB5C74C3154FDBC9DD8D58E1D4F748C1C3D5438C08E50F97EC4D2DA8984E33F147050519C8E502C68416B560296D6DB52B327E721DA03401E05C0E0D75F57382957372D399036895F0C68ECF4847E5904C67E0F1B8E0D2F5E16616DA6E9DAB7170C6EC76BC75F8141A6B6BF1FD7FFB16CE1D3D2C0070D7873E084775359EBCF72E3808062447EB74E25B1998C7076845025739961039556A34B37C1ADD98FC3735CB83C132A4B236D43534E0D2D9D3221C75EEC245D4D4D48189ADD1C8285A3B97A2B9B1016FBEFE2A5C2E37528914162F5E8CEEF367515E560EA7CD2EBCE0DEFE3E2C5CB408894854E87177DE7337CE9CEE428E40E476A16760502C585624A92E57D982C78E9D146EF4F0403F6AAA2A70FADC05B4B57708AF58B921540AB9AA34AEDE650C406BBF84D898AC5C9E5182FD648250908CD0D77BF932DE7CED55D4D535A2EBFC15ACDBB801AD2D8D181E1AC0C285EDB878F1220E1D3A8255AB56A3AFAF1FF5B5F542B33B74F810B66EDF8A8ECE4E7CF5AB5FC5EF7DFA09FCF8E91F62F9B26558B97A0DBEFB9DEF883BEDD34F3C891FFCE007B8FFBE7BE171FB70ECD8512988F0DB0F3F24943AA9633914423C114763531322D1B8F0D149E7DBB4612D0E1F3A2C5996E43C8F8479BC0B172F5E407535935E32686D6DC6E9D327D1D9B100070E1E445BDB4284C32AFB78E9D245280BFAF0EC73CF2118AC909D00E9825DDD27D1D2DA88F5AB37CC0956CEC94D6F04A0CD2452D15815614E833E373B86469338DD7511F575756869AE21414C62B7F98F25D278356D6FAAE03B892BE40FB9FEB156C2E06FA443B4746BC40EFCFA9D77B16EE962FCF72F7E19A1DEF3C8A6D2D8FA810FA0BCA9150FAD5803172D24B7D22CA60563CA51CD16508F6929FD0F15772FC82FA9CDB1716119368F625388DB61AA5D59747CC182A6E6B109B429EB953C682679B0165F64744400F6E48953F8E33FFE77F8C92F7E8605ED6DB0A75370B97D786BE7DBF8F4673E891D6FBC86782C0197AF12EBD7ADC6B3BFFC299E78E249BCB36BB70030E5716B6AAA7168DF013CF9FB9FC157FFE9EBD8BC79338E1D3E82254B97A0BAB6163EAF0BBBDE7A539EA7B9B51D274E9DC6A31F783F7A2F5D402CC63263FD180947B165E37A5C3877162DED1DC209BEF3CE3B752AB47253A87ED301F6620B5AFBCCC9893682FD4A3BC32625C6BEFCA57FC0DA552B118B25309A0228471A0A0D0A40DF7DF79D62099F3A754A8CA6707814D595353266CE9F3F8B27FEE0499C3DD32D9995914412995412B1C828DA3B1763EF7BEF62CDEAE5D8B7EF90F404332617762EC68B2FBE889ADA2A01E9B5EBD6E1DD3D7BF0DB0F3F824B972FA173E1423CFBECF3921CB361DD3AF8BD4EF4F6F661F3963BF04FFFF44F527B349188CA0E60C386CD38B0FF203A1776A2A9A91E2FBCF82B545757A1B36329FA7A87A43EE2F2154BB06471BB24FC6CDD42BEB91F6FEF7E07F7FFD63DD8FDDE4EFCF55FFCA71B1D56D31A957372D3E902B4A18789B39F032797452C1DC6CEA32F23928D23166BC6F2855B313438820B0397F1D09675A83369DFA43AC9DBDAF30A618C2B5B455B26DF828A3E247C4B0307726D2381690A06E8F03E7D929A663546605DF3392D67E5C1E5463B667C412815E4A17F2D9ECC20964AA23F16C389A108E27D97F0C64F7E2C09120F7DEA93B83C9AC027EFDA0CAF16CE61E5666EE7CD8FF2DFD924AB50B6B2F499E6A3E0C2FAD28241059A97720F149408557B6BB0D0C1258917692AB64875DA7318CDE5D04B6BD2668797556F023EF8A9BF20E099111FAFF87785D9A0740C95D16F7221F346A3BAE5351AD72C94B4F86AAA6A15EFD602D07C5666E17DF39BDF1460A6FF9255776835FEDEEF3D81975E7D09A94C1CE1FE105A5ADA71FACC197CEC138FE39BFFF60DB436B7C1E1F3E3D3BFF7297CE98BFF2F3EF9894F61F73BEF88CF9560DFD6DE8E81FE7EC99CEBEEEE968412BA06987475CF3DF7602414C28F9F7E1ACB962FC75028242E8D2D5BB648E5929ECB17E5B9982A3D3ACAA48B4AD4D5378ABB80C798BE9ACCF8E6B1EC63822DFB5635974D5C032FBDF4120E1F38288B86C75F2EC1F89D3B77481209B31199FCC2EC3FB60DC703B34D2F5DBA24D76B6D5B807BEFBE479AFE0F3EFF39FCF57FFC2B444646B074D9327CF77BDFC3A38FBC0FEFEC7A07E72F5CC0E7BFF07919A3070EECC7430F3D846F7CE31BE286606AF77DF7DD8763C78EE3FCF90BD23F43C321DC75E75DD8BA7913BEF3D453F0F97DC216A121416DF2AE93A7B0FD8EEDD8F9D65B92F2CED4F7A6A606C9886D6E69C56BAFBE818E8E765914D6AE5D85BFFBBBBF9724248FD72FBB1216FA65BB7EFC631FBBD1293999E6BFEA9839B9E974005A7C7312FD96B085F8B608D2D1D408761CDD016F59392E9D49E3C0BBC7D058D780471EFF1D2987B56AC90204297C8EB400BAE2699262A37C20B275D5422B93B7BDF45221D11BE34B31969C21C6EBA6956B6B27B946060928EB4FFED7221EE1441D339ED6D4B5685426C3D2048908921E8F4F7C87A4CEBE76E2AC90F15D4C55B1D9108A8E62C9A23674FA1DE207559CDD02B0E6A3EAE2562A80F6D820D4D8C58FD7E00F83317C4E092EE5036CAA7D54FFB23B245543ACE650268D43E72F211C51BE4B3A2133F128B6AD5B0997247964642C70AF94E679A2F266BCE5966798C436E56A80B6B238D4B7043D82222B5933EACFB6255F982E587A999D1E0790E0FB386495B239A83741A17B0740360CFD9FB934EC22526F2AFB28B6014185D727B03145DBEC5A441F453B59588897AE0D321608EECA07CEFB6565AB9E88C7E5FF0CCA997E2A2E88311E5258591C4A0F5A01B48C436D594BDC22A58A34F3FA8A134E1126F51CFC3F7704BC1F1717BA2454956E3B92BC9E8B6249DCFB6A3E398386F495EB925AD4C2E67D6D741EEB0732E7A758AB92E98612E0E6351DFA59DC32AEB8489FEEEE465D7D1DCA2BA9D39154E34CF3CC25C8E966020A45985C923929CFA20B543381C8B8B154B0910607F542B88374A3AEB61424BCFE0A93B78832C889F342D88A48E61278EFCC2954D6B7E07FFFD3BF40B9D3875434850F7EF46368DFB00AF50DB568F07BE1455A9F4562A69EC27AF4092F92B4254B106CC2E5EEAA096FEC7B0DD0722DAD722196760191B5FD2D7F90D09B39554569CCDA31EE231810B4F25BA52D8A1246389138D9CD80E464535ABB9A5624EB06694D69C46D6E5C8CC4D113CDC9E46EF4E6D0E0F5C08BA48E5869F9D6719EC854D328B6D218B85125910AFAC0FC9DCFC3C2A0FC51595E4AE7D8EBF20AB839E84A61143E0BC4EDC0B1A1280606FB70FCBD3D38BDF72836DFB10D6BB66D416FDF156C5BBD0C545D71EA523BE2E2C8C731954B22BF439A36405BB4C4F3AC0D054CB4A00D6048065D2E8D74360577CE09BB830C08D2769392A1C977226E93D160A3FA9BDD296D61AD686FC0CEE84D9BBE962216024A4A92543149C8DA6082078D0DD58E02E4B240B1D155969DB9BE59BCC72D4566495431597B7980163606F727A4C9A97BC8C2A2CB781194791FD5972ABB4F1B60790097B1690AC1EACC485E836352005902805C60359F9989405AF3DD94D39220AC56DCE3BB2B9E3615EB28F26F87D3CE40655AB34014C346F4C965EDD27C736DF548BB3AD8274AB255D5265542F3D28652B498224B5C7CD4F2DF505F3B91CD3421644CE78039B9A9EE40EB9499F8D9E568F61A1B9F047335F792D924DE3BD383405D3DFECB9FFF39CA1D5924E2293CFCF1DF45C78A25686EA8439D00740E4E992063132E1425C86CAC277E8C31478CB17A3940550D360DBB169707E78F9640D5CF4D03C1A8C8E541DAE0895A7DC6FD58AD57E3521046801691E78ACFC015BFA34E81F1195B270D7F5756989ACCD9AC1D71669F51F3970334954619AD1F46FC09E8126D570F6426A25910AC0B85D5AD329E8FDA4CEEF1B494C5CA4F53AE328D6C9A8B0890F538F1F2D12E5478ECF8FE57FE273289A404AFFEE6FFFC2FD87FEE321EBC6B0B7C39C88F22AD524CD904BF1443623A2E2C95A8421787E2D95ADF85EF60CDA63496AF80948D20CA841F8704A568E1C22EA6B58CBB442A2D954820C244DC45281095ACC13429612A53CF808B59784DBBF13B55BF90343E45F733206EAC64B560286A9CC94AB482E6B546B8B5EF941B4CEB41CBC0D149297C76F3119A9C1A0FA60DCCBDCD731B0B3B7F0ED3BEB3597874B6619202FD4EA714A74B723C7ADDAAA4962C0605FEB6E2265BCB7DA945DFD43E14B74C8AE04C09D30CECCE42BB1880E6F815F6B34513DE5C77BC36298C6B6564343696581CD74547B5F52DF2030887348D43178730104B61F87C17F6EDD98DDA86063CF0F8E352E57B755B2B1CD9149C3A5B4E883F1CDC6E8744C41570A974CFC907BE14514D9DCC812317B1383A8D7BC3E8C4695FB509A06B2BD9B83AC451622EA7A3EB0542DBD866B15AD057BB2E7232818DEFD04C946270E6AD76EDD983AA8A6AF45DBEA2DEDF4985780546B148026E5740FCD1A95C0A8D2DCDE8686ABC6EFF148358F1BDAD6053DCCEB2E8E483573464547FA46DC0CFF61C420009FCE01FFF116E9B0DD1440AFFDBDFFE0D4EF60DE1AE2DEB5166033C4AC75E7D7463AA8C3EF50755BD72F21F05D0351AA0AD554BD40EC080B4B11E0B57562E385B96AE169D512719DF6A0155855699B8A1161303BCD6B6B23EA5D505226F429A99708F0B00648E3760A3AC686B49A9B1E9DE13B5820155AB0F9A7440E5C648CAE9628D4BA287EA36734EF118300B8EF93BF7BEE47723A553D895FA7F5EA08B74435E93B3255F264CBFB775E132BF5BC794B83274A92503C4D226B225D53521F5626BDAD5EC2ACCF35B1748F337D5D6392C58D03A95213451334FFAFB39B9A9068C495BD0EA40957B25EE00F54F318E32B624225917F69EBA8C8B97BAB17EDD1AF40F0CE3CCE50B7864EB26D4B93CF954551165C9D173CD12F22924A26119101E8F1FC1A052C09B1C48AB945E659D51EDCDD2DED635C446809692A1F2B8F2EC96EF69454B184B6B20F0723C837FE3D2315EE77070519398BE3E8231FD951C58E6C758D8C593C5FA6F3EFD89336711F405D07FA9579E2F118F209B8DA3B1B119E1D118FAFB87457B2369CBA2AD7301DA1B9BC63262261862568B4CF7F75596A8B9843C9B3427B3151863A0980EA4BAC881FE618C0CF6E3C8AE5DD8F5DA0EDCFD5B0FE0FEF73F8A935D5DB86FCB3A7872004359C657AA5C1C6C64F6B26A7B132A9CEC609FA826A1F5D5C74E6E1588E618930413016165CD8A954780D08B85691FAB0FD75CD70AB0D69D8A017403C2D6F633006D2C5A734F034213218275DC582D68732F71970880AA019CCD2901FC6C56BB59F40DAC606D5C2CC6A8C85BB0922EA8DD79DAE5213107A6C4B3AD2CF3C9BC734118C92407A905CEDC832E2095BDC902BC8542B7BC9658CFFCDEFA778B4689757133ED647628CAFD61673078B2C367A2A69ED2F77372D3E900B414B0673690D9B46A0767D69105EB26F3673099C2A1A35D68AAA9C3D2D61A38981490073A5A87869A279B2899D422B294CE6064949522940F8D16A8298469180A56C09141A3AB8A4B8C5B99F73A214195A39707D5B141E690F1F9783F67460A22691116193D7AC151A3322D13BBF0DCC6BF476B99A0CC7F139429F959EC5EA0CFD950E1F89D494996EBA6D3720EFF260B1107337D76CC624B3BE5DF0E970AD2487A70862D1E874D02420EA493B4AA75545F6F9FCD04B182007F2F667498496D1DFC0640A45DE58D95BC6986D7CEA9C40CEE30065269BC73EC341A9AEA11F0783092C8E1D0E123F8E47D9BE1D1344AA9F7A2036ED2AB04429D4D9735014EDDD456ABF45A8BB1D0EC6AAA45545F89F0684B4F07B724FA910F9C713BAE5D2C747F3025CE4ED683F2CDAA8AD5327A6507480BDA543631F7BFDE56BBD8F5506C3D176FFF95556B529755BB98716DB53CAF87123CCED0EC0C58CAB36A5122A5E0E7CABFA3B8A3F22C29757F53A3D02C361218346BA7CE7034C69629006D9E95FF66C0D000BBF93BDD7779664971993CFA99A9E161E177CBB8946C1D950844F798D5C5915F382DBB92E245CF2C5025809E8445A6E3D522BBC21992CD30CBCD2129B25C1D47010C876328F7781074D0776A479AD592E329C423619497D327AB20BB907A200ECC7C80D0508C4482D16CE7F420A7C5CA1FB5C5332A58A66A94B2FE725995312582F7DA50C8B0DA8B5E2818D47233DB4AFF5B980B6AFEE74B34725008185BD28939B00CA5CD3C97B5C9FAFBFB71ECD831545656221289482205FF662C34B202962E5D2A54A8789C406F87CB6D47343A828A60AD00476D5D15060607446C8673309A0C8B1E83CBE1C568784806797979B93C1BFF4F5F379F95D7E68794305AF7AB56AD92124ECA482A640C9909271698F62B9A924AF237022D015E2C50E5E2206C8FA673E8BED087542A2719649DAD35A8743A44924892300810622913DCB3B0F3DA82060E51EA93BEB2145DB5FAC0C71B765703B44216B1F232199C3EDD2D4920172E5C445959397AFBAFC0E771A3B1A111C78E9EC0E2A58B71F9F2252C5AB41867CF9E476D6D1DAA6BABD0D77309E7841EE6C6C2850B85DF5B53538337DE78039B366D927625758D5430D2ECBABABAA49DD956FC8EF4352EB0A49F353151231291E01AC7249365088C0D0D8DC2D526685247591B4357698A4C16A0B52085005B3412163DE7DADA5A5CBE328055AB57A3A1BE1EE1704878DCBDBD578407BD62C50A8C8C84515FD7209AD35DA74F63D98A65685FD086A1C1415CEABD22B90A7D3DBD686B6BC3E933DDA8ADAB45B93F88935DA750D7D880C1BE7E19C34C7E615BF01D59B880B446B605DFEDCC9933C2B21083C5ED81DBE311595CEE541A1B1B85E2D750C7649918828100AA6B6B3034342422FEF5F575721D566161DB197721E708FB85EFF8FCF3CFE381071E10CDEF12404F64F81390C5A59116E5E293278EE3F88953181A8EC34F71935C0A613BA9463E642249DC7FE71DB834D08BFDC78EA0AEAA02158120EEDC7EA7D233166D095AE48E7C3695D45DD3CF60B508CD96D1802607047F274F92623A8A9EC333E99BA465C1EC2BF277B3C8E44248669C387AE212BAAE5C960174C786F5A8F1F9C4B297B0A1F69410A88475114F8A35E26339295AB596A8B8351064567F03761C6C045F0E264E5C4E7C665FF1590D358ABC501E170E47E0740590B56544D4BCA6AA0EF1E828AAAB83123C64465C5CF47D8154320B9FCB07E458205655AC619B18C54033B0B9787012111C9A9B9BE1A2A68109C868CB93C772D120E8F0BD3C5EAFBCB3CBED923E8D45E352F0D7E5A1F04E0E198AC58B0219E062BB122645F33B2E62F54A361288A71292FA4C660163EE0E2EA8196A10BB118E25E0F1B9A5ADA947CCE7B45AF4E359D15703B4B242D9CBE42AFFE29967D1DABA00030343180987D1D8D4808AA01F4383434824D28827E3D87EE7761C3B725492456814AC5EBB12996402CF3DF32C1EFFC847A53A08DB8BA5AEBEF6B5AFE1D1471FC50B2FBC80868606691FB615FFCF7EDCBF7FBFB4D7EAD5AB6501FEF5AF7F255545C8E5EDEDED173A1BFF4EEA646F6FAFE2070F0DE0631FFB98FCDD30794CF070C2A966B1A0E9DBE5F90C387FE3DFFE053555D5D237834361D15DE7BD2E5E3887471E791F464642387CF8B000269F239BCE61F9F215387CF4283EF9BB9F40243C2A25AFFC654179BFCA20AB95ECC6FA4D1B71EEFC39B43434211A8FE1FCC50BF8FDCF3C89679F7D560099BCF0C71E7B0CCF3CF38C3C0B1737822ADF870B1A01FCC0BEFD88C5E3E83ADD85279EFC0CBEFDED6FE3F77FFFF785077DA6FB0C46C3613CFEE10F4916E8C68D1BF1F4D33FC4D6ADDBB063C75B92F5C9FBB04ACBBE7DFBE4F909E42C9EB066CD1A590C6B6B4B2C8EEB8F1B6A42084067858D71F8E8111C3A7A0C9D1D2B511508209B8EA277B80F8D754D48C65270063CF007838845C2703A191A74A2B56581164A576C10D2F58C55AE521CC6FF580373E688783C29994AC9544CB896EC5497F8BB9D22FD087B18CFECF82212C900D62CFF085CB900721E2F761FD8277EF2B6AA6A38A91896C921311A0123DA6E6A2EFBFD79C5AE62F02876B3582D69AB0FD1F8ED8AF9AFE207D53E35D1CCD51921B2348905AF7C3372BED6F1CD08A3426FE3B50569B540AD819631943B7D4DE547525BFC2B577AF0EEBBEFA2ACBC42B2D068E1A4531904CA2B313834023F9CA80A96A1373E8AB28A0042FDFDB8FBAEBB70EA6437FA87C2E88F84515D5686BA323F366F5E8B575E7E51764983C321A4B276B47574E2D2C58B280B78111919C2E38F7F147BF61DC4E933E7D0D1D684D69626AC5CB9523B9B943F758C35AD7D9F4C5419EBE2280034770D2FBDF4327AFBFAB174E972356A6C36AC5CB1104FFFE0C758D0DA8EFE91416C58BF0E8798BDD6B9542CB79ADA4A0C5EB984175F7A051FFFD4A7F1B39FFD440080E3E6EDB7DF1690397EFCB8586EFC3B175B820F772504BB95AB578926371799BD7BF7CA77870E1E446D4D3DBC3E2FAAAAABE1F70771FCF809343537499592A54C28F178F2C1C5EBC557C443A75721291A6B59CCB873A211F2BDEF7E07951515F2CE5E7F998CD59D3B77A2BD6301DEF7F0C3E8BDD223EF42C0ABA9AE166A21771967CF9DC3C73FF5717191F55EB92225B076EE7C0B8F3FF638FAAEF48AE1C20A295C18EFBEE71E59BC3EFFB93FC22F7FF90CEEBEFB1E014B566C79FAE91F8BC5BC62C572F87C6A71DFBBF73D2979F5DDEF7C4F52B37BAEF4E00F3FFB47F8F297BF8C279F7C12470E1D9636ABADAEC5B295CB6541D8B66D1BBEFE4F5F95CA2C9224D4D6818E8E4E343635CB22B9B0B3432C6CDE77D9D2A5686A6C426D7DA968EC75019A5B59D9324BD9FA34068607114BA751555507B7C38EA1C15E193CA95812A3A3315437D68A3F90CA55D48265F060706000AD2DCD82190A8C7420A788015D0C76565F6FE1217915C95F93899E4C25957FD7E6123F6AD616C5C1EE97E1F5D5E0C09E4BD8F9FC1E04EB6AF0993FF9439CEDBD8C8DCB97A3D2EE802FC76C3C17ECF4598A5F5B2F14161F9B01E2F1160AB38535CF650DD258CFB382B916D915F686F802189C13DEA95188D65534722652AFE419CD27EFEFD5890A63AFAD8F2233C4989DDA671F898CCAF6926A83E2C7640B66B2188D2524BA5F1908223A1AC64034869ACA32C48699EDD58EFEC141246825FBBC28F3FA604BA7102CF7A3BBEB94B210535924D3592CE8E810B740756510A964427613B10417621BE2B188E860D4D4D6C8826A5DEC0A2FA67E23401364B888281F7401A0B90875779FC1C2458B71FAF419048204511FCA826E4446A2C2A0F3960770EEDC192C5EB808A74E9E45755D0DAA6B2A90898D62687804D5750DE8EFEF939D0EB7F8DCC6B3DF083EBC2FAD7C022BFF4E2016EA64222E35FE18E81E1C1C1417127723ACF84170E642452A1F5D1EBD7DBDE2FA696F572E0E3346A603D072AE96FD4C25E338DDD585868666D89D2EA99EC2CCC5CAAA72D94D321847C0E33CA4755F535D87506844DC2EE72E9CC592654B05F4FAAFF4A2B9A505172E5E90EF3C2EE5CF1E1E61A157BFCCDB8B17CFA3ADAD5D3206A927E2F3F931303028EFC28ADDDCADB27D98D24DD78ACFA3C61477630D4D8D721FBA8A16B4B44A1626E3094D2DCDD276DC99F45EB9AC38F9628557C8BB30E188EE3A8E53EA7BB0BDD8CE4CA6A96F6C989378DD9CDC540F9849B338D4F1A2522E2BF9D0C0208E771F47D2060CF60F63D1D24E0C0FF54B265C269995F2ECDBB66F45CF952BB874F13252199BF800D3E904B66DDE22D790CCACBC5B43F9498B276D7180C61AD8D279E3968873C12A4FB1D47C2E8BEECB7D0885C3F8977FFC2A9CA339445349DCF9FE0770F743BF0537D2E8ACAD1316820A6C6832984E0428F6935A178D6BAD64D6009815B08B2D6AF1A74A650F3BB25A08487CB49261A902A0E24717D172155C5554C402F7D51A6C190FEC54B04E77B15C8B0A629A9265347A7359848647C45DE2743990411A9178047E4F506891E1A111F8CA2B914CA4E0F7D964E18B86A3E2A6B2331640FF77282C559FC9CA618D3CBAC1B8E68C84861089C6C42A927542760557B304C68096C582BE1640F35D255142A8674CB450DACFB96C124E1B8B57399064D6AA28EBAB7249B448496174695951327D39700CADCB58F26637626515E403893AA187D620DD0A523E4A2A99E8FC3799C99AC72EC92BD4592E4CB1E285BB780C5DCB8256E86E58329AE2270419AAE5E9D2564CF4D2F100E12BEBD80DCB1C8A41A5294C52424D620C6ABEC9122DA2FD7A97C58D27B30265B7AC7C7F26D149BD8A62C398A4151588557B60B6BB50F3E4BA85C0A8B03BF43BE43318A5C6A24E3612EAA2CA1CCCEB776BDD6D19E39A6552B2A0AF853A160BC00CE4643C81FEA101D96271307362D22F49FF6A2695118B837E50AEB03CA7BA46E92AB01C515565D59438B1E33D96092BB2E33559433311C4F92CF4B0840DB8141E45FF95017CFF9BDF41FFC53E61177CE60F3E8DCAA67A34D757A3BEA25CF9A10D614F2984AB3961E1654F069C2768BE71BE363B88C2FDCD64BCBA8134276AEA3719F70CB313A06F9116973FE047341617BF2A8B9C8A9F9FC916B063EBB66DD8B3E75DF1875314885847AD8473172E883FD8EFF52A7D912C652D999DC80C3397F885D988DC0E2B4DE06BBBB08A1FF27A34BB899A40806E8CD9634688E9DB996DCB899E67B2DF9BB965FA867389567CE9A35AA014249CC44898AC85C84015B7B72695D658261345EF27F108F943C60A1C997F91B9618A1A01E14402874E9C86D3E7C57E5D01BAB3B31D8970046B972F819DDB2BAF47C939EAB242F97C0D2D905F4C619BCA33CED763CD82C3400F591FF4C326922954949723343282744A5989A9744A5C187DBD7D2282C3BFB352B5CBE94468242C404E77006BC7114C08D0B4AAA8DB40638A5BD9B2B28040B361334EA64DAE07D086A668B54E2773CD9BE51833C74C42CCCDF2DCB3FD9CADADA5449509DB384F78D7142DB18A34E1DCFA3B95BD186CB192F7AD01B3096F34C903F2B69016F6A6E59910ABDA0E27998059A02F11C7CBEFBD07B83C188D46B06CE142AC6F69848F81974C5622DB3EBB1D1EAA70B99588AA176B59C200002000494441544A8653A9ADB7EAC7BAD8E6930D0A1E9131AA77AAAA05B7A44A254F38B6F9B62958A422242F63C35020951B4BA5B44FFE3391057DAB82335BA838107D2B8FC1C98F08905D33952134954B5FF7D839B9A91E0853F4418F4DB92D9E24C6C7462026F792F424EBE0B2B20D66A2F5F2B020FE0E155423B2523D575E4C8BBDD0279A1627B372C9523320C0804A9E089D433211477434029BC705BF2FA8448DF2E2372A38373B6E8E996889A95DA3386B6BBC00ACE92BF3CEF964078B2603EF6A1829C57DCBF38AB3D8A6023493C9241C8F6133B596987F47E7FDDD1603E8565E8CA6D20325809EA0B5AC169775525B831F66A232BA4D0BDAD0CAAC053EA7D229D73DD6B2BCA8B46F9D6822E5E76D486633387BFE026C991C7C2E8FD45C639092BE564FC02DBCD2A686FA3C5798E7A71309118D51E9E7AEBC0FD0F80767ECD9E7F84257072DD50359D921C5C060F591F2586B9072BCD729F6A9CE24404FE55A73DCD493BEFD7881DE499F7C1B1C58F2414FA293AD206D1D50D609C3BFD3C5410BDA7C8A417C12B7BAFE21DA22968398A9A8015A027E0C2A53690BC07FFD7FFE1B962F5A8CC87018DEB24A9D28E14277CF596CBFE30EDCB9658BF8468DAA1D4332A49D31EA9F2458279302E456E1F85B051C8A990A13A53BB3698B8FB1B685354BF146FDF6D7B3A08BAD7BB530CFD946F4868772F11C318B9FB53D67EC2637F1854A003DCDCEB36EFD0D6833838EFC519385772DFEF0346FA94ED37E5049E990D46F9ACE4A805CD1926C52E0522A1A8B1C80A2D1712A87C223A8282B137D5DA67393C3CA238C8297AAFAACB408C827E57B918A56AC716105879BDE029A92C36B0A948C6974F2443EE8695CB274CA4DDE0225809E66078EE79B253B805C595A9EE3595ED3BCD598D394F84B41CC3C341292E29F81B23249736EA96FC48573E7E1F17944E798890375A25B10462414128A6082B5EB48F8B73B108BC551DB508F603020AC0EA584A6E43F09D4CC9A32EF4AD6835534C7EA02B1BA066E2AD74809A067625896AE314B2D5002E86936EC7800CD6C20021B818C9FD9B02E959743952262E0EFECB9B33874FC181A17B420154FA0B3B50DA78E1E930C41568A70D99DE858D88923478FA2AEAA1ABD7D7D7079BDA8AF6F407FEF0052A93436DFB11565015F9E1266A41CCDB65A54C6D269C94023AD8C59571305766E85EDF73487C6B44F2B59D0D36EBA5BF6C41240CF50D7128C0962D44C200F76B6005A158D655202F5A50BEE0B919E908A16AA3E1EDD164AB14D05B64425359391CC37A6A51240D571927655908B66C50DCD85B6BA68CC82C44588C904C69AB68AF49B77B6BA4066A8796F8BCB9400FAB6E8E629BD6409A0A7D45C571F6C0D20F25BE6E253BD6DD62C4802AA56CE20406B61CD7C0AB9911CA59B4280D65A0DC60644A2AA24BC646BE553CE553ABB4864E44B5816825086FD20A0AE858F247B52CB92F25AC6AD635A68D6DEFF06FB6B3E9F5E02E8F9DC3B73F36C2580BEC1762FA6E1916A57CC85BEC15B149DAEC0548B78A8EF44D45CFFA9F0ABF89FA5CC914EAAC9D91C484B00308CAACA0A5551C5304344B7208FFD63EE399E7FD9FCCD148965050FBA3EA839AC123C8A8A6799E7D3572EE61F144A45E5F3CD67B6D96E82AB9500FA26E8A4DFF02396007A861BDC50EDC6E34FCFF0AD267DB9313441B2394642280F96E54154828E26496E8ACC2D452AC921958C21121D85D3E182D71380D3E156863E038E22FE220E10A4346E6BC551956A4E811DA5954F6D1F75AC9D9AD953CBC49B7483CCD3034B003D4F3B660E1FAB04D033DCF804682A9229C3562BD7CD315FD500B4E1F3D2EAA51605F526ACFCDAE96886280F8A29EB45E1A034E2B1246C70C0E5768A6605019A40CE2A3323992C2EF40E4BE180B6A66A29BCEAA67FDC4E7FBA5200536A6374B694007A868767E97237590B94007A863B8C3E68037C6233E66BCBCDF08DA670B9F1AC7972B6456ED3A974EDC663A54CFE16AA0289127C547E12EADDC61371245953D01780D3EBC5403C8BE7DF7807EB37AE432E67C7A1437BF1D0D64D68F0B9A418822885DA00D670A6C0A8FC4DC07AF24F72331F59B2A06FE6DE9B9D672F01F40CB76B71B2CA0C5F7E5A97B32E12E67713E4334560A76DED8BAE74415C9EE66F867F73A8EA8B84EBBED028467276ECDCBB17F7AC5D85D75F7D1D2E8F1FEB36AFC3C5C110362C5B8C2A560897E2ADCA8266F92829212562CED37AED9BEEA41240DF745D36EB0F5C02E8196E6266E0314DDA6413CEF0E5A775B9F1AC6332304899E3B31AC6C5B4981746685F287DF435EB5AD976554ED59EB3210507F6749F43657D2D9EFEFAD77062EF5E291EBB66FB76DCF1F08368696C407B3028AE0E8A3C29A399D7D3003DADB7BEF94E2A01F4CDD767B3FDC425809EE116264093CD605C07337CF9295F6E3C178B016CFAA14DE6E3F45D1CA68E84922A356C92942DC73A332AA1060EEC3C7556CA81FDC3DFFE0D52434352F1C35F5B830FFFD193527B6D6159995479518145FEDF5AB571CAAF7D539E5002E89BB2DB66F5A14B003DC3CDCBD4685AA2E406CF07FFF3F55E8F6E0E060CE98BBE118036C40B870168913FA5059C819DA5916C0E1CE91B40286B43F4EC09FCE85BDF46CAE6C0273EF3243CE565686B6E424B30080F83A9363A4C9870C37257AA74932A7BA54CEBF9DEA637329C4A007D23AD776B9E5B02E819EE5702343FB44CE7339898E413FACCC93A993E4093C1ACA279768B059D11F74656AC6A7AA2230EE09DE3A7E1CCD8A550261CD40109A1A1A61A0D15E5F0650027D270FB58C8B650A74DD5189C3F8C98191E2E632E5702E8D96CDD9BF3DA25809EE17EA3554A3A9BD1E398E1CBCFE8E508CAF443935E478B7F3A343BB16A55F959458AD385392570486E9D9423714AA1DD880DE8198AA06F98453FB368A872A221E8878F7CE764024C7661F517BBC30D5F59B958CD4CA62157DA2C28B351A166461BF5062E5602E81B68BC5BF4D41240CF70C7524B999A1CF443CFE78F951BCD92F046C77A5A81428168165BE5870439C5FF2EA49203F17406C28ED66E6A661BBA1C0E24924978DC4E7825638595AAED48A6D2181989C11F08C0E37628A0B66426CEE79DC98DF47909A06FA4F56ECD734B003DC3FD4A70A69B837EDDF9FE3140C76021B53424A964AA493512D0E37F8CFCBF726908574EFEAE3CD4274E9C444F6F1F9C1E17B2A92C464722707ABC48A692D8B67533AA2ACB15C06773C8E9B2F3F1585C0AB3129CE93232CC98293FE37CEF08FD7C2580BE493AEA37F89825809EE1C6A606B300B485BE26B7986755EF0D38936E47970C5D3356CADDA49B45A7702BD6055F936CE6029B239D49C2E9B08B46F595DE5E641C7604BC7E5CB9D8076FB00C417F104D8D8DA8A9AF103C27B52E6DCB81C503E8DEE0731AA9535E9F4A8104EC5B11A44B003DE95177DB1C5802E8A974B555DCDD923C61FD73329311B00BFAFC4A5FD97C69C488A672BF593CD6EA2620405326957E68D203AD99877C84EB82613EDB4FB12E5426216491E275699567695D4BB517269DD8904EA5E55E69967EC9D13542DD0D31B945BB2393C9C1E3750B485B1368D8AED4A436D44029726B49A737CF5DCCF8B8BE4BC4D4332F6A6C595055CD47F529127F9A85BE2901F42C34EA4D7EC912404FA5032701D04C714EC4130888A8BDAEAAAD05DA04EC4CE6F23C4863B60217F9DB0C6C5AEB104EA66972192D86A45F8EA04C3FFCC1830705A409C495D54A7E95F770D89CF27D474787042859099D1F1EC7E359328C7FDBB871832E0CA09E82CF6A0284046AFE10A0B9009867B61674B51E7FFD45462F0C5A30CA9AB5486D10531E8121D0D986E912404F66C4DD5EC794007A26FB9BA4854C0A89780C5EBA3838A96DF4C92A43DAAAE85950C89FC90798DAB5AC004D3EF478C506260AC81980A6B4A9CDC1C20039E1565FB97225CF05F7FA7D02D02CBB655205E9AA20C0864221B1B41954E5F7F4DD13A819B474BB0B3A21069CADCF43D707419E7FE37956D7C778155FC66F1D0B40171DA0722255FD1AF399CDACF312404F6DFCDE0E4797007AA25E2EB274C7357CF3967516D96C1AC958141E5AD0B2A5D75A125A4FD3EAF1986D8B6CC257D362FE86036D849EA69AA67E3D0EB5F9AED88A35B439E3A230006C9EB9D85D617D97E2CADCF4A313E8CD0EC05A3791D7BD5EE56E063195753C8E725E7167E5B73F13B5ECF4BE2F01F4F4DAED563EAB04D013F5AE0591D5AF053F47DE9AB2B83ED2C8201A8BC1EFF5499AB35D978FD21B75E566D59C07A5FD3677A29AC5C04AD783958132195E74F1358AFDD7E67BABFBA1B8C98B7DDC56501FAF7BAC3E662BA01BBF37CFA7DB43AAC6E8CFB5FCE88AC32DCB47C1BB91EF4F4BC74A9184F10B1A4C348426FB7D09A027DB52B7CF7125809EA8AFC705E8F1405A995729E4309A88C3E7F6C061B70B2B586D904D42B43A379F1E6D580F133DC72C7C6F054203ACA6649760D124D2ABAD2E072B388F17A81B2F8837DE7DAE17A4B45ADEC6FAB6360DAD651EC360227FA7EBA3B81C97F5F8AB764479B68D4563644CDBCF5EB0B004D0B330C86FF24B96007A8A1D68B2E6789A04A2A4DC9465D2E67222864FBFAB436B2D4BC2861CA73DD1628CCDF27E798AEF650E3756287DC213F99FA7798B593FCD3C377DD4EC0B5AEF7C1FFEDF6AC9E7AD6A6BF0577CCE5971955B774CAAB7E88D2E2CB933FD2225809EE916BDF9AF5702E829F7A1AA966D009A55B47359BA9AB566443687682402B7CFA3009A3430D6E8337503CDFDE6273E0BE7D854ED9E8C8B63CACD37CB2714FBBC6945D3476D44AC4823B4BA3ED83FB25ECADAC98E540FC8725BAA9F0D52AB4C49F6F76C51EE4A003DCB83E326BC7C09A0A7DC69868FA10CE29C8DAAC7850FFF363A1A85973C5E97531C180EEA49181030C6B3A98D3AE5FBCFEE09C63DC0809B0916DECC96747E3D24FF5A2711193A9FDBEAA336002D9DCA4D9143E2BB795F14B368F81DB31C6789CA5102E8D91DDB37E3D54B003D41AF8DF151CA3F74296CAAB4D9548233FF4C904E01188E27D133144620E0811740655940643419AE72C8CCCF68494D05EB36A9CE377B7ECDE90C4A23A06414F9E439AF91026EF50E5C13B72675D0749E74E273C66370F06FA4F491B35E565E26B10229D42506B32AD9C5BE550571351EEB55587F3DF18DA7714409A0A7D168B7F82925809E0E406B6835004D90E64FCFC030BA2EF58A9CA6CDE1442A1E466D552516B734C26BB7C325842E65818B9F53409B5CDF5932C9A63978E9122080B1B6E244D6F3A4B07752074DF361AF715A71F0D27A98718310A8A3B1A8542527487B3D3ED8EC0EA419ECB501896C0E83A151E99DAA8A3278EC904577B696D31240CFEC18B815AE5602E849F4623EB06FBC1BC64F490D376E9DA10A9DBEF8EA9B58BB7C09FEF95FBE89BEFE213CF0E0FD685AD08CC59DED68282B1B135E329762C8693E7D8CC549853B02343FD7F3454F0A7B2775D0CCB5C2F51695620A1F2DE44C3A85442226198E4E8F1F769F1FFD8924DED97F0CAD0B5A64493D77E132B6AD5D8A16AF47F63CB3F12901F46CB4EACD7DCD12404FA2FF8C8F592CA7BCC3593996397913B0A1BB7F08499B1D075F7F01BFFAD92FE074FAE1F6FAF0E93FFD335435D661456550009A60EED417319C80493CC26FF410436523E58E62FEFCDC8AE2447C2F05E6EC45A51712198921E1F4E357474E63695B1DCE1E7A57AAE02E5AB319DD1707F1E8A64570CB79DCF764158BBDD8FD9367804C6D6F5402E8DFE830BF296E5602E889BA490281AA6A88C32032E733C199FE64FA9E6D0E9C190C61289E40CFA177F1A36F7F172E7719BCC1203EF1277F8CDAC63A2CAD2C136706CF7011A0C5AA9CBD80D344AF75ADEFAD892704686A631851A2E95E733E9F9767A5E748AD53443A56217FBBEB22BA8FEEC3AE177F2D0C9C3B1F7C1F16AD5E8FF56D8D68AC2A17C287685B67B54A8715A44B003D9FBBFCA67AB612404FD45D1AA055C5106D328B4999138026ED2A95B149B5909FBDF81A1EBE730B7EFCF42F70EAD4593CF1074F2096CBA2A5A906AD01BF00B4C2760274A1FAC83C73414B8207AD426A6A70DB7F33685B4FD48DD75C90C48C368B300BDC02A7CE5D44042E3CF3F40F71E6C841E9F98E356BF1D8473F8A402A8E651D6D63005A78EE9682027966DE14A30B250B7ABABD78EB9E5702E889FA561CD08AFB2C006DFD64538AE76C73220AC8CFD32FBE8375EB57A3CC039C3F3F840A6F166B172E40402E439EAD11E7516C81F9F6B1EA5C18195293E431DF9E75269EC7107378AD34C3833607A2391B7EFAC67E789221BCFEE39F206B4BE3C18F7E14596F2D1EDDB61A7E870A148A58613E09493FCD0D746909A067A2476FAD6B94007AD2FD5910D511039A90CD124D02DD0EF13F4BDDBD641A272FF48AAA5D536D2DAA7C4E547A9C70093F4B93F2728AB921D87F03137AD28F3E8503AD2E0EC3896662C7F5D2A5A770F97976A8E23C4B48C06E439A01432A12DA8077BB2E49828B239744DA9645C6EE83D7E1C4868E46786C86D7AE3344B5152E2F7703FD5902E879363CE6C1E394007AD29DA0B41914518EB6744E2CE2443402A7D383ACC30D386C18BC7C11D54D8DC2EEE077B97416E5C14021C59841252280F9CC16676BD2EF35F64063110A38391C79E1FDF95E63717AAF9B55456DB5EA2001DAEC6F12D92C2E8422E8EA1B40DA6147675D2DDA825EF8EC7671555DB5FF1943989FDED394007A7AED762B9F550268DDBBC5023D6214C9F65523A82498D0BAB24B028383209DCBE1E8A1FD0804CA70E0E8710C0C0E03E918BC5555188AC551E3F320319A462E63436363191219E0FE071F40D0E316BB9B0129A9BAA2EF657D86626ADB447CE4D918A4C6DDD1DFDF2F6C8E6269D09B9FD9C1588062A3A7533964722995B4428952BB5D76430E9703996C066E9B1D4E5958D542ED70D891CD64A4028D18CE33B0152A01F46C8CE29BFB9A2580B600B4E9CAB12A6F045143C5CA491203B3CD582FCF9ECB22343488442A85482481742687642282ACCB0587D78B0A9F13BD97FA61B3B91008DA90B5BBB0A07D217C76FAA21990A2F48ED282306048CBB558D06732AA72B3310CCDA2C0CC427E98FE6D05A3B9583466F63D09B6196433361C3C7814239161783D1E24936994955762A06F00EBD6ACC6C123FBE1F5FAE1B0BB108B45A57F183CADA9A9C2D2254B44DB6326744B4A003DB3BD7B2B5CAD04D0E3F42281872A68CCA66B6C6A96ED6C321EE35486D3EB13800EF50FA2B6A61A9954020EB70BB99C1D67CE9C457D4D35E07221924CA1B6C28FD1D1B854AF8E448690CED9110C94C14F710E5A5D0E97A4178B2A9E5D552329063D8233C19B9F9900818906ED78A0CBFB0F0F0F4BE20A9F6726ACC5899EE337F37D16E96C4ACA70ED7A6737B28E1C1C4E3772193B62D151786C2EAC59B91A5D67BB91CA6570BAFB0C92F128962D592AAE9FCE85EDA8AAACBABA40F0341FBE04D0D36CB85BF8B412405B2C68034E2CFD646AEA657376F83D2EB43636E0F4F93392FEEBF397C3E370A1A6AA02E7CE9E41341583D3E14664348A7BEFBD1B23A1118C44A2B878FE22CACBAB104BA6104DC450555189442C86546C14B5755588C66358B7661D76EFDE23E04B4B95BC633E074B3EAD5AB5529771D24AA5BFC1A0A2D5DD62CA55B1FEDF1825B85B60629894FB4C96E9DE36449369715BA42351785D5EA11A3A6C0E649D392499CB92CDC0EF758D0D9A1A2687B53DA6E1932E01F42D30A066F8154A005DE4E22030D162649286DD413E95134EE4E07739D1171A009C1E9ABEA04E9DD36EC795DECBA8ACAB123F66369313AB3AC98AD699AC54AF26B8C59369610890C9918AC7E1F6B8E91F91EB5704CBC452A7C4A7CBA500301E67856D2F2A2ACAB5756D53996B37C01098CAB829D6B1E03B50098E0B171790E2925353B9F67C3B568BD7A9B6CDA470E8D009D89C6E74779F40477B3B7A2EF5A2A23C80F2CA4AA4B34082C5187C5E2C5EBC080E27DD5F6AE72372B225809E6FDD7BD33F4F09A08BBA708C5603DD0B742D307143A76767ED0E49F0A50F9AEE896C2E839CC386483406AFC72BA0ABE4451904A4C75A4DDC0C7248C69270D9E89F760BE14E94D278ACD6F2379AFED6FF67A9256DA79B4351BA7E13205DB09E0B8B026B2D46225111BE77389CD75830741EBC296070D582925735993F13475BBA2C7ACBC4A3C84804FDFDC328AF2BC7C8E808827E1F92B151385C6EA45336B83C1E64D259D4D5D5283956FD8E2C5D5602E8F9D3ADB7CA9394007A829E2C408AA49B15F4DBB5EF98C4BB6C2E87583C86803FA04094D79413AD4AD14A00BAAFAF0F35B5B5CA8F6B8E9D57A389CC06C55C3165F814F92C8B4874146E97072E3BAB746BFAB0A4BC2BAD649B2DAD45B259A84083974E7B56893EE48D5391E437B415986ABB16893AA9BE37B256BCD8EC72224B2E8EA976D8AD7F7C09A06FA08F8DA5C9883E5D14DCFE5FEFC3E3E9D3A4ABA0BCBC5C0E9D6F013705A4053109EA9088FD9F03E8A70D87A3A8AEA840369785CD9E838D991DDC55D8B8ABE07159D88487E82E54275170AF417C7641EE06BA73CE4F2D01F49C77C1BC7B801240DF4097185F2C7DC8F41D338836990FFDDB1315339DCC7566E3987C6C6BCC2F6AF7C03250DCFED75697C366CF22934DC341956B9B036956D2D68C13BB3DA74B4631A14771879539AE2DE7796A40CF467B4EE59A25809E4A6BDD1EC796007A9AFD6CF555533BB9AAAAEABA1434636D13D445285E3336E69B05ADCB2D5ABC10668BCF6018039F718C8E2624804981A074D626AA6ECCAA64520FDD3D4A9F44E5E411A045313B67716D94007ADC515702E8694EC65BF8B412404FB3738DF54CA0E5EF8180F23F4FE4E2E0314C46E17953B1BAA7F998533F4D6B5118DF3B839DF46F30304A39215AD197C254B8F34B709330ECCB66E191231CF2BDF2DD98D2BA5ABD4FDC26CAEF5EFA8CDF0225802E8D8CE2162801F434C784B1A0E9AEA0F52C9834098036B7236D8D205D515131CD2798ADD314181B4D0A072D6206426D368CC67B319208E1DC6800478F9F83DBE1823FE0C5C39B57239849C12602C95AA5420AAF2A0057556398B5A7407CDE060967AB492779DD12404FB2A16EA3C34A003DCDCE36597F23232302B246A7E29AC555753283D5D5C1602113546849179F3711D84FF3B1FFFFF6AEAC398EEB3A7FD33D1B96198000487011297011C5454B28D9946C2596652B6549919D384EB9E24A2AE507975FF2903757C50FCEB32B3F2029BFA4EC2CAE9415DB522A2E57D90E1D45916849259292B883A448821B4080008101304B77A7BE7BFB0E9A43806800B3F4A04FAB280033B7FB9EFECE9DAFCF9C7B96079FA6FCCEBA7810CB4E68AFB1F61F97130E4E9C7F0397478F6143F717F0D0A603AA1605D269DCB8318AC38FED43C6D6354A74F08A1FF15235987524882ED92A1B858B294208BA21ABBAAD2F2A04BD06F5D102662CACD91C0C43AAC124109342CD880E15531B38C25C6B0DA22F79AA8EE208C4D825748954D2EBD9B10F7179E202B2B35BF0A31FFC18A55219CF3CF71C9E7EEE796CDDB6111BBBBB90F12A2AB1878DBD8CA5ACC3F5745D4F4DD0E2E610826EC4EA5D7FD714825E834E19BDC10242B482550534D75DB25E466D9D65E31261781EDD1D4C0059CE0A5F83A8A14E5D080366BC327DC624D38A8AE7F6BC044E5CBB854C5F0FFEE39FFE05E78E1D43D24A209BCDE0EBDFFE1B6CDAB90DDBBAB2E88483A44AD04901AE6F29FB8D6884961FAC06B1A0432DD3580D12825EA5BAB9D1471785215643B8612F67089B3F49F4DC640C43F461AFBFFA71B495FD2D4245D0BA0B8C0B1B97278BB83659C4F8A55378ED9F7F849495C0D0DE3D78F14FFE14835B366273AE0B698F232BB012C985D03A61E650EA10820E0553AC060941AF52DDA65F9F21E80759CF668AA0156D5E23D1D382E6F548D2E6688D8B43BB21E8E470FD08668B49277C95858400FCDF893340CA4269BA8099A949EC7EFC494C8FDFC6A30F6DC240BE473936D4366095947D67F62A718ED36942D071D276B87B15820E87D37DA30A05765249AAAA66A604E783EA232F46E086B04D71A6818181FBCA8DAE52BC559EA60BD8B3294145D5AA066CDDB81CAE0D94E161D671706A7C12274F5F82532C61DBB687F0CCEECDE84B02535333C877E7914EA5AA6E666E369A2DC10856E258254E8D394D08BA31B8B6F35585A097D15E2DE91A526597918D1B37D6A5B29B890861C20BCB8CB6D68AD6511B7EC2B70EEA60E127063DB3671F8B3EF9A9E0D38522F2DD19A4548719864BBB989ABAABFCF2A95452557A73136C4BA0CD6926B2E83C1656E7D3B5AF9B51E3BA5D3EA042D0EDA2A9E6C92904BD0AACB9B1C7FA1BA676F35A36F7826E0FFAA26991332A24485C8BB946562176F853FC56D79E5F418FAC5A761C5CBA7409A363A3E8DDD087D9B979CC146690EBEC84C3D2AA95320E1F3EAC8899D12D74DB64B359A4553303D35C9517B6EE0B297CD0378FF042B7FF4821E8F6D761BDEF40083A24A2411261720AC999A171C17654DA4A5CDD8E984901A7EB84D76EA56559BD57538AD3F354079123478EA822AAF3C5B2AA913AB87933CE9D3A8D6DDBB6A96251AFBCF20A9249EDD0A06F9D0F1C62A41F644C05E73B0B31D04D7FF084D475AB860941B70AF9E8CE2B041D4237412221F1303985D9838BB93F5643D00BF5973D657D1A2BBA5ED70F718BD5219A933DD57040974ED52DAED83895244CAB982DBFE8B5989D2F229B4C2952360D0554E2A1DF63918D5519E962AAF79987CEFA6A9BB512741F3C5608BA7E58AE972B094187D4A4214B5A923C4854F5F86A1E24E7A0E5C9ECC4DAE6B121455DD3304759BA09CC4C4F63F4D6A8DA0865A623AD60126DB15452644CD7F486BE0D9818BD8D64D2561D60D86D84E75A960DC7A9A807CDC040BFC2890F1EDE8FA959C26F0C613657D774336D76B210749B29AC09E20A41AF10645ACFDC04237105ADE5B59275B0AB371F022605DC34935D8B9F7B25B7A802ED5C17C3178671E9C245B56939323282679F7D16D7AE5FC3E8D818F2B95E942B15ECDAB513273FFA58954E257953C6DEDE0D989D2D28421E1A1AC2BE7D8FFA1D615C65819BFA23C46FAD98ADE4BEDA61AC10743B68A9B9320A4187C0DB100937BE4832267B30C4A9AB1EC2880E6345378B9CB57363E1A8F5A607DF33A3CE9F1B56FDF9745B2E761E27C1EB9F8B1DC645440C4D03DAA01FBF99F7BA6AE534E84421E80601DBC69715825E4679411704C985D66D98D2A26B5D132605DC3C0C9A656D3E88A06B099C7FDF1E63B8E1BDF1DBCB35B835F5B0F9D37C1B09E265489AAFADC6A7BF56EC5B75BE1074AB908FEEBC42D02175438234AE0786C1359A386A53C01B3D9F81613982AE1D37363AAAE2C16BADE0A5600D3E68983D4997870EC74B575D1E718D8F16820EF9618CD13021E810CA36A4C2E4149348D268C2E49CB4A24962C178EB10E23675C89D3BDA15C32494B0EE09DE5B30B392E1787C8D81BB162900001A4049444154BE6C1E41BF7BA3716E2A58CB4C26041D256D44431621E8902E0E12E5CCCC0C7A7B7B1B6E3D2B57821FAF363535A50A329994F2482C9B8099CD64954C86A1763AE5DDC8BE40ACF77AB24D0661ED06ABA96DC2CD4315CA1733F706EF57083A12AB3B524208418750074985C92941726EB4656708DAD48CEEEBEB8B0E690508BA582AC2F39C6AD8E1BDC41A68141BC03918571E246CFECE68106669126B7DC326E93C5C0250B5DE47B5E9ED92CE167F4B343ACD0384A0437C18633644083A84C26B49B2591B76C61A25617183921B6AB59665ABB3F118D912DC385D0B36C158735EB3B3AB03764AF56841C2D3ED6735267E2D269641F51C15776DBA863B7E7126DDD5C5EF0DC0D2D6E6CFEA2FAC2A42F28F4E871721E8101FC6980D11820EA17013E35B1B1616E2D4350D0986F791B0160BEF6BB425BFDC0DD48BA0CD83C63C94F850E43DB31A5E67A60349CB062B9F7A16EB53EB46B696B2AEB5CDECB239804532D76F576B5A93867DD7CBBD36B85FA62F421D5E84A0975B6DF17B5F087A199D932848D0246753507F2D5662D825169C83BFB34607FDD0C1F2A6E65ACD906729B949D0C4871B7C613709578241B154C1FCCC3C726C6890B6E0582E1C38AA821E6BEB59245FC743C54AC24BD848A9668A34B17557716D25F3BFE8B83296BA7F21E8B02B233EE384A043103443C1B851D78AD4EBA04539393909FAA2A354AED324EF045B76D5BA61C27C9C82BEE885FB634D265AC71EEE4C4EA033DB815436A34A9E6694554CFAF52D68DFCD61AB9EB7B49A3D382A21DDD38D6C49D0EC101374778411AC896384A09B08769B4C2504BD8CA21A69213E68EA60828C2169F595DF4FEEA86D32DBAAF5669277D6DA53B1F67E15492B9F06E0D97464B8281766E114CBE84877C29A9CC24CAE1B1FDD1E8753B1D0DDDD851D9B7BD063695BD94DF00C36A97591ACF657A475AD9D22EA21D22AD0969857083A620A89803842D0CB28C1902209886444626C864BA136D2C158A5B4A2E94E08D6B268863C4BC164B202CD378CD5CAB2E879BA3088F24393582DCF815BACE0CCAF8EA0F0FE47B832B811BBFEFCAB48A73398B85BC4D8CD51BCFCF45ED53C8087A5AC67DDC04B9739D5512542D011601E1121140242D03E4CB504114C4E09B6A2325FC55B55AF99F1C2B5F5405AB951687CF48C5D262675F743935B13AC7CC74DBD0AFB6E61E49D6378EB07FF86A12F7D0EBF99B88AD3A72FE095575FC5F6471E452A9DC6C19DDB91F4808C4FD2FEAEE1424847A0E64894AC68B1A0437156AC06094107D45D1BB2468B99C929CC9433C76A2DC47AAD2ACE4F994CC81D2DE9561FDCC0E4266AB081417D64F254E406095A15FCE77F151709D7C66FDF38824287837FFFD98F91B26C58C92CFEF6EFBE87A367CFE3A5E77F1F6CBF9BF1DB75293F89652C671DACA77DD7B4A7A343D142D0F55935EBE92A42D035041DCC8633A5455927224A046D6A58F0C1611E18ADB4A2F9C0A0056DFCE2F594457B925D381E89D456D11BE504F0AFBFFD0076E90E7EFDDA6B48C38395CEE23BDFFB2EDE3B731E2F3FFF1C3A01A41CBFBBB89F2F73AF6B43C778043BBCB4FA832D04DD6A0D446F7E21E8808BA3563D2CF969A226A2A23A43C84C01A7151D2C32D42A190D411B6BBE6EDF32940F5A7B265C8B492934842D14011CB97C133DD92CDEFFCFD771E3E2653CF3D21F22BFE361F4D8C081ED5BC1472ADD1C2AAB4539A46B7DCF42D0AD5A2F326F780484A06BB0326E0E5AA9FCC7D2A2513B8C1F9CE9E76CBDD52A7F387131E9D92646BBDE998D2E5D1ACAB74DA704D9DAA6271AA3E5124E5F1A41A2C2C24B36BC149D15653CB76F0FD2AA73B8870493597C4786DA1C24D157B70B75B28B6ADF1591432CE88828224262C490A01D95286C2A3C2CE8827E4EDD7D9A9FDB994201D94C56258698C35460AB9B85B88A85A0E6A6FC1E502A1751AE94D1D1D5093B9888E117A4A8D6A558C53C614FA13CDCB4646E08FDD024418561E0026BF1F2BABC515ACE34A399BFCD8C410FA8242B982C7B98982B29C24E5B16367565D1AD1257D831C090B4329F75F44640109277D5C5B11601C30215629C1074089062362486043DEFB99ECE3A5309673A820B0C0FD0A462A970BAB95211D94C17526C0DA238628172AA7EEA45164BA33FEB7E029D929B8D5DA79D0252D9343ABC8CDEEE523B601E5C2678D0DE24AF3570512B1F71C5C5EC0CBB91F7E8441076555173EAFF2B7AE48B46BE15C85345DD4FDF666CF4ECDCBCAAD151745C541C0756D2865B7190B26D589E07DBB254424B523D6CFD4C421F8460BCB5DA206C24382BB84F0E15825E216031181E3F82764A9E972041EBBD7C9D154CEBCAC31C803BA5044AAE834ECB435FCA46CAB706FD720EF72D89A0A5B80AFE59E11273E0B03810237C5D5B65D9158A05D5713BD799F71F24FE25FD74676579369085B48BD7C3E4C4846A22ABFE4C300259BFAEC43024A84CFA9531A28AE2F04FE35CACC97DFEFCB0B2DAF9CF7CAB617C38372A1DD7433A93C60B9F7F1EDD5D9D7ED956F59D434B44B787C52EE47E14C70AE559A1C256345C087A4570C562700C095A9954CA22AE241CD82E29CCC254A582B74F7C023BD78B59670E994A199F3D38847C92E6203FD40BC4122C36DFDC55C2788692AEDC9648AB9F9EE3E2CED42472FD7DCA5E65B43013356CD6AB509974FCAB717E568FB58B2C6074EC16FAD95945398F74D1A2FBFD1CC6031C1E35B3CFA7FDEE50DDC2C7C66EABCD517ED3E1CFF1F171B0E8FFF6EDDBAB354B060737AAA812EA8AE7A5923AC1887F47250BB3160521E8F0EB222E23E347D06ED9D33519ACEAA6D1BCE7E167EF7D8CBD9B3701E3D3B0520914B2294C958117F7EF40B65A70472F8B051FB4F16306974BE3C850CDEDB8EAE162D92CB1E9A09CB031512CE1BDE14F7073741CE9640AFBF6EFC2EEDE1C3624696B9B0CBAC62D69D22EBB7DB3F5959A8D66AFB14C83D6B311610546343339B9594BAB9751222457A6DF1B1D9070E9FBE6181E2A3BDCF3E0382E52295BFD549BA89EEE7F58CF4EECF5465408BADE88B6FFF56247D0AE57F1122A77D8521667C90246A6A770EA93EB18F9E863BCFD8B5F2291B4F1F9AF7D155D5BB6E0C583FBD1D7A1E3A095CFD22F466CD21DEE351339AAC1046DC2CEE0AA99EE3816FEF7E333D890EFC0F8C83564D25964FB7B91B5D27862E73674FAB5291AB354751C1C6DE6F1094694F4FBFE66E35509FA277C095640CE3CE3F8F1E3CAADC1547292F1D0D010AE5DBBA67A199A10C303070EE0F2E5CBEAFD99C29C7275D0E5C15661C5E2BCB2E653A9243EF399CFDCE3DED0AE93150AD41820D55585A01B086E9B5E3A7604ED798EB6A05D4DADF33670FCF20564D33DF8C90F7F885B978651725C3CF2F4A7F0C24B2FE1E1AE0E3CB471A06A102E94AF34DFE16BBDD08D25680ACD4240CA8AF62C1CBD740D76BE0BFFF3D39FE3D4BBBF83E759F883975FC29E834F62E7F64DD8D29DC5421C4ABD57A99FE1974860FA6E011D1DDDB06C0B3458B57BE3DE5863E59959A108CC5234444A2B59F9991D47FD23B9F21F236D6855F3A828CB39892B5746B075EB163F0E5A47E7B086496D8D1321E8152A4486371581F811B44317874D96536CE1D8C0E8DC1C8E9E1DC19DEB17F1D61BAFAB68802F7CEDCF90E8DE882F1DDA87EE944E90B827BCCE2440282B2C48D2F78E0BB31915BC6EEDEF55AF80BFA9692C56156DE2026F0E5F44DF96417CFF3BDF45D6E1A69987C16D5BF1EA37BE892DDB366247AE53D5A45074A9FCB87A93CCFC1DB61BF762ABD2E4913072A2529855E9D8E9EE2E78094BF9C22D86C7298B9F51257456536A53CAA8A9EBBC2D26130BBA2DD4D454216347D0954A850E5C05B2CD0D242B81622281374F5D40AAA313B3B76FA22399423ADF07B752C1338FEE408A9B4B9E0B5B75F530A163A6978776B71A2226411A023485831EF455BAD6A20BA66ED7BEA7B600FD5E4E092F05D74DE0DDEB37E0E57378EFF537F0FE7F1F612D21FCF15F7C039BB7EFC2EEED8318ECEC408AF6B61FE35DBBBA6AE75BA945A9D0703D788EA3DC0E9DB96E1D2143EB9658F077D74182CF4446A024583BA4C1DF329AFA11AADF6442D0F5C372BD5C2976045D743D8F2E02C619247DE2752C1B775D17C33727706D6C1C5EB18C3DDBB762E7602FBA98C5E617EA0916D8B9A76A9BB2A6FD98DB6032842A36CF4A6CFAABF8830EBDB1C5FE7ABA225CF058207A96DE2C29D746C24DC3F312B8E539F8AFA3EFE185279FC4F4AD51D8691BE57C0FEE8EDDC2A71FD98DB40B24594FD9B7F88316B491CDCCB5AA080707A824B42F7F62721A03BD39F50C49D38BE4D2B5A0BF61A8C817858358D04BAD0321E8F542ABF5BB8FD811B4532E79A53289308D644A87A9D16FCA2E1DC58AA3FADAD95602F3C522D2990C922467CF53197B3A1A2001DB4EAAAFF30CBD23499284186D40FF68B95442369B51244BBFE872D5E64C8D69E372A8256665A092DC2CCBFF99D08CE827CC955300BDB4BF7CFB0394ED349C7209DB37E4F0E9038FA033E122AD73F096B5A06B5D1EA1961823265C4DCEA373B3B83D5F462E6D63534727BA123A7E84563FBD49B4AA19CE28F4BC34B242D0A1565DAC06C58EA0DF79EB4DAFEC59982FBBD8D0DD85345B28792E1EEADB80B3C39750283BE8EAC860B23087439F7A1297872FAA780FC6DAB22EF4DCDC3C2C2B895CAE1BB3B373EAB57C3E8777DF7D1F5BB76E4661661ACF3FFFB9257DBD8BB9188C551BB46883196F869C9565ED5BEB8C70D639282E2A4880B10A455D551359A63E7313112E6C4FC7FFF261622C5A3FDD5089A25FD316BBB6F4C3AF7FBA37E65DE0D2AD314C4C4F31425B65EF95E74A38F4E81EE4D84351E703F9BB830B73859F253E2385A0E3A3EBB0771A3B823E76FC032FDD95C3F0C54FB03197836301C96C12071EDA815FFDFA0886F63D8EE93B13C8E63AB067EF2338FDE10994E68B2ACC8B110503031B71777A468578CDCFCD2397EFC19E3DBB70ECF80995A4D1D991C5534F1DBACF0FBD948B23E802A10FF7CC9933B87AF52ABEF8C52FE2ECD9B38A34E7E78BE8EFEF53997367CE9CC281271EC77CC9414F771ED9245D301EAE5C1D455F6F2F7A7ABAF1D63BEFE0D52FBF823367CEA2B7B717232323989E99C1407FBF8A6450E9D18904F2F9BCFA66307C7E18F99E3C7AF23D3870605FD8B5A3FCDD57666671E5CA75607E16AFFDF4A718DABD0B2FFFD1CB3871F23CBEF2C267D1415F3F5DE7DC3134E53D57F010082DCC3A182804BD0E9458E75B881D41BB9E3AE0F9BE61137FA1929395C354D7DE60FA343710932A7A630175638D9A6408DDE95B338EAB7A946A3FB2B1481F14D6A532DB54676A3D7EA630AB48F9DCB97378F699CFAA9F2CE5D9D7D78F2B97AFE0C9DF7B0263A3373172ED1A868676E2EEDD02FAFA362093C9E2C30F3F52963C93360A85691C3A7408BF7BF71DCCCE16B17DC70EDD5ED571914C25512C95D099CDA23B9753216AE7CF9D4757771776EFDA8D271E3FA8657F805B44B94318430EE0DC5411E3D7AFE3C7FFF07DCC95CA989DAFE0AFBEF5D7E87BF800B6E69318CAA702F54E74FCB91C8B2320042D2BA31681D811F4F9F3E715DDD267FCF0C30FAB9FB48C754AB0A732D5F81A7DC76AD38C111D696EC84195F6BC79F326CAE5922236BA0776ECD881EBD7AFA9F7151907089AE7F3DCAD5BB7AAEBD586B4A90705133DFCD03766C1954A25B559D891ED52F3738E4A85B66A02994C0A6EB9A21F1EA43A5BC56720954EE1D2A54FB065EB566432695520890366E70AB06D1D23CCAA70D94C465DB352D131C4B69D50F75729B350947E0A7564B2DACD714F18E1FD26AF8A21077072BC88C2CDEBF8C93FFE3DE6E6CB28961DBCFAF5BFC4C3879EC54036815D799DFDC7F99547463609976421216821E8D813F49B6FBEE99168E92E2041D34265F17B5A9EFC9D044942E9EFEFC7F0F030BA733DEA3DFEA3BBE0C2850BAA4634098EE43B3838A8B2DD98B5A6D28ED34945DE263D99AF1D3C78F0BEBAD224653E08CE5F3887E9BBD3CA821D18D88472A98C8A538153F1303D338DFDFBF6A154AA2837453269034E45B9288676EEC2E8E82892A9140A73F3B83B7D57F9C39939373D39A52C6B1AE6A964466F5E96CB608718DE1BFFBE78F1220E1F3E8C1B376E546B3A531E62532997D0D1915561737BF7EE55F7597B180BFAF2DD026E5D1BC5AD8BC3F8F9EBBFC0F6A11DF8D6B7BF89B73F3C872F7FFE307A1823CE8D54B5A1BAE25A49B1FAC40A41C74ADDA16E36761634FD1BB5E165C10D39A246174530E42D18A2466227599BD03933AE36CE98EF93144D14C762D63309F1F4E9D3EAA1C07FECDE423224F16ACBB78CDDBBF78085F9F91061E4085D138C2EE9E9EDC1E4E45DCCCDCFAB9E89F45B9378395FFFC0065CBA78117D1BFA50762A4A5EDE130997D634E7215993D0F910E2C3850F15BEDFB7A11F85991935376B5790A0E9ABAEF5A19B2495390F78E7CC0574F6E5D1D5D1A922368E1DFB085F79E619F464B851E920E9A54CE5D185E6DAA19667BC060941C74BDF61EE367604EDD267507304134A167B2FB891574BEE663CAFB1D47BC16B9A718B95BC34E76BB237D97E2ECAE58A224FFA9855E2875F1744A7CC040BE4EB8A6FCA276E0AD2FB19901C4792D70D704D63023D4FD54FAE2F56756F185C82B1D3E65E0C8844932DA83EBA7C1D33F3F39C1C7B87B661A38AE0609B2A172955299F5BA89EEA8EB2F284EF304BB9FDC70841B7BF0EEB7D07B125E820F9D426922C966E1DB48017CBBE3324574BD8C176548B5D3738BE4A7E815AC5C1EBEA303B5D3E53156B0A9440D5A52F34F1EAF86B86D731494687D95589DC1F137C9804936E4C213A52EA83926C4CE49CC79CEE40C53A971983AA0EB47E58249978A38BBBFA0DAB1A5BFEB4DE1F90665E4F08BA9968B7C75CB1236815C2D1D687B19B79134B45442C3F466D50FA641D7CF8D0825616B3FF73B187067DF5EF1CFD1D0E1FFE347EF59B5FA3B77740C5896F1BECE356264E9E3E879D3B3721DDD1053BD38DB9BBE378F1C51755676E5BD5BE5B386AE3BD837F2F977DD9D66A5C447821E8F5A6D1B5DF8F10F4DA316CF21582CF97A5028A971F1374A704DD2DAE9780C586ABBECB267873E69B067DE2C78E1DC7634F3C8EABD72FC36635B97205C5E919F40F6C819DEAC0F5AB17D0D9D589642A8B5271164F3DFD292498A5A92EB8E062D186FFBDC932B5AF3519E0964D2704DD32E8233BB110746455D33CC1744CB7A33B8DF83E6ED7FCCD6E8DE5B2DA44341BA224F772A5825426ADE2B8E9D4D0FD1D2DB82CE5CA96526557D500A14B867E6E8E2ABB096493DA2362AE1574F1D45ACFADEB5CD33CEC83330941B706F728CF2A041D65ED345036921F0F5AC58CE8387AF4A80A05B493696CD9B219B76EDE5011218C5A21413FF5D453AA50FED8D898CAAA64EFBF62B9023B69236927E194CB38F0D8019C3C79168FEDDF87131F1C47672A0D381ECA968B446727C6A7EEA2336561433EAFA256D8818507A35618D1425998E938373787FDFBF7A3A7271F74B337108D685C5A083A1A7A88921442D051D24608596A1DE8ABCD9A0EBA15E853663C3463A027EE4CA1B727AFE2A949A2268283EFD1B5A1B21FFD3E7F1B376DC2C8D5117477E7904EA754ECF4F51BB7B065EB364C4DDC56EDB79814532E17D199CB01B68DF1DB63C8E772EADAE63C923E235518BBCD209BD9D902B66F7F081D1D9D42D021D6840C59BF080841B7996E17DBE15C2D49076FDD10B6EEE9674A832E9429E5D860E53D1D8EC75AFC3AFBC475746951169E4AB01722895C0F4152054DEB71AC6A67B60955A968577944D4A1B331F5DF26A9A51EF7D62E2A160BBA5D34D53C3985A09B87F5FA9CA95AA96EA16ADD222F2DB46E8C13E3AE50E342D02B042C06C385A063A064B9C5F6404008BA3DF4D44C2985A09B89B6CC25083C00012168591EB5080841CB9A10042282801074441411213184A023A40C1125DE080841C75BFF8BDDBD10B4AC09412022080841474411111243083A42CA1051E28D801074BCF52F16B4AEFBD0E6C5926411AF570484A0D7AB66577F5F6241AF1E3B395310A82B0242D07585735D5C4C087A5DA8516E623D202004BD1EB458DF7B1082AE2F9E72354160D5080841AF1ABA757BA210F4BA55ADDC58BB212004DD6E1A6BBCBC42D08DC758661004422120041D0AA6580D12828E95BAE566A38C80107494B5D31AD984A05B83BBCC2A08DC878010B42C8A5A0484A0654D0802114140083A228A88901842D011528688126F0484A0E3ADFFC5EE5E085AD6842010110484A023A288088921041D21658828F14640083ADEFA170B5A6A71C82720C20808414758392D124D2CE816012FD30A02B5080841CB9A90280EA966279F82882220041D51C5B4502CB1A05B08BE4C2D080411108296F52016B458D0F22988280242D011554C0BC5120BBA85E0CBD4828058D0B2061E848010B4AC0F4120220888051D114544480C21E80829434489370242D0F1D6FF62772F042D6B421088080242D011514484C410828E90324494782320041D6FFD8B052D9984F20988300242D011564E8B44130BBA45C0CBB482402D0242D0B2266A1110829635210844040121E888282242620841474819224ABC1110828EB7FEC5072D3E68F90444180121E8082BA745A28905DD22E0655A41407CD0B206964340087A3984E47D41A049088805DD24A0DB681A21E836529688BABE1110825EDFFA5DCDDD0941AF063539471068000242D00D00B5CD2F2904DDE60A14F1D70F0242D0EB4797F5BA1321E87A2129D71104D6888010F41A015C87A70B41AF43A5CA2DB5270242D0EDA9B7464A2D04DD4874E5DA82C00A1010825E015831192A041D1345CB6D461F0121E8E8EBA8D9120A41371B71994F105802012168591AB5080841CB9A10042282801074441411213184A023A40C1125DE080841C75BFF8BDDBD10B4AC09412022080841474411111243083A42CA1051E28D801074BCF52F16B4941B954F40841110828EB0725A249A58D02D025EA615046A111082963521511C9EE7C9321004A28880107414B5D25A99C4826E2DFE32BB20504540085A168358D06241CBA720A20808414754312D144B2CE816822F530B02410484A0653D88052D16B47C0A22800097612291A84AC2BF4F9E3C89BEBE3E249349F57AF0FD08882C22B40001B1A05B00BA4C29081001632B18220E5AD0B508895D11CF35333838B8F0146F22042D99D4FF5048144713152D532D8E80EBBAB02C4BBD69ACE95A1747D08A16828EE74A8A1D41BBAE2B041DCFB51EB9BBA6E54CE235047DEAD4A9AA8BA3D6051239E145A0A620202E8EA6C02C930802F72250EBDEE0DFB4A0FBFBFB914AA5EE717F88F51CDFD5133B0BBA52A988051DDFF51EA93B3756327FD2DD71E5CA1574777757370983C20A49474A754D13A6AFAFAF25EEE0FF0766F1DC443B7D42440000000049454E44AE426082 WHERE `app_id` = '7';
-UPDATE  `fn_app` SET  `thumbnail` = 0x89504E470D0A1A0A0000000D49484452000000D4000000BA0806000000D62063320000200049444154785EECBD09B86557552EFAAF7EB7A76FAA49484B8510087C88A04F405194EBA75E9B400286670BA2A2288D82CDA70F7D8A4A7C220AEA67C305858708DE4B083DF810BC72318020810409E92A55956A4FB3FBD5BEEF1F63CEB5D739D59D537572A1A8BDA152A7CE5EED9CF39F638C7F74CE3DBDB4B8F3F3FF811FFFBEFF829513C7D06CB5E1FB3E5CCF85E33880E3821F47FE7B864FC1EF0A80E714E6EF930EE7410E8F2AAF9703D03B9CE6630E2ECF39CDBF375C542E55BD8B5EFBE4DF8CEF79DAEF367C212F89020E9CA240C177359FCDE32343C063CD17F67B7B39BD921D87420F2C2FB2F1DF85DEF1A43738DD33DB6B57E7AD9C92CDE377C6B1DA7487936EB8F12DCEB6444E9E818D173CCBB2292F7FFA79AC8EAE194CF3881B8677D38356AF371EEB332C49CE7D9E23CF7324698A41B78B99F979BCF1D6F7C379CB7B3E54DCFC3DDF8985F979F87E504EEA498F76C6C1E402E0EA1883A58A2F79B41C285CC0D9CA1C54D7D369578D056D15A4E313E5B79B5168174FA1CFC935BA1108A7B859E5794F1A6CB99D9EA3D7B1DB838E0701377E86CD13B4711A373C49B9E82D90CCF056DE67D337FA3E06C4FA30274176FCEB9376C7F1B1278FC0997E53592595157BFA055F7DAA535F979BB16CE4A7FD9CFC5E1B3635AE3347AF51E4BABF572779E3BA38F926F6EAD5CD683C9AD5B9DEB8BFA5498263C78FEBB6B7B8B4044F245175719A0739D5BCE705721770B93065519E8C12EE36B29A0A2EB6CAE23FC3C08F5FB67253F9F16439566CDA72456228A637EDF666D0CA8B5706D12EFA0DB2CB82720C8EF1E2D573C7CB48BF51A0E914E86DCC1114D6763E3701B33A6AAEA24F267EC3F166FCCADFCB75CD4B1A0969015BCEDC6691B8492E8FAFBF518BB08F2C97DF349D1B1661F95D058425902B1B891DE60DC276B3ACB5FFAEAE3BBD6EC175E39891CD0BC01DCBE8129695B554EE21552C9A35325E4DE39F721470ED82299FD1FEB05140D899D5CBD9F9AE6A5AFA9C945ACE54AB55345A2DB3A3E6708C18D12562102950AF28665590999D39876B1E9067D985369612279DC2A3721D345D5CE39DC96285DF54D580EA6EAF80E2F51DE406D4560D5395CC689FE3AB57944D1DB8F299E4550BE48E53AA9F7965A72CF12C182B64B239979C1059BFE6214F92BEF2023972D7198F8D2C14034B0B227BBEAEA4B1E82C17848E27D715C78BEF2CA7CA2662AF67E4A339DD2CCB8AB092132083C58FEC9F55505915224791BB70F872B9991757D7825D1376F3B06251B732572583D962EC8621671970D81D43E75A4153AE31C73CBF018FD91EE5AEB2F0AD3A61B402D9C8364B64B34116E06AE4F5AD4A643488CAB956652A6472ED809432A0326E7A13BB7D8CB5117DF431A60D5696772DD31890C1752A03E71482613D2137AFC75DC26C5755C0D98991AF8CC8557967752AB3C70BF0EDCF050ADECF8A685918768556179CDE9B67C9E35981630448090B8E2E179A6E3BE580D839D36BF355CDC66016A7DE4996AB192057E16D77FA522018358227E4BC391165B53C1D713B3632017208CF715118DD838FE81A1B53BEAE80C2829B6AA25C56E6515F722C747524E4C6E6FD0BCE0D016B9E99EF99E766ACB8C39700B68BA2B299C89818A94BF594FF20E064F2B889F26FDAD279B938794C2E1B962C0C039F0A302ADB2987896BAAAA3DE8F231D2986BCECCA7DE5667D3BCA10EAEA842150DA5041C377F6E2C7A6FAB74CBEB98B9D561B79B813149E4BB8D8243EEAA3B54E54A7A217942234FE4D6D62E3660CE650C5CC50F6FB1B4BC2CCFC489711D57777B591C66F79249D1ABE80E6454D2D25E2AC0DDDC4A0BB129CCA4C800510C0A70284908512B8D8C583733CAC7E20BC882E3A4C925CDD6E0EAC4E9566157AE284A669B303B988C99EEB09C04873BACD924F4A9F577166DE3E56A67D10CACAC33A3725892C548022E275964A57A3C5E14027DB3802D90EDCEE6968BDB4CB0A8C26630A9425BE928A854E9CD1D448129FBBF9D735D742221F59D38AAE5062EE3A67326E3CE0B98F7D1D560D562057C5E18007359984D54A7620C1601B6AC19AB762921534A649138F284061EFA1D37123E8302D0AA51E3852D6322F3C17750D9A66ADE78531C6B3155E0AB742D3721036E59315595ACA2C7EADEA163A82A76B9A31979A06B4D8580193F0B77B3F1C90E68E6436F99EB3870C4EDD25C5EDEA57BB1058E990C824B0F1A4B149937EE88164C66EB1C6B0E63C1A833A72B46079E2A8B8A7AAB2F5527888B40F6598256D7C058FEDA856044BA9500BAC8CCC0162E0A379745A6D363D8492BE68D8A615508B98F4834A794C0BA1F991D91DF1989C231B0EA4C55CCDBEFAD2A268F6C8063D5205543CDCE6671CBF1330B5D1680CCB6B56155AA7063C9ADEA52EEE3F2F4A5CD6A87D2EA1EBAC875B1C87398CD49259A8262BC0AAD0E61A598D98D453C5875DCA895E57554BD14E96DE652CD3ABBB48D5093B569AD4BFDCEC8D9B146CB71311A8A5C810BD42E4AAB1594FBA555E10D90658D5A8DC1805C34B75C80AD5B8C5D07565BB4768E8E8DCA435D29623EF01955D0985D4E351ACE8F0802FD6785B5DDC8565BCDC9D9B5BCAC9091DD49675E416476126337E8A4F00616DD3A210A26AB37A80E248BD4EAF7664B14C165C0A9AAED4683D40AB6522018C54D777DBDBED5CFEDE053B591E7B452C8EEBE46453588DEA0E7DAE9E522A626A16FCA677695FBD0FF18609B0564EC00233BC49C143B83EF2FE48C59640226AACEAA2A8DC7C71AFAFA80B2205D02DA4C90A82646571715D8A845F21C2ABB793DD9F98C9D2292DFEE4DB2619B09368B52664200C67733924926D7ECAAA50D930B7865B194F36EEC0FD175784B638B983953C4DADF71F8AD9AA99A05DF518928AABBFACEDCCD752757A95902CEBC84FCBA94F04611E45C884260E6592E6ED438B9A7B9973C175553BB4ECCDA9231196FEC6ACFE9A64EC96CC75CEC70BB29D84DDF6C0AD4ACF4381D4B8EA9BCBF51AB4BCD4A6CF91CCEF2D2922A09B2637397D79B964B586753553EB3B0ED80954C8CB137748171F00C7569178CD9A245BA99C5C687530DCEA87266E154E80C2395B95B9AC56BC7B9E203B2FAEFF88915783265B250C6D69E591D6A8314542FC73BD2D8C8AF4851AB459B034B49CC7192C566776A731F4192AA8432C566A797A56240628D58BBB1735794C915DD4EA9762B61D426B46018AB4CD61857B5D24802A3AA1B75C39877469E55E653006925BD2C302B5F746790454755D9A8F7327AE317DF4088283E75A7579553B5108E8BB503558B305B7F7933B3D08D5E6CD5456B7AD879B29A8D7D6681A4D100644AAC58B05A8811944A5818895B6A0D5661E2B3885161806F54C90A4123A0339810759A73A33B94D115F446E59AB18615CF5B16093516D076B04BEAB7A20EEA02B56A8D0A71D17F2B14A75571C64C94D9552D1B6740A90BC74A4263A3559EC3DA0486461BEFDAA52D628DEBCAAE55B25E9654D8E8D390612807BF62CBC9EFEDA66217D3980E57D5B4EAC8353ABEEA7C627FD256E0DFE562305243258A9584461DB34A921D4F0338B5BFCC6455774C737CA913995D5AD51E63DB6C58F77631997B8BC418AB66BA53577C86E5A6A9A030F6F9D84A740C68ECE2B2EF634995AA3D65CC04A3E0A80650B5B12B1ACBF83EF63D2AB47405F4E5B89412C7A8B6E5B88C4D0BCB25A956C7CDD8A8A166416D589F566CD8313412BFAACECAC855D69C153432A3E61975F88C30595A5EB2E6F178C84B95D8EE01D5E9B0ABC1C804CB22D92D7793536E6C5559E3DD8899CA8EA033375E48251961D5D9722D1891677525738E799F928EAE325B954DCC2CEC0A1BB7296AC31EAB3BD898391AB33F278F87591F5533A2BC8CFDA57DB35205355AFA788F35DB6DF93E7602369D5919336B43549F79FC8255F0D8BB561ECB4ADEF1545A4363E341E5F795E7A9CE6FB94E2AD2A27C37BBDA2B268951574B3BB4727EB97F6CE0D9C607A89933B6E76D948A594D1BD76E098C8DAE13BDAF214C2A4EFD524894CBB0B2D99807ABDE67C32059E96FEC579150278DE2E65F54C673CCE49CF5ACD31E501DC773BFCA4E9FB971119FD3D577E2C576E21A677BF8EDDCE3A463B773F2E91E6427AEB18D973CEBEDCE7CC0992337363EC74980DA7CE90D9B4851A05EAF8F6DA953EF6715CEE76C2FAD3B694516E809671D80CD72672BF7F9DF70CC969F7B5B2F799210DAF13739DB736FF87EB3BCDDCE7C6DE1C9AD12B28543CF78C8B63782530F02C134180C54B5B68CF5496271FC24EA87AAAC60AB559C6ABF6630E0FCFCBC04059EFAB3C15AD8E290587AB572B82152CE7E812D1F78F64BEDC411DB7A9C6D1D2C4FB7FD33B6F85267BBF086EF4F31C7673B7F8B8F615FB2E26FDECE999B444545E5DCD2E89DFA255CD7C5F163C725587CC33668F43AEB07B710729697972C5B59D2B8EAC9DE486BF3627996636E7EEE0C12EADCDF7F72E66404BE16478012EAC4F113703C1B1D626065E9DA0D0F6D58BE4D41D26574A4F58B0B45C8583723A14AFAFC6B710426CF3419811D1C0101D4891326826723356159CA5200528B585A322C9F848118B5C246F64A0C93096D290A644581C5B939F5354C3E9311B8084680803A7EE2383CC72B43A2CAC015719758379D465E1A40A9822E6E14F133D9205813FCA28159E267A10D35915017C14A9ABCA20A1EC7C5F1E347E1BA9EC693DA103D6372599965C39204501A1E621CB512CA485C8DA3AEC5C812275981F9B909A0266BEDE219013AEC8F1F3DA181C665348A89EDABB80F4D800B9CC5C5A5C2C6E7D9E0CA32245EA83E1BBEE320CB332C2E2E9E81E5BB78067AF2A617C708B8AE83A364F94CEA5219425632E38C6ED1004C09F05E5A5AB4D183265F681C96AFA1563630D0D850F30BC84DDCD9C531A493B7BC984780B4F9B163AAF295AE241BE95E09FD2A333DA8F29D75C08CB3ADC8722C2C2E4C24D459076C72C0D7CB0828A08E817F1BC25C4D229BD9605FD4A0486CA8ADBE3C69F3858509A0B63A5E93E32EFC11D80C284555054D26C6D0464C56006512CD84DAA80C4435FB7802A80B7F854CDE605B236001E5305FAE3CD3B0DE265BB72ABA9CC5059212E64893E4558DF6AED61BCA8A1C8B1309B5AD09991C7C618FC0661BAA2A6FAA95B76C828CB3B8B45868E5204D1F974F19D664CB84E9AFF33CC5C2C2D2B66DA824491004C1853DB293A7BF28476083CA2799E0CA9D9FAA5C9D687F8B4B0B5AA6C326E7D94C4782AAEABCA2E3F71C543E82E9CA2BAFC4273FF9494C4F4F4BB4BA35F02ECA199ABCF40535025CAB478F1D05DDBAE256DA206C58F4C7D5C24C9A030C67619180D2FFD90A3A9A056A72A3A560827A8CD33CC7D23655BE071F7C10BD5E0FFCFB75AF7B1DFEE66FFE4606B4D56A210CC3B35409BDA0C67EF2B05F872320803A4ADA9CF5318CAFC956A3328519B56E852924B3B0B0A8E91B95CA36656688294925158B88C0BCC0D2D2F61CBB1650D5B17EDFFBDE873FF9933FC1473FFA51CCCCCCA0D168C0F3BCAFC3E998BCD2853E0202A82347357DC3A6CADB3A8B5A59A2CCDF63ED0C91507AE4B8F64359624B93E5E5FFAC8C9366199696B667439D0A507690A90EBEF6B5AFC51BDEF006ACACAC606A6A0AB55A6D22B52EF455F875F4FC04D4912347C4B15B5606A9D643B1C54F6C00C4E22223258C2BEAA44225634E83C7E7F9CE02AA3AEE9FF9CC67F0C77FFCC7F8C77FFC479158CD667342647C1D2DCC0BF5552CA03C4930B4F550F4C7AA03579DBD059CC585C571E9D333E69E17C8B27C4725D4E906F94D6F7A9380EBCB5FFEF284C8B85057E2D7C9738F01753A93C4960430B56FC58632CC453509F15429F0D90EAB7C671B73AA8B0416890CA6944C888CB38DD8E4FB9D1E812AA054228D2BA09C5C7FA5A00D455262DCD9C8DA4CA626D786E763B4F9D2E2CED950DB79F9F7BEF7BDC2127EEC631F9B1019DB19B8C9B1E73502252921A17CA61AB08984508AC148285396CC595C5830B5082B4E5D5B00D0A46F48652216B42FB06D966F7D7D1DBFFAABBF8A9FF8899F10BBE87C3FC3E15018C23FFDD33F05AFDD6EB72744C6F90EEAE4FCD38E000175F8C85128093DAEA32E854DCB824F0A2A71DD2ECC2F14B663810DA36572A16B3B2254EA4667F4436D5342F131B8F0D7D6D6F084273C013FF5533F851FF9911FD99129BCFDF6DB0558EF78C73B441D9C10193B32AC938B5446A064F91C4F8BD8DBBE54A60984F4EB326485948A5E585828589ED6F62B522DD1D6E81EF7F7E1F7A4DFB7EB87AACE4E1CC7E8F7FBE8743AF8AEEFFA2E3CFFF9CFC7F77EEFF7EEC804BEF18D6F14C935213276643827173123A012EA08BC321FCA94D02BDD4FA6F103FB1AD0B93BBF302FB17C6575F7B2B6357FC7BAE55698012425969797B71DCBB77976482F8E4623011741F6AC673D4BC0F5CDDFFCCDE73D91F7DF7FBF008B009B1019E73D9C17FD05045087092855F1040DB6D6B9947C36F9B9D248A020A0E8D8B57033450C4B8A4FED2A5B7E99B17C3B01A8EA2C115CB48BBADDAEF89DA80EBEE0052FC0BE7DFBCE7B326FBBED3601D79D77DE39B1B3CE7B342FCE0B28A00EC3F518CD67EA1C579B9E5B6794A94B2F36D486FCA7338CDB4E49A8D3DD828065D95BAA84AC5D41605172B1D2D2F97C1EF7B8C709607DDF3F9FCB4CCEBD0847C002AA1A1A570DCDDB8C9D4D801AD7193F55A5E7871B50D5F94AD354C04542E3DA6BAF153283003B97CF631EF318B9D60450E7327A17F7391B25D438A2C8768B298BC49A61521BAA02339B50685A1397A3493196EF900DB5DD2962CC1FED2D82EB694F7B9A00EB861B6ED8F2652680DAF2504D0EDC3402C2F21D3E0CF2E6AE89D72BB5BC0DA692A9694996CF064F48C73CE9FCA757355FA829566819B19DB6A1B633835409092A062BF2F3810F7C40D8C2B37D26803ADB084DBE3FDD0810500F1D3E0CDFD3AA47FCA3E55A6C87FA8A2EC74AB2F373F385E39AAEEBA69525F976D7F4A294EE0206598CE55BDE75FE2CDF76A66F332378E38D378A847AD2939EB4E5CB4C00B5E5A19A1C780A09454091365735AF0A20DB71D20820D2E673F3F322C1CA1622A63BBAE648992EF2A6172A6B4AEC5ADE75DEB4F95666ADEAB37AE6339F29E4C4F77CCFF76CE5D4938E9900EA9C866D7212A51125D44364F9C691E6D2E4DB46974B9364D1E734C970CE48289333A5CDA96D6B4A9360A8DDE10B1459F1B0AA7C96886054C5E31FFF7821227EF4477FF4BC27F6FAEBAF97ACE1092971DE4379D15D406CA8870E4B2FE56A6D73DB8BB8B48B6C07FAF9F939D3A2BCDA70B5DA7C6A1C8A4E1B6AD7AE9D955055AA9CF6D90B5FF842011263F4CEF7C39024FAA1EEBDF75EA96531F94C4660BB23A012EA2193513E6EAFB8B1EFA6F93D35BD79A3F219A125F7DBD80567FC08CCD8DDBD0380AA3A735957E2C77EECC7C42EBAEAAAABB6FBBE271D7FD75D774954FA5BDEF216445124F17DBCC7E43319817319818D80B228297B6ED824F812330AA83232C2D49628E9BD71854C1EC40E86E72AA10822DA4554BD187644728176D1377DD3379DCB7B9E74CEEB5FFF7AC99DA2579BA9F49448DB6936BC230F31B9C8D7DD081050871E3A04DFF52B92C6C8A79313A2484ACC692D976A9D162BA6B440A6F08434C3E8D8DDB56BF7B64909DA44A4BB9FF18C678824FABEEFFBBE1D19F88F7CE4232090DEFFFEF74B662F53E72776D28E0CEDE422660454421D82EBF95A90E5A44EC79A0B5F96B4544019E05892DD1CC0C29765166F016479BA6D40114CB7DC720B9EF7BCE7EDC824B1A41325D15FFEE55F822406D336A8DA4DA4D18E0CEFE4229B4660ACF2B18C18893C962C27AC5C0D92E03F58D652288B02CEDCECAC78722D772E91E752C945E2D1E5F2744931158475F9B66B439DA9EAD17666EF6D6F7B9B5448BAE38E3B4A69342998B99D119C1C7B2E236001A575F98820070E336D4D866E353656F2A166E7660B418CF89F36B48A929399A6CB22976A4365D8BD7B7B2ADFF900EA739FFB9CA8746F7DEB5B459DA3349A94743E97653139E75C47406DA887A42E1F658CB604D50AB2A76A8DEBCCCDCE11492A892AB5912A752F8D3E4895AFC0EEDDDBA3CDB70B28DA6954E958AB8F7D79489F4F0886735D0E93F3CE77042C29E1B13BB5D846E33EBB6266548909CAA3B9B9398BA68D7CB91CB891C6E0627FB824D4073FF841A1BBFFE99FFE6942309CEF2A989CBF632320803A7448FD50A74AC1B04CBA21F2C68032476F3867D305E887DAB3832A1FA517553A120CFC4CCA84EDD83A985C688746A00AA853B0E4E3A443E3897266E794E5E327CF19BBB4F949CC650AA5CD77EFD9B32DDAFC542A1F0B593282E14B5FFAD2A490E50E4DFCE4320FCF081050070F1D8427B4B9FD54E324941257528F2ADFEC5C2111E504942125B4E19A2502359D838618FB43EDDEBD3D401D387040B2653FFDE94F8B4A3729B5FCF04CFCE4AA0FCF08A8843A084F240DFDB50E0AD3754368F2D22F655C4CB3A4CD0D4DAE94B9419C624ABE22D9C71FB334C79E3DDB63F928D5D80080C09AD4D07B78267D72D5876F0454421D82EF38C88532B7F52E1514E29732E6125972676666C6C0C85549845CB808FDD9564457DE82E91B7BB629A1E4BC2C9BB4AB79F8E67C72E5877104045007A9F2B1D2256512F1A17950B9C919944822892A2AE0CCCECC14D299CDFAA04C74842A85D681A53A22FD507BB669433D8CEFBAE54B3376907FBE5A1FC6164E3E17E608584049108169AAA6ED9E683A99E211520C568590232A9F8D4A1F47A76FC84CB4EC0625CD85062802E9A94F7DAAFCF96A808A607AE52B5F2901BB93CF8537021B2554191751E1C40D1B615ECD999961E8D146979388AE0D4E2B855496A5D8B367EFB658BEAFF6103228F755AF7A95E4587DB53E4C21B9E4924BBE5AB79FDCF73C4680803A70F0007C69B866E28D4EBADE985017092524A021CF55748D0F50FFAEB1A1B21C7BF66E8FE53B8F77D9915309A85FFBB55FC3CFFDDCCFEDC8F5CEE52213409DCBA87D6D9C2312EAC001B8BED2E6A525645AD6881955898170A6A767D81AB40C8AB0A5976D1A3CC16439F63CCDB067EF8527A12680FADA589C17E25388843A7010BEEF49071A52E64EE16A2A8769996B5AAD29B0A6676695AB28533794171400566841AA80AC7AB4F70223252612EA425CC65F3BCF5C02CAD3740D238FA0E1E2CAECF1183675276A84362F930889205B0CDD50E6E637289C5C3276F74E24D4B6677BA2F26D7BC8BE664E50401D904889A2C86D02869A534C7B6293003AA78C1AE7CC4C4F6B6D734B9797E987E39C0F8B4AB27C1722A07EEFF77E6F47AA279DEB2C4F0075AE23F7D53FCF028A7F0B80ACA667D2376C1491CDD870A68D6377DCD3FA34255A2463F7C20314A7846A1FFF7CB53E1386EFAB35F2E77FDFB184DAD4B4BAAC19C17B54583EAA7C72DB0D3EA8CA83544EBC1025D4F90FE9E40A17F3085401A5B019B77EDA80296A7D24F76666A64D5D3E1BC36728741B7564CB52504265192EB9E4C262F92EE6C53079F7F31F0101D4830FC2632BA452E88CB37645161935502228A667A6B58BAE204CBB5C0B0A73F218EA93925C7987C1B113409DFF144DAE70218D8002EA003CDF2B8BB268A85EAEA14736E6C8026B7A6AA69088D93229CABE2EABB9B06EB3117404569EE292BD975E50911217D2E44D9EF56B6F0408A8FD071E44C0BA2A9558BE32784FDAE9520019EA6E6A8A2C9FAA79A5316573E74D6B1B294AC1BA7C792E21342C9F3CF94C46E0621801028A49B26C093AD6ED3412D606C8B29BBBD63AA7CA373D25E249FE2123B4B1F08435BC6CB4F9045017C3329ABCA31D010B28CFD304C331A167ED284B55A85072A6E987DAF4D1F8BD6A91731B1C4B1B6A22A126CBEDE2190101D47E92129B68F38D6CB925CAE14C4D4F97DD6B360E93CD9B1F2390911213405D3C8B69F2A6DA1F6AFF830FC217096534384B406CAA0A2684DE14553E419BB603B53C9F6D0B6AC36BA9FAD176BAE4D289849A2CB48B67042CA0D8C150B3741D093F520A7D5C53427806DA526D91500CEDD3A358B399074A1D0A5BE74584548E3CA7CA7799FC3DF94C46E062180101D4FEFDF07C966266F89125F04844D89AE686AF2051313535A5B5586CEB6ADB898D5F96317FEAD1626DF3CB2EBD44D8BEC967320217C3089480623B1B438F4B628649DDB0B0D2822D2E9CA9765BA1240D032A8986B6E9AE9CA8259028991E71E96512D337F94C46E06218011667B9FFFEFB959430F45D19102B6E25D350C3B4CF1509750AC2E29465671929F188CB1E21214893CF64042E861120A01E78E0810D55BB6C5B1B2B686C6ABC08A6A9F694359FAA244619415BB2E7399016192E7BC4045017C3429ABCA38E800594CB9A124242D84C5C6B37598498CCC1D286A2C2577631B4C528F4209B8D98A5291E71D965130935596D17CD0808A0EEBFCFD494303D0C3762C86A824A51B445424932AF90E69A0EAF69F052FD889072F542EC1878F9045017CD629ABCA89150F73F202C9F8D2832A483E1C0551089978AD479BBDD92429792239F1B049A2686EC6028B1E6242C18402B36D4E51309B5C32B8D1B976DDEA559A12705AFECF01DCFED72F6D9D87C9CF5EA9324D9522BD6B22C1D2065B999C1CC9DFF6BF95DED08B1C1DFFDF7DD2FCFABA10EB64594712FC98144892B4CB9D36AB7355242C83C738A9D50D1FC6C436BED603801D4B92DC6D39DC5C5C6C96287467E86C3A114C5A436F0B5002C3AF3C33094C5BFB2B222CF75DD75D7E10FFEE00F70CD35D768A074A5325645FF91949F3C2FA49138892C5EE31DEF780758928080E4EFD91F5916AB59733C86D7E4DF5F8DBEC9BC27DF91CFC50DA3D7EB61FFFE07E0BABE3E53912337DD086DEA86D5E4241ABDDDA284B2D3AD51E565E73571EE8EBB6FB0D0E5E5974F24D44E42CAEEDE333333B2B038999400FC990B6EA723FBAB8BB47A6D2B2DECF3D0FFC267B18BFDF8F1E3D26CEFC52F7E319EFDAC6763B5B386C1688424CF1150C3C90B78ECD022A9400620523A2B07034BE9BB745D078B8B4B3872E488F4057BF7BBDF2D40E266C2C5CB7BF24F55624B0964B98CFA3EC7B51D540A5800EED49C5401CD6762B561D2E65246AC943B0630122B6BA3255452A984D29F37763034A2ACFA4BB1A12680DAA9B9D31136128A9D490683814803DAB0A297BBAED9D977F296952E47726F8DA2AEBA42AABB346B7110E03FF8833F8857BCE215D24185AD5A9BF506B224D1C5EF3AC898802A5D331D30158FE02AD82402018ACC41E1336FC8451C0FD06C3644EDFBC4273E8157BFFAD5B8EBAEBB303737578283F7B740AAAA8B16586558DC4E0E8B89CFE306C2B1900A47AE271A8302CA37771B03A50C2257AFAE02BCDD6E6FF4436D0696F937FFCAD314974D00B5A3D3A880F251AF3791930C32F694767BD08FECCE3BB18AC6F35EEEEEBC3FAFCF05A300A6AA494017387AF4A8A877BFF99BBF896FF8866FC0DADA5AD9492519250899C59AA7929C9AC145E67A628B8B2D51003EEBD5887546FE0000200049444154F1D1798091525A2092616C3916161644F57BDBDBDE863FFBB33FC3EAEAAA48412BA1B4E61DEFA1CF68ED2E01FF4E8CC7E69934E3234DDA8B5C24749AC69B00654FAA00C3EC51C292B75B04944996A700630F9C317F6EA2006980E5C89202975F31A1CD7712510228D747A3D9161BD561B92A23B9AC9AB353B6C4E6BD92EC2D17691227A292D16E20348E1E3D22ED595FF8C217E2E69B6F166942A9C4E790E393047E1848281A055C91A5F0E0C34F3DF86E80300A10E7297A598AD84DE1FA05DCA40092142EA58F1F0840F8EE34FA67676771EFBDF7E2965B6EC17BDFFB5E9182B423799F24C91004919C279BBAB1C5AAB4CD69EA749DD334598D81EF1AC70992B48FFBEF7F40361C35F3B843E81C59C58EBF23AD277B85B07C6516A1B5A04C7B0EDBB283417DB92B8EDD2B26B4F9394DD4E94EB212AAD16896C6B835CAC7A5DD76E6969C6602822164BE1FC80E3C1C0E40FB2D4D33914083411F4F7FFAB7E1977EE99770F5D5578B04A11D514A07A4C41C022742175DA01E6026F1E1AFA4F096E77024EDE0E3777D092710E1E9575E8E7D7E03EB4907B1DB43800632378047C3DE100F0414AF4F005342BEFFFDEFC76B5FFB5A01D8AE5DBB50ABD531180C45ED0C021203C69D53212DF45AE73F4656CDE69C104054C1B32CC1FD0F58964FC3F9847430F693565ED1D63664C59D56B329391B5201536A9C33445DB441AD9259261B1632E8575C71C584363FFFB92BAF50059465C2AA8CD70EDEAA541FB970ADA4A12420E1D0E97424D7EDC52FFE79DC78E3B3D1EFF74B6A5CED3AA5F63D96E4662C67E0234C0A78690ED78B306884F8D4FA117CEC812FE18B711FEB61886FE807F8F6E54BF0C44B2FC57C9263351F61E8E6F073577C9B7C0E4A2152E9042EEF333F3F2FCFF38637BC017FF5577F85999959349B2DB31128314100D9B1B264CA4E4871553115B00AA821B22C56DA5C120C6DBCAB6E758A0FD32BCA545C5640557C1F9A1B6F4E35B524E4DF126D9EE28ACB2780DAC9457E3A40EDC402399354E4A2241170E79D778A7478D6B39E859FFFF99FC7C2C23C56574F88BAC3DF5332546D39A1307C52CB393C87EA5D1307463D7CF4D003F8E49103E8851E7C2744DB6FE248BC0AC78DF1244CE1DBF75E8DC7ED5D86D3EBE1706F0DB5A826EA1E0145559352CA326C5431F9DD673FFB59BCE635B7E0A31FFD18F6ED7BA4808852D5D2F0F6B9766AAC4E07A8FBEEBB4F25B4E5EE343A5671622A2E1BA8C169B65AA2DF9D5A646E6434187A3491503B0927CBF2F9A0CAC7052385E78D3AB4D53B9DCA5F55DDB9377F6FA5D38913278474F88DDFF80D3CE6B18F9505435F53BD51431AC75A0E9FBBB610242E5CCF455CE408696F799E48A17F3FFA103E70F7177028F2E00653981A3A68041156F3186114224E47406F04AF15E1C9A18F9B97AF803B55C730CB301CC508FD40DEDB0F3CD18CD46E544951AFD7E17B01DEFCE6BF153590609A9F5F109595448590D615FF95A85EA7708A6F1570670294D850658D4A05CC86845DF3A5D322A04AF3AA52F968437F6B3D822F3401D45697F9D68EB34C56BDDE281D99DB019435A2AD4A66D539EAFFD63949954AA960AAEDA951AF023CFFF93F899FFCC99F94E38E1E3E8236EDB8644473190378C80A0FAE13C0C96334C318712F46CD6FC19B8D70F7EA51BCF7DEFDF8F75E1FB5B00EDF70C51225600B3F8A5AC458505DE889E320F21CDC74D975781AEA088218FBDD554441034E3F409417A815195216E6F77C24EE08499660F7AE3DB8FBEEBB8562FFF8C73F26E33437B780D1281642876024BD6D9951BB9958EADDAA87679B110B28CB28523A93E5A384B2B47995D8A9FAA0ECEF0550B6DBBB584C8535B34C1295413C8DAE89843ADB946CFFFB31A09AA596B05540F15CAB265987A7750A134454A3AAFE1CAA5704DA939FFC64FCFAAFFF9AA851B49568B3B4A7A7D0EDF71184E39D98E401B3545324F2620BFE2C563A237C60E52BF8E8EA01ACE73E1A611B7E7A7A1ADB3E239F934C623E1CA1480678FC6597E0197BAEC0158C94180CD0C913148D50D8C034F34002DE0769EB048EEB95214BEF7AD7BB445A91795B5A5A1689C6F72253483B90AAA2DD38AA4EE0AD48A92AA008208E5F1550B9896DD58E9FA766419C46AB59B8DAC3B09449AA03AA934EC4A82126D26C424A6C1F32673EE37C0065551C2E162E2AEED054936C2F616BF0532A91F6667FE497BEF4A5B8E1861B84DD3B72E4B050E262E41739BC40A9F0280851244324F1104EE061C96BC1CB237C68B4820F1DF80AEEEEAF23A9B7303F02D8D72F73B42EDDE64F7581F23B2EF0200871BC18A09776716D1AE1197BAEC6636666D0AEE7E0FA2AD85B3CA821E1E2CD4768841192349377A224A5EF8A5DD95FFFFA37E0EFFFFEED0220122BD6D6B380DA1C05B295793B1DA0EEBDEF3E040C8F121DCFD0E3F2A3954BBAF1F02380521B4ABF6497364B4D0A8BC1FA12269E2FCD525C79C59513966F2BB3B3C5632CA06843558DFF33EDA876D7B7C78B8A21BE53F511F15C52CC741833CC87BBEDF77FFFF7E3975FF1CB4234F4BA3D1309A040A4EF2B743DD140281B92FE482495DFAA2329323C38E8E2FF7BE8417CECE07D4866DA08FD69B44F0051E8A0EB0FE0E31425B6CCC3559F557C4F648FC300711AC3190D91141EAE9B69E199972CE2FAF6A5687652ACC47D24AD3AE0A718F57B127BC1E726A8089C999969341A2D7CFCE3FF823FFAA33FC2A73EF5292C2D2EC20F0251FD6CECA1B5A7ACC4B7CFB2D9EEAA8EA3B561AB12EAFEFBEE15D552A8712717465C8B1919CC983A1322841A8D86115ECA53A8B145A64F0B4AE8CEA3A7D218BC6202A82D42656B8759962F8A6AA57A7626956FE3A2D048822C539A97F39D2629A25A0D491C4B7191FFE3294FC1CFBDE845F8CEEF783A3AAB1D74BA3D38D28D2F35C6BF07BF70D077C8B6D5E0F663A1C683B089434181CFEF7F00FFFAD0FDF822522C3567D1E89210C891852E620935A224392DAB75D220C89A940D80AAA40BD43CF17FEDCE023C6579198F5DDC856BE7E6B1DA3B8C6192A2E135308833F89E83A0C6087517C37E2CB17553D3D3C892147FF796BFC3EFBFE60F508F22B49B6D0CC91C86A16CFC127D62C80B4B8957E305376F5C166C3C86365A9E27B8F75EDA501A9FB881A6B79A9DED154591D46C36AD95B4013CA2231AE795851555872BAF9C48A8AD41656B476D07505625B16C20279DF436A5117D841159B53841B7DB11F5EF177FF117F1DCE73E5776EC13EB6B4851A0E6F95A6B2467948283241EC0F155151B7487C2CCF98D1ABEB8DAC147EEFB4F7CA1DB41529B42CD8D508B33785E86C4D56E96C2008AF3726B5E55351DCC02872B51DB419C034180F53047DA5BC3522BC47FDD7B35BEB3B18461D1476668E9A13CB40337056A913AA563466C381E76EDDA8BFF7CE05EFCD2CB5F8E2F7DF14E91647409D8F8444B5658E2C6AACA9B8155050CCFA1B46368159DCC04946C1F65122E69730D26D7DF99A008026A2CF2CE3C3613406D0D24DB396A3B80B20B41A31D3474270CE9CB89E567AA4324199EFAD4A7E015AF78A5443AF418DC4A86CDD36976E204A11B4ADC5D910E10652952A7402B68A170EBD8EF25B8FD8183F897FD07B0520F506BB9888631BCD4C3C8CF9038199C82CC9F3A79951419172B39DBBBF33973F01AD29156D4C5DC033A7981C8CD510C133406191EBB7B0F9EB9F70AEC0D7D74B00E2F8DE1BA215CB78538D5F796205EB1F372C0F7B1343B8337BDE9CDF89BBFF92B91CE54A3E9141E0CE8E3D22891AA5DC9F54C9BABAA129E4AE5BBF7DE7BE0F9C1062B717318977D6F9150E52058F681898522CE4BA8093A27803ADB72D9FEF76703945541EC952D6B27E090C59C49784CBF3F10839DE91574D2727765F401B21C7E1461E06670E20C4DF12501A95B43580CE0A743E44B33C856733C786C0DB71EBA0BF78D0618B466C45E084603F84E0D8E5B1310B945A68D264C16378348B7C2A0C9F34B9724DA51804740E50E1237452492CA43BFE1A1EB0CE1C519D224C192EFE329CB8FC0B72F5F8A4BB20C27D656D069D724AA5D523D68E3C7B924F7D5C208C56084BDBB77E1BE071FC05FFCC55FE09DEF7CA7345A6FB7A725AADE4A24329D246F345E8F405542C16A00F66F4B9BDF73CFBDA205D877305D024C0084BE9842C781D36C305262CCE4D9A601C2FA996040AD27CB866B09AEBCF2AA0929B17DDC9CF68CCD80AADA4F7662ED645B105195B1B9535C309DCE3A6EB8E187F0F297BF4C7A2093882098C87E31D8B93F1C82D9135CC06DA786B448903B23245108379C42B793E2830F7E059F583F84AE1BA31ED651141ED2C2419D0918698151C1C0DD0CB9E3C215D78AF1376D51DDDBB037CB8B98A20B0C34CD1464431F883D475457FE6E341C201CA5784C6B06DFB27B2F9EB867378AEE10703AC84719FA8E87B8E1C01B9070A3CFCC479AC4989A6E616A6A1A1FFEF08725E0F68B5FFCA2843051AD4D930CB57A2492DCC6275627C76E605552C2AA7C3415E957AB24469953E96BD3B2114EB35997180A8D491A871D511CCB4E64727E5DA790C8DFABAE9AD8503B8827930FC5CC55252536335255305940514DE12ECB4571D55557E1577EE557F0F4A77F2B8E1F3F866EB7276A8C951A8C99E344FA9E2746F6281BCA829A2E9A180575BCED2B5FC01F7FEEE3585F98C6D376EFC3625CA01B7735D1D40FA5F4B05A0A5C21A6FCC8764174BA0113B3A81052C4C90A649E033770908E62B8998B46D0445E0BF0C9635FC1A19543B8F9D26BF1738F7B1A16933E9CE10899EF23F532385E803849911640548B301AF491982004121E6F7CE31B45153C78F0101EFDE847E3A1871E12D690E0B1898D9B41B51150F7C073033DC41DD75856E3C9A8D26693711A8D7A211CBA93C3B53DA25CE397A2DD29F52534BD23276D3E91503B89A7B302AA4AF11224FC43072681F7333FF333F8E99FFE69F9796D6D55D41A1EAFA9061A15C1E3EB2117D91079E82268D51022C2C113095E79FB87706BF72022B785C5A286304971D59E655C3E370367D4C1A037841B3565A1BAE26B3A9DE5706E432212D886F0504A4938BC4A806663162B8301EEDA7F0077A38F4ECDC1D2B1753CB63685177EDB53F18DBB2FC1147C14C78E232D52B8F502B913208E5304BEFAE3185A453F1B098A2F7FF96E890BBCEDB6DB448A2BA1C308F6B10D65DFC28EA175ECDE7BCF7D70F95C8684507242DD4B363357B589024EBDDE900E863692D616EF53C16472A34C942D550DEE88934297E7B6804E75D6E954BE6A43649BF0361C8EC421CB488757BDEAB7445BA0C3D64E741C8FD0A837D0ED754D8D0A07499EAAFF910EDBE906BA9D1EFEECEECFE2F7EFBA0353C1221A49883CAA8B73D6CF4628D22196DA353C7EEF029A6E88B55E868206396B43C8C6AA11DF9A9050ADEE7D9A313176B935D44D5EAB5E83E0F73C61263D46AF333A21A7A40AF0D0F1E3F8E2B14318782E663085A0A8E1B0BF8ECE7481FAFDFBF1BCCBAEC5739FFC747C835F83578CB016AF22CF1DD46A4D64692C2C24C302E99B2268EB0D2D0C73EBADB74AA4059BA8312E9069F9362ED052E27CB6AA84BAE79E7BCA4DEA743192B69AACF8A1CA11DA9C0B2F11B5E321E08E3701D4CE81C92E2A82677A7A5608064BED52DA24C948982AAA258C0EE0D85322DD78E38DA2F29178A062EE6434B8234028ED04451CC1731264CE10E1C847AD1D619807F8E091C3B8E58B77E08E2327B0D8A62D954AD75751B7986B4B9F969323C98698F17D5C3DBF803D8D2930DAD3C932F40BA0E73908F927C981AC90B8BF71178A4D63232404FB37B3C83EE06640EA0009835F1DB2842E7C0604C729BC20443ED3C083EB1DDC73EC080EF78688221F412E6FA83E33B8922ED26BD7717C7D158F1B1578C193BE05DF7DD9322E7333AC27213A7181D0AFA3E78F107A19A2511FB9EB20287C0CD202BBF6ECC6F1A387F1FBBFFFFB78D7BB6E9507A6AD691940DA59DCC028F52D6D6E01A5F3756626DCA9D3B16B24B99A55A5E0D31F6CCC9253884177D5D51309B5939022801818CBA806EE7E5445E8532201D46A3571F8F06101CF8FFFF88F4B202B7396A8F2D17EA25A1333F2DA256BE788DDD072324429971EFD3B0EBC700EAB073BF8E37B3F83D71EBD1B4E1262B9368D224FC4C14ADB884E562E8182110F349D98F437E8C04B46D83D33872B1616315F0B900D47023E3A7487818390C7162E24C6ED947615251AB3BD55FFE1FFA58405370E63A00F9D44B29587A9832F1F3C8CC36B2730E409614DFC634E46164E23316C809C3B2C10053E8E867DAC272BF89EC62EBCE2FAEFC453F7EC42D2DD8FFB82049704D3C8D7531C9D0A9127299AAEC7C00BA4E9085E1460667A061FFDE847F1BAD7BD0EB7DF7EBB30A41A4C4C87B753A6888C46039412AA5A76455FC7B8E0CAF6F08C94A84BC8DF38A557FF65C32A44B29B576168CA4442ED249C54EDA1CA41F5C3324FD4EBA9BE1D3B7614D75E7B2D7EFBB77F1BD75F7FBDA97190966092B0A11C08235F4B5B251401298A06D5A00C7EA3857FB8E36EFCEE3D9FC63DDD0E2E49E6E0441EF2C841960C2575823E2CC7D6AFC835128141ACF44D099B1C27A8B9C0DE85362E9B99C78C1322CD637409C8BC40E8F8927671FAF41F8D7D63E40DFF380C901DC508FC08792D441CFA38B4B68E071E5A456FA8C1BCB5460B69CE8CF9017C7F5C568C6B92C989791860BD48409AA091E4584FFB288A003F7AC5E578FEE3AFC1E39A8B583FF020BAED1ADAC3508AC30C1DA6E313CB099A8D86B0A08F78C423244AE3AFFFFAAF259991E33937372F9127ACAD412915C743DCF3957BE007BE49B6A59B40372075529B9F6DB261ADA63694E886B25999DA7CA5B83200132337C3D51309B5A388520338903F0412550FDA45EC98F7B297BD1437DE7493FC9E60B301B0B461EDB1C26EA54378A187D9D4476D14A1B3348BCF76F6E30FFFF5C3B875AD83D9621AF5681A2B5101AFDF418B99B6918714996C953EB3B5A57D9196CA1A8A2871A45A2AD5B5A448304ABBB8A43E8BCBE767B1ECF9982E7CF4F30C23EA71C60763151A6D8D64ED2C168084A892851F4B1C9C5FF868D45A383CEAE3FEC387F1D04A0F497D0A919FCB221D243922C783EBE5C872122B3656B040C228F4C2956C612788D01FA5A8D75C745DA033ECE0FA4684E73FFE89F8B1BD8F40D4EFE04831825F8BD06370AD5393C80E26CA8A53D83876979696F0F9CFDF815B5EF31A7CE0831FC4E2E2B27198A7489221BE72CF57E0B1888D51F9F485557B73F85ED2370ABAB19094187781D78432F9D652E81C0DC98377906609AEBEEAEA0929B18390127688558FA286A84E470E1FC653BFF5A9F8ADDFFD6D5CB2BC0BD96884FE60A4EC179DA904209D9834BA47311A4E88F53917ADE31DE44B7B315C4BF1FFDEF5EFF87FEEFC2C0E3B1E16FC161A51842186020ACF67B4812F213C2E37506A6095C821C2AC0821C48033A2CA95A070422067E19501BC7C884BA7E670C5F43466A6EA480743014C4C89E61462F3A45C2B2ED541476C9E242030130459803C0AD02F121C5CEF63FF8955744729822894A80B8918674D7E297BAC3A12E3296C50B7140BCF1DB1B77AA3219825D16A46186631D298F70FD1F374D378F6EE4BF1926F790A964217D9600D491221F42344CE087D8A3FCF8597C772FDA1242ECE8BBDF3EE5BDF8BDFF9BF7F17ABAB6B989D9D0155BEAF7CE52B1A2B593AA08C9A4B56CF342654AE218753ABD73427CC20CEF2EAD47D95B9309EF08262309FD8503B08264B4AD046E8F5FA26BDE225B8E1593F84D5CE3A9C3C4332A2133790EDAF6051C9C0937A7834F6F31A0338735C96373098A9E12307EFC5AFDFF1097CEED03A1AF37B85C16BE4293AC90AC2D087C7C8877E8AD009117B40E28BA505576A7D19E53E4F91F2B75E80C0F50510EA8B62F43AD5D318A364849976139734A7B034DD46C410A85121922D0FA440895C8E11419453438F614504A787235982FDC78FE3E85A17591089BAE99952668C96E762CC2470573FBC33DD39A614147206AD3A9A6A521018F100C41F9DBA22C972076B418EDEE804AE19FA78D113BE1DCFD97739E6B31E0E1719FAA32EE69AD3E832A2DE6F0119D5CF42E202A9024FCDCCA23F18889ACD2AB7CC2BBBF79E7BD52561A2535422AB0F4D7DB7FC5B4B333BF55A5D8BB8D8B0A30A09310EFA53D6823614E3C326B4F9CEA1CA26C8FDD00FFD207EF9977F190B0B8BE2786C346AE88FFAF06B7524A31CA14355C945820411255527467D6A0641CDC77DEB3DBCEACB5FC4C73E750F8ECE31D4C643DCCDD1A464E1020DB83366F0F24CA4079534C6D051D513465D7C4CE3B6967C3B06A58AEB85FFA03F524A0316707C0FC33C45EE66084719969B0D5C3E338B2B9AF318C523ACD2EEA905702899B214D3614398BDD56284BB3B6B38D4ED03830C198BB49051CB3330CC909B8A309C127350F605D42CBD32509B214BBA16C5C6CB785E51E663E9572E42AF86B8D787DBACE3F0B087A7EC6AE1A5573F1ADFB77C2DF25E07C79355D46A1192CC0713FDD362887A54130C0C87319A5353989E9EC2FBDFFF01FCC44FFCB8AAE0A6D065190A56D693304D0A6DA672BD5E3309CB1B17C9A95C78D4392780DA3930F14AB48D6EBAE9260991611D6DFEDB293231E049F7AE73078D220419D38318B59621CA3CB49AF338EA7878FB9DFF865BF67F1EEB875378D3754C3B1E3A4981264224C301DCC813F52DA36AC96AA8E23765862D17B0AAF2D55871F99D34662689E0881A2AC71835262B8080602060221FBD51078D1CB8726911FBE61650CB81118351B9A3471E7A858395411F470F1DC67AEC60D0A84B4A3DA1CC77A154497951C39891A091D8BA71846919545A1201B4F3E954CD33B1F1C84EAA80E5B90E52537F9C36FF54AD8D63AB07D0AE87B879DF63F1C22B1E85AB66E771F4C4FD486BA18457859E8F51AF8F7A10220C23747B3D78AE8B5DBBF6482630E78536D4E963EAC7C9F0CEA90065C1A47F5B26433DEF8FBC5AABCF4C3E3B3302A4C059038F4525A5A3459EC2774390E64AC3026994A39502F9EA3ABC761B49EEA1DE9CC27F1C3B8EDFF9F4BFE19F4E1C4114D4500B69B8D3AE4AC4E7C2B2575C04243234FBDAA87455EAF794AF6009854D39B8A6CEBDF496A50B4A8802474272D20058ED1CC19E7A1DFB2ED983E55A0BADD8C78174802F1D3F8C636B1DE485A7CF98A570C35A192DBFDDA234F274560494617563F48944B351F0598E01622C390DDC9F0C310C627C933F879F7AF475F881EB2E45315A47BA4A82A281B4C1FA803D4469269116A30CD8BB67AF4459743B5D713C6B945145D468F1A3CAF80A29C1980DFDA5E8842628563DE163868FE3C814E58984DA1920D9AB10443FFBB33F2BEA1E2B0EB9BE27C1A7A3DE104EDB07D218D3EB29EA5113A39905AC65C05F7DFE7FE196BBFE052B8D3A16BC45346232574C514899A380C2F5D11F0DE004BEA4A807CC5DDAA9F83BE30FF284C97091C50952FA8B1A3E9C78042F4DB1777A018D2CC0E1EE3ABAF493B1FB066D2871D0D03ED23023CB56EEE488AA1B8275C959FBCF4523F1B0BFEE622E0DB1D4CFF1B9FA7134E32E7E78CF3EBCE009DF8C6F9C99C7E8C80AFAEE0869C3833BA41EE9C00943CCCDCE9680226DAECFAD7E35214A045F269ECF4AFBC89012C6EFA60E3A76509097D71C0ED3250A799CE2EA7D131B6A2717002514EB3C302E8F1A40A7DB157DDECD1C0CDD5880B2EC4DE14811E25DFB0FE2EF3FF63F717F081C9E0FD1CA81564CF713550EEEB4F4B4FAC83C5FFC2764C3683E3969BA6380D224760D49E39FC00B9064B9D8228DA001C4190E3E701079EA6269790ECDA9085990A313779117196A415DD43466D26A3C9C8D8BDB5A92E299C6DE5E4FD7B991B4641EA9066623E4A983F92C84DB9EC51DC70F61D7D10E5EF2C427E1C5DFF1541C397237FC5DF3708E0D2515A49F8EB07B79591CBE52FC45BA6F9013349B935C5FA3EE4B0E8232A81691A351CF7A59C8455E92F24CBDE816856C5AFDC8474E54BE9D06D42FFCC22FE0452F7A914C1C7756BFA04DE022F553A1BB67EA0BF8A7070EE3396FF96F18D5E9539AC7E5F5368A568615B783C223C9104AEC5A421F0ED332B2021E5533A6F33117EA0C16C0191769D59831A9EB6257B954FB948D6B784D847980F543EBE89F584746E76F54479E7631DD8C509FADC36D3B027C465A9048289550362810C09781DB273FCE99A4ABADC3573946640297BE695A106609E20888A30061E2217E60847CD4C2F1F8201E39EDE243CF7F3E1AF161F4EB21DA2B21529FDD4280E5A57991509C17DFF34DCA892D6EA951E7928622766721D5709D28AA09994E6AB212F668FC56A65F94E1DAE93D9E006A27E104992C028A555B299D58DF6EE4E66826394EB06EF8C841237271EBE10E6E7CD3AD886AAC5294C0AFE5989D69A211052868C3304427607A3B0D75CBCAB1BCB6D52FB62F01B8FB4A5B1AA69E7B115DC0488A1879C8E0D318CD3C440D750C7A239C5859C770C0D8C01A3C2F1456910B9B6B865D38A6A79BA8CDFB48E8DC4D33095ED5463AA4C599B54B06539326D5DD4CFF5C019FE6FAE9BA8F50BDB3B1A65CD56409736833027216542B1914ECFA6893D1EB0EB1D64DD065DA7F1121CE0A5C33E7E0D3CFBE19C79A6B98EBB8E8D6009F499B8E83E5C55D46E5EB688F5DE31B3385632BC1C106547C9B5AADA6B962622F19C88D83D24DFF4335C6C89A4C00F53002AAD311BE2A16401558A9FB68C70E9AA18B773FB4869BDE7C2B82DA0C3C97793C03385E8E563DC4EC7C1B458DD248FD53A324D585CA9D3673243BF61C05942C4A86D215452AAA1DAB22F98E2FC52DF3A183DEDA0027565690258EC4E431DE538BEEEB9AC9F83FB296C908CD4684A9D936DA33D3888B01567B2BF002551B8BCC8353B0C95C80CC2BC0661D1E231A4E1B27684C18A6DFF347D9389869CE70A111023740DDAB692DF624457F2DC1DA7A1F715CC067DB1DA7815196E0BA25179F7CF67370BCBE8299AE8F7E441053AA8F0125124A543E5BB2C80CA72129E4F726B05C0155FD54F9F24DDC799CA6B866A2F2ED28A2AC8462EA3A2514B933461D34D31C2B351FED11D0085DDCF6D03A6EFCDB5BE1856D448C832B62242963DFA8B0E798996DA0351D21F75D0CD2589CA34EC0DD9F0ED592E6DBDEB38B04A011CE9A1589D432AFFB4DF85988F563039C38BEC6807309A665992D3AFEF947C26C1989E0B9703C474A86911D7459103377D19C69A0315B87572F903A2C1D93A318E5146A52D492EA96684B927A72FA6797D417531C854B95AE01FAD402C745336802A31CBDD52EBABD21BA436E3235F86E0487753150C320E997805A69AE61BAE361C0F02C01948BA585A5B1CA67FD501B58D2939D4B4E8D2A9FE521C71E5E13D0580D9B65B0628A7D13406D6F519EE5E853036A2CA1A662078DD0C37B0EAFE3C637BF0B7E34656A27B23793234553923845C4CA0A418199F96934A6EA52F8A437EA8AA4A0856CE778E3121887448F459856F151654C0B3C03720000200049444154B67EE4058B99B05C5803C920C7606D20214E8402EB9DDB1639921FE8D2D6A00DAE5D00790D4698275E0E2F256B090CF33EEAAD1033F36DF8350D5E2560338980D7C299DC03A413A2B2F4FA34EA882AEB37A8CB8CCFEBC0173E9F00F3A41E7ADCCDB07E621D716F8494E923612811221C983863944403C36C807DB3193E75D3F3B0D258C374D7C320A464A4E3F96440295167483BABCF9967B205269CB01649093E8D3CD287B206A26E0E34EEB42C739226D8F7C87D133FD40E426A23A03AF07257C2829A4982957A84A96181460D78F743EBB8E96F6F455867EA76061244B6161F721F1999B39C5C5B8299761D53ED3A6A5335AC67EBC8C4A8F2240E4E15310D58859B18E59FCBD61624D71412B27022E5FC420887FAB089D5B53E4EACF7900C6284F59AA4ED8F688F48E80F43D5B856120991628522AA9B5C3B04965961722CC3A746C391A893D3AD69B4E62224B53E02AA7BA956452298F85E2467A45E839309F942A48965EFA5F03375EA8EC01AE7195ACE34DC9187D5F575AC9E1820CFE98F8B24C856630395592CC07E570DA9FBF7E8C5009FBAF18771343A81B9BE8F4E48954F01B56C25D4FABA867F1932450A4668AC9ED9874C933C2A855118092951CA221968A5CC8D71A593C05D23CEB0EF9A09A076104F2529A12A5F474880D8A5CA0751F9A6E21CF5D0C16D8754E50BEB6DB1A12C452C4E76E9B7C4969EECED95211E8ED024BB365547BB5543E130602941EAC49A4D20B1794C7E5079A54578CCCF6E26A5B9D850ADEEB3726C817890A1776420DD32689C33D29D80B65D3308184638287054DD7324AD436BE96DF8486683AD6357405A8B862EDA73116666A6A4D3476FB88684298FD22551438F1855C1B111BBCC49913999E45A79458480C17C5981A4E362D81BA2D7674D0C46F0D74505D5B2CC04A5761A64B11955F96205D44D37E358ED38667B01BA61069FE91B1540AD77D6D5CE138A5C0374A5F8B404C76AD486565C062561C8305DADE669AB0698803F11FC15D77492E6B8C6F4E9D9C94575315FEB2495AFC811BB0E9AB18F954681A9381340BDFB501737FEED6DD28FC975E9731A774797043C2912C285C20F834C33A4C31833D30D34DB35D4DA2106791F4931D4BEB5DCEEEDAE2DB415AFC77CA84C53C6BD26B22EBB1A76D0EBB24794271284159334EE8F3431179272C3E30443DB624683ABCD6E6C24A3E9C621EA2081C760564DAB778A54524AA6A6DAA8CF44C8DC14BD64244E6AAE4D864D514051B51BE6B41173D4BC86D4C7C84629FA9D213A6BB42B53448CC667B9337119494AB186D69BF8754D02A96310C778F4928F4F3FE779381A194005197CA6E15700C59C296E22654F28AD972BA926D242D78E070115459128CD638E6F6323A9713A8752A0FBF64D24D44E6E000414A513A9F30E435C9021765D34E3C0008A65BD5CBCFB500F37BEE93684B5165C8F8DA56D96AC768CA725CF9D976B864281067AC30D301C7411344334DB4DD4DB7538618124635E120F4D242F9DC4038B57720DB0086690FBE8ADF7B176620DD9886590A9EEF8C2206AE6AD662094C1D39217341E95719AB84DAA1BF35EF61CD17AD8078BFE9D34475000FD4CF3BA1A533534671BD2A626A53D93327C8A7CB8AA962C164436B0968588FB39D6D67BE8AFF5E1FA218230149B924555F8AC1C078942A74453554B9CE0AE4B4025B86E9180BA194708A87E808E9F21104039585E581652625D543E5E434BEB59B4D89A2B1A2461C643553ED5ACF563F56C5B837A3C52F4E44F00B59370523F144B26972C1F552C01948795466A543E0FEF3ED8C58D6FFE47048D69D9CD4F8E3050556E1CB7670B37B2565D82843D9EA6EA68B69AA8B310BF9B629851354A6411724776933A524AA5D5550CBA6C8616C1635CA1AC09D609573AFE54147C1985BD415A9D7AACAAC7D24795C4F45945524C32CB069200C834F5B9B910F5868794F5F78A04944B85CF629D5388D6231C3D760CFDE1004EE24B24434E0052D219E2624CAC58ED8B4B9D722E01F250F2A01EB32BC4BF3DFBB938565BC1F4BA8361C31DB37CF38B25A04ED51FAA1AD6677F560975D26723B8ECD79C987DD75C3321257610539B01C5DCA4C423A0A8F265984A52D4031FEF3ED0C18D7FF72E04B5365C8950D88AA3968E4E176110212D628CE2583281A7DA2D3466232064B9FE0239ED8F3845D60356567B12FDCD022AF5B0A9E5C828D1C44F79324D7C3E4361A5ACEBB0B4B42BFD6CA5108BEF61900E119068684468B61A68B49BC2028EB214BD6E82C10AD53B967B2924395348B3CC8658693CDF465554858696CC63FA3E1313333C6639C4EDCF7E0E8ED55730B5EE625823CBA72ADF521550265262F3FB6E2EDA22801AAB0FE362135666198E42E68FFAE9351395EF7CD6D049E79E195029A61392122E6E3DD8C5B3DFFC2E44B5295D105B0094AA26A4A4B5D50D4D693AE759B4845ADCE2D2AC2C56A65B1C3BB4A219B38C08109F8B49DDA07A27FD006CF99E9D05151B60B3404D4EC68E511E74D032852370E0339E911DE8231F7B969704689DA327D0E9F631741C51C3248CC9F3A491B6CB5267ACFB6E1A6CDBC1DE68DF6D04D4F5BB427CF2D93F8C63B51398EEB8E84B171D75EC2ECDAB1F8A2A5F197A6413DA4B7DCE8C87F9CB09A3A0906C43138B6487CB26940951A16D716407B866C2F2FD6F00942712EA4423C54C92A11E79B8F50055BEFF81A83E8D02CC271A4BA853EB13AAC5D3D149435E766C3169189303A9D910D26EA2EF87B6511E20F11DF492AED0F18CB2908E83DCD533824AFBECEA7D2D0D7EF6A1B0C57E4E294FB97F4B163025A99602A20A48BF153B17323371CA6F2300D9BBAE14A069D51BC8EA2E56BC18A334314997B934860B49784A37459655A35D37266EAC3573B2CA17E1F61B7F18C76B27D0362A9F444A380E163748282571B442540555640E4DB908918851188AFB8DF5006C354C4DF23211BB26014D3CD1A2F25D2BE4C4E4B3332370920D6522251845BE5A079A31301546B8F5C1153CE7ADEF02A2FA86E052895D338F42DF9186E1104812EE2C910601593DF64A4A33D9E56B610D41EC223EDE4711B333600D7EA381AC51200E32F4066C23938BAAC848081AE20CBCA1C3551BF08D8BCD9D6914241E4F8ED51875D202EA0B32D7A494715C24296B02FA08DD0C71DC47EA6468D59A68A10D0C72A4A304FDF51EBCCC413BACC39BF63098CAA40F14BD0689A7AA1E43A224E282528B9B88C994F00D63A26A20C1469631C0304E71DD5280DB6FFA611C8B56303F54524259BEB184627D09FACEA4DA919039A609A17145491336E37C768230105A4F01A5E566B5C884C99317346A9A2F93DFAEDD778DE4454D3E3B3302279312907257634015988A42DCBA7F1537BDF55D70682F08056CC8A34ABEB5462698740829E842F28F3D68638459282D6B4227C2A83B44D21B49E029D53F2103B8CBD61DD4A6D840C0453F4DB01EF7259489C9750C18158ADC24EF9DAC4E9DCA123F1950260CC3F0605A2783FE26D6C32B9214EDA081C86FA83F6E3DC1A81F4BC1C9665447CD0F3158EFC1F101772644441F9B976350F4D02F86C8A581754D6A4D08F1C1C876D2EDF453196ADB2529E1922535805A0E70FB8DEA879AEB87E85668736B43ADAEAD49555B194F6A8C961537318B25C9C2B90883A0900889B2DA910E8C86A6DB6652FC9A3525123CEADA6B256F67F2D99911D87140196A9712495AB93262DB0BD0F65B70060E46AB23A403F525895DC09D3CC9A57119034B1387B52A9AF0A7EA1821412F1B4A8301EEC2BE51A1AA2CD6195B979E42424993363B7452778BEB3E9380D576D844943750747374D7FAC8E2185EE84B0116E94125A91FCCFAA50B6704444034E523687A18B9313A4CD330522F60E1D09C640BD3F1956E17C942FFDB360145D693D9CF4A9B5B6349F9860D0E270A9E200C4D8B002BBFF46D75D08CA66EE29568D03EEA518F9A006A67B02457D90C284DDF00DA31B0522F54E58B2223A1FE874A281AB486BE2E553E495F3312C4A854A492032F44504448BA43744F0C10A62E6A7E4D6868D94759A52825554C3E823E29A09FC640E8A135DF82173918E523F4F358FBCBAAD3A5922555252936B6B891126992A4AA655734E055D5520DD61157B2843AB112AC330A91AEC7187546888A084EC8FA104AD5935C618402B7720FF4410143A78391C71A852E1A33118A46845E9660341A6AE96776E7602F5FE92745A5F51480B22A5FED04E6076145E51BB37C945081103525C360B230C6C110FC4E9E532225B6F8A1649A006A8B83B5C5C3AA80623ABC0D2815E58D91E22E30ED3978CF832B78EEDBDE836118A2C65262A6B0090148562B71B4925120E594C9961568E611FC61886197B5FDFA928220B5BB59E8D201060C5A75330951F3720F5EC645E749346B9E7799EA8B7623423117E2583D45DED33633999BA02624BA8617597849A4B844E28DB7635A111E555116536184108164C294580885365DDB09E1AD65E8ACB19976208B5FCAAE30725D1A5D2B99C2EE216400194EC4280D91B0B4F7136DC7E44DA5081B390A2F40AFC8E48FE3451217E890C871189AC5F378591FA324C3BE650F5FB8E97938E01FC5CC2044225D6B781CB0B8A82C1F2325AC1FEA6CD33A01D4D946E861FE7E8384928C5DDA3E8C44D0AA44DC55A723FAA156F1BCB7BE1B71382546334B2DB3CE1E435F860C6465D2A1CB809A00114278998B7C3D1330D126D6405A0D99F14D681B8370191327363C9730032D187121F557280BE8E781D820F57688ACE120CE5894BF8B946E2C2F82CBA824B1DB68879BEA43A64974D51D437532F552893564B2530375B4DD863481EB11483D76E0A823A5046323016156D42694A05BE28B928EEF4E9ADDB444254D2ECFCDFA810E4B9879081911D2F4D17763F4286DF976A407E438DA841CD810FD618C6B77F9F8C2739E87838D154C2721464E6A1AC039521E7B02A88719003B7D790B28861E490B4F59C2E2FD93C5CF8550F7805B0FAEE2A637FD7738F559B028B057A4F09D5C2AB452D30BE149392C4AA9B49322E966F024044FDBBB6E8C64B0B7D0A058319FC5682F3549D36E94A1412E5C861FD1CF3317C16B8740E862055D69E0C6443E8242CD212609F27A9490A605A7A87A4C332498D864DA91DA13CDBC867C2541776D2012493A5EF029A41478A512BFEE2A650408259334CC96C60A5A4E9900A30A494948B597A0F09B3E82962F2AEDB048E40FC7C64304C74F910C49B201D7EE09F099EF7F160EB65631350C3074D9795E651AEB9C4F00B5D32BFE61BEDE66407131324E8D3D93A84235C308619EE0B6633D3CFB2FFF014EABA5AA8B31E8C986B5DC10F52C423A84946D4E0629FCC4831369066B851454B89A5033910262D610BAAC0368E8601321AE347186D00B85054C923E8A86877633423374B0E2A5E8D1AAC9C89AA9C52DA548942C569F4D46254FCB4DD75C0F51EEC34D7C49FC8BBB31A2A02E4988626F999840F17DB99A0A2F25C12C4926A18AB926151A128DE790E266E14BD2EAE2BE760A8C18311F79684FB10B628E4E30449AA442B33B918B22659C60817D7B6AF88FEF7F0E0E4F75303F88D0CD7A083CDD2058747402A88719003B7DF953014A776B0D93618D8805BF897F38F0106E7EFB6D70BC16E0A59205DBE44E8F10FEC885DFC9D01FA6E8B1835F106AB7084A8B8C45336D147A8926433C195BC746B69EE42156E9C5DA7BCC6FA284C16880A10BCC450D84ED002BCD91B071235693F5553DA31A96B1A22BA31CD81CC0F751774334FA018A6E21F1778C1D679933F1C050E0F8243C52238D4CBE56851E538E6CEC2A5091AA4CB4326FCC2C26F83C4D361407558A80CD07DA0E9A33813086C7DD0CFDFE71B8ACCD517878EC7C880FDDF82CA4E931CCD597D01BF5E581286109A609A0767AC53FCCD7B3E91B2F79C94B84F1932E0EB95676A57AC370A0DD8BCB78E7E7BE8417BCF5BF23AF2F8A0A852010D5295E1F22EBB28A0FD52C360260F4C3B826BD4833A102B612FBB7F96555D7B2691054B158968C4980A4A4E9E3CAEB2E5AD34DA4418E13F19A04B686515D7C4A4E92A119B6C4D62AFA09D235764874852667C30269F026F1779A4B252D35A5D9D956AB9E2990F4C39F59875DC3AD287DE5BF39338487C256D6DA35A0568313A6E86729D6FA2770FD9C8BDB7FFA67B1961D879F441244CCF79C00EA615EF80FD7E52DA0347D43490902CA65421B0354591F22C9F0F124C0F7FEE17F0366E6B050AFA19104888F74908E728C588ACBE382F4A4B0254385243542DA139E47D5239322A20DCF487C1428924CEC3516AF2467C7227479E8A168FB5228A6EF26186424480234D93E6694235F8BE1F675D72F8C7A97524D7429BD683F696854B535E7D6C67B13A06C7E124129CE5DEDD411B16D569261E831D0B8803F1DA01FD4D139F610FEEB375D8A7FF8AE6760CD1B48BB9B24D74ABBFCB023C7D924D4E6C8C69359BEB202D2E61D4DAB1E4D68F3AD4DF5568FB2852E99BEC1204CF167D0E0F63DA429BB563059101814116E7FA88B57BDF383B8E39E63A84711DCA081A297C20B6BE8FBB4385284C200BAB25069BC5362D88AC05B7D267B9C3A2DC93672E71FC175B43C57BD003A640B8B1C330930F41D8C58F1BF1EA139457593AD69805177200B394A3D840360E433B53CD7AEEF8C1564E62D8B74D2F631B182A76D2F7ADA87AF90380490483E880DC5E7CE6A1EA6E31A8AC445528B512F5CAC748F61B9E1E2579FF75D78C2A397F024771A27D235B80851B8A974E260E02D8B5CB2B6B904C79A222DA70DB82F8363C3A0D094E8CD190163EC59F795FAA1269112DB5D98673ADE2618BEF295AF94AEE5CC0CE53873C7D62ABE9AD4C6101AFA4F12BF89DF7AFB3FE34FFEF92EA4B53978CD0097ACF670AC95A011336A3B1329C51E485EB329C9786C0AB6B5748F939FD4B633623116AA62AE306CAEB08BF409D1FE61BABAEF1598868B88BFCB1841EE6010FA389127C80A1735D65B2F987745758F01F38C7BD26673394B7F4926B02F3617A9FCEDA9A86685CA3A66CDBF0C53F5966447B046B95774904F35B13A6CC239760CCFBC6E377EE7FF7C06AE5F2E3062AF6209BF3501C42CDCD968481BD60D3694E7DB3A2C1515D3081D0315E149C220B45DA33634A816DC8B7F42236BF933C5F4B59348899DC4535953E2E52F7F79D93645AB08692D040195990CCD522FB030B3884FDD7514BFF2F71FC1873FFD15E0CA79EC4D7C8C0AB6D06C603566BDBEBA76C1A094D12279DBFED86069DEDF65192551D98098AA9514FFC944BD64BED62CA311564E60B4FF10D2CE3AD06CA0BDF712607601EB1EB0CAB63AA9F6E4656483941B1B25EAC0A5F6E869DD70A6606C4FA21AB54F3A9624F0EA0CA7F2305C198A9FABEEF938DCF431DC7F0CD7CF39F8999BBF15CF7FCA63E0AFDE87F534C2D063347B6CD44D668278D201857DA14A40ADAE09C9A3A69A8D341F37742F6BB570DB0A8240702D0536A4A0BB9E27FEE932E557AB4DB030C7A3AE9D841E6D7B659EE1044AA897BDEC6592B5CB9F494248BAB50407182048B113F6667231F47C04A32EE6030F2B6E0BEFBCFD21FCC23BDF87FE09C09B9F971A7E593A44443B62D413EA9D355ACF859290D20834D0D97B370B04CCB1A3855AF2780476679E891AF09204BD430F6278E8101AC81136027446230CF200ADF925B4969710B71B588B5911A9C088C16E9E8B801112AC72E42460CD18296AC9E008D3A462EBE36CE9494A620FFDD481DF6C8B27777062151876F033CF7C1AFEAF1F780C961A47D0ED0638EE2F62CACDE0255D242C7D2DE1AC9A7121E92BAE2BDDE1C5865A59831F6A540607525D0FA6AAB21028A6E91A0145092521F9528A99F55AF46F024BBAB431AF44764A76279F04C76E7D92B77624558BEFFEEEEFC69FFFF99F8BAAC7DD51B26453D64DD0E80631B0A96FD1AEF232F4923E5AB5169CAC867AE4607828C18FBEEF7FE183FF7A27123742ADD58093F6D18A5CC4096733300BC66A7EC6592A8F585652D1632A8F2D35F25CAA9001EA59037DF491BAA914929C725DB48619F29575AC1D3B8CE1A08746C8E6D9DA302D20855EB8E8242CFAE263716609E1DE5DE80701D69221BA8EA37186A92FBEA5C41D0A5F47768EA9236A828C1B09948D056C585359885F6BA0484D8D3C60151724A4ECE321D295FDB8F67157E0F5DFFD6D78DA358B38E0E568F686E883C1BE4018D4246AC36E3736FA822A5FBD5EC7FEFDFBF1A4273D09478E1E41E0876529669BB829744FB555107F0ED80FD18C64D92F548B248903511CD5A6EC531A27B8F6D18F9E04C76E0D2B5B3A8A0B85A07AE2139F08DA514F7EF2934552B1AF13FF445124AAB6A85D9E27D9A46CD539720AF48B111A5E84C0CB1136A7F0B7FFF30EFCE507BE80CF7CE900A6765D82B5511F4DBF40C198372E6C86F97147E58ECCD2C25CFCE208920023E39CD5B633B695114904D96CE9D6F113A19F5B898BA9CE10C9894318AC1C45983988F210891F4AD93136B2E6F51B858780394B1861444ABC3587687A06C5C20C561B01BADD44C049658ACD0D0AA3EA92554C28A532AD022B795EC2565282A9A460036C6EF2092B34A5EC3795206D904209B07AE8202E9F6DE0A7FFCB75F8A9673E1E332C5D3D28D019C560F0C854AD211A99644DD0359126A5ED3A3D3D2DE9226F7FFBDBF1EA57BF5A7EFF9F5FFA92365C93D42EDB9ED4F4B4114FB6955C245B7C096C323B9856C5D4F6A0636FB4D61E23F598E2D113406D09285B3D8880E2A4B14B5EBBDDC60D37DC20EA1F7578EE980457C8222AECFC1E6A578D643090A4402EB0AEF488854453B4679670A493E10F6FFD04FEECC377A0E34D6176BA867CD445EAF8A0C5D260F1D4AC8B78C03CA150E2EF1864AA0558A8E2E52221723608802F691DB114E077B0081F8D610749670D2B478E221BAE238C982BE58BBF4792424C25D998D47FC282956CFDC9B4F414FD848D067C4CCFCEA335B70BBD4613ABD2910352F588EB8C81B7391943D3565DB26E1D4D71D70CE4042E8311B3004EC69E236D24E97124D319BAC77C34E202DFF9C45DF8F51F7C2A9E78F92CD6568E48AB9DA8602747093B97B83F5BE486D76DB5DB180E07989D9DC33FFFF33FE3965B5E83CF7DEE3FD06AB5641AEFBAF34E2937AD26D4380ECA360F280592A46FB0C66E696B593E4F7FA1B92E96C2D0CAB113406D152A5B3B4E0115A2D96C49C335AAD5975DF608BCE215AFC0777CC77708D88E1E3D2A004BE2041977499785577C2104423742BF3742587391E47DCC4540DA58C6FBEF5CC19FBEED7DF8D0E71F42303D85C5998600A09F25C8FC1A9A0464A6055A52A67CE789F49D1D0D07A236515A305D824988045CABE62238BC8AECC043E8774F20F53384615DCA74D9D4055BD7D12A8E928F25414D0CC865143855BB447C528DDA34DC5DBB50EC9E45ECD5D0E991DE4FA47458416692D289956473F57FD9BC2BC70BF599E9AC0D586F9D0C680DC78EF9D8379FE2A53FF48DB8E9DB1F8BB07F04ABFD5534DBBBE090321F0EC506A4439912900E65197B3F94CD89DAC06FFEE66FE23DEF798F24D0CECFCD89E6C0F48F3B09285F01659B02E8BB56DB0768148A026AB3776AD35AB05FF3A613406D0D285B3D4A62D85C1F515813237865F5B8A8DAC78F9FC00FFCC00F483336768DFCFFDBBBF618B9AAF3FE9B997BEFDC3B8F7D785FB6B18383E210C02E860895FE81690085586DA380A0C14011C510290F1A90AA483136A63634362F2798004E31D40AC2089C4484B61675086D4442092125046442E59A871FBBEBF57A76E73D73E74EF5FBCE3977EE2E361EC79B508919C95AEFCE9DC73DE77CE7FB9DEFFB7DBF6F646444E01F0BE7B8E058BD41A8E22463C249ABF9717439361AB509149B16E6647C04DE5CACDFF92E1EFBD1BFE07F470FC31B3A1981E509D268362AA0F8013D0F7BF84E4EE6914AA545938FA5E595441D69C7418AA0A55440736C1895C3E34095671F39B200019B53D39B28D6BBEA99CBF0BA3A89C9518164D786F27681C5B211EADE25A4C175CDB290EC7291ECEB4773D63CE41A75549858650F612A2191EF5EABCAE6C1200155B748CAF2FD1812C92CE05A189F1C43A6F80EAEBD601956FEF552F4DBEFA1DE7451AA5490B4183AE7B762D778E6E6687C7121F5D24053290F8EE362C7BF3D8B35B7DD8691E161C93B11113017C5B969342AD8B5EB4D257419A9880AA37DD3265A7BA88814F3075817CB944F3FBD93876AD758DAB98E93C61D928C69655C54F2518A3EB9DC2169A24CA3BAEEBAEB2402C8DA1C3E38C1FC47122D99150C60483083DC3B028B7A15A95805C96C16AF8E00DFFAD737F0E473AFC1E9EF86ED57E0A5320862BEEA2BCB739AAF0C9B8B9511ACACD344B656437CEC102AB9832897738853EDB5C9C4A90D9FDF932104C2434D6D1267158973E8C6E81A11A94008EBB5448F3356D510AF8284E7C2E99E8F5A7F1FAA290FD5661C956A80244BD783B26860940FD781641C48DAB0260BF0BB5D4CBC3782733E7906BE71F5F9F8CB4F95112B1451F33D043C17C56DA1E1B3CC8515CB52114FD1CC8642043D3D59ECDEBD47CE493B76EC1043220AA0A129067B429F638F625051E38A06726C3943B56C4F32D5C625693517454EA6E2A88FD34FEB0425DA319476AF31908F46C55D9846434321A6CF66D32895CA92F03DF3CC33B16EDD3A9C7DF6D91209E43F1A91E953CB4520BC38CB454388ACCA5B38CD3ABA9240DCEBC253BFD8856F3DFE02FE275703126564337D68C42C54FCAA947E34EB4D3816E1640CA97219F5F7F6C23F94438CA172EA35580E1A0C0430E7A36F50209D68861F3B302F50886733D1A550455964D79325DEA8C76165D2704F1A426DA01F638C6A561A4805714CC658EE5EC72CB86814028C5835CC6AD858F7D973F137CB4E41B62B8E4394166B3848F0FEFD8618AB63C761D3DC6B55398FD2F3781E0312C0962D5BB069D32639A39E7CF2C9F2930F6E2E26754107E2FBDAA02C52C1A676A33173AC209E62DBC7AC08E493141993760C244ACC5C3762230D9F16EEFB38ADE3A1DAB595B6AEA341D13B71A285EBC68DAB5E473A9D42A9540C3D0F83167CEEAAABAE9226D7030303E2AD8C019A902FAB79034227BA2A8BB53F0E927E15B1FA04DCFEF93854AEE1CEED2FE0BE5F8FC31F3D88A1FE6E94C81362A331B21D0873F68DA0B27F042E43CA2C43E7992AA070BFD2A9B0589128E15F2A21999CCCB16F573CB00E0CF0EA20F0A56B08BD41C2579D0D93B0617777A3B16008A56412E47E374A55F4D8BDD85F2E21703C7C7E41376E5FBE181F5B3088746E12659E91E21E925602956A01B64B564620A5F0413306279591B54B2FF4F39FFF02EBD6DD8ED75F7F1D838383A1682B8D8DE36EE6803FF9BB9CA1DE5467285DF5D292118B189294C0307E62592CA2D6C7C8687B458906EAE4951E2B65501D0F75ECA5D3FE152A91680BB4A3C7E1247272B91848DF917D4F17D311DE150A799C74D23CAC5AB50A175F7CB1847879780ED9156C6E26D88A392C5BB874E4C93C0261BF000013AA4944415431CAC6F2082799443699C62BBBF663F58F5FC48ED7F621397B2EE6DA556446F7617278946811763D40E0DAA2259188276111EAD5ABD25D90FC194742C5AA8F1335F5DA6A322F89E2685123E12D398BBC571FC9781255B6E969FA48916430300BCEBC8FE39D58976C1EA7BA05ACB9E45C7CE1FC45B02B75346C17FB0AA3C85A2E52F4B4014BDE2DD8CD3A027A6C5614DB49A45D475EBF69D37D78ECB1C7C573D3B8A26243619E2B24042BB4D068D4555082A154E9EBA4D30AC666E47A2D9546CF9B48584DD5E24435E3950A4E09B56B413F4D905714AD4ED8BC7D5369EF4AE3A1441B4F4445147EE743B4134C5364FD763C5F118A8C8C0CE3924B2EC5EDB7AF9570EFD8D8283CCF9C0118817350C8E7E17ADE946ADD26DB6E36EBC8A6D218775D7CFF3FDEC2A67F7E12EFED1AC79C4C067E750CF5862570B350E299A40E3795062893CC85231A0FAA90D074396FCB98427C14491DF33DC8E7735C54AA75C4EA55245349544A05A4AD2EC45C07C3B55164FB8670F95F7D165FFDE29FE39414458B7CE40A07D5192E66CB62A7CC34352A9467614D982DE3C1C7B3CF3E8B0D1BEEC49E3D6F63CE9CB902A7795E3209F49091A2C3E2E6776E6ECAA0DE6CB504550AB0EA9014B6D4527C4B89765A5642153FCA20298C289E499F28A3014026183B51BEF60CA5DDAB8E665006C2BDBF29000DAD81743A8DBD7BF7A2A7A7075FFFFADFE1FAEB57209F9FD02D3963A856AB9247E1CFE90FD64DB1D71365ED7B7BB2D8F3BBFDD8F0E873D8FCC31790EAEE455F770AC56201AE65C34B7B389C1B87E72A48A404FD35C7B0DD9BFC80EB9A01EBA16CA9EF6288DC65933437815CA582DC8103387FC9C95873F315F8CCB90BD02CD4902B5A68B26F54A302D7A5B6845AD8DCEC5590A626E456321DDE79E71D3977EEDCB953D2128C629A5211698E2D245EC59B34617915185294AF9641ED52895DC9C71A29B1703FD1CAB1E2AA95414563EA61AB8E56FE2AD41AE061AF635033B08A226F713483E2DFCD441B38A276C5A62C985C2E171ACCE1C3E358B26409D6AE5D8333CF5C8262B124AFA531196F673E926BA541E677C246AC348A188A48F77D02BEEDE0E9E75FC6868D4FE1D7AFBE8E051FFF24FC660CF94219B37A7B50AA1425B9C93305031433F110F2B550E913A8F981C8A3F5245DBCB56717FAE6CEC1DF5F7705AEBEF43398D71DC3C4F89BF09B1EE256AF84BE4579427A40A90827173F8D8841051AC7238F3C827BEEB947C68BDEC8753D490D9009C1800EC787D7D3008FEDA176491572E899F4CD1BDEABEE71A3B8AFEA0C1586F58E4EF3D76CF38E41CDC4526ABD47D4A0B8C37261D0083EC8A00CB3823FD5219A8C8A49298B58B16205BEF295AF09EB82E786E8EECB4F655F5C8BDC4D86AEBD0CF27E1109DF412A7918D974370E4E76E1E1AD4F61F3D6ED982C07E81F5A806A59B506E56BA740D030F16F18812DEE9D814472A7E1CA935F5A877B81B3A461C4E0DA716160E4C6F7E32F969D87D537DF844F9D9C46DDDF8FC93C43F5196432ECA638AACA407C46456DB8AE83F1F14352BB4498FBF2CB2F8B577AF1C51771CA29A7682F43186D4B7A82B54DF4EEA644A65D0FD5B68C98094AB4B34CF8253A06D5CE48B57F8D3128C211E3818C473A524B16F39C5908860A432846633C70E0004E3D75A164FD2FB8E002D98D19B4903C15D5629B148F0CD0489267172056A9C3733328935F140BE0A5E3487829FCE7ABEFE28EEF6CC34F7EF632064E9A27CD05E80D9AD29797A5F6BA549FC45BC945718356755724BB2AD3D14C6C56258612107CD6978432A3E171CB456035303E7C080B66A7B0F2A62B71F9C5E7C16D1624A95B2C0748B341402C40A55687E528A9B17A9DF42B5BA05E6F6F9F94BE6CDCB811DBB76F9771983B77AE304F18EC61F2967FABD5AAE2AD4C30623A9C36704FCD49423C7C1894300586C798DA30CAD7CE12E818543BA3747CD7440D6ABA3799FEFB91DE595481F479803F1DC7C6A14363723EB8E8A28BB061C386B0258B54DE3602816E9249E2FFC928674F593F80E33A28D754A942A6A70F13350B3F78F2DF71E7FDDBB0B76421D3D50BDBF1E1971A483931C41BACB76235115565C934B755C5AC08EA9374CBE2C6A6F404968603FC2C36D62633A3E2C34BBA28141B8857C670CDB273B1F21B37A27F16509A98845F9E44C2756133AFC47C90A827314246E81587E32855D8EEEE1E3CF5D493B8EBAEBB255F4783A1A732B4399EB178E633B266D3CF4B5129E928B43639C18E411DDF7AFED0AF8E1A94817906D37F9041F139739D49EE727170576548989ECAECC0AB57AFC6F2E5CB05FE31B725A5E1012B80D93A46C1C65ABD0C3BA108B735963E90CFD63F287AE6EF8C16B07AE356FC60C7CF90887BE81F9C877A390FC70EE0D7E342CDA0D7909072A03886094BEBE6B1A33A397ABAF134AB68DDD4002A9500E307F7E04F162FC4FA55D7E3C2B3985C2DA358CD239DB451AFD590EDEAC5D8D838BC94271E83D4233EC878E8EFEBC7EEDD6F63EDDA7FC04F7FFA3C66CDEA15C3E186C2FB16E8CCBA2D6ABC470A2CA34189E993DF31A80FDD1C4EFC0B4CF750D128533B1E4A413E558C2849E11A2371247C2605EE71210E0F0FE3BCA54BB1F29BDFC492B3164B2E8B7C3687410642C0066B9102B8B6877285CDD89AB092094C164B88D92E322EF5D57BB1FD27AFE18E6F6FC3AEDF1DC0C0FC01E41B6524621921D93214EF0AD3BC815A9D9ECB819D484A293EFB24C659914B1E9F03E447F370FD1856DFFC45ACB8F27CC4BD0A460F1591B6D348260234A4A52ECF7AACC76241A26A584DB253571719E0317CEF7B0FE3DB1BEF938D21935670598C85C11CCA0048A77A5FA49E0955CDE6C2713ADAB846215FC7439DF8DAFE50DEC11814A35066F73406D2AE414577609E95785660C294410BAAD19274BB6FDF5E61635C76D9E558B5EA16785E12FBF7EF97A817D3244C10DB8E2DB420A59BCE9DDD470315246D17F9F11C86667F0C13BE833577FE13B6FDE8BF900F12C8F6F752231931D655356BC29D632F25C74E2097AFC34A649048D45171EA28157CD40F1671D185A7E1DE357F8B85B367A17C7812093B40CD6AA0CA8EF77617EA351260552D18D9EF648DF0C160C22F7FF92BD0E3BEF5D65BF2DDCD46429029DDED752BD0E9895A33B9512F74A4093746C5B9E0983092A8D8E6ED45363B67A80FC58C5A1F3A5306154D529A04B1395F996007BD15237FB367CFC62DB7ACC4B2659F9324E7D8D84111C667A450450E09B9B8E33711B76AE2F5B2E921E4F2C3F0524D7465E6E2B95FBD8B75776DC12BBF7D159ED7876C6A3E9AF1328AFE419681A3526E22E5F48AD7ABE60F225F1EC149030358F9B51B70F9A59F46509B40AD9C4733484A8302862AEC98A5FA033078A2FB3131ACCEB2127ADBFBEFBF1FDFFDEE03E8E9518C70425D1326E73DF28C7FA4BC5DBB531C45077C0D43EAA447750CAADD11FC7F70DD4C18146FC384DACD798A6708C340E7F3DCB9798DDA759B92B8A541DD76DB1ACC9E3D4742CFFC3BE5C7B8A8EDB827F0A95A9D403ADD8D529930AA8A386B95E022D39745C96FE0FBDB9FC55D1B9FC4482E81AEA141C02E8BDA90C54A624A8C156B28E586B1E2868BF1D52F7F1E0B7B065099AC20F02B88C51DF82CEB677FAA664C180FB55A1971491EABE475D2B1F0CC33CF487065F7EEDD181C1C1248CBE7E99D7866E426600233C66345830DED4EB33128335653A8471D0FD5EE307EB8D79D88414D87355C4C26FB6F169C818DE64CD04A66C6303939214676CB2DAB71CD3557CB40B098514A4862B644EA58B2C1A6D0B5660D5E3C059FE1F5440571CB4750B5D03BD08FBDC387B172FD7D787AE7ABB0522721E6A6D18CD55039B80F672D1CC49DAB6EC29F9DF309148B1368F05CE77AA857AB086249C458A744F9E4262B8AEBA8342A48BB69A4D31EF6BCFD2EFEF18EDBF1CC8F9F9648250D8C8187B04C2472763C1AC43BDED93567521A298DB5556038C3904F5075270F75BCF373CCEB4FC4A00C943330C71CCCA72F2EB348A21090A2A58984625433D979C61967E09E7BEEC5E9A79F2A410B7A329EB98AA5A254CE9260CB08A0913723E4A231964B25385E1AD9B4872776BE86BBBEB305BBDE7C17438343B8E68ACFE1A62F7F01191B38B86F2F0606FA91CB17A4AF2E830695725905461A0C1E9085D1405F6F9FC0BF071E78100F3DF820F2F902E6CC9D239FCBEF64A09EB9D7E963F0FB78A6E824991C14FF16B2CD7FBF335494B5D72A858F56B974F250C7B48FE3BEE0440DEA783FD0189B8188DC89B9584965E28EFCA52FDD20DC40E673B880E9E98CC19A64A7596C84948469EC27952F953077702EDE1D29E1F16D3FC49F7EFA1C5C78DEA918CF1F9630FCACEE6E1C3E34896492C117B5581954A03193C4CAC008830FAFBCF2DF58BB76AD9457F03BD02B29E8A52846D1C0CD899C978E366EC7655046A32FF266ADA0C4119E144A92A81E29BA48C7A08E77F91EFBFA0FC3A008FFCC99838B9530D09CC3DE7E7B0F162D3A4322694B972E9585CCE23B2E66322EB8C88D77E07BD4D822A659C1ACDE34F2B922BC64065EA64B58E9138786117302342D1DA44866C40BF1A06F2A6269D024F88E8C8CE2A1873663EBD6ADAA5B87A7724F86246CCE4934C42891F5443DD2F4193AB641BDDFD944FF12B31294116BB506992AD91BBD54699B77A847C73692E3B9E2C806A592A212023673733C6FFA01D71AD8673C9539C4D3B0F8A0CE422E378E42A188CB2EBB4CCAEF59D14A0FC6454E8F6216B7A2F058F0D2349871A5519EF4E0D77C58415CBAB557EB25A4BC341A4D6A59D4D1A89791E9EA12952726A0693C4F3CF1041E7E780B7EF39BDF62CE9CD902EBF8FD4C148F9F436FC96B0DE4E3F306CACED0D0846F6308C553201F09C111DD5169831AEA971BC7438126619BAB872A7D67AB7B5DB16B1A23EBA2AB8E879AE9A953EC7106013299AC8657FC0CD512946A44528334457E7266BF83615C1862AE626FAB7A2C0628D881E2C61B6FC4B5D75E2B8B5A95DA2BF8C5FFB39933375AD562900B8B11375B04514A9502DC24CB3E14644B26C901A4E25043E01E85246FBDF5563CFFFCF352A43734345B6A99A49D8F7E44A15E34D012AED9E32AC66A6FECA21EB05A2D493D14ABAA45E7486A0555A986349433EA608CF54BC56E22DE24A493E03F5562B5061FDB3C8A40949E4F467B5802DDF150ED4D4ABB572983A2024F5A75B9601366A1CA283DF93FC623EAB5B8106828CCEFA81DDA176FB278F162DC7BEFBD58B870A1404043308D063C548F270BF51A4535C94C575EC4B6791E2B4F29AF78F4D14771F7DD77CBF364C6B36A99FA19C63B99FB8E265A4DC4D2246FFF5063633C14EFB15EAF4A1E8ADD50A4F2DFF0E5796F5A9759598A82126181A1126D5656A7944395DA9ABC8CBFC679866A60D1A2451DE5D8199C49B5C3C591CD2A4A8D08AD4838583A47877ADB33F891477CAB70A7353AF7524C4B9D09EEC20DA12A917CCAC670D4B4106E1DBB5B54ABE199467CAB88A128E9676E0EF438BCD6B01A5E7AE925AC5FBF5ECA2C4C289C1E8C1EF968858B518FF1871E07730FFCC93161D8FC8D37DE10D55EE5A1D85552C456948DA8AE0921FA8B251209A585A9145A448F5A156F692FAEE9F814E720ED7F70604035F45220710A1C319052BD563FA73F502ED76D735819FCBE122CF31AE940A7AA87758B07FD3A835995A14FD1459345192949D650D5287BAAE73424E1BBEBCA4B11F3D46A3D51E51AD38356F74BD081197DB7D17B93F7921B8B481EAAEF493901A520A5EFA57550D5C290FA3E8200A94C0ADD5D5D12E5AAD71BB271D1C8A4D58BA6D2FC3116520B4651E84555B3D2C0C9C6A3D8251736611A9597D8208E9A16ED3E4873DABC7933B66DDB26C18DF9F3E74BF4CE041978BFAC59521E2FEA9AB52C8376D7D1D07FD48BB5FB3D8E7D9D3ABFB26309C3FA070EEC158DC418FF264646F5592D4FCD79D69D82E47BD319598984B4F95156A68AD54472827850C437A49D71680C2289CB174AF8CF2C43418B262838456F40493B2B4F270B4D4B3C4B5302E966A02C4114639428B40C2721A6885329FD0B3DC41133D6066B5A1A4F99882965CA4A015FE087699DA00BE5B879880496169E0FAB958D41E8EA1EBD1768E3335DD3F53D4D81007A93D1DA1C72AF5A275E75B29076EC61819DD9D9A8CCF3873C271D7B1175AE38DA08700EA955C1490B5B95EA3994A3921899B22C85E4546353DD59C03408500B596080AC61E3315A06217FD57DA3A65671B6821BC62B857A666230DA03E94E7DB2D0229FAF3F4D9448A58FAB5E6BEABB2B63332EC32CE9D03B85CD97F5EB8C07112CDF52706A7D9E0ABE28B8D3F27C2D7D0DADFCA48D31F478467F2374FBBAF58F8609A173D65EDC18730B4AEBE96B4A9B2F65E8E1C61371EEDAF04DEAC2C863AB0C87BE27DD8645A9236964A1E7468DADF696A10FD57310DEAFDE4CCD39DA1CBCF5E6168A3486D2DC4A9DA4358B916A5DF95C1D190EF7CA087A08BB6928B4D2D2808CC81AEBF736F2CEF249E675F2B2C8CEAD5BCA180D94B075935E22613BA61029882A8C39EDE8038DD653D1ABAB25AEAC505474AB0BD779441DCC84C8C3EF48C8172EEA0874315ED7740D3109DE16D66EA1B62962B3D1FCF051CCFE4897B402F466973733A290A50101AD44730466E94BDFFF71FA5511B817B147ED65153C350A3611F711BE9D7A4E1BBE0178DA98A2D0751A1A9CF6FAF721641551550037DC2C14AC30703BF27FBD5AA6A70B5BBFB70CCC8050592A219E9FB234A64C994A37B6C2C0D1319EBAA3456721AA366C56B0DE94D416A11748EBC8FEBE0F8D6C906A14CC917FFA7868A39A324AD1D99E7AEFAD816F9D1A5A65F891EF13BD5003F1308364F63C3D6D475ACAD16F69E641CE501D87DF1981CE08CCCC08740C6A66C6B1F32E9D115000BFE3A13A2BA133023337021D839AB9B1ECBC53670454946FA609869D71ED8CC047750424A8315D5DF4A33A189DFBEE8CC0898E801894F4EB89482D9DE89B765EDF19818FE208901411BB72F9F2E6E3DBB6C9FD773CD547711974EE792646804C783EFE0F0A507581F460CF450000000049454E44AE426082 WHERE `app_id` = '8';
-
--- for R1 Enhanced Notification ticket source from JIRA
-INSERT INTO `ep_basic_auth_account` VALUES (1,'JIRA','jira','6APqvG4AU2rfLgCvMdySwQ==','Y');
-
--- for setting up CLI and AAI-UI to be visible on Home page for demo account
-INSERT INTO `fn_pers_user_app_sel` VALUES (1,1,7,'S');
-INSERT INTO `fn_pers_user_app_sel` VALUES (2,1,8,'S');
-
-commit;
diff --git a/kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/oom_updates.sql b/kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/oom_updates.sql
new file mode 100644 (file)
index 0000000..781b046
--- /dev/null
@@ -0,0 +1,8 @@
+USE portal;
+/*
+Any updates required by OOM to the portaldb are made here.
+1. split up SDC-FE and SDC-BE.  Originally both FE and BE point to the same IP
+while the OOM K8s version has these service split up.
+*/
+UPDATE fn_app SET app_rest_endpoint = 'http://sdc.api.be.simpledemo.onap.org:8080/api/v2' where app_name = 'SDC';
+UPDATE fn_app SET app_url = 'http://cli.api.simpledemo.onap.org:8080', app_type = 1 where app_name='CLI';
index fd42fd4..fcd325d 100644 (file)
@@ -15,8 +15,8 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-docker-entry-initd
+  name: {{ include "common.fullname" . }}-mariadb
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/mariadb/*").AsConfig . | indent 2 }}
 
index fd5e524..bdb760d 100644 (file)
@@ -52,7 +52,7 @@ spec:
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
             - name: MYSQL_HOST
-              value: "{{ .Values.service.name }}"
+              value: "{{ include "common.fullname" . }}"
             - name: MYSQL_ROOT_PASSWORD
               valueFrom:
                 secretKeyRef:
@@ -64,9 +64,6 @@ spec:
           - mountPath: /etc/localtime
             name: localtime
             readOnly: true
-          - name: mariadb-docker-entrypoint-initdb
-            mountPath: /docker-entrypoint-initdb.d/zzz_apps_users_onboarding.sql
-            subPath: Apps_Users_OnBoarding_Script.sql
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -85,9 +82,6 @@ spec:
       {{- else }}
           emptyDir: {}
       {{- end }}
-        - name: mariadb-docker-entrypoint-initdb
-          configMap:
-            name: {{ include "common.fullname" . }}-docker-entry-initd
         - name: localtime
           hostPath:
             path: /etc/localtime
diff --git a/kubernetes/portal/charts/portal-mariadb/templates/job.yaml b/kubernetes/portal/charts/portal-mariadb/templates/job.yaml
new file mode 100644 (file)
index 0000000..5dad1c0
--- /dev/null
@@ -0,0 +1,90 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: {{ include "common.fullname" . }}-config
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}-job
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}-job
+        release: {{ .Release.Name }}
+    spec:
+      restartPolicy: Never
+      initContainers:
+      - name: {{ include "common.name" . }}-init-readiness
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - {{ include "common.name" . }}
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      containers:
+      - name: {{ include "common.name" . }}-job
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.mariadbInitImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        env:
+        - name: DB_HOST
+          value: "{{ include "common.fullname" . }}"
+        - name: DB_USER
+          value: {{ .Values.config.mariadbUser }}
+        - name: DB_PASS
+          valueFrom:
+            secretKeyRef: {name: {{ include "common.fullname" . }}, key: db-root-password}
+        - name: SQL_SRC_DIR
+          value: {{ .Values.config.sqlSourceDirectory }}
+      - name: {{ include "common.name" . }}-oom-update-job
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.mariadbInitImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        env:
+        - name: DB_HOST
+          value: "{{ include "common.fullname" . }}"
+        - name: DB_USER
+          value: {{ .Values.config.mariadbUser }}
+        - name: DB_PORT
+          value: "{{ .Values.service.internalPort }}"
+        - name: DB_PASS
+          valueFrom:
+            secretKeyRef: {name: {{ include "common.fullname" . }}, key: db-root-password}
+        command:
+        - /bin/sh
+        - -x
+        - -c
+        - "mysql -vv --user=$DB_USER --password=$DB_PASS --host=$DB_HOST --port=$DB_PORT < /tmp/oom_updates.sql"
+        volumeMounts:
+        - name: portal-mariadb-sql
+          mountPath: /tmp/oom_updates.sql
+          subPath: oom_updates.sql
+      volumes:
+      - name: portal-mariadb-sql
+        configMap:
+          name: {{ include "common.fullname" . }}-mariadb
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+      restartPolicy: Never
\ No newline at end of file
index 629ec86..c232e4c 100644 (file)
@@ -19,16 +19,23 @@ global: # global defaults
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   persistence: {}
+  readinessRepository: oomk8s
 
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/portal-db:latest
+image: onap/portal-db:2.1-STAGING-latest
 pullPolicy: Always
 
+readinessImage: "readiness-check:1.1.1"
+mariadbInitImage: "mariadb-client-init:2.0.0"
+
 # application configuration
 config:
+  mariadbUser: root
   mariadbRootPassword: Aa123456
+  #The directory where sql files are found in the projects gerrit repo.
+  sqlSourceDirectory: portal/deliveries
 
 
 # default number of instances
index 742b5ea..59d438a 100644 (file)
@@ -14,7 +14,7 @@ music.serialize.compress = true
 music.atomic.get = false
 music.atomic.put = true
 
-cassandra.host={{.Values.cassandra.service.name}}.{{.Release.Namespace}}
-zookeeper.host={{.Values.zookeeper.service.name}}.{{.Release.Namespace}}
+cassandra.host={{.Release.Name}}-{{.Values.cassandra.chart.name}}.{{.Release.Namespace}}
+zookeeper.host={{.Release.Name}}-{{.Values.zookeeper.chart.name}}.{{.Release.Namespace}}
 cassandra.user={{.Values.cassandra.config.cassandraUsername}}
 cassandra.password={{.Values.cassandra.config.cassandraPassword}}
\ No newline at end of file
index 32dd1f9..4b6f251 100755 (executable)
@@ -30,7 +30,7 @@ ecomp_rest_url = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/auxapi
 ueb_listeners_enable = false
 
 # UEB Configuration
-ueb_url_list = dmaap.{{.Release.Namespace}}
+ueb_url_list = {{.Values.messageRouter.chart.name}}.{{.Release.Namespace}}
 # ECOMP Portal listens on this UEB topic
 ecomp_portal_inbox_name = ECOMP-PORTAL-INBOX
 # Replace these 3 default values with the ones for your specific App,
index 6b8e685..6fbf5b7 100755 (executable)
@@ -24,7 +24,7 @@ decryption_key                                  = AGLDdG4D04BKm2IxIWEr8o==
 ##########################################################################
 
 db.driver = org.mariadb.jdbc.Driver
-db.connectionURL = jdbc:mariadb://{{.Values.mariadb.service.name}}.{{.Release.Namespace}}:3306/ecomp_sdk
+db.connectionURL = jdbc:mariadb://{{.Release.Name}}-{{.Values.mariadb.chart.name}}.{{.Release.Namespace}}:3306/ecomp_sdk
 db.userName = root
 db.password = Aa123456
 db.min_pool_size = 5
index 09f2e45..1c94c78 100644 (file)
@@ -38,7 +38,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - {{ .Values.mariadb.nameOverride }}
+        - {{ .Values.mariadb.chart.name }}
         env:
         - name: NAMESPACE
           valueFrom:
index 778c855..010b4c1 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/portal-sdk:latest
+image: onap/portal-sdk:2.1-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -60,21 +60,23 @@ service:
   internalPort: 8080
 
 mariadb:
-  nameOverride: portal-db
-  service:
+  chart:
     name: portal-db
-
+widget:
+  chart:
+    name: portal-widget
 cassandra:
-  service:
+  chart:
     name: portal-cassandra
   config:
     cassandraUsername: root
     cassandraPassword: Aa123456
-
 zookeeper:
-  service:
-    name: portal-zk
-
+  chart:
+    name: portal-zookeeper
+messageRouter:
+  chart:
+    name: message-router
 
 ingress:
   enabled: false
index 3f4f950..b7a2073 100644 (file)
@@ -6,7 +6,7 @@ spring.http.multipart.max-request-size=128MB
 microservice.widget.location=/tmp
 
 ## App DB Properties
-spring.datasource.url=jdbc:mysql://{{.Values.mariadb.service.name}}.{{include "common.namespace" .}}:3306/portal
+spring.datasource.url=jdbc:mysql://{{.Release.Name}}-{{.Values.mariadb.chart.name}}.{{include "common.namespace" .}}:3306/portal
 spring.datasource.username=root
 spring.datasource.password=Aa123456
 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
index 0fb3c10..bff7924 100644 (file)
@@ -38,7 +38,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - {{ .Values.mariadb.nameOverride }}
+        - {{ .Values.mariadb.chart.name }}
         env:
         - name: NAMESPACE
           valueFrom:
index e2d1b91..706dc2f 100644 (file)
@@ -29,7 +29,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/portal-wms:latest
+image: onap/portal-wms:2.1-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -55,8 +55,7 @@ readiness:
   periodSeconds: 10
 
 mariadb:
-  nameOverride: portal-db
-  service:
+  chart:
     name: portal-db
 
 service:
index 3089baf..009f2fa 100644 (file)
@@ -1,11 +1,40 @@
-FROM ubuntu:16.04
+FROM boxfuse/flyway:5.0.7-alpine
 
+ARG branch=master
 ENV no_proxy "localhost,127.0.0.1,.cluster.local,$KUBERNETES_SERVICE_HOST"
 # Setup Corporate proxy
 ENV https_proxy ${HTTP_PROXY}
 ENV http_proxy ${HTTPS_PROXY}
 
-RUN apt-get update
-RUN apt-get install -y mariadb-client-10.0
+RUN apk add --update \
+    mariadb-client=10.1.28-r1 \
+    git \
+  && rm -rf /var/cache/apk/*
 
-VOLUME /portal-mysql
+ENV so_branch=$branch
+#ENV policy_branch: $branch
+ENV portal_branch=$branch
+#ENV sdnc_branch: $branch
+#ENV vid_branch: $branch
+#ENV clamp_branch: $branch
+
+#ENV appc_repo: http://gerrit.onap.org/r/appc/deployment.git
+ENV so_repo=http://gerrit.onap.org/r/so/docker-config.git
+#ENV policy_repo: http://gerrit.onap.org/r/policy/docker.git
+ENV portal_repo=http://gerrit.onap.org/r/portal.git
+#ENV sdnc_repo: http://gerrit.onap.org/r/sdnc/oam.git
+#ENV vid_repo: http://gerrit.onap.org/r/vid.git
+#ENV clamp_repo: http://gerrit.onap.org/r/clamp.git
+
+RUN mkdir -p /onap-sources
+WORKDIR /onap-sources
+
+RUN git clone -b $branch $portal_repo && cd portal && git checkout HEAD
+RUN git clone -b $branch $so_repo && cd docker-config && git checkout HEAD
+
+VOLUME /onap-sources
+
+COPY db_migrate.sh /root
+
+RUN chmod a+x /root/db_migrate.sh
+ENTRYPOINT /root/db_migrate.sh
diff --git a/kubernetes/portal/docker/init/mariadb-client/db_migrate.sh b/kubernetes/portal/docker/init/mariadb-client/db_migrate.sh
new file mode 100644 (file)
index 0000000..32a634a
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh -x
+SQL_DEST_DIR=${SQL_DEST_DIR:-/tmp/sql}
+DB_PORT=${DB_PORT:-3306}
+
+[[ -z "$SQL_SRC_DIR" ]] && { echo "Error: SQL_SRC_DIR must be provided as an environment variable"; exit 1; }
+[[ -z "$DB_USER" ]] && { echo "Error: DB_USER must be provided as an environment variable"; exit 1; }
+[[ -z "$DB_PASS" ]] && { echo "Error: DB_PASS must be provided as an environment variable"; exit 1; }
+[[ -z "$DB_HOST" ]] && { echo "Error: DB_HOST must be provided as an environment variable"; exit 1; }
+
+mkdir -p $SQL_DEST_DIR
+
+#Find all sql files and copy them to the destination directory
+find "/onap-sources/$SQL_SRC_DIR" -type f -iname "*.sql" | awk -v dest="$SQL_DEST_DIR" '{n=split($1,a,"/"); system(sprintf( "cp %s %s", $1, dest"/"a[n])) }'
+
+
+#Not needed right now?
+#--database=$DB_NAME
+
+#--force to deal with duplicate records in absense of "insert ignore"
+##ERROR 1062 (23000) at line 382: Duplicate entry '2' for key 'PRIMARY'
+
+cd $SQL_DEST_DIR
+cat *.sql | mysql -vv --user=$DB_USER --password=$DB_PASS --host=$DB_HOST --port=$DB_PORT --force
index 5ec23e1..e22b3f9 100644 (file)
@@ -21,5 +21,23 @@ config:
 
 portal-mariadb:
   nameOverride: portal-db
-  service:
-    name: portal-db
\ No newline at end of file
+
+mariadb:
+  chart:
+    name: portal-db
+widget:
+  chart:
+    name: portal-widget
+cassandra:
+  chart:
+    name: portal-cassandra
+  config:
+    cassandraUsername: root
+    cassandraPassword: Aa123456
+zookeeper:
+  chart:
+    name: portal-zookeeper
+
+messageRouter:
+  chart:
+    name: message-router
\ No newline at end of file
index cd1ce14..c62c440 100755 (executable)
@@ -1,8 +1,8 @@
 #file generated from /opt/config
 #
-GLOBAL_INJECTED_AAI1_IP_ADDR = "{{.Release.Name}}-aai.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_AAI1_IP_ADDR = "aai.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_AAI2_IP_ADDR = "N/A"
-GLOBAL_INJECTED_APPC_IP_ADDR = "{{.Release.Name}}-appc-sdnhost.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_APPC_IP_ADDR = "{{.Release.Name}}-appc.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_ARTIFACTS_VERSION = "{{.Values.demoArtifactsVersion}}"
 GLOBAL_INJECTED_CLAMP_IP_ADDR = "{{.Release.Name}}-clamp.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_CLOUD_ENV = "openstack"
@@ -12,36 +12,36 @@ GLOBAL_INJECTED_DOCKER_VERSION = "1.2-STAGING-latest"
 #GLOBAL_INJECTED_EXTERNAL_DNS = "N/A"
 GLOBAL_INJECTED_GERRIT_BRANCH = "master"
 GLOBAL_INJECTED_KEYSTONE = "{{ .Values.openStackKeyStoneUrl }}"
-GLOBAL_INJECTED_MR_IP_ADDR = "{{.Release.Name}}-dmaap.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_MSO_IP_ADDR = "{{.Release.Name}}-so.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_MR_IP_ADDR = "message-router.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_MSO_IP_ADDR = "so.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_NETWORK = "{{ .Values.openStackPrivateNetId }}"
 GLOBAL_INJECTED_NEXUS_DOCKER_REPO = "nexus3.onap.org:10001"
 GLOBAL_INJECTED_NEXUS_PASSWORD = "docker"
 GLOBAL_INJECTED_NEXUS_REPO = "https://nexus.onap.org/content/sites/raw"
 GLOBAL_INJECTED_NEXUS_USERNAME = "docker"
-GLOBAL_INJECTED_OPENO_IP_ADDR = "{{.Release.Name}}-msb-iag.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_OPENO_IP_ADDR = "msb-iag.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_OPENSTACK_PASSWORD = "{{ .Values.openStackEncryptedPassword }}"
 GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "{{ .Values.openStackTenantId }}"
 GLOBAL_INJECTED_OPENSTACK_USERNAME = "{{ .Values.openStackUserName }}"
-GLOBAL_INJECTED_POLICY_IP_ADDR = "{{.Release.Name}}-pypdp.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_POLICY_IP_ADDR = "pdp.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR = "{{.Release.Name}}-drools.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_PORTAL_IP_ADDR = "{{.Release.Name}}-portalapps.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_PORTAL_IP_ADDR = "{{.Release.Name}}-portal-app.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_REGION = "{{ .Values.openStackRegion }}"
 GLOBAL_INJECTED_REMOTE_REPO = "http://gerrit.onap.org/r/testsuite/properties.git"
 GLOBAL_INJECTED_SDC_IP_ADDR = "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_SDC_FE_IP_ADDR = "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_SDC_BE_IP_ADDR = "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_SDNC_IP_ADDR = "{{.Release.Name}}-sdnhost.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDNC_IP_ADDR = "{{.Release.Name}}-sdnc.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR = "{{.Release.Name}}-sdnc-portal.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_SO_IP_ADDR = "{{.Release.Name}}-so.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_VID_IP_ADDR = "{{.Release.Name}}-vid-server.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SO_IP_ADDR = "so.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_VID_IP_ADDR = "{{.Release.Name}}-vid.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_VM_FLAVOR = "{{ .Values.openStackFlavourMedium }}"
 GLOBAL_INJECTED_VM_IMAGE_NAME = "{{ .Values.ubuntuImage }}"
 GLOBAL_INJECTED_PUBLIC_NET_ID = "{{ .Values.openStackPublicNetId }}"
 GLOBAL_INJECTED_SCRIPT_VERSION = "{{ .Values.scriptVersion }}"
 GLOBAL_INJECTED_PROPERTIES = {
-    "GLOBAL_INJECTED_AAI1_IP_ADDR" : "{{.Release.Name}}-aai.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_APPC_IP_ADDR" : "{{.Release.Name}}-appc-sdnhost.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_AAI1_IP_ADDR" : "aai.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_APPC_IP_ADDR" : "{{.Release.Name}}-appc.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_ARTIFACTS_VERSION" : "{{.Values.demoArtifactsVersion}}",
     "GLOBAL_INJECTED_CLAMP_IP_ADDR" : "{{.Release.Name}}-clamp.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_CLOUD_ENV" : "openstack",
@@ -50,30 +50,30 @@ GLOBAL_INJECTED_PROPERTIES = {
     "GLOBAL_INJECTED_DOCKER_VERSION" : "1.2-STAGING-latest",
     "GLOBAL_INJECTED_GERRIT_BRANCH" : "master",
     "GLOBAL_INJECTED_KEYSTONE" : "{{ .Values.openStackKeyStoneUrl }}",
-    "GLOBAL_INJECTED_MR_IP_ADDR" : "{{.Release.Name}}-dmaap.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_MSO_IP_ADDR" : "{{.Release.Name}}-so.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_MR_IP_ADDR" : "message-router.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_MSO_IP_ADDR" : "so.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_NETWORK" : "{{ .Values.openStackPrivateNetId }}",
     "GLOBAL_INJECTED_NEXUS_DOCKER_REPO" : "nexus3.onap.org:10001",
     "GLOBAL_INJECTED_NEXUS_PASSWORD" : "docker",
     "GLOBAL_INJECTED_NEXUS_REPO" : "https://nexus.onap.org/content/sites/raw",
     "GLOBAL_INJECTED_NEXUS_USERNAME" : "docker",
-    "GLOBAL_INJECTED_OPENO_IP_ADDR" : "{{.Release.Name}}-msb-iag.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_OPENO_IP_ADDR" : "msb-iag.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_OPENSTACK_PASSWORD" : "{{ .Values.openStackEncryptedPassword }}",
     "GLOBAL_INJECTED_OPENSTACK_TENANT_ID" : "{{ .Values.openStackTenantId }}",
     "GLOBAL_INJECTED_OPENSTACK_USERNAME" : "{{ .Values.openStackUserName }}",
-    "GLOBAL_INJECTED_POLICY_IP_ADDR" : "{{.Release.Name}}-pypdp.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_POLICY_IP_ADDR" : "pdp.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR" : "{{.Release.Name}}-drools.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_PORTAL_IP_ADDR" : "{{.Release.Name}}-portalapps.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_REGION" : "{{ .Values.openStackRegion }}",
     "GLOBAL_INJECTED_REMOTE_REPO" : "http://gerrit.onap.org/r/testsuite/properties.git",
     "GLOBAL_INJECTED_SDC_FE_IP_ADDR" : "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_SDC_BE_IP_ADDR" : "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_SDNC_IP_ADDR" : "{{.Release.Name}}-sdnhost.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SDNC_IP_ADDR" : "{{.Release.Name}}-sdnc.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR" : "{{.Release.Name}}-sdnc-portal.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_SO_IP_ADDR" : "{{.Release.Name}}-so.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_VID_IP_ADDR" : "{{.Release.Name}}-vid-server.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SO_IP_ADDR" : "so.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_VID_IP_ADDR" : "{{.Release.Name}}-vid.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_VM_FLAVOR" : "{{ .Values.openStackFlavourMedium }}",
     "GLOBAL_INJECTED_VM_IMAGE_NAME" : "{{ .Values.ubuntuImage }}",
     "GLOBAL_INJECTED_PUBLIC_NET_ID" : "{{ .Values.openStackPublicNetId }}",
     "GLOBAL_INJECTED_SCRIPT_VERSION" : "{{ .Values.scriptVersion }}"
-}
+}
\ No newline at end of file
index 6ef3a21..06f168c 100644 (file)
@@ -21,7 +21,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: openecomp/testsuite:1.2-STAGING-latest
+image: onap/testsuite:1.2-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
diff --git a/kubernetes/sdc/charts/sdc-wfd/.helmignore b/kubernetes/sdc/charts/sdc-wfd/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/sdc/charts/sdc-wfd/Chart.yaml b/kubernetes/sdc/charts/sdc-wfd/Chart.yaml
new file mode 100644 (file)
index 0000000..a04b2e5
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018 ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: Common Workflow Design
+name: sdc-wfd
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/sdc/charts/sdc-wfd/templates/NOTES.txt b/kubernetes/sdc/charts/sdc-wfd/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..d83c152
--- /dev/null
@@ -0,0 +1,20 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
+
diff --git a/kubernetes/sdc/charts/sdc-wfd/templates/deployment.yaml b/kubernetes/sdc/charts/sdc-wfd/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..eb1f479
--- /dev/null
@@ -0,0 +1,54 @@
+# Copyright © 2018 ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{- if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end -}}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
diff --git a/kubernetes/sdc/charts/sdc-wfd/templates/service.yaml b/kubernetes/sdc/charts/sdc-wfd/templates/service.yaml
new file mode 100644 (file)
index 0000000..09c7e04
--- /dev/null
@@ -0,0 +1,54 @@
+# Copyright © 2018 ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "workflow-modeler",
+          "version": "v1",
+          "url": "/api/workflow-modeler/v1",
+          "protocol": "REST",
+          "port": "{{ .Values.service.internalPort }}",
+          "enable_ssl": true,
+          "visualRange":"1"
+      },
+      {
+          "serviceName": "workflow-modeler-ui",
+          "version": "v1",
+          "url": "/workflow-modeler",
+          "protocol": "UI",
+          "path": "/workflow-modeler",
+          "port": "{{ .Values.service.internalPort }}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    - port: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/sdc/charts/sdc-wfd/values.yaml b/kubernetes/sdc/charts/sdc-wfd/values.yaml
new file mode 100644 (file)
index 0000000..d678f5d
--- /dev/null
@@ -0,0 +1,55 @@
+# Copyright © 2018 ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/sdc/sdc-workflow-designer:1.1.0-SNAPSHOT-STAGING-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# default number of instances
+replicaCount: 1
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: NodePort
+  name: sdc-wfd
+  nodePort: "56"
+  internalPort: 8080
+
+ingress:
+  enabled: false
+
diff --git a/kubernetes/sdnc/.helmignore b/kubernetes/sdnc/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
index 6e0ec8d..fe27426 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: A Helm chart for Kubernetes
+description: SDN Controller
 name: sdnc
-version: 0.1.0
+version: 2.0.0
diff --git a/kubernetes/sdnc/charts/dmaap-listener/Chart.yaml b/kubernetes/sdnc/charts/dmaap-listener/Chart.yaml
new file mode 100644 (file)
index 0000000..ba2e574
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: SDNC DMaaP Listener
+name: dmaap-listener
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/sdnc/charts/dmaap-listener/requirements.yaml b/kubernetes/sdnc/charts/dmaap-listener/requirements.yaml
new file mode 100644 (file)
index 0000000..ce82a2f
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
@@ -14,7 +14,7 @@ password =admin
 contenttype =application/json
 authKey=fxoW4jZrO7mdLWWa:f4KxkoBtToyoEG7suMoV8KhnkwM=
 authDate=2016-02-18T13:57:37-0800
-host=dmaap.{{.Values.nsPrefix}}:3904
+host=dmaap.{{.Release.Namespace}}:3904
 topic=VCPE-DHCP-EVENT
 group=jmsgrp
 id=sdnc1
@@ -32,4 +32,4 @@ sessionstickinessrequired=NO
 DME2preferredRouterFilePath=/opt/onap/sdnc/data/properties/dmaap-listener.preferredRoute.txt
 sdnc.odl.user=admin
 sdnc.odl.password=admin
-sdnc.odl.url-base=https://sdnhost.{{.Values.nsPrefix}}:8443/restconf/operations
+sdnc.odl.url-base=https://sdnhost.{{.Release.Namespace}}:8443/restconf/operations
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if not .Values.disableSdncDmaap }}
 apiVersion: v1
 kind: ConfigMap
 metadata:
   name: sdnc-dmaap-configmap
-  namespace: {{ .Values.nsPrefix }}
+  namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/dmaap/*").AsConfig . | indent 2 }}
-#{{ end }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if not .Values.disableSdncDmaap }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
-  name: sdnc-dmaap-listener
-  namespace: "{{ .Values.nsPrefix }}"
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 spec:
-  replicas: {{ .Values.dmaapReplicas }}
-  selector:
-    matchLabels:
-      app: dmaap-listener
+  replicas: {{ .Values.replicaCount }}
   template:
     metadata:
       labels:
-        app: dmaap-listener
-      name: sdnc-dmaap-listener
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
     spec:
       initContainers:
       - command:
         - /root/ready.py
         args:
         - --container-name
-        - sdnc-db-container
+        - {{ .Values.config.mysqlChartName }}
         - --container-name
-        - sdnc-controller-container
+        - {{ .Values.config.sdncChartName }}
         env:
         - name: NAMESPACE
           valueFrom:
             fieldRef:
               apiVersion: v1
               fieldPath: metadata.namespace
-        image: {{ .Values.image.readiness }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: sdnc-dmaap-readiness
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
       containers:
       - command:
         - /opt/onap/sdnc/dmaap-listener/bin/start-dmaap-listener.sh
+        name: {{ include "common.name" . }}
+        image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: PROPERTY_DIR
-          value: /opt/onap/sdnc/data/properties
+          value: "{{ .Values.config.configDir }}"
         - name: SDNC_CONFIG_DIR
-          value: /opt/onap/sdnc/data/properties
-        image: {{ .Values.image.dmaaplistener }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: dmaapp-listener-container
+          value: "{{ .Values.config.configDir }}"
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
           readOnly: true
-        - mountPath: /opt/onap/sdnc/data/properties/dhcpalert.properties
+        - mountPath: {{ .Values.config.configDir }}/dhcpalert.properties
           subPath: dhcpalert.properties
           name: dmaap-dhcapalert-config
+        resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
       volumes:
         - name: localtime
           hostPath:
@@ -72,5 +84,4 @@ spec:
           configMap:
             name: sdnc-dmaap-configmap
       imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
 # limitations under the License.
 
 apiVersion: v1
-kind: ConfigMap
+kind: Service
 metadata:
-  name: sdnc-mysql
-  namespace: "{{ .Values.nsPrefix }}"
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
   labels:
-    app: mysql
-data:
-  master.cnf: |
-    # Apply this config only on the master.
-    [mysqld]
-    log-bin
-    [localpathprefix]
-    master
-  slave.cnf: |
-    # Apply this config only on slaves.
-    [mysqld]
-    super-read-only
-    [localpathprefix]
-    slave
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+spec:
+  type: ClusterIP
+  clusterIP: None
diff --git a/kubernetes/sdnc/charts/dmaap-listener/values.yaml b/kubernetes/sdnc/charts/dmaap-listener/values.yaml
new file mode 100644 (file)
index 0000000..601e9bb
--- /dev/null
@@ -0,0 +1,73 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/sdnc-dmaap-listener-image:1.3-STAGING-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+  dmaapPort: 3904
+  mysqlChartName: sdnc-dbhost
+  sdncChartName: sdnc
+  configDir: /opt/onap/sdnc/data/properties
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+ingress:
+  enabled: false
+
+resources: {}
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/sdnc/charts/sdnc-portal/.helmignore b/kubernetes/sdnc/charts/sdnc-portal/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
similarity index 90%
rename from kubernetes/mso/Chart.yaml
rename to kubernetes/sdnc/charts/sdnc-portal/Chart.yaml
index b4edecc..193c38f 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: A Helm chart for Kubernetes
-name: mso
-version: 1.1.0
+description: SDN-C Admin Portal
+name: sdnc-portal
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/sdnc/charts/sdnc-portal/requirements.yaml b/kubernetes/sdnc/charts/sdnc-portal/requirements.yaml
new file mode 100644 (file)
index 0000000..1e8f788
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
similarity index 94%
rename from kubernetes/sdnc/resources/config/conf/admportal.json
rename to kubernetes/sdnc/charts/sdnc-portal/resources/config/admportal.json
index ee575c2..4c0754b
@@ -39,8 +39,8 @@
   "dbPassword": "gamma",
   "dbName": "sdnctl",
   "odlProtocol": "http",
-  "odlHost": "sdnhost.{{.Values.nsPrefix}}",
-  "odlConexusHost": "sdnhost.{{.Values.nsPrefix}}",
+  "odlHost": "sdnhost.{{.Release.Namespace}}",
+  "odlConexusHost": "sdnhost.{{.Release.Namespace}}",
   "odlPort": "8181",
   "odlConexusPort": "8181",
   "odlUser": "admin",
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if not .Values.disableSdncSdnc }}
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: sdnc-conf-configmap
-  namespace: {{ .Values.nsPrefix }}
+  name: sdnc-portal-configmap
+  namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/conf/*").AsConfig . | indent 2 }}
-#{{ end }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/sdnc/charts/sdnc-portal/templates/deployment.yaml b/kubernetes/sdnc/charts/sdnc-portal/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..5e1293c
--- /dev/null
@@ -0,0 +1,104 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - {{ .Values.config.mysqlChartName }}
+        - --container-name
+        - {{ .Values.config.sdncChartName }}
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          command: ["/bin/bash"]
+          args: ["-c", "cd /opt/onap/sdnc/admportal/shell && ./start_portal.sh"]
+          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{- if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end -}}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MYSQL_ROOT_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}
+                  key: db-root-password
+            - name: SDNC_CONFIG_DIR
+              value: "{{ .Values.config.configDir }}"
+          volumeMounts:
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: {{ .Values.config.configDir }}
+            name: sdnc-conf
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      volumes:
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+        - name: sdnc-conf
+          configMap:
+            name: sdnc-portal-configmap
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
diff --git a/kubernetes/sdnc/charts/sdnc-portal/templates/secrets.yaml b/kubernetes/sdnc/charts/sdnc-portal/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..345c194
--- /dev/null
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+type: Opaque
+data:
+  db-root-password: {{ .Values.config.dbRootPassword | b64enc | quote }}
diff --git a/kubernetes/sdnc/charts/sdnc-portal/templates/service.yaml b/kubernetes/sdnc/charts/sdnc-portal/templates/service.yaml
new file mode 100644 (file)
index 0000000..2d67c1f
--- /dev/null
@@ -0,0 +1,50 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "sdnc-portal",
+          "version": "v1",
+          "url": "/",
+          "protocol": "UI",
+          "port": "{{ .Values.service.externalPort }}",
+          "visualRange":"0|1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/sdnc/charts/sdnc-portal/values.yaml b/kubernetes/sdnc/charts/sdnc-portal/values.yaml
new file mode 100644 (file)
index 0000000..b5be3a6
--- /dev/null
@@ -0,0 +1,80 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/admportal-sdnc-image:1.3-STAGING-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+  mysqlChartName: sdnc-dbhost
+  dbRootPassword: openECOMP1.0
+  sdncChartName: sdnc
+  configDir: /opt/onap/sdnc/data/properties
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: NodePort
+  name: sdnc-portal
+  internalPort: 8443
+  externalPort: 8443
+  nodePort: "01"
+
+ingress:
+  enabled: false
+
+resources: {}
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/sdnc/charts/ueb-listener/Chart.yaml b/kubernetes/sdnc/charts/ueb-listener/Chart.yaml
new file mode 100644 (file)
index 0000000..35b2a2e
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: SDNC UEB Listener
+name: ueb-listener
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/sdnc/charts/ueb-listener/requirements.yaml b/kubernetes/sdnc/charts/ueb-listener/requirements.yaml
new file mode 100644 (file)
index 0000000..ce82a2f
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
@@ -1,4 +1,4 @@
-org.onap.ccsdk.sli.northbound.uebclient.asdc-address=sdc-be.{{.Values.nsPrefix}}:8443
+org.onap.ccsdk.sli.northbound.uebclient.asdc-address=sdc-be.{{.Release.Namespace}}:8443
 org.onap.ccsdk.sli.northbound.uebclient.consumer-group=sdc-OpenSource-Env1-sdnc-dockero
 org.onap.ccsdk.sli.northbound.uebclient.consumer-id=sdc-COpenSource-Env11-sdnc-dockero
 org.onap.ccsdk.sli.northbound.uebclient.environment-name=AUTO
@@ -6,7 +6,7 @@ org.onap.ccsdk.sli.northbound.uebclient.password=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84
 org.onap.ccsdk.sli.northbound.uebclient.user=sdnc
 org.onap.ccsdk.sli.northbound.uebclient.sdnc-user=admin
 org.onap.ccsdk.sli.northbound.uebclient.sdnc-passwd=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
-org.onap.ccsdk.sli.northbound.uebclient.asdc-api-base-url=http://sdnhost.{{.Values.nsPrefix}}:8282/restconf/operations/
+org.onap.ccsdk.sli.northbound.uebclient.asdc-api-base-url=http://sdnhost.{{.Release.Namespace}}:8282/restconf/operations/
 org.onap.ccsdk.sli.northbound.uebclient.asdc-api-namespace=org:onap:ccsdk
 org.onap.ccsdk.sli.northbound.uebclient.spool.incoming=/opt/onap/sdnc/ueb-listener/spool/incoming
 org.onap.ccsdk.sli.northbound.uebclient.spool.archive=/opt/onap/sdnc/ueb-listener/spool/archive
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if not .Values.disableSdncUeb }}
 apiVersion: v1
 kind: ConfigMap
 metadata:
   name: sdnc-ueb-configmap
-  namespace: {{ .Values.nsPrefix }}
+  namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/ueb/*").AsConfig . | indent 2 }}
-#{{ end }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if not .Values.disableSdncUeb }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
-  name: sdnc-ueb-listener
-  namespace: "{{ .Values.nsPrefix }}"
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 spec:
-  replicas: {{ .Values.uebReplicas }}
-  selector:
-    matchLabels:
-      app: ueb-listener
+  replicas: {{ .Values.replicaCount }}
   template:
     metadata:
       labels:
-        app: ueb-listener
-      name: sdnc-ueb-listener
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
     spec:
       initContainers:
       - command:
         - /root/ready.py
         args:
         - --container-name
-        - sdnc-db-container
+        - {{ .Values.config.mysqlChartName }}
         - --container-name
-        - sdnc-controller-container
+        - {{ .Values.config.sdncChartName }}
         env:
         - name: NAMESPACE
           valueFrom:
             fieldRef:
               apiVersion: v1
               fieldPath: metadata.namespace
-        image: {{ .Values.image.readiness }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: sdnc-ueb-readiness
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
       containers:
       - command:
         - /opt/onap/sdnc/ueb-listener/bin/start-ueb-listener.sh
+        name: {{ include "common.name" . }}
+        image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: PROPERTY_DIR
-          value: /opt/onap/sdnc/data/properties
+          value: "{{ .Values.config.configDir }}"
         - name: SDNC_CONFIG_DIR
-          value: /opt/onap/sdnc/data/properties
-        image: {{ .Values.image.ueblistener }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: ueb-listener-container
+          value: "{{ .Values.config.configDir }}"
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
@@ -64,6 +65,17 @@ spec:
         - mountPath: /opt/onap/sdnc/data/properties/ueb-listener.properties
           subPath: ueb-listener.properties
           name: ueb-config
+        resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
       volumes:
         - name: localtime
           hostPath:
@@ -72,5 +84,4 @@ spec:
           configMap:
             name: sdnc-ueb-configmap
       imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
diff --git a/kubernetes/sdnc/charts/ueb-listener/templates/service.yaml b/kubernetes/sdnc/charts/ueb-listener/templates/service.yaml
new file mode 100644 (file)
index 0000000..a76592e
--- /dev/null
@@ -0,0 +1,28 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+spec:
+  type: ClusterIP
+  clusterIP: None
diff --git a/kubernetes/sdnc/charts/ueb-listener/values.yaml b/kubernetes/sdnc/charts/ueb-listener/values.yaml
new file mode 100644 (file)
index 0000000..0f22647
--- /dev/null
@@ -0,0 +1,74 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/sdnc-ueb-listener-image:1.3-STAGING-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+  uebPort: 3904
+  mysqlChartName: sdnc-dbhost
+  sdncChartName: sdnc
+  configDir: /opt/onap/sdnc/data/properties
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+ingress:
+  enabled: false
+
+resources: {}
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/sdnc/requirements.yaml b/kubernetes/sdnc/requirements.yaml
new file mode 100644 (file)
index 0000000..c458755
--- /dev/null
@@ -0,0 +1,24 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
+  - name: mysql
+    version: ~2.0.0
+    repository: '@local'
+  - name: dgbuilder
+    version: ~2.0.0
+    repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/sdnc/resources/config/bin/installSdncDb.sh b/kubernetes/sdnc/resources/config/bin/installSdncDb.sh
new file mode 100644 (file)
index 0000000..f2c133c
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+###
+# ============LICENSE_START=======================================================
+# ONAP : SDN-C
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+#                                                      reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
+MYSQL_PASSWD=${MYSQL_PASSWD:-openECOMP1.0}
+
+SDNC_DB_USER=${SDNC_DB_USER:-sdnctl}
+SDNC_DB_PASSWD=${SDNC_DB_PASSWD:-gamma}
+SDNC_DB_DATABASE=${SDN_DB_DATABASE:-sdnctl}
+
+
+# Create tablespace and user account
+mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} mysql <<-END
+CREATE DATABASE ${SDNC_DB_DATABASE};
+CREATE USER '${SDNC_DB_USER}'@'localhost' IDENTIFIED BY '${SDNC_DB_PASSWD}';
+CREATE USER '${SDNC_DB_USER}'@'%' IDENTIFIED BY '${SDNC_DB_PASSWD}';
+GRANT ALL PRIVILEGES ON ${SDNC_DB_DATABASE}.* TO '${SDNC_DB_USER}'@'localhost' WITH GRANT OPTION;
+GRANT ALL PRIVILEGES ON ${SDNC_DB_DATABASE}.* TO '${SDNC_DB_USER}'@'%' WITH GRANT OPTION;
+commit;
+END
+
+# load schema
+if [ -f ${SDNC_HOME}/data/sdnctl.dump ]
+then
+  mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${SDNC_HOME}/data/sdnctl.dump
+fi
+
+for datafile in ${SDNC_HOME}/data/*.data.dump
+do
+  mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < $datafile
+done
+
+# Create VNIs 100-199
+${SDNC_HOME}/bin/addVnis.sh 100 199
diff --git a/kubernetes/sdnc/resources/config/bin/startODL.sh b/kubernetes/sdnc/resources/config/bin/startODL.sh
new file mode 100755 (executable)
index 0000000..aa50cda
--- /dev/null
@@ -0,0 +1,97 @@
+#!/bin/bash
+
+###
+# ============LICENSE_START=======================================================
+# SDNC
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+function enable_odl_cluster(){
+  if [ -z $SDNC_REPLICAS ]; then
+     echo "SDNC_REPLICAS is not configured in Env field"
+     exit
+  fi
+
+  echo "Installing Opendaylight cluster features"
+  ${ODL_HOME}/bin/client feature:install odl-mdsal-clustering
+  ${ODL_HOME}/bin/client feature:install odl-jolokia
+
+  echo "Update cluster information statically"
+  hm=$(hostname)
+  echo "Get current Hostname ${hm}"
+
+  node=($(echo ${hm} | sed 's/-[0-9]*$//g'))
+  node_index=($(echo ${hm} | awk -F"-" '{print $NF}'))
+  node_list="${node}-0.{{ .Values.service.name }}-cluster.{{.Release.Namespace}}";
+
+  for ((i=1;i<${SDNC_REPLICAS};i++));
+  do
+    node_list="${node_list} ${node}-$i.{{ .Values.service.name }}-cluster.{{.Release.Namespace}}"
+  done
+
+  /opt/opendaylight/current/bin/configure_cluster.sh $((node_index+1)) ${node_list}
+}
+
+ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
+ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
+SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
+SLEEP_TIME=${SLEEP_TIME:-120}
+MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
+ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
+
+#
+# Wait for database to init properly
+#
+echo "Waiting for mysql"
+until mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p{{.Values.config.dbRootPassword}} mysql &> /dev/null
+do
+  printf "."
+  sleep 1
+done
+echo -e "\nmysql ready"
+
+if [ ! -f ${SDNC_HOME}/.installed ]
+then
+        echo "Installing SDNC database"
+        ${SDNC_HOME}/bin/installSdncDb.sh
+        echo "Installing SDN-C keyStore"
+        ${SDNC_HOME}/bin/addSdncKeyStore.sh
+        echo "Starting OpenDaylight"
+        ${ODL_HOME}/bin/start
+        echo "Waiting ${SLEEP_TIME} seconds for OpenDaylight to initialize"
+        sleep ${SLEEP_TIME}
+        echo "Installing SDN-C platform features"
+        ${SDNC_HOME}/bin/installFeatures.sh
+        if [ -x ${SDNC_HOME}/svclogic/bin/install.sh ]
+        then
+                echo "Installing directed graphs"
+                ${SDNC_HOME}/svclogic/bin/install.sh
+        fi
+
+        if $ENABLE_ODL_CLUSTER ; then enable_odl_cluster ; fi
+
+        echo "Restarting OpenDaylight"
+        ${ODL_HOME}/bin/stop
+
+        echo "Waiting 60 seconds for OpenDaylight stop to complete"
+        sleep 60
+
+        echo "Installed at `date`" > ${SDNC_HOME}/.installed
+fi
+
+exec ${ODL_HOME}/bin/karaf
+
index 81f63ec..b5d1560 100755 (executable)
@@ -40,7 +40,7 @@ org.onap.ccsdk.sli.adaptors.aai.application=openECOMP
 #
 # Configuration file for A&AI Client
 #
-org.onap.ccsdk.sli.adaptors.aai.uri=https://aai-service.{{.Values.nsPrefix}}:8443
+org.onap.ccsdk.sli.adaptors.aai.uri=https://aai-service.{{.Release.Namespace}}:8443
 
 
 # query
@@ -134,8 +134,8 @@ org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v11/service-design-and
 
 # UBB Notify
 org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v11/actions/notify
-org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=https://aai-service.{{.Values.nsPrefix}}:8443/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id}
-org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=https://aai-service.{{.Values.nsPrefix}}:8543/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information
+org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=https://aai-service.{{.Release.Namespace}}:8443/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id}
+org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=https://aai-service.{{.Release.Namespace}}:8543/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information
 
 # Service
 org.onap.ccsdk.sli.adaptors.aai.path.service=/aai/v11/service-design-and-creation/services/service/{service-id}
diff --git a/kubernetes/sdnc/resources/config/conf/dblib.properties b/kubernetes/sdnc/resources/config/conf/dblib.properties
new file mode 100644 (file)
index 0000000..4edae2b
--- /dev/null
@@ -0,0 +1,37 @@
+###
+# ============LICENSE_START=======================================================
+# openECOMP : SDN-C
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+#                                              reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+# dblib.properrties
+org.onap.ccsdk.sli.dbtype=jdbc
+
+org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver
+org.onap.ccsdk.sli.jdbc.database=sdnctl
+org.onap.ccsdk.sli.jdbc.user=sdnctl
+org.onap.ccsdk.sli.jdbc.password=gamma
+org.onap.ccsdk.sli.jdbc.connection.name=sdnctldb01
+org.onap.ccsdk.sli.jdbc.connection.timeout=50
+org.onap.ccsdk.sli.jdbc.request.timeout=100
+org.onap.ccsdk.sli.jdbc.limit.init=10
+org.onap.ccsdk.sli.jdbc.limit.min=10
+org.onap.ccsdk.sli.jdbc.limit.max=20
+org.onap.dblib.connection.recovery=false
@@ -1,25 +1,27 @@
-#!/bin/sh
-#
-# ============LICENSE_START==========================================
-# ===================================================================
-# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-# ===================================================================
+###
+# ============LICENSE_START=======================================================
+# openECOMP : SDN-C
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+#                                                       reserved.
+# ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 #
-#        http://www.apache.org/licenses/LICENSE-2.0
+#      http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
 # distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-# ============LICENSE_END============================================
-#
-# ECOMP and OpenECOMP are trademarks
-# and service marks of AT&T Intellectual Property.
-#
-#
-cd /docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw
-mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < create_mso_db-demo-vfw.sql
\ No newline at end of file
+# ============LICENSE_END=========================================================
+###
+
+org.onap.ccsdk.sli.dbtype = jdbc
+org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.database = sdnctl
+org.onap.ccsdk.sli.jdbc.user = sdnctl
+org.onap.ccsdk.sli.jdbc.password = gamma
+
index 50818a3..7b65636 100644 (file)
-################################################################################\r
-#\r
-#    Licensed to the Apache Software Foundation (ASF) under one or more\r
-#    contributor license agreements.  See the NOTICE file distributed with\r
-#    this work for additional information regarding copyright ownership.\r
-#    The ASF licenses this file to You under the Apache License, Version 2.0\r
-#    (the "License"); you may not use this file except in compliance with\r
-#    the License.  You may obtain a copy of the License at\r
-#\r
-#       http://www.apache.org/licenses/LICENSE-2.0\r
-#\r
-#    Unless required by applicable law or agreed to in writing, software\r
-#    distributed under the License is distributed on an "AS IS" BASIS,\r
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-#    See the License for the specific language governing permissions and\r
-#    limitations under the License.\r
-#\r
-################################################################################\r
-\r
-# Root logger\r
-log4j.rootLogger=INFO, async, osgi:*\r
-log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer\r
-\r
-# Log Directory\r
-logDir=/var/log/onap\r
-componentName=sdnc\r
-logDirectory=${logDir}/${componentName}\r
-maxFileSize=100MB\r
-maxBackupIndex=20\r
-\r
-# CONSOLE appender not used by default\r
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender\r
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\r
-log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS}\t%-16.16t\t%-5.5p\t%c{36}\t%X{bundle.id} - %X{bundle.name} - %X{bundle.version}\t%m%n\r
-\r
-# Async appender forwarding to file appender \r
-log4j.appender.async=org.apache.log4j.AsyncAppender\r
-log4j.appender.async.appenders=out\r
-\r
-# File appender\r
-log4j.appender.out=org.apache.log4j.RollingFileAppender\r
-log4j.appender.out.layout=org.apache.log4j.xml.XMLLayout\r
-log4j.appender.out.layout.Properties=true\r
-log4j.appender.out.file=${logDirectory}/karaf.log\r
-log4j.appender.out.append=true\r
-log4j.appender.out.maxFileSize=${maxFileSize}\r
-log4j.appender.out.maxBackupIndex=${maxBackupIndex}\r
-\r
-# Sift appender\r
-log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender\r
-log4j.appender.sift.key=bundle.name\r
-log4j.appender.sift.default=karaf\r
-log4j.appender.sift.appender=org.apache.log4j.RollingFileAppender\r
-log4j.appender.sift.appender.layout=org.apache.log4j.xml.XMLLayout\r
-log4j.appender.sift.appender.layout.Properties=true\r
-log4j.appender.sift.appender.file=${logDirectory}/$\\{bundle.name\\}.log\r
-log4j.appender.sift.appender.append=true\r
+################################################################################
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+
+# Root logger
+log4j.rootLogger=INFO, async, osgi:*
+log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
+
+maxFileSize=100MB
+maxBackupIndex=20
+logDir=/var/log/onap
+componentName=sdnc
+logDirectory=${logDir}/${componentName}
+karafLogName=karaf
+errorLogName=error
+metricsLogName=metrics
+auditLogName=audit
+debugLogName=debug
+
+
+# CONSOLE appender not used by default
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss.SSS}\t%-16.16t\t%-5.5p\t%c{36}\t%X{bundle.id} - %X{bundle.name} - %X{bundle.version}\t%m%n
+
+# Async appender forwarding to file appender
+log4j.appender.async=org.apache.log4j.AsyncAppender
+log4j.appender.async.appenders=out
+
+# File appender
+log4j.appender.out=org.apache.log4j.RollingFileAppender
+log4j.appender.out.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.out.layout.Properties=true
+log4j.appender.out.file=${logDirectory}/${karafLogName}.log
+log4j.appender.out.append=true
+log4j.appender.out.maxFileSize=${maxFileSize}
+log4j.appender.out.maxBackupIndex=${maxBackupIndex}
+
+# Sift appender
+log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
+log4j.appender.sift.key=bundle.name
+log4j.appender.sift.default=karaf
+log4j.appender.sift.appender=org.apache.log4j.RollingFileAppender
+log4j.appender.sift.appender.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.sift.appender.layout.Properties=true
+log4j.appender.sift.appender.file=${logDirectory}/$\\{bundle.name\\}.log
+log4j.appender.sift.appender.append=true
+
+
+
+log4j.category.org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPusherImpl=DEBUG
+log4j.category.org.opendaylight.controller.netconf.persist.impl.osgi.ConfigPersisterActivator=DEBUG
+
+
+#ECOMP Debug appender
+log4j.appender.debug=org.apache.log4j.RollingFileAppender
+log4j.appender.debug.key=bundle.name
+log4j.appender.debug.default=karaf
+log4j.appender.debug.appName=EELFDebug
+log4j.appender.debug.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.debug.layout.Properties=true
+log4j.appender.debug.file=${logDirectory}/${debugLogName}.log
+log4j.appender.debug.append=true
+log4j.appender.debug.maxFileSize=${maxFileSize}
+log4j.appender.debug.maxBackupIndex=${maxBackupIndex}
+#log4j.appender.debug.filter.f1=org.apache.log4j.varia.LevelRangeFilter
+#log4j.appender.debug.filter.f1.LevelMax=WARN
+#log4j.appender.debug.filter.f1.LevelMin=TRACE
+
+
+#Error appender
+log4j.appender.error=org.apache.log4j.RollingFileAppender
+log4j.appender.error.appName=EELFError
+log4j.appender.error.File=${logDirectory}/${errorLogName}.log
+log4j.appender.error.Threshold=ERROR
+log4j.appender.error.maxFileSize=${maxFileSize}
+log4j.appender.error.maxBackupIndex=${maxBackupIndex}
+log4j.appender.error.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.error.layout.Properties=true
+
+#Metrics appender
+log4j.appender.metric=org.apache.log4j.RollingFileAppender
+log4j.appender.metric.appName=EELFMetrics
+log4j.appender.metric.File=${logDirectory}/${metricsLogName}.log
+log4j.appender.metric.maxFileSize=${maxFileSize}
+log4j.appender.metric.maxBackupIndex=${maxBackupIndex}
+log4j.appender.metric.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.metric.layout.Properties=true
+
+#Audit appender
+log4j.appender.audit=org.apache.log4j.RollingFileAppender
+log4j.appender.audit.appName=EELFAudit
+log4j.appender.audit.File=${logDirectory}/${auditLogName}.log
+log4j.appender.audit.maxFileSize=${maxFileSize}
+log4j.appender.audit.maxBackupIndex=${maxBackupIndex}
+log4j.appender.audit.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.audit.layout.Properties=true
+
+#Loggers
+#Routing of all messages from root logger
+log4j.logger.com.att=TRACE, debug, error
+#Store to the same log file messages from upper level appender or not
+log4j.additivity.com.att=false
+
+#EELFManager loggers
+#EELF parent logger
+log4j.logger.com.att.eelf=TRACE, debug
+log4j.additivity.com.att.eelf=false
+
+#Audit logger routing
+log4j.logger.com.att.eelf.audit=DEBUG, audit
+log4j.additivity.com.att.eelf.audit=false
+
+#Metric logger routing
+log4j.logger.com.att.eelf.metrics=DEBUG, metric
+log4j.additivity.com.att.eelf.metrics=false
+
+#Performance logger routing
+log4j.logger.com.att.eelf.perf=DEBUG, metric
+log4j.additivity.com.att.eelf.perf=false
+
+#Server logger routing
+log4j.logger.com.att.eelf.server=DEBUG, debug
+log4j.additivity.com.att.eelf.server=false
+
+#Policy logger routing
+log4j.logger.com.att.eelf.policy=DEBUG, debug
+log4j.additivity.com.att.eelf.policy=false
+
+#Error logger routing
+log4j.logger.com.att.eelf.error=DEBUG, error
+log4j.additivity.com.att.eelf.error=false
+
+#Debug logger routing
+log4j.logger.com.att.eelf.debug=DEBUG, debug
+log4j.additivity.com.att.eelf.debug=false
diff --git a/kubernetes/sdnc/resources/geo/bin/sdnc.cluster b/kubernetes/sdnc/resources/geo/bin/sdnc.cluster
new file mode 100755 (executable)
index 0000000..d59718f
--- /dev/null
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+OOM_HOME=${OOM_HOME:-$HOME}
+
+if ! [ "$(command -v jq)" ]; then
+  echo "Error: jq is not installed."
+  echo "use: sudo apt install jq"
+  exit 1
+fi
+
+IS_PRIMARY_CLUSTER=`./sdnc.isPrimaryCluster`
+
+case $IS_PRIMARY_CLUSTER in
+true)
+   MEMBER_NUMBER=1
+   ;;
+false)
+   MEMBER_NUMBER=4
+   ;;
+*)
+  echo "Error: isPrimaryODLCluster not defined in ${OOM_HOME}/oom/kubernetes/sdnc/values.yaml."
+  exit 1
+  ;;
+esac
+
+for pod_number in {0..2}
+do
+   curl  "http://localhost:3026$((${pod_number} + 1))" > /dev/null 2>&1
+   if [ "$?" = "7" ]; then
+      continue
+   fi
+
+   VOTING_RESULT=`curl -u admin:admin -H "Content-Type: application/json" -H "Accept: application/json" -X GET http://localhost:3026$((${pod_number} + 1))/jolokia/read/org.opendaylight.controller:Category=Shards,name=member-$((${MEMBER_NUMBER} + ${pod_number}))-shard-default-config,type=DistributedConfigDatastore 2>/dev/null | jq '.value.Voting'`
+
+   case $VOTING_RESULT in
+   true)
+      echo "active"
+      exit 0
+      ;;
+   false)
+      echo "standby"
+      exit 0
+      ;;
+   *)
+     echo "Error: Voting status could not be determined."
+     exit 1
+     ;;
+   esac
+done
+
+echo "Error: Voting status could not be determined."
+exit 1
diff --git a/kubernetes/sdnc/resources/geo/bin/sdnc.failover b/kubernetes/sdnc/resources/geo/bin/sdnc.failover
new file mode 100755 (executable)
index 0000000..961a5cb
--- /dev/null
@@ -0,0 +1,65 @@
+#!/usr/bin/perl -s\r
+use strict;\r
+\r
+my $keyWord_standby = "standby";\r
+my $keyWord_active = "active";\r
+my $keyWord_true = "true";\r
+my $keyWord_false = "false";\r
+my $keyWord_success = "success";\r
+my $keyWord_failure = "failure";\r
+my $file_cluster = "sdnc.cluster";\r
+my $file_switchVoting = "switchVoting.sh";\r
+my $file_isPrimaryCluster = "sdnc.isPrimaryCluster";\r
+\r
+if ((!(-e $file_cluster)) || (!(-e $file_switchVoting))|| (!(-e $file_isPrimaryCluster))) {\r
+  # file not exist.\r
+  print qq|$keyWord_failure\n|;\r
+  exit 1;\r
+}\r
+\r
+my $roleRes = qx("./$file_isPrimaryCluster");\r
+my $clusterRes = qx("./$file_cluster");\r
+\r
+if ( index ($clusterRes, $keyWord_standby) != -1) {\r
+       # We are at standby side\r
+       if ( index ($roleRes, $keyWord_false) != -1) {\r
+          # We are at Secondary cluster\r
+          sub_activate_secondary();\r
+    } elsif ( index ($roleRes, $keyWord_true) != -1) {\r
+       # We are at Primary cluster\r
+          sub_activate_primary();\r
+    } else {\r
+      # Error.\r
+      print qq|$keyWord_failure\n|;\r
+      exit 1;\r
+       }\r
+} elsif ( index ($clusterRes, $keyWord_active) != -1) {\r
+    # We are at active side\r
+       if ( index ($roleRes, $keyWord_false) != -1) {\r
+          # We are at Secondary cluster\r
+          sub_activate_primary();\r
+    } elsif ( index ($roleRes, $keyWord_true) != -1)  {\r
+       # We are at Primary cluster\r
+          sub_activate_secondary();\r
+    } else {\r
+      # Error.\r
+      print qq|$keyWord_failure\n|;\r
+      exit 1;\r
+       }\r
+} else {\r
+   # Error.\r
+  print qq|$keyWord_failure\n|;\r
+  exit 1;\r
+}\r
+\r
+sub sub_activate_primary {\r
+               #Switching voting in Primary cluster\r
+        system("./$file_switchVoting primary");\r
+           print qq|$keyWord_success\n|;\r
+}\r
+\r
+sub sub_activate_secondary {\r
+               #Switching voting in secondary cluster\r
+        system("./$file_switchVoting secondary");\r
+           print qq|$keyWord_success\n|;\r
+}\r
diff --git a/kubernetes/sdnc/resources/geo/bin/sdnc.isPrimaryCluster b/kubernetes/sdnc/resources/geo/bin/sdnc.isPrimaryCluster
new file mode 100755 (executable)
index 0000000..8e816c4
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+OOM_HOME=${OOM_HOME:-$HOME}
+
+IS_PRIMARY_CLUSTER=`awk '/isPrimaryODLCluster/ {print $2}' ${OOM_HOME}/oom/kubernetes/sdnc/values.yaml`
+
+if [ "$?" -eq "2" ]; then
+      echo "Make sure you are ubuntu user." >&2
+fi
+
+case $IS_PRIMARY_CLUSTER in
+true|false)
+       echo $IS_PRIMARY_CLUSTER
+       ;;
+*)
+       echo "NOT CLUSTERED"
+       exit 1
+       ;;
+esac
diff --git a/kubernetes/sdnc/resources/geo/bin/switchVoting.sh b/kubernetes/sdnc/resources/geo/bin/switchVoting.sh
new file mode 100755 (executable)
index 0000000..05d1e0f
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+function usage()
+{
+    echo usage: switchVoting.sh primary\|secondary
+    exit 1
+}
+
+if [ $# -ne 1 ]; then
+    usage
+fi
+
+partition=$1
+
+if [ "$partition" == "primary" ]; then
+   curl -u admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://localhost:30202/restconf/operations/cluster-admin:change-member-voting-states-for-all-shards -d '{ "input" : { "member-voting-state" : [ { "member-name" : "member-1", "voting":true}, { "member-name" : "member-2", "voting":true}, { "member-name" : "member-3", "voting":true},{ "member-name" : "member-4", "voting":false},{ "member-name" : "member-5", "voting":false},{ "member-name" : "member-6", "voting":false}] } }' > switch_voting_resp.json 2>/dev/null
+   echo "" >> switch_voting_resp.json
+   exit 0
+fi
+
+if [ "$partition" == "secondary" ]; then
+   curl -u admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://localhost:30202/restconf/operations/cluster-admin:change-member-voting-states-for-all-shards -d '{ "input" : { "member-voting-state" : [ { "member-name" : "member-1", "voting":false}, { "member-name" : "member-2", "voting":false}, { "member-name" : "member-3", "voting":false},{ "member-name" : "member-4", "voting":true},{ "member-name" : "member-5", "voting":true},{ "member-name" : "member-6", "voting":true}] } }' > switch_voting_resp.json 2>/dev/null
+   echo "" >> switch_voting_resp.json
+   exit 0
+fi
+
+usage
diff --git a/kubernetes/sdnc/templates/all-services.yaml b/kubernetes/sdnc/templates/all-services.yaml
deleted file mode 100644 (file)
index 14d7b01..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableSdncSdncDbhost }}
-apiVersion: v1
-kind: Service
-metadata:
-  name: dbhost
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: sdnc-dbhost
-spec:
-  ports:
-    - port: 3306
-  selector:
-    app: sdnc-dbhost
-  clusterIP: None
----
-# Client service for connecting to any MySQL instance for reads.
-# Only master: sdnc-dbhost-0 accepts the write request.
-apiVersion: v1
-kind: Service
-metadata:
-  name: dbhost-read
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: sdnc-dbhost
-spec:
-  ports:
-  - name: sdnc-dbhost
-    port: 3306
-  selector:
-    app: sdnc-dbhost
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: sdnctldb01
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: sdnc-dbhost
-spec:
-  ports:
-    - port: 3306
-  selector:
-    app: sdnc-dbhost
-  clusterIP: None
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: sdnctldb02
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: sdnc-dbhost
-spec:
-  ports:
-    - port: 3306
-  selector:
-    app: sdnc-dbhost
-  clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableSdncSdnc }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: sdnc-dgbuilder
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: sdnc-dgbuilder
-spec:
-  ports:
-  - name: "sdnc-dgbuilder-port"
-    port: 3000
-    targetPort: 3100
-    nodePort: {{ .Values.nodePortPrefix }}03
-  type: NodePort
-  selector:
-    app: sdnc-dgbuilder
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: sdnhost
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: sdnc
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "sdnc",
-          "version": "v1",
-          "url": "/",
-          "protocol": "REST",
-          "port": "8282",
-          "visualRange":"1",
-          "path": "/"
-      }
-      ]'
-spec:
-  ports:
-  - name: "sdnc-port-8181"
-    port: 8282
-    targetPort: 8181
-    nodePort: {{ .Values.nodePortPrefix }}02
-  - name: "sdnc-port-8101"
-    port: 8201
-    targetPort: 8101
-    nodePort: {{ .Values.nodePortPrefix }}08
-  - name: "sdnc-jolokia-port-8080"
-    port: 8280
-    targetPort: 8080
-    nodePort: {{ .Values.nodePortPrefix }}46
-  type: NodePort
-  selector:
-    app: sdnc
----
-kind: Service
-apiVersion: v1
-metadata:
-  name: nfs-provisioner
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: nfs-provisioner
-spec:
-  ports:
-    - name: nfs
-      port: 2049
-    - name: mountd
-      port: 20048
-    - name: rpcbind
-      port: 111
-    - name: rpcbind-udp
-      port: 111
-      protocol: UDP
-  selector:
-    app: nfs-provisioner
-#{{ end }}
-#{{ if not .Values.disableSdncSdncPortal }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: sdnc-portal
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: sdnc-portal
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "sdnc-portal",
-          "version": "v1",
-          "url": "/",
-          "protocol": "UI",
-          "port": "8843",
-          "visualRange":"0|1"
-      }
-      ]'
-spec:
-  ports:
-  - name: "sdnc-portal-port"
-    port: 8843
-    nodePort: {{ .Values.nodePortPrefix }}01
-  type: NodePort
-  selector:
-    app: sdnc-portal
-#{{ end }}
-#{{ if .Values.enableODLCluster }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: sdnhost-cluster
-  namespace: "{{ .Values.nsPrefix }}"
-  labels:
-    app: sdnc
-  annotations:
-    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
-spec:
-  ports:
-   - name: "sdnc-cluster-port"
-     port: 2550
-  clusterIP: None
-  selector:
-    app: sdnc
-  sessionAffinity: None
-  type: ClusterIP
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/configmap.yaml b/kubernetes/sdnc/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..54de05c
--- /dev/null
@@ -0,0 +1,77 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-filebeat-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/filebeat/log4j/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-log-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-startodl
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/bin/startODL.sh").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-installsdncdb
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/bin/installSdncDb.sh").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-aaiclient-properties
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/conf/aaiclient.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-dblib-properties
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/conf/dblib.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-svclogic-config
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/conf/svclogic.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-config
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/conf/svclogic.properties").AsConfig . | indent 2 }}
diff --git a/kubernetes/sdnc/templates/db-statefulset.yaml b/kubernetes/sdnc/templates/db-statefulset.yaml
deleted file mode 100644 (file)
index 29d592a..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableSdncSdncDbhost }}
-apiVersion: apps/v1beta1
-kind: StatefulSet
-metadata:
-  name: sdnc-dbhost
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  serviceName: "dbhost"
-  replicas: {{ .Values.numberOfDbReplicas }}
-  selector:
-    matchLabels:
-      app: sdnc-dbhost
-  template:
-    metadata:
-      labels:
-        app: sdnc-dbhost
-      name: sdnc-dbhost
-    spec:
-      initContainers:
-      - name: init-mysql
-        image: {{ .Values.image.mysql }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        command:
-        - bash
-        - "-c"
-        - |
-          set -ex
-          # Generate mysql server-id from pod ordinal index.
-          [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
-          ordinal=${BASH_REMATCH[1]}
-          echo BASH_REMATCH=${BASH_REMATCH}
-          echo [mysqld] > /mnt/conf.d/server-id.cnf
-          # Add an offset to avoid reserved server-id=0 value.
-          echo server-id=$((100 + $ordinal)) >> /mnt/conf.d/server-id.cnf
-          # Copy appropriate conf.d files from config-map to emptyDir.
-          if [[ $ordinal -eq 0 ]]; then
-            cp /mnt/config-map/master.cnf /mnt/conf.d/
-          else
-            cp /mnt/config-map/slave.cnf /mnt/conf.d/
-          fi
-        volumeMounts:
-        - name: conf
-          mountPath: /mnt/conf.d
-        - name: config-map
-          mountPath: /mnt/config-map
-      - name: clone-mysql
-        image: {{ .Values.image.xtrabackup }}
-        env:
-        - name: MYSQL_ROOT_PASSWORD
-          value: openECOMP1.0
-        command:
-        - bash
-        - "-c"
-        - |
-          set -ex
-          # Skip the clone if data already exists.
-          [[ -d /var/lib/mysql/mysql ]] && exit 0
-          # Skip the clone on master (ordinal index 0).
-          [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
-          ordinal=${BASH_REMATCH[1]}
-          echo ${BASH_REMATCH}
-          [[ $ordinal -eq 0 ]] && exit 0
-          # Clone data from previous peer.
-          ncat --recv-only sdnc-dbhost-$(($ordinal-1)).dbhost.{{ .Values.nsPrefix }} 3307 | xbstream -x -C /var/lib/mysql
-          # Prepare the backup.
-          xtrabackup --user=root --password=$MYSQL_ROOT_PASSWORD --prepare --target-dir=/var/lib/mysql
-          ls -l /var/lib/mysql
-        volumeMounts:
-        - name: sdnc-data
-          mountPath: /var/lib/mysql
-#{{ if not .Values.disableNfsProvisioner }}
-          subPath: mysql
-#{{ end }}
-        - name: conf
-          mountPath: /etc/mysql/conf.d
-      containers:
-      - env:
-        - name: MYSQL_ROOT_PASSWORD
-          value: openECOMP1.0
-        - name: MYSQL_ROOT_HOST
-          value: '%'
-        - name: MYSQL_ALLOW_EMPTY_PASSWORD
-          value: "0"
-        image: {{ .Values.image.mysql }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: sdnc-db-container
-        volumeMounts:
-        - mountPath: /var/lib/mysql
-          name: sdnc-data
-#{{ if not .Values.disableNfsProvisioner }}
-          subPath: mysql
-#{{ end }}
-        - name: conf
-          mountPath: /etc/mysql/conf.d
-        ports:
-        - containerPort: 3306
-        resources:
-          requests:
-            cpu: 500m
-            memory: 1Gi
-        livenessProbe:
-          exec:
-            command: ["mysqladmin", "ping"]
-          initialDelaySeconds: 30
-          periodSeconds: 10
-          timeoutSeconds: 5
-        readinessProbe:
-          tcpSocket:
-            port: 3306
-          initialDelaySeconds: 5
-          periodSeconds: 10
-      - name: xtrabackup
-        image: {{ .Values.image.xtrabackup }}
-        env:
-        - name: MYSQL_ROOT_PASSWORD
-          value: openECOMP1.0
-        ports:
-        - name: xtrabackup
-          containerPort: 3307
-        command:
-        - bash
-        - "-c"
-        - |
-          set -ex
-          cd /var/lib/mysql
-          ls -l
-          # Determine binlog position of cloned data, if any.
-          if [[ -f xtrabackup_slave_info ]]; then
-            echo "Inside xtrabackup_slave_info"
-            # XtraBackup already generated a partial "CHANGE MASTER TO" query
-            # because we're cloning from an existing slave.
-            mv xtrabackup_slave_info change_master_to.sql.in
-            # Ignore xtrabackup_binlog_info in this case (it's useless).
-            rm -f xtrabackup_binlog_info
-          elif [[ -f xtrabackup_binlog_info ]]; then
-            echo "Inside xtrabackup_binlog_info"
-            # We're cloning directly from master. Parse binlog position.
-            [[ `cat xtrabackup_binlog_info` =~ ^(.*?)[[:space:]]+(.*?)$ ]] || exit 1
-            rm xtrabackup_binlog_info
-            echo "CHANGE MASTER TO MASTER_LOG_FILE='${BASH_REMATCH[1]}',\
-                  MASTER_LOG_POS=${BASH_REMATCH[2]}" > change_master_to.sql.in
-          fi
-
-          # Check if we need to complete a clone by starting replication.
-          if [[ -f change_master_to.sql.in ]]; then
-            echo "Waiting for mysqld to be ready (accepting connections)"
-            [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
-            ordinal=${BASH_REMATCH[1]}
-            echo $ordinal
-            until mysql --user=root --password=$MYSQL_ROOT_PASSWORD -h 127.0.0.1 -e "SELECT 1"; do sleep 1; done
-
-            echo "Initializing replication from clone position"
-            # In case of container restart, attempt this at-most-once.
-            mv change_master_to.sql.in change_master_to.sql.orig
-            mysql --user=root --password=$MYSQL_ROOT_PASSWORD -h 127.0.0.1 <<EOF
-          $(<change_master_to.sql.orig),
-            MASTER_HOST="sdnc-dbhost-0.dbhost.{{ .Values.nsPrefix }}",
-            MASTER_USER="root",
-            MASTER_PASSWORD="$MYSQL_ROOT_PASSWORD",
-            MASTER_CONNECT_RETRY=10;
-          START SLAVE;
-          EOF
-          fi
-
-          # Start a server to send backups when requested by peers.
-          exec ncat --listen --keep-open --send-only --max-conns=1 3307 -c \
-            "xtrabackup --user=root --password=$MYSQL_ROOT_PASSWORD --backup --slave-info --stream=xbstream --host=127.0.0.1"
-        volumeMounts:
-        - name: sdnc-data
-          mountPath: /var/lib/mysql
-#{{ if not .Values.disableNfsProvisioner }}
-          subPath: mysql
-#{{ end }}
-        - name: conf
-          mountPath: /etc/mysql/conf.d
-        resources:
-          requests:
-            cpu: 100m
-            memory: 100Mi
-      volumes:
-      - name: conf
-        emptyDir: {}
-      - name: config-map
-        configMap:
-          name: sdnc-mysql
-      - name: localtime
-        hostPath:
-          path: /etc/localtime
-#{{ if .Values.disableNfsProvisioner }}
-      - name: sdnc-data
-        hostPath:
-          path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/sdnc/data/mysql
-#{{ else }}
-  volumeClaimTemplates:
-  - metadata:
-      name: sdnc-data
-      annotations:
-        volume.beta.kubernetes.io/storage-class: "{{ .Values.nsPrefix }}-sdnc-data"
-    spec:
-      accessModes: ["ReadWriteMany"]
-      resources:
-        requests:
-          storage: 1Gi
-#{{ end }}
-#{{ end }}
-
diff --git a/kubernetes/sdnc/templates/dgbuilder-deployment.yaml b/kubernetes/sdnc/templates/dgbuilder-deployment.yaml
deleted file mode 100644 (file)
index 62f1d00..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableSdncSdncDgbuilder }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: sdnc-dgbuilder
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.dgbuilderReplicas }}
-  selector:
-    matchLabels:
-      app: sdnc-dgbuilder
-  template:
-    metadata:
-      labels:
-        app: sdnc-dgbuilder
-      name: sdnc-dgbuilder
-    spec:
-      initContainers:
-      - command:
-        - /root/ready.py
-        args:
-        - --container-name
-        - sdnc-db-container
-        - --container-name
-        - sdnc-controller-container
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: {{ .Values.image.readiness }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: sdnc-dgbuilder-readiness
-      containers:
-      - command:
-        - /bin/bash
-        - -c
-        - cd /opt/onap/sdnc/dgbuilder/ && ./start.sh sdnc1.0 && wait
-        env:
-        - name: MYSQL_ROOT_PASSWORD
-          value: openECOMP1.0
-        - name: SDNC_CONFIG_DIR
-          value: /opt/onap/sdnc/data/properties
-        image: {{ .Values.image.dgbuilderSdnc }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: sdnc-dgbuilder-container
-        ports:
-        - containerPort: 3100
-        readinessProbe:
-          tcpSocket:
-            port: 3100
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        volumeMounts:
-        - name: localtime
-          mountPath: /etc/localtime
-          readOnly: true
-      restartPolicy: Always
-      volumes:
-      - name: localtime
-        hostPath:
-          path: /etc/localtime
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml b/kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml
deleted file mode 100644 (file)
index 12713a1..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableSdncSdncDbhost }}
-#{{ if not .Values.disableNfsProvisioner }}
-kind: Deployment
-apiVersion: extensions/v1beta1
-metadata:
-  name: sdnc-nfs-provisioner
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.nfsReplicas }}
-  strategy:
-    type: Recreate
-  template:
-    metadata:
-      labels:
-        app: nfs-provisioner
-      name: sdnc-nfs-provisioner
-    spec:
-      containers:
-        - name: nfs-provisioner
-          image: quay.io/kubernetes_incubator/nfs-provisioner:v1.0.8
-          ports:
-            - name: nfs
-              containerPort: 2049
-            - name: mountd
-              containerPort: 20048
-            - name: rpcbind
-              containerPort: 111
-            - name: rpcbind-udp
-              containerPort: 111
-              protocol: UDP
-          securityContext:
-            capabilities:
-              add:
-                - DAC_READ_SEARCH
-                - SYS_RESOURCE
-          args:
-            - "-provisioner=sdnc/nfs"
-          env:
-            - name: POD_IP
-              valueFrom:
-                fieldRef:
-                  fieldPath: status.podIP
-            - name: SERVICE_NAME
-              value: nfs-provisioner
-            - name: POD_NAMESPACE
-              valueFrom:
-                fieldRef:
-                  fieldPath: metadata.namespace
-          imagePullPolicy: "IfNotPresent"
-          volumeMounts:
-            - name: export-volume
-              mountPath: /export
-      volumes:
-        - name: export-volume
-          hostPath:
-            path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/sdnc/data
-#{{ end }}
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/sdnc-data-storageclass.yaml b/kubernetes/sdnc/templates/sdnc-data-storageclass.yaml
deleted file mode 100644 (file)
index 1e6bf53..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableSdncSdncDbhost }}
-#{{ if not .Values.disableNfsProvisioner }}
-kind: StorageClass
-apiVersion: storage.k8s.io/v1
-metadata:
-  name: "{{ .Values.nsPrefix }}-sdnc-data"
-  namespace: "{{ .Values.nsPrefix }}"
-provisioner: sdnc/nfs
-#{{ end }}
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/sdnc-log-configmap.yaml b/kubernetes/sdnc/templates/sdnc-log-configmap.yaml
deleted file mode 100644 (file)
index a0bf0e2..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableSdncSdnc }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: sdnc-log-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/filebeat/log4j/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: sdnc-logging-cfg-configmap
-  namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/sdnc-statefulset.yaml b/kubernetes/sdnc/templates/sdnc-statefulset.yaml
deleted file mode 100644 (file)
index 3b07896..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableSdncSdnc }}
-apiVersion: apps/v1beta1
-kind: StatefulSet
-metadata:
-  name: sdnc
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  serviceName: "sdnhost-cluster"
-  replicas: {{ .Values.numberOfODLReplicas }}
-  podManagementPolicy: Parallel
-  selector:
-    matchLabels:
-      app: sdnc
-  template:
-    metadata:
-      labels:
-        app: sdnc
-      name: sdnc
-    spec:
-      initContainers:
-      - command:
-        - /root/ready.py
-        args:
-        - --container-name
-        - sdnc-db-container
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: {{ .Values.image.readiness }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: sdnc-readiness
-      containers:
-      - command:
-        - bash
-        - "-c"
-        - |
-          sed -i 's/dbhost/sdnc-dbhost-0.dbhost.{{ .Values.nsPrefix }}.svc.cluster.local/g' /opt/onap/sdnc/data/properties/svclogic.properties
-          sed -i 's/^\(org.onap.ccsdk.sli.jdbc.hosts=\).*/\1sdnc-dbhost-0.dbhost.{{ .Values.nsPrefix }}.svc.cluster.local/' /opt/onap/sdnc/data/properties/dblib.properties
-          /opt/onap/sdnc/bin/startODL.sh
-        env:
-        - name: MYSQL_ROOT_PASSWORD
-          value: openECOMP1.0
-        - name: SDNC_CONFIG_DIR
-          value: /opt/onap/sdnc/data/properties
-        - name: ENABLE_ODL_CLUSTER
-          value: "{{ .Values.enableODLCluster }}"
-        - name: SDNC_REPLICAS
-          value: "{{ .Values.numberOfODLReplicas }}"
-        image: {{ .Values.image.sdnc }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: sdnc-controller-container
-        volumeMounts:
-        - mountPath: /etc/localtime
-          name: localtime
-          readOnly: true
-        - mountPath: /opt/onap/sdnc/data/properties/admportal.json
-          name: sdnc-conf
-          subPath: admportal.json
-        - mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
-          name: sdnc-conf
-          subPath: aaiclient.properties
-        - mountPath: /var/log/onap
-          name: sdnc-logs
-        - mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
-          name: sdnc-logging-cfg-config
-          subPath: org.ops4j.pax.logging.cfg
-        ports:
-        - containerPort: 8181
-        - containerPort: 8101
-        - containerPort: 2550
-        - containerPort: 8080
-        readinessProbe:
-          tcpSocket:
-            port: 8181
-          initialDelaySeconds: 5
-          periodSeconds: 10
-      - image: {{ .Values.image.filebeat }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: filebeat-onap
-        volumeMounts:
-        - mountPath: /usr/share/filebeat/filebeat.yml
-          name: filebeat-conf
-          subPath: filebeat.yml
-        - mountPath: /var/log/onap
-          name: sdnc-logs
-        - mountPath: /usr/share/filebeat/data
-          name: sdnc-data-filebeat
-      volumes:
-        - name: localtime
-          hostPath:
-            path: /etc/localtime
-        - name: filebeat-conf
-          configMap:
-            name: sdnc-log-configmap
-        - name: sdnc-logging-cfg-config
-          configMap:
-            name: sdnc-logging-cfg-configmap
-        - name: sdnc-logs
-          emptyDir: {}
-        - name: sdnc-data-filebeat
-          emptyDir: {}
-        - name: sdnc-conf
-          configMap:
-            name: sdnc-conf-configmap
-            items:
-            - key: admportal.json
-              path: admportal.json
-              mode: 0755
-            - key: aaiclient.properties
-              path: aaiclient.properties
-              mode: 0755
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/sdnc/templates/secrets.yaml b/kubernetes/sdnc/templates/secrets.yaml
new file mode 100644 (file)
index 0000000..345c194
--- /dev/null
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+type: Opaque
+data:
+  db-root-password: {{ .Values.config.dbRootPassword | b64enc | quote }}
diff --git a/kubernetes/sdnc/templates/service.yaml b/kubernetes/sdnc/templates/service.yaml
new file mode 100644 (file)
index 0000000..487368e
--- /dev/null
@@ -0,0 +1,153 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "sdnc",
+          "version": "v1",
+          "url": "/",
+          "protocol": "REST",
+          "port": "{{ .Values.service.externalPort }}",
+          "visualRange":"1",
+          "path": "/"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: "{{ .Values.service.name }}-8282"
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: "{{ .Values.service.name }}-8202"
+    - port: {{ .Values.service.externalPort3 }}
+      targetPort: {{ .Values.service.internalPort3 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
+      name: "{{ .Values.service.name }}-8280"
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ .Values.service.name }}-cluster
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+  annotations:
+    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+spec:
+  ports:
+   - name: "{{ .Values.service.name }}-cluster-port"
+     port: {{ .Values.service.clusterPort }}
+  clusterIP: None
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+  sessionAffinity: None
+  type: ClusterIP
+
+{{ if .Values.geoEnabled }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: sdnhost-{{ include "common.fullname" . }}-0
+  namespace: {{ .Release.Namespace }}
+  labels:
+    statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
+spec:
+  ports:
+  - name: {{ include "common.fullname" . }}-0-port-{{ .Values.service.internalPort4 }}
+    port: {{ .Values.service.clusterPort2 }}
+    targetPort: {{ .Values.service.internalPort4 }}
+    nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort4 }}
+  - name: {{ include "common.fullname" . }}-0-port-{{ .Values.service.internalPort }}
+    port: {{ .Values.service.clusterPort3 }}
+    targetPort: {{ .Values.service.internalPort }}
+    nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort1 }}
+  type: NodePort
+  selector:
+    statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
+{{ end }}
+{{ if .Values.geoEnabled }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: sdnhost-{{ include "common.fullname" . }}-1
+  namespace: {{ .Release.Namespace }}
+  labels:
+    statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
+spec:
+  ports:
+  - name: {{ include "common.fullname" . }}-1-port-{{ .Values.service.internalPort4 }}
+    port: {{ .Values.service.clusterPort2 }}
+    targetPort: {{ .Values.service.internalPort4 }}
+    nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort5 }}
+  - name: {{ include "common.fullname" . }}-1-port-{{ .Values.service.internalPort }}
+    port: {{ .Values.service.clusterPort3 }}
+    targetPort: {{ .Values.service.internalPort }}
+    nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort2 }}
+  type: NodePort
+  selector:
+    statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
+{{ end }}
+{{ if .Values.geoEnabled }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: sdnhost-{{ include "common.fullname" . }}-2
+  namespace: {{ .Release.Namespace }}
+  labels:
+    statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
+spec:
+  ports:
+  - name: {{ include "common.fullname" . }}-2-port-{{ .Values.service.internalPort4 }}
+    port: {{ .Values.service.clusterPort2 }}
+    targetPort: {{ .Values.service.internalPort4 }}
+    nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort6 }}
+  - name: {{ include "common.fullname" . }}-2-port-{{ .Values.service.internalPort }}
+    port: {{ .Values.service.clusterPort3 }}
+    targetPort: {{ .Values.service.internalPort }}
+    nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort3 }}
+  type: NodePort
+  selector:
+    statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
+---
+{{ end }}
+
diff --git a/kubernetes/sdnc/templates/statefulset.yaml b/kubernetes/sdnc/templates/statefulset.yaml
new file mode 100644 (file)
index 0000000..8b4055e
--- /dev/null
@@ -0,0 +1,188 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1beta1
+kind: StatefulSet
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  serviceName: "{{ .Values.service.name }}-cluster"
+  replicas: {{ .Values.replicaCount }}
+  podManagementPolicy: Parallel
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - {{ .Values.mysql.nameOverride }}
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          command: ["/bin/bash"]
+          args: ["-c", "/opt/sdnc/bin/startODL.sh"]
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          - containerPort: {{ .Values.service.internalPort2 }}
+          - containerPort: {{ .Values.service.internalPort3 }}
+          - containerPort: {{ .Values.service.clusterPort }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MYSQL_ROOT_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}
+                  key: db-root-password
+            - name: SDNC_CONFIG_DIR
+              value: "{{ .Values.config.configDir }}"
+            - name: ENABLE_ODL_CLUSTER
+              value: "{{ .Values.config.enableClustering }}"
+            - name: SDNC_REPLICAS
+              value: "{{ .Values.replicaCount }}"
+            - name: MYSQL_HOST
+              value: "{{.Values.mysql.service.name}}.{{.Release.Namespace}}"
+          volumeMounts:
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
+            name: sdnc-logging-cfg-config
+            subPath: org.ops4j.pax.logging.cfg
+          - mountPath: /opt/onap/sdnc/bin/startODL.sh
+            name: startodl
+            subPath: startODL.sh
+          - mountPath: /opt/onap/sdnc/bin/installSdncDb.sh
+            name: installsdncdb
+            subPath: installSdncDb.sh
+          - mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
+            name: aaiclient-conf
+            subPath: aaiclient.properties
+          - mountPath: /opt/onap/sdnc/data/properties/dblib.properties
+            name: sdnc-dblib-properties
+            subPath: dblib.properties
+          - mountPath: /opt/onap/sdnc/data/properties/svclogic.properties
+            name: sdnc-svclogic-config
+            subPath: svclogic.properties
+          - mountPath: /opt/onap/sdnc/svclogic/config/svclogic.properties
+            name: onap-sdnc-svclogic-config
+            subPath: svclogic.properties
+          - mountPath: /var/log/onap
+            name: logs
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - mountPath: /usr/share/filebeat/filebeat.yml
+            name: filebeat-conf
+            subPath: filebeat.yml
+          - mountPath: /var/log/onap
+            name: logs
+          - mountPath: /usr/share/filebeat/data
+            name: data-filebeat
+      volumes:
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+        - name: logs
+          emptyDir: {}
+        - name: data-filebeat
+          emptyDir: {}
+        - name: filebeat-conf
+          configMap:
+            name: {{ include "common.fullname" . }}-filebeat-configmap
+        - name: sdnc-logging-cfg-config
+          configMap:
+            name: {{ include "common.fullname" . }}-log-configmap
+        - name: startodl
+          configMap:
+            name: {{ include "common.fullname" . }}-startodl
+            items:
+            - key: startODL.sh
+              path: startODL.sh
+              mode: 0755
+        - name: installsdncdb
+          configMap:
+            name: {{ include "common.fullname" . }}-installsdncdb
+            items:
+            - key: installSdncDb.sh
+              path: installSdncDb.sh
+              mode: 0755
+        - name: aaiclient-conf
+          configMap:
+            name: {{ include "common.fullname" . }}-aaiclient-properties
+            items:
+            - key: aaiclient.properties
+              path: aaiclient.properties
+              mode: 0644
+        - name: sdnc-dblib-properties
+          configMap:
+            name: {{ include "common.fullname" . }}-dblib-properties
+            items:
+            - key: dblib.properties
+              path: dblib.properties
+              mode: 0644
+        - name: sdnc-svclogic-config
+          configMap:
+            name: {{ include "common.fullname" . }}-svclogic-config
+            items:
+            - key: svclogic.properties
+              path: svclogic.properties
+              mode: 0644
+        - name: onap-sdnc-svclogic-config
+          configMap:
+            name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-config
+            items:
+            - key: svclogic.properties
+              path: svclogic.properties
+              mode: 0644
+
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/sdnc/templates/web-deployment.yaml b/kubernetes/sdnc/templates/web-deployment.yaml
deleted file mode 100644 (file)
index ef469ac..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableSdncSdncPortal }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: sdnc-portal
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.portalReplicas }}
-  selector:
-    matchLabels:
-      app: sdnc-portal
-  template:
-    metadata:
-      labels:
-        app: sdnc-portal
-      name: sdnc-portal
-    spec:
-      initContainers:
-      - command:
-        - /root/ready.py
-        args:
-        - --container-name
-        - sdnc-db-container
-        - --container-name
-        - sdnc-controller-container
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: {{ .Values.image.readiness }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: sdnc-portal-readiness
-      containers:
-      - command:
-        - /bin/bash
-        - -c
-        - cd /opt/onap/sdnc/admportal/shell && ./start_portal.sh
-        env:
-        - name: MYSQL_ROOT_PASSWORD
-          value: openECOMP1.0
-        - name: SDNC_CONFIG_DIR
-          value: /opt/onap/sdnc/data/properties
-        image: {{ .Values.image.admportalSdnc }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
-        name: sdnc-portal-container
-        ports:
-        - containerPort: 8843
-        volumeMounts:
-        - name: localtime
-          mountPath: /etc/localtime
-          readOnly: true
-        - mountPath: /opt/onap/sdnc/data/properties/
-          name: sdnc-conf
-        readinessProbe:
-          tcpSocket:
-            port: 8843
-          initialDelaySeconds: 5
-          periodSeconds: 10
-      restartPolicy: Always
-      volumes:
-      - name: localtime
-        hostPath:
-          path: /etc/localtime
-      - name: sdnc-conf
-        configMap:
-          name: sdnc-conf-configmap
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
index 9402917..38d6424 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-nsPrefix: onap
-pullPolicy: IfNotPresent
-nodePortPrefix: 302
-dataRootDir: /dockerdata-nfs
-image:
-  readiness: oomk8s/readiness-check:1.1.0
-  mysql: mysql:5.7
-  xtrabackup: gcr.io/google-samples/xtrabackup:1.0
-  dgbuilderSdnc: nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image:v0.1.0
-  sdnc: nexus3.onap.org:10001/onap/sdnc-image:v1.2.1
-  admportalSdnc: nexus3.onap.org:10001/onap/admportal-sdnc-image:v1.2.1
-  ueblistener: nexus3.onap.org:10001/onap/sdnc-ueb-listener-image:v1.2.1
-  dmaaplistener: nexus3.onap.org:10001/onap/sdnc-dmaap-listener-image:v1.2.1
-  filebeat: docker.elastic.co/beats/filebeat:5.5.0
-enableODLCluster: false
-numberOfODLReplicas: 1
-numberOfDbReplicas: 1
-dgbuilderReplicas: 1
-dmaapReplicas: 1
-nfsReplicas: 1
-uebReplicas: 1
-portalReplicas: 1
-disableSdncSdncDgbuilder: false
-disableSdncSdncPortal: false
-disableNfsProvisioner: false
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repository: nexus3.onap.org:10001
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  persistence:
+    mountPath: /dockerdata-nfs
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application images
+repository: nexus3.onap.org:10001
+pullPolicy: Always
+image: onap/sdnc-image:1.3-STAGING-latest
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+geoEnabled: false
+
+# application configuration
 config:
+  dbRootPassword: openECOMP1.0
+  enableClustering: true
+  configDir: /opt/onap/sdnc/data/properties
+  dmaapTopic: SUCCESS
   logstashServiceName: log-ls
   logstashPort: 5044
+
+# dependency / sub-chart configuration
+dmaap-listener:
+  nameOverride: sdnc-dmaap-listener
+  config:
+    sdncChartName: sdnc
+    mysqlChartName: sdnc-db
+    configDir: /opt/onap/sdnc/data/properties
+
+ueb-listener:
+  nameOverride: sdnc-ueb-listener
+  config:
+    sdncChartName: sdnc
+    mysqlChartName: sdnc-db
+    configDir: /opt/onap/sdnc/data/properties
+
+sdnc-portal:
+  config:
+    sdncChartName: sdnc
+    mysqlChartName: sdnc-db
+    configDir: /opt/onap/sdnc/data/properties
+    dbRootPassword: openECOMP1.0
+
+mysql:
+  nameOverride: sdnc-db
+  service:
+    name: sdnc-dbhost
+  nfsprovisionerPrefix: sdnc
+  sdnctlPrefix: sdnc
+  persistence:
+    mountSubPath: sdnc/data
+    enabled: true
+  disableNfsProvisioner: false
+  replicaCount: 1
+
+dgbuilder:
+  nameOverride: sdnc-dgbuilder
+  config:
+    dbPodName: sdnc-db
+    dbServiceName: sdnc-dbhost
+    dbRootPassword: openECOMP1.0
+  service:
+    nodePort: "03"
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: NodePort
+  name: sdnc
+  #targetPort
+  internalPort: 8181
+  internalPort2: 8101
+  internalPort3: 8080
+  internalPort4: 2550
+
+  #port
+  externalPort: 8282
+  nodePort: "02"
+
+  externalPort2: 8202
+  nodePort2: "08"
+
+  externalPort3: 8280
+  nodePort3: 46
+
+  clusterPort: 2550
+  clusterPort2: 2650
+  clusterPort3: 2681
+
+  geoNodePort1: 61
+  geoNodePort2: 62
+  geoNodePort3: 63
+  geoNodePort4: 64
+  geoNodePort5: 65
+  geoNodePort6: 66
+
+ingress:
+  enabled: false
+
+resources: {}
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
index 4570c99..9e94784 100644 (file)
@@ -30,7 +30,7 @@ metadata:
           "url": "/usecase-ui",
           "path":"/iui/usecaseui",
           "protocol": "UI"
-          "port": "8080",
+          "port": "{{ .Values.service.internalPort }}",
           "visualRange":"1|0"
       }
       ]'
index 2554d16..a6a6065 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: A Helm chart for Kubernetes
+description: ONAP Virtual Function Controller (VF-C)
 name: vfc
-version: 0.1.0
+version: 2.0.0
diff --git a/kubernetes/vfc/charts/vfc-catalog/.helmignore b/kubernetes/vfc/charts/vfc-catalog/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-catalog/Chart.yaml b/kubernetes/vfc/charts/vfc-catalog/Chart.yaml
new file mode 100644 (file)
index 0000000..f90ad5b
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - Catalog
+name: vfc-catalog
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-catalog/resources/config/logging/log.yml b/kubernetes/vfc/charts/vfc-catalog/resources/config/logging/log.yml
new file mode 100644 (file)
index 0000000..2daea32
--- /dev/null
@@ -0,0 +1,50 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+    catalog:
+        handlers: [cataloglocal_handler, catalog_handler]
+        level: "DEBUG"
+        propagate: False
+    django:
+        handlers: [django_handler]
+        level: "DEBUG"
+        propagate: False
+handlers:
+    cataloglocal_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/runtime_catalog.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+    catalog_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "/var/log/onap/vfc/catalog/runtime_catalog.log"
+        formatter:
+            "mdcFormat"
+        maxBytes: 52428800
+        backupCount: 10
+    django_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/django.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+formatters:
+    standard:
+        format:
+            "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+    mdcFormat:
+        format:
+            "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+        mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+        datefmt: "%Y-%m-%d %H:%M:%S"
+        (): onaplogging.mdcformatter.MDCFormatter
diff --git a/kubernetes/vfc/charts/vfc-catalog/templates/configmap.yaml b/kubernetes/vfc/charts/vfc-catalog/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-catalog/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-catalog/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..084c320
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logconfig
+            mountPath: /opt/vfc/catalog/config/log.yml
+            subPath: log.yml
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logconfig
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-vfc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-catalog/templates/service.yaml b/kubernetes/vfc/charts/vfc-catalog/templates/service.yaml
new file mode 100644 (file)
index 0000000..7d3390e
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "catalog",
+          "version": "v1",
+          "url": "/api/catalog/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-catalog/values.yaml b/kubernetes/vfc/charts/vfc-catalog/values.yaml
new file mode 100644 (file)
index 0000000..fe84a68
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/catalog:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-catalog
+  externalPort: 8806
+  internalPort: 8806
+#  nodePort: 30806
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-ems-driver/.helmignore b/kubernetes/vfc/charts/vfc-ems-driver/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-ems-driver/Chart.yaml b/kubernetes/vfc/charts/vfc-ems-driver/Chart.yaml
new file mode 100644 (file)
index 0000000..1bd751f
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - EMS Driver
+name: vfc-ems-driver
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-ems-driver/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-ems-driver/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..ba33ec5
--- /dev/null
@@ -0,0 +1,83 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-ems-driver/templates/service.yaml b/kubernetes/vfc/charts/vfc-ems-driver/templates/service.yaml
new file mode 100644 (file)
index 0000000..16eee99
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "emsdriver",
+          "version": "v1",
+          "url": "/api/emsdriver/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-ems-driver/values.yaml b/kubernetes/vfc/charts/vfc-ems-driver/values.yaml
new file mode 100644 (file)
index 0000000..d73a72b
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/emsdriver:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-ems-driver
+  externalPort: 8206
+  internalPort: 8206
+#  nodePort: 30296
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-generic-vnfm-driver/.helmignore b/kubernetes/vfc/charts/vfc-generic-vnfm-driver/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-generic-vnfm-driver/Chart.yaml b/kubernetes/vfc/charts/vfc-generic-vnfm-driver/Chart.yaml
new file mode 100644 (file)
index 0000000..c472770
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - Generic VNFM Driver
+name: vfc-generic-vnfm-driver
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-generic-vnfm-driver/resources/config/logging/log.yml b/kubernetes/vfc/charts/vfc-generic-vnfm-driver/resources/config/logging/log.yml
new file mode 100644 (file)
index 0000000..123bb29
--- /dev/null
@@ -0,0 +1,50 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+    driver:
+        handlers: [gvnfmdriverlocal_handler, gvnfmdriver_handler]
+        level: "DEBUG"
+        propagate: False
+    django:
+        handlers: [django_handler]
+        level: "DEBUG"
+        propagate: False
+handlers:
+    gvnfmdriverlocal_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/runtime_gvnfmdriver.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+    gvnfmdriver_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "/var/log/onap/vfc/gvnfmdriver/runtime_gvnfmdriver.log"
+        formatter:
+            "mdcFormat"
+        maxBytes: 52428800
+        backupCount: 10
+    django_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/django.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+formatters:
+    standard:
+        format:
+            "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+    mdcFormat:
+        format:
+            "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+        mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+        datefmt: "%Y-%m-%d %H:%M:%S"
+        (): onaplogging.mdcformatter.MDCFormatter
diff --git a/kubernetes/vfc/charts/vfc-generic-vnfm-driver/templates/configmap.yaml b/kubernetes/vfc/charts/vfc-generic-vnfm-driver/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-generic-vnfm-driver/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-generic-vnfm-driver/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..825bdce
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logconfig
+            mountPath: /opt/vfc/gvnfmdriver/config/log.yml
+            subPath: log.yml
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logconfig
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-vfc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-generic-vnfm-driver/templates/service.yaml b/kubernetes/vfc/charts/vfc-generic-vnfm-driver/templates/service.yaml
new file mode 100644 (file)
index 0000000..0e2f1a1
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "gvnfmdriver",
+          "version": "v1",
+          "url": "/api/gvnfmdriver/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-generic-vnfm-driver/values.yaml b/kubernetes/vfc/charts/vfc-generic-vnfm-driver/values.yaml
new file mode 100644 (file)
index 0000000..48b039c
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/gvnfmdriver:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-generic-vnfm-driver
+  externalPort: 8484
+  internalPort: 8484
+#  nodePort: 30484
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/.helmignore b/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/Chart.yaml b/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/Chart.yaml
new file mode 100644 (file)
index 0000000..550401c
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - Huawei VNFM Driver
+name: vfc-huawei-vnfm-driver
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/resources/config/logging/log4j.properties b/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/resources/config/logging/log4j.properties
new file mode 100644 (file)
index 0000000..635bcc5
--- /dev/null
@@ -0,0 +1,29 @@
+###############################################################################
+# Copyright 2016, Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###############################################################################
+log4j.rootLogger=INFO,root
+log4j.appender.root.Append=true
+
+#Log Directory
+logDir=/var/log/onap
+componentName=vfc
+subComponentName=huaweivnfmdriver
+log4j.appender.root.File=${logDir}/${componentName}/${subComponentName}/vnfmadapterservice.log
+
+log4j.appender.root.layout.ConversionPattern=%d %-5p [%t][%X{moduleID}][%C %L] %m%n
+log4j.appender.root.layout=org.apache.log4j.PatternLayout
+log4j.appender.root.MaxBackupIndex=50
+log4j.appender.root.MaxFileSize=20MB
+log4j.appender.root=org.apache.log4j.RollingFileAppender
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/templates/configmap.yaml b/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..eed1906
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logconfig
+            mountPath: /opt/vfc/hwvnfmdriver/config/log4j.properties
+            subPath: log4j.properties
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logconfig
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-vfc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/templates/service.yaml b/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/templates/service.yaml
new file mode 100644 (file)
index 0000000..60bad3e
--- /dev/null
@@ -0,0 +1,58 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "huaweivnfmdriver",
+          "version": "v1",
+          "url": "/api/huaweivnfmdriver/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+  {{if eq .Values.service.type "NodePort" -}}
+  - name: {{ .Values.service.name }}
+    port: {{ .Values.service.internalPort }}
+    targetPort: {{ .Values.service.internalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+  - name: {{ .Values.service.name }}2
+    port: {{ .Values.service.internalPort2 }}
+    targetPort: {{ .Values.service.internalPort2 }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+  {{- else -}}
+  - port: {{ .Values.service.externalPort }}
+    targetPort: {{ .Values.service.internalPort }}
+    name: {{ .Values.service.name }}
+  - port: {{ .Values.service.externalPort2 }}
+    targetPort: {{ .Values.service.internalPort2 }}
+    name: {{ .Values.service.name }}2
+  {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/values.yaml b/kubernetes/vfc/charts/vfc-huawei-vnfm-driver/values.yaml
new file mode 100644 (file)
index 0000000..3b3f1c6
--- /dev/null
@@ -0,0 +1,88 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/nfvo/svnfm/huawei:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-huawei-vnfm-driver
+  externalPort: 8482
+  internalPort: 8482
+  externalPort2: 8483
+  internalPort2: 8483
+#  nodePort: 30482
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-juju-vnfm-driver/.helmignore b/kubernetes/vfc/charts/vfc-juju-vnfm-driver/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-juju-vnfm-driver/Chart.yaml b/kubernetes/vfc/charts/vfc-juju-vnfm-driver/Chart.yaml
new file mode 100644 (file)
index 0000000..d0d7407
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - Juju VNFM Driver
+name: vfc-juju-vnfm-driver
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-juju-vnfm-driver/resources/config/logging/log4j.properties b/kubernetes/vfc/charts/vfc-juju-vnfm-driver/resources/config/logging/log4j.properties
new file mode 100644 (file)
index 0000000..6c1dab2
--- /dev/null
@@ -0,0 +1,34 @@
+###############################################################################
+# Copyright 2016 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###############################################################################
+log4j.rootLogger=INFO,root
+log4j.logger.org.openo.nfvo=DEBUG,stdout
+log4j.appender.root.Append=true
+
+#Log Directory
+logDir=/var/log/onap
+componentName=vfc
+subComponentName=jujudriver
+log4j.appender.root.File=${logDir}/${componentName}/${subComponentName}/jujuvnfmadapterservice.log
+
+log4j.appender.root.layout.ConversionPattern=%d %-5p [%t][%X{moduleID}][%C %L] %m%n
+log4j.appender.root.layout=org.apache.log4j.PatternLayout
+log4j.appender.root.MaxBackupIndex=50
+log4j.appender.root.MaxFileSize=20MB
+log4j.appender.root=org.apache.log4j.RollingFileAppender
+
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%t][%X{moduleID}][%C %L] %m%n
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-juju-vnfm-driver/templates/configmap.yaml b/kubernetes/vfc/charts/vfc-juju-vnfm-driver/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-juju-vnfm-driver/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-juju-vnfm-driver/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..1d1a5d7
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName}}:{{ .Values.global.config.msbPort }}"
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logconfig
+            mountPath: /opt/vfc/jujudriver/config/log4j.properties
+            subPath: log4j.properties
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logconfig
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-vfc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-juju-vnfm-driver/templates/service.yaml b/kubernetes/vfc/charts/vfc-juju-vnfm-driver/templates/service.yaml
new file mode 100644 (file)
index 0000000..3376ea9
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "jujuvnfmdriver",
+          "version": "v1",
+          "url": "/api/jujuvnfmdriver/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-juju-vnfm-driver/values.yaml b/kubernetes/vfc/charts/vfc-juju-vnfm-driver/values.yaml
new file mode 100644 (file)
index 0000000..edcce95
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/jujudriver:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-juju-vnfm-driver
+  externalPort: 8483
+  internalPort: 8483
+#  nodePort: 30483
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-multivim-proxy/.helmignore b/kubernetes/vfc/charts/vfc-multivim-proxy/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-multivim-proxy/Chart.yaml b/kubernetes/vfc/charts/vfc-multivim-proxy/Chart.yaml
new file mode 100644 (file)
index 0000000..3ceafe9
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - MultiVIM Proxy
+name: vfc-multivim-proxy
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-multivim-proxy/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-multivim-proxy/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..ba33ec5
--- /dev/null
@@ -0,0 +1,83 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-multivim-proxy/templates/service.yaml b/kubernetes/vfc/charts/vfc-multivim-proxy/templates/service.yaml
new file mode 100644 (file)
index 0000000..268cf0c
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "multivimproxy",
+          "version": "v1",
+          "url": "/api/multivimproxy/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-multivim-proxy/values.yaml b/kubernetes/vfc/charts/vfc-multivim-proxy/values.yaml
new file mode 100644 (file)
index 0000000..943b051
--- /dev/null
@@ -0,0 +1,85 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/multivimproxy:1.0.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-multivim-proxy
+  externalPort: 8481
+  internalPort: 8481
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/.helmignore b/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/Chart.yaml b/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/Chart.yaml
new file mode 100644 (file)
index 0000000..dbed709
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - Nokia V2VNFM Driver
+name: vfc-nokia-v2vnfm-driver
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..ba33ec5
--- /dev/null
@@ -0,0 +1,83 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/templates/service.yaml b/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/templates/service.yaml
new file mode 100644 (file)
index 0000000..b722e24
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "NokiaSVNFM",
+          "version": "v1",
+          "url": "/api/NokiaSVNFM/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/values.yaml b/kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/values.yaml
new file mode 100644 (file)
index 0000000..e6fe78b
--- /dev/null
@@ -0,0 +1,87 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/nfvo/svnfm/nokiav2:1.1.0-STAGING-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+# Example:
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-nokia-v2vnfm-driver
+  externalPort: 8089
+  internalPort: 8089
+#  nodePort: 13
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/.helmignore b/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/Chart.yaml b/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/Chart.yaml
new file mode 100644 (file)
index 0000000..eb3a6ce
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - Nokia VNFM Driver
+name: vfc-nokia-vnfm-driver
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/resources/config/logging/logback.xml b/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/resources/config/logging/logback.xml
new file mode 100644 (file)
index 0000000..747c6b6
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
+    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+    </appender>
+    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>/var/log/onap/vfc/svnfm/nokiavnfmdriver.log</file>
+      <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <fileNamePattern>/var/log/onap/vfc/svnfm/nokiavnfmdriver.%i.log.zip
+      </fileNamePattern>
+      <minIndex>1</minIndex>
+      <maxIndex>9</maxIndex>
+    </rollingPolicy>
+        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+            <maxFileSize>10MB</maxFileSize>
+        </triggeringPolicy>
+        <encoder>
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %X{req.method} %X{req.remoteHost} %X{req.requestURI} [%t] %-5level %logger{50} %line - %m%n</pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+    </appender>
+    <root level="INFO">
+        <appender-ref ref="CONSOLE"></appender-ref>
+        <appender-ref ref="FILE"></appender-ref>
+    </root>
+</configuration>
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/templates/configmap.yaml b/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..9c4437e
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logback
+            mountPath: /opt/vfc/nokiavnfmdriver/config/logback.xml
+            subPath: logback.xml
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logback
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-vfc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/templates/service.yaml b/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/templates/service.yaml
new file mode 100644 (file)
index 0000000..e55b1b2
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "nokiavnfmdriver",
+          "version": "v1",
+          "url": "/api/nokiavnfmdriver/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/values.yaml b/kubernetes/vfc/charts/vfc-nokia-vnfm-driver/values.yaml
new file mode 100644 (file)
index 0000000..4fccdb2
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/nfvo/svnfm/nokia:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-nokia-vnfm-driver
+  externalPort: 8486
+  internalPort: 8486
+#  nodePort: 12
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-nslcm/.helmignore b/kubernetes/vfc/charts/vfc-nslcm/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-nslcm/Chart.yaml b/kubernetes/vfc/charts/vfc-nslcm/Chart.yaml
new file mode 100644 (file)
index 0000000..3628573
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - NS Life Cycle Management
+name: vfc-nslcm
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-nslcm/resources/config/logging/log.yml b/kubernetes/vfc/charts/vfc-nslcm/resources/config/logging/log.yml
new file mode 100644 (file)
index 0000000..4ae7ab1
--- /dev/null
@@ -0,0 +1,50 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+    nslcm:
+        handlers: [nslcmlocal_handler, nslcm_handler]
+        level: "DEBUG"
+        propagate: False
+    django:
+        handlers: [django_handler]
+        level: "DEBUG"
+        propagate: False
+handlers:
+    nslcmlocal_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/runtime_nslcm.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+    nslcm_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "/var/log/onap/vfc/nslcm/runtime_nslcm.log"
+        formatter:
+            "mdcFormat"
+        maxBytes: 52428800
+        backupCount: 10
+    django_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/django.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+formatters:
+    standard:
+        format:
+            "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+    mdcFormat:
+        format:
+            "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+        mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+        datefmt: "%Y-%m-%d %H:%M:%S"
+        (): onaplogging.mdcformatter.MDCFormatter
diff --git a/kubernetes/vfc/charts/vfc-nslcm/templates/configmap.yaml b/kubernetes/vfc/charts/vfc-nslcm/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-nslcm/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-nslcm/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..b2481c8
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logconfig
+            mountPath: /opt/vfc/nslcm/config/log.yml
+            subPath: log.yml
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logconfig
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-vfc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-nslcm/templates/service.yaml b/kubernetes/vfc/charts/vfc-nslcm/templates/service.yaml
new file mode 100644 (file)
index 0000000..c854684
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "nslcm",
+          "version": "v1",
+          "url": "/api/nslcm/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-nslcm/values.yaml b/kubernetes/vfc/charts/vfc-nslcm/values.yaml
new file mode 100644 (file)
index 0000000..a14b06e
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/nslcm:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-nslcm
+  externalPort: 8403
+  internalPort: 8403
+#  nodePort: 30403
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-resmgr/.helmignore b/kubernetes/vfc/charts/vfc-resmgr/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-resmgr/Chart.yaml b/kubernetes/vfc/charts/vfc-resmgr/Chart.yaml
new file mode 100644 (file)
index 0000000..604c6b6
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - Resource Manager
+name: vfc-resmgr
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-resmgr/resources/config/logging/log4j.properties b/kubernetes/vfc/charts/vfc-resmgr/resources/config/logging/log4j.properties
new file mode 100644 (file)
index 0000000..cde79b7
--- /dev/null
@@ -0,0 +1,29 @@
+###############################################################################
+# Copyright 2016, Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###############################################################################
+log4j.rootLogger=INFO,root
+log4j.appender.root.Append=true
+
+#Log Directory
+logDir=/var/log/onap
+componentName=vfc
+subComponentName=resmanagement
+log4j.appender.root.File=${logDir}/${componentName}/${subComponentName}/resmanagement.log
+
+log4j.appender.root.layout.ConversionPattern=%d %-5p [%t][%X{moduleID}][%C %L] %m%n
+log4j.appender.root.layout=org.apache.log4j.PatternLayout
+log4j.appender.root.MaxBackupIndex=50
+log4j.appender.root.MaxFileSize=20MB
+log4j.appender.root=org.apache.log4j.RollingFileAppender
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-resmgr/templates/configmap.yaml b/kubernetes/vfc/charts/vfc-resmgr/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-resmgr/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-resmgr/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..27d5fcd
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logconfig
+            mountPath: /opt/vfc/resmgr/config/log4j.properties
+            subPath: log4j.properties
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logconfig
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-vfc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-resmgr/templates/service.yaml b/kubernetes/vfc/charts/vfc-resmgr/templates/service.yaml
new file mode 100644 (file)
index 0000000..993d478
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "resmgr",
+          "version": "v1",
+          "url": "/api/resmgr/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-resmgr/values.yaml b/kubernetes/vfc/charts/vfc-resmgr/values.yaml
new file mode 100644 (file)
index 0000000..c128cb0
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/resmanagement:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-resmgr
+  externalPort: 8480
+  internalPort: 8480
+#  nodePort: 30480
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-vnflcm/.helmignore b/kubernetes/vfc/charts/vfc-vnflcm/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-vnflcm/Chart.yaml b/kubernetes/vfc/charts/vfc-vnflcm/Chart.yaml
new file mode 100644 (file)
index 0000000..507d4e6
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - VNF Life Cycle Management
+name: vfc-vnflcm
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-vnflcm/resources/config/logging/log.yml b/kubernetes/vfc/charts/vfc-vnflcm/resources/config/logging/log.yml
new file mode 100644 (file)
index 0000000..4af8faa
--- /dev/null
@@ -0,0 +1,50 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+    mgr:
+        handlers: [vnfmgrlocal_handler, vnfmgr_handler]
+        level: "DEBUG"
+        propagate: False
+    django:
+        handlers: [django_handler]
+        level: "DEBUG"
+        propagate: False
+handlers:
+    vnfmgrlocal_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/runtime_mgr.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+    vnfmgr_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "/var/log/onap/vfc/gvnfm-vnfmgr/runtime_mgr.log"
+        formatter:
+            "mdcFormat"
+        maxBytes: 52428800
+        backupCount: 10
+    django_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/django.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+formatters:
+    standard:
+        format:
+            "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+    mdcFormat:
+        format:
+            "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+        mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+        datefmt: "%Y-%m-%d %H:%M:%S"
+        (): onaplogging.mdcformatter.MDCFormatter
diff --git a/kubernetes/vfc/charts/vfc-vnflcm/templates/configmap.yaml b/kubernetes/vfc/charts/vfc-vnflcm/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-vnflcm/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-vnflcm/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..ccea328
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logconfig
+            mountPath: /opt/vfc/gvnfm-vnflcm/config/log.yml
+            subPath: log.yml
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logconfig
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-vfc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-vnflcm/templates/service.yaml b/kubernetes/vfc/charts/vfc-vnflcm/templates/service.yaml
new file mode 100644 (file)
index 0000000..ad4f716
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "vnflcm",
+          "version": "v1",
+          "url": "/api/vnflcm/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-vnflcm/values.yaml b/kubernetes/vfc/charts/vfc-vnflcm/values.yaml
new file mode 100644 (file)
index 0000000..a3f35d4
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/vnflcm:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-vnflcm
+  externalPort: 8801
+  internalPort: 8801
+#  nodePort: 30801
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-vnfmgr/.helmignore b/kubernetes/vfc/charts/vfc-vnfmgr/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-vnfmgr/Chart.yaml b/kubernetes/vfc/charts/vfc-vnfmgr/Chart.yaml
new file mode 100644 (file)
index 0000000..b70e11c
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - VNF Manager
+name: vfc-vnfmgr
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-vnfmgr/resources/config/logging/log.yml b/kubernetes/vfc/charts/vfc-vnfmgr/resources/config/logging/log.yml
new file mode 100644 (file)
index 0000000..4af8faa
--- /dev/null
@@ -0,0 +1,50 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+    mgr:
+        handlers: [vnfmgrlocal_handler, vnfmgr_handler]
+        level: "DEBUG"
+        propagate: False
+    django:
+        handlers: [django_handler]
+        level: "DEBUG"
+        propagate: False
+handlers:
+    vnfmgrlocal_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/runtime_mgr.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+    vnfmgr_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "/var/log/onap/vfc/gvnfm-vnfmgr/runtime_mgr.log"
+        formatter:
+            "mdcFormat"
+        maxBytes: 52428800
+        backupCount: 10
+    django_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/django.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+formatters:
+    standard:
+        format:
+            "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+    mdcFormat:
+        format:
+            "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+        mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+        datefmt: "%Y-%m-%d %H:%M:%S"
+        (): onaplogging.mdcformatter.MDCFormatter
diff --git a/kubernetes/vfc/charts/vfc-vnfmgr/templates/configmap.yaml b/kubernetes/vfc/charts/vfc-vnfmgr/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-vnfmgr/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-vnfmgr/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..9d31443
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logconfig
+            mountPath: /opt/vfc/gvnfm-vnfmgr/config/log.yml
+            subPath: log.yml
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logconfig
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-vfc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-vnfmgr/templates/service.yaml b/kubernetes/vfc/charts/vfc-vnfmgr/templates/service.yaml
new file mode 100644 (file)
index 0000000..df6ca31
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "vnfmgr",
+          "version": "v1",
+          "url": "/api/vnfmgr/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-vnfmgr/values.yaml b/kubernetes/vfc/charts/vfc-vnfmgr/values.yaml
new file mode 100644 (file)
index 0000000..96e6b0d
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/vnfmgr:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-vnfmgr
+  externalPort: 8803
+  internalPort: 8803
+#  nodePort: 30803
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-vnfres/.helmignore b/kubernetes/vfc/charts/vfc-vnfres/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-vnfres/Chart.yaml b/kubernetes/vfc/charts/vfc-vnfres/Chart.yaml
new file mode 100644 (file)
index 0000000..5fd923b
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - VNF Resource Manager
+name: vfc-vnfres
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-vnfres/resources/config/logging/log.yml b/kubernetes/vfc/charts/vfc-vnfres/resources/config/logging/log.yml
new file mode 100644 (file)
index 0000000..c4cc1e3
--- /dev/null
@@ -0,0 +1,50 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+    lcm:
+        handlers: [vnflcmlocal_handler, vnflcm_handler]
+        level: "DEBUG"
+        propagate: False
+    django:
+        handlers: [django_handler]
+        level: "DEBUG"
+        propagate: False
+handlers:
+    vnflcmlocal_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/runtime_lcm.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+    vnflcm_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "/var/log/onap/vfc/gvnfm-vnflcm/runtime_lcm.log"
+        formatter:
+            "mdcFormat"
+        maxBytes: 52428800
+        backupCount: 10
+    django_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/django.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+formatters:
+    standard:
+        format:
+            "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+    mdcFormat:
+        format:
+            "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+        mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+        datefmt: "%Y-%m-%d %H:%M:%S"
+        (): onaplogging.mdcformatter.MDCFormatter
diff --git a/kubernetes/vfc/charts/vfc-vnfres/templates/configmap.yaml b/kubernetes/vfc/charts/vfc-vnfres/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-vnfres/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-vnfres/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..52e807a
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logconfig
+            mountPath: /opt/vfc/gvnfm-vnfres/config/log.yml
+            subPath: log.yml
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logconfig
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-vfc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-vnfres/templates/service.yaml b/kubernetes/vfc/charts/vfc-vnfres/templates/service.yaml
new file mode 100644 (file)
index 0000000..d3a3dc9
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "vnfres",
+          "version": "v1",
+          "url": "/api/vnfres/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-vnfres/values.yaml b/kubernetes/vfc/charts/vfc-vnfres/values.yaml
new file mode 100644 (file)
index 0000000..3009f5f
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/vnfres:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-vnfres
+  externalPort: 8802
+  internalPort: 8802
+#  nodePort: 30802
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-workflow-engine/.helmignore b/kubernetes/vfc/charts/vfc-workflow-engine/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-workflow-engine/Chart.yaml b/kubernetes/vfc/charts/vfc-workflow-engine/Chart.yaml
new file mode 100644 (file)
index 0000000..913778b
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - Workflow Engine
+name: vfc-workflow-engine
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-workflow-engine/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-workflow-engine/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..adb077a
--- /dev/null
@@ -0,0 +1,91 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: SERVICE_IP
+              valueFrom:
+                fieldRef:
+                  fieldPath: status.podIP
+            - name: SERVICE_PORT
+              value: "{{ .Values.config.workflowPort }}"
+            - name: OPENPALETTE_MSB_IP
+              value: "{{ .Values.global.config.msbServiceName }}"
+            - name: OPENPALETTE_MSB_PORT
+              value: "{{ .Values.global.config.msbPort | default 80 }}"
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-workflow-engine/templates/service.yaml b/kubernetes/vfc/charts/vfc-workflow-engine/templates/service.yaml
new file mode 100644 (file)
index 0000000..392cb13
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "workflow",
+          "version": "v1",
+          "url": "/activiti-rest",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-workflow-engine/values.yaml b/kubernetes/vfc/charts/vfc-workflow-engine/values.yaml
new file mode 100644 (file)
index 0000000..876547c
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/wfengine-activiti:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-workflow-engine
+  externalPort: 8080
+  internalPort: 8080
+#  nodePort: 30807
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-workflow/.helmignore b/kubernetes/vfc/charts/vfc-workflow/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-workflow/Chart.yaml b/kubernetes/vfc/charts/vfc-workflow/Chart.yaml
new file mode 100644 (file)
index 0000000..a711c50
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - Workflow
+name: vfc-workflow
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-workflow/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-workflow/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..e2b3d0b
--- /dev/null
@@ -0,0 +1,91 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: SERVICE_IP
+              valueFrom:
+                fieldRef:
+                  fieldPath: status.podIP
+            - name: SERVICE_PORT
+              value: "{{ .Values.service.externalPort }}"
+            - name: OPENPALETTE_MSB_IP
+              value: "{{ .Values.global.config.msbServiceName }}"
+            - name: OPENPALETTE_MSB_PORT
+              value: "{{ .Values.global.config.msbPort | default 80 }}"
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-workflow/templates/service.yaml b/kubernetes/vfc/charts/vfc-workflow/templates/service.yaml
new file mode 100644 (file)
index 0000000..73e2c2c
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "workflow",
+          "version": "v1",
+          "url": "/api/workflow/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-workflow/values.yaml b/kubernetes/vfc/charts/vfc-workflow/values.yaml
new file mode 100644 (file)
index 0000000..028155e
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/wfengine-mgrservice:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-workflow
+  externalPort: 10550
+  internalPort: 10550
+#  nodePort: 30805
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-zte-sdnc-driver/.helmignore b/kubernetes/vfc/charts/vfc-zte-sdnc-driver/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-zte-sdnc-driver/Chart.yaml b/kubernetes/vfc/charts/vfc-zte-sdnc-driver/Chart.yaml
new file mode 100644 (file)
index 0000000..f1d71da
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - ZTE SDNC Driver
+name: vfc-zte-sdnc-driver
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-zte-sdnc-driver/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-zte-sdnc-driver/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..ba33ec5
--- /dev/null
@@ -0,0 +1,83 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-zte-sdnc-driver/templates/service.yaml b/kubernetes/vfc/charts/vfc-zte-sdnc-driver/templates/service.yaml
new file mode 100644 (file)
index 0000000..532f648
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "ztesdncdriver",
+          "version": "v1",
+          "url": "/api/ztesdncdriver/v1",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-zte-sdnc-driver/values.yaml b/kubernetes/vfc/charts/vfc-zte-sdnc-driver/values.yaml
new file mode 100644 (file)
index 0000000..41482bc
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/ztesdncdriver:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-zte-sdnc-driver
+  externalPort: 8411
+  internalPort: 8411
+#  nodePort: 30411
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/charts/vfc-zte-vnfm-driver/.helmignore b/kubernetes/vfc/charts/vfc-zte-vnfm-driver/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vfc/charts/vfc-zte-vnfm-driver/Chart.yaml b/kubernetes/vfc/charts/vfc-zte-vnfm-driver/Chart.yaml
new file mode 100644 (file)
index 0000000..b4e9f84
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP VFC - ZTE VNFM Driver
+name: vfc-zte-vnfm-driver
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-zte-vnfm-driver/resources/config/logging/log.yml b/kubernetes/vfc/charts/vfc-zte-vnfm-driver/resources/config/logging/log.yml
new file mode 100644 (file)
index 0000000..a0bf170
--- /dev/null
@@ -0,0 +1,50 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+    ztevnfmdriver:
+        handlers: [ztevnfmdriverlocal_handler, ztevnfmdriver_handler]
+        level: "DEBUG"
+        propagate: False
+    django:
+        handlers: [django_handler]
+        level: "DEBUG"
+        propagate: False
+handlers:
+    ztevnfmdriverlocal_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/runtime_ztevnfmdriver.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+    ztevnfmdriver_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "/var/log/onap/vfc/ztevnfmdriver/runtime_ztevnfmdriver.log"
+        formatter:
+            "mdcFormat"
+        maxBytes: 52428800
+        backupCount: 10
+    django_handler:
+        level: "DEBUG"
+        class:
+            "logging.handlers.RotatingFileHandler"
+        filename: "logs/django.log"
+        formatter:
+            "standard"
+        maxBytes: 52428800
+        backupCount: 10
+formatters:
+    standard:
+        format:
+            "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+    mdcFormat:
+        format:
+            "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+        mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+        datefmt: "%Y-%m-%d %H:%M:%S"
+        (): onaplogging.mdcformatter.MDCFormatter
diff --git a/kubernetes/vfc/charts/vfc-zte-vnfm-driver/templates/configmap.yaml b/kubernetes/vfc/charts/vfc-zte-vnfm-driver/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-zte-vnfm-driver/templates/deployment.yaml b/kubernetes/vfc/charts/vfc-zte-vnfm-driver/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..7a0f4a1
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+#Example init container for dependency checking
+#      - command:
+#        - /root/ready.py
+#        args:
+#        - --container-name
+#        - mariadb
+#        env:
+#        - name: NAMESPACE
+#          valueFrom:
+#            fieldRef:
+#              apiVersion: v1
+#              fieldPath: metadata.namespace
+#        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+#        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: MSB_ADDR
+              value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logconfig
+            mountPath: /opt/vfc/ztevnfmdriver/config/log.yml
+            subPath: log.yml
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+
+      volumes:
+        - name: {{ include "common.fullname" . }}-localtime
+          hostPath:
+            path: /etc/localtime
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logconfig
+          configMap:
+            name : {{ include "common.fullname" . }}-logging-configmap
+
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-vfc-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vfc/charts/vfc-zte-vnfm-driver/templates/service.yaml b/kubernetes/vfc/charts/vfc-zte-vnfm-driver/templates/service.yaml
new file mode 100644 (file)
index 0000000..7ee5445
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+      {
+          "serviceName": "ztevnfmdriver",
+          "version": "v1",
+          "url": "/api/ztevnfmdriver/v1",
+          "protocol": "REST",
+          "port": "{{ .Values.service.externalPort }}",
+          "visualRange":"1"
+      }
+      ]'
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/vfc/charts/vfc-zte-vnfm-driver/values.yaml b/kubernetes/vfc/charts/vfc-zte-vnfm-driver/values.yaml
new file mode 100644 (file)
index 0000000..79c1627
--- /dev/null
@@ -0,0 +1,85 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/vfc/ztevnfmdriver:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: vfc-zte-vnfm-driver
+  externalPort: 8410
+  internalPort: 8410
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/vfc/requirements.yaml b/kubernetes/vfc/requirements.yaml
new file mode 100644 (file)
index 0000000..1e8f788
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/vfc/resources/config/logging/filebeat/filebeat.yml b/kubernetes/vfc/resources/config/logging/filebeat/filebeat.yml
new file mode 100644 (file)
index 0000000..5967963
--- /dev/null
@@ -0,0 +1,42 @@
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+  #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+  paths:
+    - /var/log/onap/*/*/*/*.log
+    - /var/log/onap/*/*/*.log
+    - /var/log/onap/*/*.log
+  #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+  ignore_older: 48h
+  # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+  clean_inactive: 96h
+
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+  #List of logstash server ip addresses with port number.
+  #But, in our case, this will be the loadbalancer IP address.
+  #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+  #hosts: ["logstash.{{.Values.nsPrefix}}:5044"]
+  hosts: ["{{.Release.Name}}-{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
+  #If enable will do load balancing among availabe Logstash, automatically.
+  loadbalance: true
+
+  #The list of root certificates for server verifications.
+  #If certificate_authorities is empty or not set, the trusted
+  #certificate authorities of the host system are used.
+  #ssl.certificate_authorities: $ssl.certificate_authorities
+
+  #The path to the certificate for SSL client authentication. If the certificate is not specified,
+  #client authentication is not available.
+  #ssl.certificate: $ssl.certificate
+
+  #The client certificate key used for client authentication.
+  #ssl.key: $ssl.key
+
+  #The passphrase used to decrypt an encrypted key stored in the configured key file
+  #ssl.key_passphrase: $ssl.key_passphrase
diff --git a/kubernetes/vfc/templates/all-services.yaml b/kubernetes/vfc/templates/all-services.yaml
deleted file mode 100644 (file)
index 819ecff..0000000
+++ /dev/null
@@ -1,448 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcNslcm }}
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-nslcm
-  name: vfc-nslcm
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "nslcm",
-          "version": "v1",
-          "url": "/api/nslcm/v1",
-          "protocol": "REST",
-          "port": "{{.Values.nslcm.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-nslcm
-    port: {{.Values.nslcm.port}}
-    nodePort: {{.Values.nslcm.nodePort}}
-  selector:
-    app: vfc-nslcm
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcResmgr }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-resmgr
-  name: vfc-resmgr
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "resmgr",
-          "version": "v1",
-          "url": "/api/resmgr/v1",
-          "protocol": "REST",
-          "port": "{{.Values.resmgr.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-resmgr
-    port: {{.Values.resmgr.port}}
-    nodePort: {{.Values.resmgr.nodePort}}
-  selector:
-    app: vfc-resmgr
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcGvnfmdriver }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-gvnfmdriver
-  name: vfc-gvnfmdriver
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "gvnfmdriver",
-          "version": "v1",
-          "url": "/api/gvnfmdriver/v1",
-          "protocol": "REST",
-          "port": "{{.Values.gvnfmdriver.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-gvnfmdriver
-    port: {{.Values.gvnfmdriver.port}}
-    nodePort: {{.Values.gvnfmdriver.nodePort}}
-  selector:
-    app: vfc-gvnfmdriver
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcztevnfmdriver }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-ztevnfmdriver
-  name: vfc-ztevnfmdriver
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "ztevnfmdriver",
-          "version": "v1",
-          "url": "/api/ztevnfmdriver/v1",
-          "protocol": "REST",
-          "port": "{{.Values.ztevnfmdriver.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-ztevnfmdriver
-    port: {{.Values.ztevnfmdriver.port}}
-    nodePort: {{.Values.ztevnfmdriver.nodePort}}
-  selector:
-    app: vfc-ztevnfmdriver
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcNokiavnfmdriver }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-nokiavnfmdriver
-  name: vfc-nokiavnfmdriver
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "nokiavnfmdriver",
-          "version": "v1",
-          "url": "/api/nokiavnfmdriver/v1",
-          "protocol": "REST",
-          "port": "{{.Values.nokiavnfmdriver.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-nokiavnfmdriver
-    port: {{.Values.nokiavnfmdriver.port}}
-    nodePort: {{.Values.nokiavnfmdriver.nodePort}}
-  selector:
-    app: vfc-nokiavnfmdriver
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcHwvnfmdriver }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-hwvnfmdriver
-  name: vfc-hwvnfmdriver
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "huaweivnfmdriver",
-          "version": "v1",
-          "url": "/api/huaweivnfmdriver/v1",
-          "protocol": "REST",
-          "port": "{{.Values.hwvnfmdriver.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-hwvnfmdriver
-    port: {{.Values.hwvnfmdriver.port}}
-    nodePort: {{.Values.hwvnfmdriver.nodePort}}
-  selector:
-    app: vfc-hwvnfmdriver
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcZtesdncdriver }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-ztesdncdriver
-  name: vfc-ztesdncdriver
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "ztesdncdriver",
-          "version": "v1",
-          "url": "/api/ztesdncdriver/v1",
-          "protocol": "REST",
-          "port": "{{.Values.ztesdncdriver.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-ztesdncdriver
-    port: {{.Values.ztesdncdriver.port}}
-    nodePort: {{.Values.ztesdncdriver.nodePort}}
-  selector:
-    app: vfc-ztesdncdriver
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcJujudriver }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-jujudriver
-  name: vfc-jujudriver
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "jujuvnfmdriver",
-          "version": "v1",
-          "url": "/api/jujuvnfmdriver/v1",
-          "protocol": "REST",
-          "port": "{{.Values.jujudriver.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-jujudriver
-    port: {{.Values.jujudriver.port}}
-    nodePort: {{.Values.jujudriver.nodePort}}
-  selector:
-    app: vfc-jujudriver
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcVnflcm }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-vnflcm
-  name: vfc-vnflcm
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "vnflcm",
-          "version": "v1",
-          "url": "/api/vnflcm/v1",
-          "protocol": "REST",
-          "port": "{{.Values.vnflcm.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-vnflcm
-    port: {{.Values.vnflcm.port}}
-    nodePort: {{.Values.vnflcm.nodePort}}
-  selector:
-    app: vfc-vnflcm
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcVnfres }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-vnfres
-  name: vfc-vnfres
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "vnfres",
-          "version": "v1",
-          "url": "/api/vnfres/v1",
-          "protocol": "REST",
-          "port": "{{.Values.vnfres.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-vnfres
-    port: {{.Values.vnfres.port}}
-    nodePort: {{.Values.vnfres.nodePort}}
-  selector:
-    app: vfc-vnfres
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcVnfmgr }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-vnfmgr
-  name: vfc-vnfmgr
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "vnfmgr",
-          "version": "v1",
-          "url": "/api/vnfmgr/v1",
-          "protocol": "REST",
-          "port": "{{.Values.vnfmgr.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-vnfmgr
-    port: {{.Values.vnfmgr.port}}
-    nodePort: {{.Values.vnfmgr.nodePort}}
-  selector:
-    app: vfc-vnfmgr
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcEmsdriver }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-emsdriver
-  name: vfc-emsdriver
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "emsdriver",
-          "version": "v1",
-          "url": "/api/emsdriver/v1",
-          "protocol": "REST",
-          "port": "{{.Values.emsdriver.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-emsdriver
-    port: {{.Values.emsdriver.port}}
-    nodePort: {{.Values.emsdriver.nodePort}}
-  selector:
-    app: vfc-emsdriver
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcWorkflow }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-workflow
-  name: vfc-workflow
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "workflow",
-          "version": "v1",
-          "url": "/api/workflow/v1",
-          "protocol": "REST",
-          "port": "{{.Values.workflow.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-workflow
-    port: {{.Values.workflow.port}}
-    nodePort: {{.Values.workflow.nodePort}}
-  selector:
-    app: vfc-workflow
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcWorkflowEngineActiviti }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-workflowengineactiviti
-  name: vfc-workflowengineactiviti
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "workflow",
-          "version": "v1",
-          "url": "/activiti-rest",
-          "protocol": "REST",
-          "port": "{{.Values.workflowengineactiviti.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-workflow
-    port: {{.Values.workflowengineactiviti.port}}
-    nodePort: {{.Values.workflowengineactiviti.nodePort}}
-  selector:
-    app: vfc-workflow
-  type: NodePort
-#{{ end }}
-#{{ if not .Values.disableVfcVfcCatalog }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  labels:
-    app: vfc-catalog
-  name: vfc-catalog
-  namespace: "{{ .Values.nsPrefix }}"
-  annotations:
-    msb.onap.org/service-info: '[
-      {
-          "serviceName": "catalog",
-          "version": "v1",
-          "url": "/api/catalog/v1",
-          "protocol": "REST",
-          "port": "{{.Values.catalog.port}}",
-          "visualRange":"1"
-      }
-      ]'
-spec:
-  ports:
-  - name: vfc-catalog
-    port: {{.Values.catalog.port}}
-    nodePort: {{.Values.catalog.nodePort}}
-  selector:
-    app: vfc-catalog
-  type: NodePort
-#{{ end }}
\ No newline at end of file
diff --git a/kubernetes/vfc/templates/configmap.yaml b/kubernetes/vfc/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..f72ff13
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ .Release.Name }}-vfc-filebeat-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/filebeat/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/vfc/templates/vfc-catalog-deployment.yaml b/kubernetes/vfc/templates/vfc-catalog-deployment.yaml
deleted file mode 100644 (file)
index af40cbc..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcCatalog }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-catalog
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.catalog.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-catalog
-  template:
-    metadata:
-      labels:
-        app: vfc-catalog
-      name: vfc-catalog
-    spec:
-      hostname: vfc-catalog
-      containers:
-      - args:
-        image:  {{.Values.catalog.image}}
-        name: "vfc-catalog"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.catalog.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.catalog.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-emsdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-emsdriver-deployment.yaml
deleted file mode 100644 (file)
index adfa3be..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcEmsdriver }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-emsdriver
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.emsdriver.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-emsdriver
-  template:
-    metadata:
-      labels:
-        app: vfc-emsdriver
-      name: vfc-emsdriver
-    spec:
-      hostname: vfc-emsdriver
-      containers:
-      - args:
-        image:  {{.Values.emsdriver.image}}
-        name: "vfc-emsdriver"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.emsdriver.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.emsdriver.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-gvnfmdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-gvnfmdriver-deployment.yaml
deleted file mode 100644 (file)
index 5252c5e..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcGvnfmdriver }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-gvnfmdriver
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.gvnfmdriver.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-gvnfmdriver
-  template:
-    metadata:
-      labels:
-        app: vfc-gvnfmdriver
-      name: vfc-gvnfmdriver
-    spec:
-      hostname: vfc-gvnfmdriver
-      containers:
-      - args:
-        image:  {{.Values.gvnfmdriver.image}}
-        name: "vfc-gvnfmdriver"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.gvnfmdriver.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.gvnfmdriver.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-hwvnfmdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-hwvnfmdriver-deployment.yaml
deleted file mode 100644 (file)
index 9725f72..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcHwvnfmdriver }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-hwvnfmdriver
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.hwvnfmdriver.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-hwvnfmdriver
-  template:
-    metadata:
-      labels:
-        app: vfc-hwvnfmdriver
-      name: vfc-hwvnfmdriver
-    spec:
-      hostname: vfc-hwvnfmdriver
-      containers:
-      - args:
-        image:  {{.Values.hwvnfmdriver.image}}
-        name: "vfc-hwvnfmdriver"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.hwvnfmdriver.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.hwvnfmdriver.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-jujudriver-deployment.yaml b/kubernetes/vfc/templates/vfc-jujudriver-deployment.yaml
deleted file mode 100644 (file)
index ea1a42d..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcJujudriver }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-jujudriver
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.jujudriver.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-jujudriver
-  template:
-    metadata:
-      labels:
-        app: vfc-jujudriver
-      name: vfc-jujudriver
-    spec:
-      hostname: vfc-jujudriver
-      containers:
-      - args:
-        image:  {{.Values.jujudriver.image}}
-        name: "vfc-jujudriver"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.jujudriver.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.jujudriver.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-nokiavnfmdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-nokiavnfmdriver-deployment.yaml
deleted file mode 100644 (file)
index 843090c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcNokiaVnfmDriver }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-nokiavnfmdriver
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.nokiavnfmdriver.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-nokiavnfmdriver
-  template:
-    metadata:
-      labels:
-        app: vfc-nokiavnfmdriver
-      name: vfc-nokiavnfmdriver
-    spec:
-      hostname: vfc-nokiavnfmdriver
-      containers:
-      - args:
-        image:  {{.Values.nokiavnfmdriver.image}}
-        name: "vfc-nokiavnfmdriver"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.nokiavnfmdriver.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.nokiavnfmdriver.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-nslcm-deployment.yaml b/kubernetes/vfc/templates/vfc-nslcm-deployment.yaml
deleted file mode 100644 (file)
index 88d5cb6..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcNslcm }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-nslcm
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.nslcm.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-nslcm
-  template:
-    metadata:
-      labels:
-        app: vfc-nslcm
-      name: vfc-nslcm
-    spec:
-      hostname: vfc-nslcm
-      containers:
-      - args:
-        image:  {{.Values.nslcm.image}}
-        name: "vfc-nslcm"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.nslcm.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.nslcm.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-resmgr-deployment.yaml b/kubernetes/vfc/templates/vfc-resmgr-deployment.yaml
deleted file mode 100644 (file)
index 71167d1..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcResmgr }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-resmgr
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.resmgr.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-resmgr
-  template:
-    metadata:
-      labels:
-        app: vfc-resmgr
-      name: vfc-resmgr
-    spec:
-      hostname: vfc-resmgr
-      containers:
-      - args:
-        image:  {{.Values.resmgr.image}}
-        name: "vfc-resmgr"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.resmgr.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.resmgr.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-vnflcm-deployment.yaml b/kubernetes/vfc/templates/vfc-vnflcm-deployment.yaml
deleted file mode 100644 (file)
index c5a3893..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcVnflcm }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-vnflcm
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.vnflcm.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-vnflcm
-  template:
-    metadata:
-      labels:
-        app: vfc-vnflcm
-      name: vfc-vnflcm
-    spec:
-      hostname: vfc-vnflcm
-      containers:
-      - args:
-        image:  {{.Values.vnflcm.image}}
-        name: "vfc-vnflcm"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.vnflcm.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.vnflcm.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-vnfmgr-deployment.yaml b/kubernetes/vfc/templates/vfc-vnfmgr-deployment.yaml
deleted file mode 100644 (file)
index 240bc74..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcVnfmgr }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-vnfmgr
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.vnfmgr.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-vnfmgr
-  template:
-    metadata:
-      labels:
-        app: vfc-vnfmgr
-      name: vfc-vnfmgr
-    spec:
-      hostname: vfc-vnfmgr
-      containers:
-      - args:
-        image:  {{.Values.vnfmgr.image}}
-        name: "vfc-vnfmgr"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.vnfmgr.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.vnfmgr.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-vnfres-deployment.yaml b/kubernetes/vfc/templates/vfc-vnfres-deployment.yaml
deleted file mode 100644 (file)
index ea394f3..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcVnfres }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-vnfres
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.vnfres.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-vnfres
-  template:
-    metadata:
-      labels:
-        app: vfc-vnfres
-      name: vfc-vnfres
-    spec:
-      hostname: vfc-vnfres
-      containers:
-      - args:
-        image:  {{.Values.vnfres.image}}
-        name: "vfc-vnfres"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.vnfres.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.vnfres.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-workflow-deployment.yaml b/kubernetes/vfc/templates/vfc-workflow-deployment.yaml
deleted file mode 100644 (file)
index d6aee58..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcWorkflow }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-workflow
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.workflow.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-workflow
-  template:
-    metadata:
-      labels:
-        app: vfc-workflow
-      name: vfc-workflow
-    spec:
-      hostname: vfc-workflow
-      containers:
-      - args:
-        image:  {{.Values.workflow.image}}
-        name: "vfc-workflow"
-        env:
-        - name: SERVICE_IP
-          valueFrom:
-            fieldRef:
-              fieldPath: status.podIP
-        - name: SERVICE_PORT
-          value: "{{ .Values.workflow.port }}"
-        - name: OPENPALETTE_MSB_IP
-          value: msb-iag.{{ .Values.nsPrefix }}
-        - name: OPENPALETTE_MSB_PORT
-          value: "80"
-        ports:
-        - containerPort: {{ .Values.workflow.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.workflow.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-workflow-engine-activity.yaml b/kubernetes/vfc/templates/vfc-workflow-engine-activity.yaml
deleted file mode 100644 (file)
index 7db0122..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcWorkflowEngineActiviti }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-workflowengineactiviti
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.workflowengineactiviti.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-workflowengineactiviti
-  template:
-    metadata:
-      labels:
-        app: vfc-workflowengineactiviti
-      name: vfc-workflowengineactiviti
-    spec:
-      hostname: vfc-workflowengineactiviti
-      containers:
-      - args:
-        image:  {{.Values.workflowengineactiviti.image}}
-        name: "vfc-workflowengineactiviti"
-        env:
-        - name: SERVICE_IP
-          valueFrom:
-            fieldRef:
-              fieldPath: status.podIP
-        - name: SERVICE_PORT
-          value: "{{ .Values.workflow.port }}"
-        - name: OPENPALETTE_MSB_IP
-          value: msb-iag.{{ .Values.nsPrefix }}
-        - name: OPENPALETTE_MSB_PORT
-          value: "80"
-        ports:
-        - containerPort: {{ .Values.workflowengineactiviti.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.workflowengineactiviti.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-ztesdncdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-ztesdncdriver-deployment.yaml
deleted file mode 100644 (file)
index 79e427f..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcZtesdncdriver }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-ztesdncdriver
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.ztesdncdriver.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-ztesdncdriver
-  template:
-    metadata:
-      labels:
-        app: vfc-ztesdncdriver
-      name: vfc-ztesdncdriver
-    spec:
-      hostname: vfc-ztesdncdriver
-      containers:
-      - args:
-        image:  {{.Values.ztesdncdriver.image}}
-        name: "vfc-ztesdncdriver"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.ztesdncdriver.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.ztesdncdriver.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml
deleted file mode 100644 (file)
index 4874970..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableVfcVfcztevnfmdriver }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: vfc-ztevnfmdriver
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  replicas: {{ .Values.ztevnfmdriver.replicas }}
-  selector:
-    matchLabels:
-      app: vfc-ztevnfmdriver
-  template:
-    metadata:
-      labels:
-        app: vfc-ztevnfmdriver
-      name: vfc-ztevnfmdriver
-    spec:
-      hostname: vfc-ztevnfmdriver
-      containers:
-      - args:
-        image:  {{.Values.ztevnfmdriver.image}}
-        name: "vfc-ztevnfmdriver"
-        env:
-        - name: MSB_ADDR
-          value: {{ tpl .Values.msbaddr . }}
-        ports:
-        - containerPort: {{ .Values.ztevnfmdriver.port }}
-        readinessProbe:
-          tcpSocket:
-            port: {{ .Values.ztevnfmdriver.port }}
-          initialDelaySeconds: 5
-          periodSeconds: 10
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
-      imagePullSecrets:
-      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
index b301d2d..5a8fa38 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-nsPrefix: onap
-pullPolicy: IfNotPresent
-msbaddr: msb-iag.{{ .Values.nsPrefix }}:80
-nslcm:
-  image: nexus3.onap.org:10001/onap/vfc/nslcm:v1.0.2
-  port: 8403
-  nodePort: 30403
-  replicas: 1
-resmgr:
-  image: nexus3.onap.org:10001/onap/vfc/resmanagement:v1.0.0
-  port: 8480
-  nodePort: 30480
-  replicas: 1
-gvnfmdriver:
-  image: nexus3.onap.org:10001/onap/vfc/gvnfmdriver:v1.0.1
-  port: 8484
-  nodePort: 30484
-  replicas: 1
-ztevnfmdriver:
-  image: nexus3.onap.org:10001/onap/vfc/ztevnfmdriver:v1.0.2
-  port: 8410
-  nodePort: 30410
-  replicas: 1
-hwvnfmdriver:
-  image: nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/huawei:v1.0.2
-  port: 8482
-  nodePort: 30482
-  replicas: 1
-ztesdncdriver:
-  image: nexus3.onap.org:10001/onap/vfc/ztesdncdriver:v1.0.0
-  port: 8411
-  nodePort: 30411
-  replicas: 1
-nokiavnfmdriver:
-  image: nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/nokia:v1.0.2
-  port: 8486
-  nodePort: 30412
-  replicas: 1
-jujudriver:
-  image: nexus3.onap.org:10001/onap/vfc/jujudriver:v1.0.0
-  port: 8483
-  nodePort: 30483
-  replicas: 1
-vnflcm:
-  image: nexus3.onap.org:10001/onap/vfc/vnflcm:v1.0.1
-  port: 8801
-  nodePort: 30801
-  replicas: 1
-vnfres:
-  image: nexus3.onap.org:10001/onap/vfc/vnfres:v1.0.1
-  port: 8802
-  nodePort: 30802
-  replicas: 1
-vnfmgr:
-  image: nexus3.onap.org:10001/onap/vfc/vnfmgr:v1.0.1
-  port: 8803
-  nodePort: 30803
-  replicas: 1
-emsdriver:
-  image: nexus3.onap.org:10001/onap/vfc/emsdriver:v1.0.1
-  port: 8206
-  nodePort: 30296
-  replicas: 1
-workflow:
-  image: nexus3.onap.org:10001/onap/vfc/wfengine-mgrservice:v1.0.0
-  port: 10550
-  nodePort: 30805
-  replicas: 1
-workflowengineactiviti:
-  image: nexus3.onap.org:10001/onap/vfc/wfengine-activiti:v1.0.0
-  port: 8080
-  nodePort: 30807
-  replicas: 1
-catalog:
-  image: nexus3.onap.org:10001/onap/vfc/catalog:v1.0.2
-  port: 8806
-  nodePort: 30806
-  replicas: 1
+global:
+  config:
+    msbServiceName: msb-iag
+    msbPort: 80
+
+# application configuration
+config:
+  logstashServiceName: log-ls
+  logstashPort: 5044
+
+# sub-chart configuration
+vfc-workflow:
+  service:
+    externalPort: 10550
+
+vfc-workflow-engine:
+  config:
+    workflowPort: 10550