diff --git a/helm-charts/charts/fate-exchange/Chart.yaml b/helm-charts/charts/fate-exchange/Chart.yaml index fcab400..58f7df5 100644 --- a/helm-charts/charts/fate-exchange/Chart.yaml +++ b/helm-charts/charts/fate-exchange/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -appVersion: "exchangev1.10.0 & fedlcmv0.3.0" +appVersion: "exchangev1.11.1 & fedlcmv0.3.0" description: A Helm chart for fate exchange and fml-manager name: fate-exchange -version: v1.10.0-fedlcm-v0.3.0 +version: v1.11.1-fedlcm-v0.3.0 diff --git a/helm-charts/charts/fate-exchange/values-template-example.yaml b/helm-charts/charts/fate-exchange/values-template-example.yaml index c2a02d5..862e998 100644 --- a/helm-charts/charts/fate-exchange/values-template-example.yaml +++ b/helm-charts/charts/fate-exchange/values-template-example.yaml @@ -1,7 +1,7 @@ name: fate-exchange namespace: fate-exchange chartName: fate-exchange -chartVersion: v1.10.0-fedlcm-v0.3.0 +chartVersion: v1.11.1-fedlcm-v0.3.0 partyId: 1 registry: "" pullPolicy: @@ -19,7 +19,7 @@ modules: - postgres - fmlManagerServer -# rollsite: +# rollsite: # type: NodePort # nodePort: 30001 # loadBalancerIP: 192.168.0.1 @@ -40,7 +40,7 @@ modules: # type: NodePort # nodePort: 30007 # loadBalancerIP: 192.168.0.1 -# route_table: +# route_table: # sni: # - fqdn: 10000.fate.org # tunnelRoute: 192.168.0.2:30109 @@ -56,22 +56,22 @@ modules: # httpNodePort: 30003 # grpcNodePort: 30008 # loadBalancerIP: 192.168.0.1 -# route_table: -# 9999: -# proxy: -# - host: 192.168.9.1 +# route_table: +# 9999: +# proxy: +# - host: 192.168.9.1 # http_port: 30093 -# grpc_port: 30098 -# fateflow: +# grpc_port: 30098 +# fateflow: # - host: 192.168.9.1 # http_port: 30097 # grpc_port: 30092 -# 10000: -# proxy: -# - host: 192.168.10.1 +# 10000: +# proxy: +# - host: 192.168.10.1 # http_port: 30103 -# grpc_port: 30108 -# fateflow: +# grpc_port: 30108 +# fateflow: # - host: 192.168.10.1 # http_port: 30107 # grpc_port: 30102 @@ -94,7 +94,7 @@ modules: # tolerations: # affinity: # type: NodePort - # nodePort: + # nodePort: # loadBalancerIP: 192.168.0.1 # postgresHost: postgres # postgresPort: 5432 diff --git a/helm-charts/charts/fate-exchange/values.yaml b/helm-charts/charts/fate-exchange/values.yaml index 5ad5425..5781613 100644 --- a/helm-charts/charts/fate-exchange/values.yaml +++ b/helm-charts/charts/fate-exchange/values.yaml @@ -4,10 +4,10 @@ partyName: fate-exchange image: registry: federatedai isThridParty: - tag: 1.10.0-release + tag: 1.11.1-release pullPolicy: IfNotPresent imagePullSecrets: -# - name: +# - name: podSecurityPolicy: enabled: false @@ -112,7 +112,7 @@ modules: # tolerations: # affinity: type: ClusterIP - # nodePort: + # nodePort: # loadBalancerIP: 192.168.0.1 postgresHost: postgres postgresPort: 5432 diff --git a/helm-charts/charts/fate/Chart.yaml b/helm-charts/charts/fate/Chart.yaml index f0c571d..bc2474e 100644 --- a/helm-charts/charts/fate/Chart.yaml +++ b/helm-charts/charts/fate/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 -appVersion: "fatev1.10.0+fedlcmv0.3.0" +appVersion: "fatev1.11.1+fedlcmv0.3.0" description: Helm chart for FATE and site-portal in FedLCM name: fate -version: v1.10.0-fedlcm-v0.3.0 +version: v1.11.1-fedlcm-v0.3.0 home: https://fate.fedai.org icon: https://aisp-1251170195.cos.ap-hongkong.myqcloud.com/wp-content/uploads/sites/12/2019/09/logo.png sources: diff --git a/helm-charts/charts/fate/templates/backends/eggroll/_helpers.tpl b/helm-charts/charts/fate/templates/backends/eggroll/_helpers.tpl index c35a3cc..8abd2d1 100644 --- a/helm-charts/charts/fate/templates/backends/eggroll/_helpers.tpl +++ b/helm-charts/charts/fate/templates/backends/eggroll/_helpers.tpl @@ -19,4 +19,7 @@ {{- if eq .Values.device "IPCL" -}} -ipcl {{- end -}} +{{- if eq .Values.device "GPU" -}} +-gpu +{{- end -}} {{- end -}} diff --git a/helm-charts/charts/fate/templates/backends/spark/_helpers.tpl b/helm-charts/charts/fate/templates/backends/spark/_helpers.tpl index 6df82b0..80228c5 100644 --- a/helm-charts/charts/fate/templates/backends/spark/_helpers.tpl +++ b/helm-charts/charts/fate/templates/backends/spark/_helpers.tpl @@ -19,4 +19,7 @@ {{- if eq .Values.device "IPCL" -}} -ipcl {{- end -}} +{{- if eq .Values.device "GPU" -}} +-gpu +{{- end -}} {{- end -}} diff --git a/helm-charts/charts/fate/templates/core/_helpers.tpl b/helm-charts/charts/fate/templates/core/_helpers.tpl index 306c582..5fbd730 100644 --- a/helm-charts/charts/fate/templates/core/_helpers.tpl +++ b/helm-charts/charts/fate/templates/core/_helpers.tpl @@ -21,4 +21,7 @@ {{- if eq .Values.device "IPCL" -}} -ipcl {{- end -}} +{{- if eq .Values.device "GPU" -}} +-gpu +{{- end -}} {{- end -}} diff --git a/helm-charts/charts/fate/templates/core/fateflow/configmap.yaml b/helm-charts/charts/fate/templates/core/fateflow/configmap.yaml index edc8c47..aba22c4 100644 --- a/helm-charts/charts/fate/templates/core/fateflow/configmap.yaml +++ b/helm-charts/charts/fate/templates/core/fateflow/configmap.yaml @@ -213,62 +213,7 @@ data: password: fate {{- end }} {{- end }} - transfer_conf.yaml: | - paths: # dir or path - - "python/federatedml/transfer_variable/auth_conf" - component_registry.json: | - { - "components": { - }, - "providers": { - }, - "default_settings": { - "fate_flow":{ - "default_version_key": "FATEFlow" - }, - "fate": { - "default_version_key": "FATE" - }, - "class_path": { - "interface": "components.components.Components", - "feature_instance": "feature.instance.Instance", - "feature_vector": "feature.sparse_vector.SparseVector", - "model": "protobuf.generated", - "model_migrate": "protobuf.model_migrate.model_migrate", - "homo_model_convert": "protobuf.homo_model_convert.homo_model_convert" - } - } - } - job_default_config.yaml: | - # component provider, relative path to get_fate_python_directory - default_component_provider_path: federatedml - - # resource - total_cores_overweight_percent: 1 # 1 means no overweight - total_memory_overweight_percent: 1 # 1 means no overweight - task_parallelism: 1 - task_cores: 4 - task_memory: 0 # mb - max_cores_percent_per_job: 1 # 1 means total - - # scheduling - job_timeout: 259200 # s - remote_request_timeout: 30000 # ms - federated_command_trys: 3 - end_status_job_scheduling_time_limit: 300000 # ms - end_status_job_scheduling_updates: 1 - auto_retries: {{ .Values.modules.python.failedTaskAutoRetryTimes }} - auto_retry_delay: {{ .Values.modules.python.failedTaskAutoRetryDelay }} #seconds - # It can also be specified in the job configuration using the federated_status_collect_type parameter - federated_status_collect_type: PUSH - detect_connect_max_retry_count: 3 - detect_connect_long_retry_count: 2 - - # upload - upload_max_bytes: 104857600 # bytes - - #component output - output_data_summary_count_limit: 100 + --- kind: ConfigMap apiVersion: v1 diff --git a/helm-charts/charts/fate/templates/core/python-spark.yaml b/helm-charts/charts/fate/templates/core/python-spark.yaml index ce597d5..766a37b 100644 --- a/helm-charts/charts/fate/templates/core/python-spark.yaml +++ b/helm-charts/charts/fate/templates/core/python-spark.yaml @@ -118,10 +118,7 @@ spec: - | set -x mkdir -p /data/projects/fate/conf/ - cp /data/projects/fate/conf-tmp/transfer_conf.yaml /data/projects/fate/conf/transfer_conf.yaml cp /data/projects/fate/conf-tmp/service_conf.yaml /data/projects/fate/conf/service_conf.yaml - cp /data/projects/fate/conf-tmp/component_registry.json /data/projects/fate/fateflow/conf/component_registry.json - cp /data/projects/fate/conf-tmp/job_default_config.yaml /data/projects/fate/fateflow/conf/job_default_config.yaml # fix fateflow conf must use IP sed -i "s/host: fateflow_ip/host: ${POD_IP}/g" /data/projects/fate/conf/service_conf.yaml @@ -238,6 +235,6 @@ spec: storageClassName: {{ .Values.modules.python.storageClass }} resources: requests: - storage: {{ .Values.modules.mysql.size }} + storage: {{ .Values.modules.python.size }} {{- end }} {{- end }} diff --git a/helm-charts/charts/fate/values-template-example.yaml b/helm-charts/charts/fate/values-template-example.yaml index c9b2c1b..24f8dfe 100644 --- a/helm-charts/charts/fate/values-template-example.yaml +++ b/helm-charts/charts/fate/values-template-example.yaml @@ -1,7 +1,7 @@ name: site-portal-9999 namespace: site-portal-9999 chartName: fate -chartVersion: v1.10.0-fedlcm-v0.3.0 +chartVersion: v1.11.1-fedlcm-v0.3.0 partyId: 9999 registry: "" pullPolicy: @@ -34,7 +34,7 @@ federation: Pulsar storage: HDFS # Algorithm: [Basic, NN] algorithm: Basic -# Device: [IPCL, CPU] +# Device: [IPCL, CPU, GPU] device: CPU skippedKeys: @@ -62,11 +62,11 @@ skippedKeys: # pulsar: # hosts: # - name: party9999.pulsar.example.com - # frontend: + # frontend: # hosts: # - name: party9999.frontend.example.com - -# rollsite: + +# rollsite: # type: NodePort # nodePort: 30091 # loadBalancerIP: @@ -276,7 +276,7 @@ skippedKeys: # spark: # master: # Image: "federatedai/spark-master" - # ImageTag: "1.10.0-release" + # ImageTag: "1.11.1-release" # replicas: 1 # resources: # requests: @@ -292,7 +292,7 @@ skippedKeys: # nodePort: 30977 # worker: # Image: "federatedai/spark-worker" - # ImageTag: "1.10.0-release" + # ImageTag: "1.11.1-release" # replicas: 2 # resources: # requests: @@ -431,7 +431,7 @@ skippedKeys: # storageClass: "" # accessMode: ReadWriteOnce # size: 1Gi - + # frontend: # image: federatedai/site-portal-frontend # imageTag: v0.3.0 @@ -439,7 +439,7 @@ skippedKeys: # tolerations: # affinity: # type: ClusterIP -# nodePort: +# nodePort: # loadBalancerIP: # sitePortalServer: diff --git a/helm-charts/charts/fate/values.yaml b/helm-charts/charts/fate/values.yaml index ba52f13..ac08fe7 100644 --- a/helm-charts/charts/fate/values.yaml +++ b/helm-charts/charts/fate/values.yaml @@ -2,7 +2,7 @@ image: registry: federatedai isThridParty: - tag: 1.10.0-release + tag: 1.11.1-release pullPolicy: IfNotPresent imagePullSecrets: # - name: @@ -18,7 +18,7 @@ federation: Eggroll storage: Eggroll # Algorithm: Basic, NN algorithm: Basic -# Device: CPU, IPCL +# Device: CPU, IPCL, GPU device: IPCL istio: @@ -64,12 +64,12 @@ ingress: path: / tls: [] frontend: - # annotations: + # annotations: hosts: - name: frontend.example.com path: / tls: [] - + exchange: partyIp: 192.168.1.1 partyPort: 30001 @@ -222,7 +222,7 @@ modules: memory: "4Gi" - mysql: + mysql: include: true type: ClusterIP nodeSelector: @@ -382,7 +382,7 @@ modules: # tolerations: # affinity: type: ClusterIP - # nodePort: + # nodePort: # loadBalancerIP: user: site_portal password: site_portal @@ -392,7 +392,7 @@ modules: storageClass: "" accessMode: ReadWriteOnce size: 1Gi - + frontend: include: false image: federatedai/site-portal-frontend @@ -401,10 +401,10 @@ modules: # tolerations: # affinity: type: ClusterIP - - # nodePort: + + # nodePort: # loadBalancerIP: - + sitePortalServer: include: false image: site-portal-server @@ -413,7 +413,7 @@ modules: # tolerations: # affinity: type: ClusterIP - # nodePort: + # nodePort: # loadBalancerIP: existingClaim: "" storageClass: "sitePortalServer" diff --git a/helm-charts/fml-manager.yaml b/helm-charts/fml-manager.yaml index 8505d51..085d426 100644 --- a/helm-charts/fml-manager.yaml +++ b/helm-charts/fml-manager.yaml @@ -1,7 +1,7 @@ name: fml-manager namespace: fml-manager chartName: fate-exchange -chartVersion: v1.10.0-fedlcm-v0.3.0 +chartVersion: v1.11.1-fedlcm-v0.3.0 partyId: 0 registry: "" pullPolicy: diff --git a/helm-charts/site-portal.yaml b/helm-charts/site-portal.yaml index 45cc649..4aec10e 100644 --- a/helm-charts/site-portal.yaml +++ b/helm-charts/site-portal.yaml @@ -1,7 +1,7 @@ name: site-portal-9999 namespace: site-portal-9999 chartName: fate -chartVersion: v1.10.0-fedlcm-v0.3.0 +chartVersion: v1.11.1-fedlcm-v0.3.0 partyId: 9999 registry: "" pullPolicy: @@ -258,7 +258,7 @@ skippedKeys: # spark: # master: # Image: "federatedai/spark-master" - # ImageTag: "1.9.1-release" + # ImageTag: "1.11.1-release" # replicas: 1 # resources: # requests: @@ -274,7 +274,7 @@ skippedKeys: # nodePort: 30977 # worker: # Image: "federatedai/spark-worker" - # ImageTag: "1.9.1-release" + # ImageTag: "1.11.1-release" # replicas: 2 # resources: # requests: diff --git a/pkg/kubefate/constants.go b/pkg/kubefate/constants.go index 97c08c1..f8c5383 100644 --- a/pkg/kubefate/constants.go +++ b/pkg/kubefate/constants.go @@ -96,6 +96,8 @@ rules: resources: - deployments - statefulsets + - deployments/status + - statefulsets/status verbs: - get - list @@ -117,25 +119,14 @@ rules: - apiGroups: - networking.istio.io resources: - - gateway - - virtualservice + - gateways + - virtualservices verbs: - get - create - delete - update - patch -- apiGroups: - - policy - resources: - - podsecuritypolicies - verbs: - - get - - use - - create - - delete - - update - - patch - apiGroups: - rbac.authorization.k8s.io resources: @@ -147,6 +138,17 @@ rules: - delete - update - patch +- apiGroups: + - batch + resources: + - jobs + verbs: + - get + - list + - create + - delete + - update + - patch {{- else }} --- apiVersion: rbac.authorization.k8s.io/v1 diff --git a/server/api/federation.go b/server/api/federation.go index 0a9fd36..fb86e4a 100644 --- a/server/api/federation.go +++ b/server/api/federation.go @@ -511,7 +511,10 @@ func (controller *FederationController) getFATEClusterDeploymentYAML(c *gin.Cont if err != nil { return "", err } - + fateflowGPUNum, err := strconv.Atoi(c.DefaultQuery("fateflow_gpu_num", "0")) + if err != nil { + return "", errors.New("invalid fateflow gpu parameter") + } serviceType, err := strconv.Atoi(c.DefaultQuery("service_type", "1")) if err != nil { return "", errors.New("invalid service type parameter") @@ -617,6 +620,7 @@ func (controller *FederationController) getFATEClusterDeploymentYAML(c *gin.Cont PartyID: partyID, EnablePersistence: enablePersistence, StorageClass: storageClass, + FATEFlowGPUNum: fateflowGPUNum, ExternalSpark: domainService.ExternalSpark{ Enable: enableExternalSpark, Cores_per_node: externalSparkCoresPerNode, diff --git a/server/application/service/participant_service.go b/server/application/service/participant_service.go index f396dca..27abb1b 100644 --- a/server/application/service/participant_service.go +++ b/server/application/service/participant_service.go @@ -21,6 +21,7 @@ import ( "github.com/FederatedAI/FedLCM/server/domain/repo" "github.com/FederatedAI/FedLCM/server/domain/service" "github.com/FederatedAI/FedLCM/server/domain/utils" + "github.com/hashicorp/go-version" "github.com/pkg/errors" "github.com/rs/zerolog/log" ) @@ -376,6 +377,14 @@ func (app *ParticipantApp) getFATEClusterUpgradeableVersionList(ClusterUUID stri } if ClusterChartName == "fate" { ChartType = entity.ChartTypeFATECluster + + // TODO: this is a temp solution to prevent upgrading from 1.8 and lower versions as the yaml content has + // changed drastically since. Supporting upgrading these old versions would need further workflow. + minUpgradeableVersion, _ := version.NewVersion("1.9.0") + currentVersion, _ := version.NewVersion(ClusterChartVersion) + if currentVersion.LessThan(minUpgradeableVersion) { + return ClusterChartVersion, nil, errors.Errorf("cluster version %s is too old to be upgrade by FedLCM", currentVersion) + } } var domainChartList []entity.Chart diff --git a/server/domain/service/participant_fate_service.go b/server/domain/service/participant_fate_service.go index 3a32bb7..887f11e 100644 --- a/server/domain/service/participant_fate_service.go +++ b/server/domain/service/participant_fate_service.go @@ -99,6 +99,7 @@ type ParticipantFATEClusterYAMLCreationRequest struct { PartyID int `json:"party_id"` EnablePersistence bool `json:"enable_persistence"` StorageClass string `json:"storage_class"` + FATEFlowGPUNum int `json:"fateflow_gpu_num"` ExternalSpark ExternalSpark ExternalHDFS ExternalHDFS ExternalPulsar ExternalPulsar @@ -256,6 +257,8 @@ func (s *ParticipantFATEService) GetClusterDeploymentYAML(req *ParticipantFATECl SitePortalTLSCommonName string EnablePersistence bool StorageClass string + FATEFlowGPUEnabled bool + FATEFlowGPUNum int EnablePSP bool EnableExternalSpark bool ExternalSparkCoresPerNode int @@ -288,6 +291,8 @@ func (s *ParticipantFATEService) GetClusterDeploymentYAML(req *ParticipantFATECl SitePortalTLSCommonName: fmt.Sprintf("site-%d.server.%s", req.PartyID, federation.Domain), EnablePersistence: req.EnablePersistence, StorageClass: req.StorageClass, + FATEFlowGPUEnabled: req.FATEFlowGPUNum > 0, + FATEFlowGPUNum: req.FATEFlowGPUNum, EnablePSP: req.EnablePSP, EnableExternalSpark: req.ExternalSpark.Enable, ExternalSparkCoresPerNode: req.ExternalSpark.Cores_per_node, diff --git a/server/domain/service/participant_fate_service_test.go b/server/domain/service/participant_fate_service_test.go index a1b2d12..0b583a7 100644 --- a/server/domain/service/participant_fate_service_test.go +++ b/server/domain/service/participant_fate_service_test.go @@ -70,7 +70,7 @@ func TestCreateExchange_PosWithNewCert(t *testing.T) { exchange, wg, err := service.CreateExchange(&ParticipantFATEExchangeCreationRequest{ ParticipantFATEExchangeYAMLCreationRequest: ParticipantFATEExchangeYAMLCreationRequest{ - ChartUUID: "49fdaa3d-d5ad-4218-87cc-d1f023384729", // from the chart test repo + ChartUUID: "fd30a219-c9d2-4f6a-9146-f06c05a666f2", // from the chart test repo Name: "test-exchange", Namespace: "test-ns", ServiceType: entity.ParticipantDefaultServiceTypeLoadBalancer, @@ -226,7 +226,7 @@ func TestParticipantFATEService_GetClusterDeploymentYAML(t *testing.T) { args: args{ req: &ParticipantFATEClusterYAMLCreationRequest{ ParticipantFATEExchangeYAMLCreationRequest: ParticipantFATEExchangeYAMLCreationRequest{ - ChartUUID: "7a51112a-b0ad-4c26-b2c0-1e6f7eca6073", // from the chart test repo + ChartUUID: "d81d2b48-930d-4c5e-b522-322b93e8ef39", // from the chart test repo Name: "test-fate", Namespace: "test-fate-ns", ServiceType: entity.ParticipantDefaultServiceTypeNodePort, @@ -235,6 +235,7 @@ func TestParticipantFATEService_GetClusterDeploymentYAML(t *testing.T) { PartyID: 8888, EnablePersistence: false, StorageClass: "", + FATEFlowGPUNum: 0, ExternalSpark: ExternalSpark{ Enable: true, Cores_per_node: 8, @@ -305,7 +306,7 @@ func TestParticipantFATEService_GetClusterDeploymentYAML(t *testing.T) { args: args{ req: &ParticipantFATEClusterYAMLCreationRequest{ ParticipantFATEExchangeYAMLCreationRequest: ParticipantFATEExchangeYAMLCreationRequest{ - ChartUUID: "c5380b96-6a9f-4c3e-8991-1ddc73b5813d", // from the chart test repo + ChartUUID: "73acbbc0-4cdf-46bf-b48f-25fe1e03b91f", // from the chart test repo Name: "test-fate", Namespace: "test-fate-ns", ServiceType: entity.ParticipantDefaultServiceTypeNodePort, @@ -314,6 +315,7 @@ func TestParticipantFATEService_GetClusterDeploymentYAML(t *testing.T) { PartyID: 7777, EnablePersistence: false, StorageClass: "", + FATEFlowGPUNum: 0, ExternalSpark: ExternalSpark{}, ExternalHDFS: ExternalHDFS{}, ExternalPulsar: ExternalPulsar{}, diff --git a/server/domain/service/participant_fate_upgrade_service.go b/server/domain/service/participant_fate_upgrade_service.go index f029189..b157659 100644 --- a/server/domain/service/participant_fate_upgrade_service.go +++ b/server/domain/service/participant_fate_upgrade_service.go @@ -88,6 +88,7 @@ func (s *ParticipantFATEService) UpgradeExchange(req *ParticipantFATEExchangeUpg if err != nil { return nil, nil, errors.Wrapf(err, "failed to get final yaml content") } + previousDeploymentYAML := exchange.DeploymentYAML exchange.DeploymentYAML = string(finalYAMLBytes) log.Debug().Str("exchange.DeploymentYAML", exchange.DeploymentYAML).Msg("show DeploymentYAML") @@ -142,8 +143,6 @@ func (s *ParticipantFATEService) UpgradeExchange(req *ParticipantFATEExchangeUpg if err != nil { return errors.Wrapf(err, "fail to get cluster uuid") } - exchange.ClusterUUID = clusterUUID - exchange.ChartUUID = upgradeChart.UUID if err := s.ParticipantFATERepo.UpdateInfoByUUID(exchange); err != nil { return errors.Wrap(err, "failed to update exchange cluster uuid") } @@ -156,6 +155,8 @@ func (s *ParticipantFATEService) UpgradeExchange(req *ParticipantFATEExchangeUpg if job.Status != modules.JobStatusSuccess { return errors.Errorf("job is %s, job info: %v", job.Status.String(), job) } + exchange.ClusterUUID = clusterUUID + exchange.ChartUUID = upgradeChart.UUID operationLog.Info().Msgf("kubefate job succeeded") exchange.Status = entity.ParticipantFATEStatusActive @@ -165,13 +166,15 @@ func (s *ParticipantFATEService) UpgradeExchange(req *ParticipantFATEExchangeUpg return s.ParticipantFATERepo.UpdateInfoByUUID(exchange) }(); err != nil { operationLog.Error().Msgf(errors.Wrapf(err, "failed to upgrade FATE exchange").Error()) - exchange.Status = entity.ParticipantFATEStatusFailed - if updateErr := s.ParticipantFATERepo.UpdateStatusByUUID(exchange); updateErr != nil { - operationLog.Error().Msgf(errors.Wrapf(updateErr, "failed to update FATE exchange status").Error()) + // we still mark the exchange to be active as kubefate can roll back the failed upgrade + exchange.Status = entity.ParticipantFATEStatusActive + exchange.DeploymentYAML = previousDeploymentYAML + if updateErr := s.ParticipantFATERepo.UpdateInfoByUUID(exchange); updateErr != nil { + operationLog.Error().Msgf(errors.Wrapf(updateErr, "failed to update FATE exchange info").Error()) } return } - operationLog.Info().Msgf("FATE exchange %s(%s) deployed", exchange.Name, exchange.UUID) + operationLog.Info().Msgf("FATE exchange %s(%s) upgraded", exchange.Name, exchange.UUID) }() return exchange, wg, nil @@ -240,6 +243,7 @@ func (s *ParticipantFATEService) UpgradeCluster(req *ParticipantFATEClusterUpgra if err != nil { return nil, nil, errors.Wrapf(err, "failed to get final yaml content") } + previousDeploymentYAML := cluster.DeploymentYAML cluster.DeploymentYAML = string(finalYAMLBytes) log.Debug().Str("cluster.DeploymentYAML", cluster.DeploymentYAML).Msg("show DeploymentYAML") @@ -293,8 +297,6 @@ func (s *ParticipantFATEService) UpgradeCluster(req *ParticipantFATEClusterUpgra if err != nil { return errors.Wrapf(err, "fail to get cluster uuid") } - cluster.ClusterUUID = clusterUUID - cluster.ChartUUID = upgradeChart.UUID if err := s.ParticipantFATERepo.UpdateInfoByUUID(cluster); err != nil { return errors.Wrap(err, "failed to update cluster uuid") } @@ -308,6 +310,8 @@ func (s *ParticipantFATEService) UpgradeCluster(req *ParticipantFATEClusterUpgra return errors.Errorf("job is %s, job info: %v", job.Status.String(), job) } + cluster.ClusterUUID = clusterUUID + cluster.ChartUUID = upgradeChart.UUID operationLog.Info().Msgf("kubefate job succeeded") cluster.Status = entity.ParticipantFATEStatusActive @@ -326,13 +330,15 @@ func (s *ParticipantFATEService) UpgradeCluster(req *ParticipantFATEClusterUpgra return nil }(); err != nil { operationLog.Error().Msgf(errors.Wrap(err, "failed to upgrade FATE cluster").Error()) - cluster.Status = entity.ParticipantFATEStatusFailed - if updateErr := s.ParticipantFATERepo.UpdateStatusByUUID(cluster); updateErr != nil { - operationLog.Error().Msgf(errors.Wrap(err, "failed to update FATE cluster status").Error()) + // we still mark the cluster to be active as kubefate can roll back the failed upgrade + cluster.Status = entity.ParticipantFATEStatusActive + cluster.DeploymentYAML = previousDeploymentYAML + if updateErr := s.ParticipantFATERepo.UpdateInfoByUUID(cluster); updateErr != nil { + operationLog.Error().Msgf(errors.Wrap(err, "failed to update FATE cluster info").Error()) } return } - operationLog.Info().Msgf("FATE cluster %s(%s) deployed", cluster.Name, cluster.UUID) + operationLog.Info().Msgf("FATE cluster %s(%s) upgraded", cluster.Name, cluster.UUID) }() return cluster, wg, nil } diff --git a/server/infrastructure/gorm/chart_mock_repo.go b/server/infrastructure/gorm/chart_mock_repo.go index 8c76165..93fb6a6 100644 --- a/server/infrastructure/gorm/chart_mock_repo.go +++ b/server/infrastructure/gorm/chart_mock_repo.go @@ -1,4 +1,4 @@ -// Copyright 2022 VMware, Inc. +// Copyright 2022-2023 VMware, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -86,28 +86,28 @@ func (r *ChartMockRepo) ListByType(instance interface{}) (interface{}, error) { var ( chartMap = map[string]entity.Chart{ - "4ad46829-a827-4632-b169-c8675360321e": { + "19c7c751-0de0-4780-95d6-e152440ab287": { Model: gorm.Model{ ID: 1, CreatedAt: time.Now(), UpdatedAt: time.Now(), }, - UUID: "4ad46829-a827-4632-b169-c8675360321e", - Name: "chart for FATE exchange v1.10.0", - Description: "This chart is for deploying FATE exchange v1.10.0", + UUID: "19c7c751-0de0-4780-95d6-e152440ab287", + Name: "chart for FATE exchange v1.11.1", + Description: "This chart is for deploying FATE exchange v1.11.1", Type: entity.ChartTypeFATEExchange, ChartName: "fate-exchange", - Version: "v1.10.0", - AppVersion: "v1.10.0", + Version: "v1.11.1", + AppVersion: "v1.11.1", Chart: `apiVersion: v1 -appVersion: v1.10.0 +appVersion: v1.11.1 description: A Helm chart for fate exchange name: fate-exchange -version: v1.10.0`, +version: v1.11.1`, InitialYamlTemplate: `name: {{.Name}} namespace: {{.Namespace}} chartName: fate-exchange -chartVersion: v1.10.0 +chartVersion: v1.11.1 partyId: 0 {{- if .UseRegistry}} registry: {{.Registry}} @@ -151,7 +151,7 @@ partyName: fate-exchange image: registry: federatedai isThridParty: - tag: 1.10.0-release + tag: 1.11.1-release pullPolicy: IfNotPresent imagePullSecrets: # - name: @@ -176,7 +176,7 @@ modules: ip: rollsite type: ClusterIP nodePort: 30001 - loadBalancerIP: + loadBalancerIP: enableTLS: false nodeSelector: tolerations: @@ -349,24 +349,24 @@ modules: ArchiveContent: nil, Private: false, }, - "7a51112a-b0ad-4c26-b2c0-1e6f7eca6073": { + "d81d2b48-930d-4c5e-b522-322b93e8ef39": { Model: gorm.Model{ ID: 2, CreatedAt: time.Now(), UpdatedAt: time.Now(), }, - UUID: "7a51112a-b0ad-4c26-b2c0-1e6f7eca6073", - Name: "chart for FATE cluster v1.10.0", - Description: "This is chart for installing FATE cluster v1.10.0", + UUID: "d81d2b48-930d-4c5e-b522-322b93e8ef39", + Name: "chart for FATE cluster v1.11.1", + Description: "This is chart for installing FATE cluster v1.11.1", Type: entity.ChartTypeFATECluster, ChartName: "fate", - Version: "v1.10.0", - AppVersion: "v1.10.0", + Version: "v1.11.1", + AppVersion: "v1.11.1", Chart: `apiVersion: v1 -appVersion: v1.10.0 +appVersion: v1.11.1 description: A Helm chart for fate-training name: fate -version: v1.10.0 +version: v1.11.1 home: https://fate.fedai.org icon: https://aisp-1251170195.cos.ap-hongkong.myqcloud.com/wp-content/uploads/sites/12/2019/09/logo.png sources: @@ -375,7 +375,7 @@ sources: InitialYamlTemplate: `name: {{.Name}} namespace: {{.Namespace}} chartName: fate -chartVersion: v1.10.0 +chartVersion: v1.11.1 {{- if .UseRegistry}} registry: {{.Registry}} {{- end }} @@ -409,8 +409,13 @@ modules: computing: Spark federation: Pulsar storage: HDFS +{{- if .FATEFlowGPUEnabled }} +algorithm: NN +device: GPU +{{- else }} algorithm: Basic device: CPU +{{- end }} skippedKeys: - route_table @@ -451,6 +456,17 @@ python: accessMode: ReadWriteOnce # dependent_distribution: false size: 10Gi + {{- if .FATEFlowGPUEnabled }} + resources: + requests: + nvidia.com/gpu: {{.FATEFlowGPUNum}} + # cpu: "2" + # memory: "4Gi" + limits: + nvidia.com/gpu: {{.FATEFlowGPUNum}} + # cpu: "4" + # memory: "8Gi" + {{- else }} # resources: # requests: # cpu: "2" @@ -458,6 +474,7 @@ python: # limits: # cpu: "4" # memory: "8Gi" + {{- end }} {{- if .EnableExternalSpark }} spark: cores_per_node: {{.ExternalSparkCoresPerNode}} @@ -558,7 +575,7 @@ mysql: spark: master: # image: "federatedai/spark-master" - # imageTag: "1.10.0-release" + # imageTag: "1.11.1-release" replicas: 1 # resources: # requests: @@ -573,7 +590,7 @@ spark: # type: ClusterIP worker: # image: "federatedai/spark-worker" - # imageTag: "1.10.0-release" + # imageTag: "1.11.1-release" replicas: 2 # resources: # requests: @@ -664,7 +681,7 @@ pulsar: Values: `image: registry: federatedai isThridParty: - tag: 1.10.0-release + tag: 1.11.1-release pullPolicy: IfNotPresent imagePullSecrets: # - name: @@ -680,7 +697,7 @@ federation: Eggroll storage: Eggroll # Algorithm: Basic, NN algorithm: Basic -# Device: CPU, IPCL +# Device: CPU, IPCL, GPU device: IPCL istio: @@ -829,7 +846,7 @@ modules: mng_port: 8080 topic_ttl: 3 cluster: standalone - tenant: fl-tenant + tenant: fl-tenant nginx: host: nginx http_port: 9300 @@ -912,6 +929,9 @@ modules: type: ClusterIP username: admin password: admin + nodeSelector: + tolerations: + affinity: spark: include: true @@ -1681,7 +1701,7 @@ modules: accessMode: {{ .accessMode | default "ReadWriteOnce" }} size: {{ .size | default "1Gi" }} {{- end }} - + externalMysqlIp: {{ .externalMysqlIp }} externalMysqlPort: {{ .externalMysqlPort }} externalMysqlDatabase: {{ .externalMysqlDatabase }} @@ -1690,28 +1710,28 @@ externalMysqlPassword: {{ .externalMysqlPassword }}`, ArchiveContent: nil, Private: false, }, - "2c8f974d-b822-4719-bcaf-f1ef608c4923": { + "9dff91c4-2566-4c24-a0dc-631fa8808378": { Model: gorm.Model{ ID: 3, CreatedAt: time.Now(), UpdatedAt: time.Now(), }, - UUID: "2c8f974d-b822-4719-bcaf-f1ef608c4923", - Name: "chart for FATE exchange v1.9.2", - Description: "This chart is for deploying FATE exchange v1.9.2", + UUID: "9dff91c4-2566-4c24-a0dc-631fa8808378", + Name: "chart for FATE exchange v1.10.0", + Description: "This chart is for deploying FATE exchange v1.10.0", Type: entity.ChartTypeFATEExchange, ChartName: "fate-exchange", - Version: "v1.9.2", - AppVersion: "v1.9.2", + Version: "v1.10.0", + AppVersion: "v1.10.0", Chart: `apiVersion: v1 -appVersion: v1.9.2 +appVersion: v1.10.0 description: A Helm chart for fate exchange name: fate-exchange -version: v1.9.2`, +version: v1.10.0`, InitialYamlTemplate: `name: {{.Name}} namespace: {{.Namespace}} chartName: fate-exchange -chartVersion: v1.9.2 +chartVersion: v1.10.0 partyId: 0 {{- if .UseRegistry}} registry: {{.Registry}} @@ -1755,7 +1775,7 @@ partyName: fate-exchange image: registry: federatedai isThridParty: - tag: 1.9.0-release + tag: 1.10.0-release pullPolicy: IfNotPresent imagePullSecrets: # - name: @@ -1780,7 +1800,8 @@ modules: ip: rollsite type: ClusterIP nodePort: 30001 - loadBalancerIP: + loadBalancerIP: + enableTLS: false nodeSelector: tolerations: affinity: @@ -1842,7 +1863,6 @@ partyName: {{ .name }} image: registry: {{ .registry | default "federatedai" }} isThridParty: {{ empty .registry | ternary "false" "true" }} - tag: {{ .imageTag | default "1.9.0-release" }} pullPolicy: {{ .pullPolicy | default "IfNotPresent" }} {{- with .imagePullSecrets }} imagePullSecrets: @@ -1888,6 +1908,7 @@ modules: {{ toYaml . | indent 6 }} {{- end }} type: {{ .type }} + enableTLS: {{ .enableTLS | default false }} nodePort: {{ .nodePort }} partyList: {{- range .partyList }} @@ -1949,24 +1970,24 @@ modules: ArchiveContent: nil, Private: false, }, - "c32411c7-3744-46ee-bb74-046d99ce3385": { + "7a1e3009-ce43-47b5-9ce9-a5256c399151": { Model: gorm.Model{ ID: 4, CreatedAt: time.Now(), UpdatedAt: time.Now(), }, - UUID: "c32411c7-3744-46ee-bb74-046d99ce3385", - Name: "chart for FATE cluster v1.9.2", - Description: "This is chart for installing FATE cluster v1.9.2", + UUID: "7a1e3009-ce43-47b5-9ce9-a5256c399151", + Name: "chart for FATE cluster v1.10.0", + Description: "This is chart for installing FATE cluster v1.10.0", Type: entity.ChartTypeFATECluster, ChartName: "fate", - Version: "v1.9.2", - AppVersion: "v1.9.2", + Version: "v1.10.0", + AppVersion: "v1.10.0", Chart: `apiVersion: v1 -appVersion: v1.9.2 +appVersion: v1.10.0 description: A Helm chart for fate-training name: fate -version: v1.9.2 +version: v1.10.0 home: https://fate.fedai.org icon: https://aisp-1251170195.cos.ap-hongkong.myqcloud.com/wp-content/uploads/sites/12/2019/09/logo.png sources: @@ -1975,11 +1996,11 @@ sources: InitialYamlTemplate: `name: {{.Name}} namespace: {{.Namespace}} chartName: fate -chartVersion: v1.9.2 -partyId: {{.PartyID}} +chartVersion: v1.10.0 {{- if .UseRegistry}} registry: {{.Registry}} {{- end }} +partyId: {{.PartyID}} persistence: {{ .EnablePersistence }} # pullPolicy: podSecurityPolicy: @@ -1988,18 +2009,23 @@ podSecurityPolicy: imagePullSecrets: - name: {{.ImagePullSecretsName}} {{- end }} - -# ingressClassName: nginx +ingressClassName: nginx modules: - mysql - python - fateboard - client + {{- if not .EnableExternalSpark }} - spark + {{- end }} + {{- if not .EnableExternalHDFS }} - hdfs - - nginx + {{- end }} + {{- if not .EnableExternalPulsar }} - pulsar + {{- end }} + - nginx computing: Spark federation: Pulsar @@ -2007,6 +2033,9 @@ storage: HDFS algorithm: Basic device: CPU +skippedKeys: +- route_table + ingress: fateboard: hosts: @@ -2014,49 +2043,35 @@ ingress: client: hosts: - name: {{.Name}}.notebook.{{.Domain}} + {{- if not .EnableExternalSpark }} spark: hosts: - name: {{.Name}}.spark.{{.Domain}} + {{- end }} + {{- if not .EnableExternalPulsar }} pulsar: hosts: - name: {{.Name}}.pulsar.{{.Domain}} + {{- end }} -nginx: - type: {{.ServiceType}} - exchange: - ip: {{.ExchangeNginxHost}} - httpPort: {{.ExchangeNginxPort}} +python: + # type: ClusterIP + # replicas: 1 + # httpNodePort: + # grpcNodePort: + # loadBalancerIP: + # serviceAccountName: "" # nodeSelector: # tolerations: # affinity: - # loadBalancerIP: - # httpNodePort: 30093 - # grpcNodePort: 30098 - -pulsar: - publicLB: - enabled: true - env: - - name: PULSAR_MEM - value: "-Xms4g -Xmx4g -XX:MaxDirectMemorySize=8g" - confs: - brokerDeleteInactiveTopicsFrequencySeconds: 60 - backlogQuotaDefaultLimitGB: 10 - exchange: - ip: {{.ExchangeATSHost}} - port: {{.ExchangeATSPort}} - domain: {{.Domain}} - size: 1Gi - storageClass: {{ .StorageClass }} + # failedTaskAutoRetryTimes: + # failedTaskAutoRetryDelay: + # logLevel: INFO existingClaim: "" + storageClass: {{ .StorageClass }} accessMode: ReadWriteOnce - # nodeSelector: - # tolerations: - # affinity: - # type: ClusterIP - # httpNodePort: 30094 - # httpsNodePort: 30099 - # loadBalancerIP: + # dependent_distribution: false + size: 10Gi # resources: # requests: # cpu: "2" @@ -2064,13 +2079,93 @@ pulsar: # limits: # cpu: "4" # memory: "8Gi" + {{- if .EnableExternalSpark }} + spark: + cores_per_node: {{.ExternalSparkCoresPerNode}} + nodes: {{.ExternalSparkNode}} + master: {{.ExternalSparkMaster}} + driverHost: {{.ExternalSparkDriverHost}} + driverHostType: {{.ExternalSparkDriverHostType}} + portMaxRetries: {{.ExternalSparkPortMaxRetries}} + driverStartPort: {{.ExternalSparkDriverStartPort}} + blockManagerStartPort: {{.ExternalSparkBlockManagerStartPort}} + pysparkPython: {{.ExternalSparkPysparkPython}} + {{- else }} + spark: + cores_per_node: 20 + nodes: 2 + master: spark://spark-master:7077 + driverHost: + driverHostType: + portMaxRetries: + driverStartPort: + blockManagerStartPort: + pysparkPython: + {{- end }} + {{- if .EnableExternalHDFS }} + hdfs: + name_node: {{.ExternalHDFSNamenode}} + path_prefix: {{.ExternalHDFSPathPrefix}} + {{- else }} + hdfs: + name_node: hdfs://namenode:9000 + path_prefix: + {{- end }} + {{- if .EnableExternalPulsar }} + pulsar: + host: {{.ExternalPulsarHost}} + mng_port: {{.ExternalPulsarMngPort}} + port: {{.ExternalPulsarPort}} + ssl_port: {{.ExternalPulsarSSLPort}} + topic_ttl: 3 + cluster: standalone + tenant: fl-tenant + {{- else }} + pulsar: + host: pulsar + mng_port: 8080 + port: 6650 + topic_ttl: 3 + cluster: standalone + tenant: fl-tenant + {{- end }} + nginx: + host: nginx + http_port: 9300 + grpc_port: 9310 + # hive: + # host: 127.0.0.1 + # port: 10000 + # auth_mechanism: + # username: + # password: + +fateboard: + type: ClusterIP + username: admin + password: admin +# nodeSelector: +# tolerations: +# affinity: + +client: +# nodeSelector: +# tolerations: +# affinity: + subPath: "client" + existingClaim: "" + storageClass: {{ .StorageClass }} + accessMode: ReadWriteOnce + size: 1Gi +# notebook_hashed_password: "" + mysql: + subPath: "mysql" size: 1Gi storageClass: {{ .StorageClass }} existingClaim: "" accessMode: ReadWriteOnce - subPath: "mysql" # nodeSelector: # tolerations: # affinity: @@ -2080,90 +2175,26 @@ mysql: # user: fate # password: fate_dev -python: - size: 10Gi - storageClass: {{ .StorageClass }} - existingClaim: "" - accessMode: ReadWriteOnce - # httpNodePort: - # grpcNodePort: - # loadBalancerIP: - # serviceAccountName: "" - # nodeSelector: - # tolerations: - # affinity: - # resources: - # requests: - # cpu: "2" - # memory: "4Gi" - # limits: - # cpu: "4" - # memory: "8Gi" - # logLevel: INFO - # spark: - # cores_per_node: 20 - # nodes: 2 - # master: spark://spark-master:7077 - # driverHost: - # driverHostType: - # portMaxRetries: - # driverStartPort: - # blockManagerStartPort: - # pysparkPython: - # hdfs: - # name_node: hdfs://namenode:9000 - # path_prefix: - # pulsar: - # host: pulsar - # mng_port: 8080 - # port: 6650 - # nginx: - # host: nginx - # http_port: 9300 - # grpc_port: 9310 - -client: - size: 1Gi - storageClass: {{ .StorageClass }} - existingClaim: "" - accessMode: ReadWriteOnce - subPath: "client" - # nodeSelector: - # tolerations: - # affinity: - -hdfs: - namenode: - storageClass: {{ .StorageClass }} - size: 3Gi - existingClaim: "" - accessMode: ReadWriteOnce - # nodeSelector: - # tolerations: - # affinity: - # type: ClusterIP - # nodePort: 30900 - datanode: - size: 10Gi - storageClass: {{ .StorageClass }} - existingClaim: "" - accessMode: ReadWriteOnce - # replicas: 3 - # nodeSelector: - # tolerations: - # affinity: - # type: ClusterIP - +{{- if not .EnableExternalSpark }} spark: - # master: - # replicas: 1 + master: + # image: "federatedai/spark-master" + # imageTag: "1.10.0-release" + replicas: 1 # resources: + # requests: + # cpu: "1" + # memory: "2Gi" + # limits: + # cpu: "1" + # memory: "2Gi" # nodeSelector: # tolerations: # affinity: # type: ClusterIP - # nodePort: 30977 worker: + # image: "federatedai/spark-worker" + # imageTag: "1.10.0-release" replicas: 2 # resources: # requests: @@ -2176,11 +2207,85 @@ spark: # tolerations: # affinity: # type: ClusterIP -`, +{{- end }} +{{- if not .EnableExternalHDFS }} +hdfs: + namenode: + existingClaim: "" + accessMode: ReadWriteOnce + size: 1Gi + storageClass: {{ .StorageClass }} + # nodeSelector: + # tolerations: + # affinity: + # type: ClusterIP + # nodePort: 30900 + datanode: + existingClaim: "" + accessMode: ReadWriteOnce + size: 1Gi + storageClass: {{ .StorageClass }} + # nodeSelector: + # tolerations: + # affinity: + # type: ClusterIP +{{- end }} +nginx: + type: {{.ServiceType}} + exchange: + ip: {{.ExchangeNginxHost}} + httpPort: {{.ExchangeNginxPort}} + # nodeSelector: + # tolerations: + # affinity: + # loadBalancerIP: + # httpNodePort: + # grpcNodePort: + +{{- if not .EnableExternalPulsar }} +pulsar: + existingClaim: "" + accessMode: ReadWriteOnce + size: 1Gi + storageClass: {{ .StorageClass }} + publicLB: + enabled: true +# env: +# - name: PULSAR_MEM +# value: "-Xms4g -Xmx4g -XX:MaxDirectMemorySize=8g" +# confs: +# brokerDeleteInactiveTopicsFrequencySeconds: 60 +# backlogQuotaDefaultLimitGB: 10 +# +# resources: +# requests: +# cpu: "2" +# memory: "4Gi" +# limits: +# cpu: "4" +# memory: "8Gi" + exchange: + ip: {{.ExchangeATSHost}} + port: {{.ExchangeATSPort}} + domain: {{.Domain}} + # nodeSelector: + # tolerations: + # affinity: + # type: ClusterIP + # httpNodePort: + # httpsNodePort: + # loadBalancerIP: +{{- else }} +pulsar: + exchange: + ip: {{.ExchangeATSHost}} + port: {{.ExchangeATSPort}} + domain: {{.Domain}} +{{- end }}`, Values: `image: registry: federatedai isThridParty: - tag: 1.9.0-release + tag: 1.10.0-release pullPolicy: IfNotPresent imagePullSecrets: # - name: @@ -2298,6 +2403,7 @@ modules: affinity: python: include: true + replicas: 1 type: ClusterIP httpNodePort: 30097 grpcNodePort: 30092 @@ -2306,9 +2412,12 @@ modules: nodeSelector: tolerations: affinity: + failedTaskAutoRetryTimes: + failedTaskAutoRetryDelay: logLevel: INFO # subPath: "" existingClaim: + dependent_distribution: false claimName: python-data storageClass: accessMode: ReadWriteOnce @@ -2337,12 +2446,21 @@ modules: password: fate pulsar: host: pulsar - mng_port: 8080 port: 6650 + mng_port: 8080 + topic_ttl: 3 + cluster: standalone + tenant: fl-tenant nginx: host: nginx http_port: 9300 grpc_port: 9310 + hive: + host: + port: + auth_mechanism: + username: + password: client: include: true ip: client @@ -2355,6 +2473,7 @@ modules: storageClass: accessMode: ReadWriteOnce size: 1Gi + notebook_hashed_password: clustermanager: include: true ip: clustermanager @@ -2379,19 +2498,6 @@ modules: cpu: "2" memory: "4Gi" - client: - include: true - ip: client - type: ClusterIP - nodeSelector: - tolerations: - affinity: - subPath: "client" - existingClaim: - storageClass: - accessMode: ReadWriteOnce - size: 1Gi - mysql: include: true type: ClusterIP @@ -2409,6 +2515,7 @@ modules: storageClass: accessMode: ReadWriteOnce size: 1Gi + serving: ip: 192.168.9.1 port: 30095 @@ -2416,12 +2523,18 @@ modules: zookeeper: hosts: - serving-zookeeper.fate-serving-9999:2181 - use_acl: false + use_acl: false + user: fate + password: fate + fateboard: include: true type: ClusterIP username: admin password: admin + nodeSelector: + tolerations: + affinity: spark: include: true @@ -2760,6 +2873,7 @@ modules: python: include: {{ has "python" .modules }} {{- with .python }} + replicas: {{ .replicas | default 1 }} {{- with .resources }} resources: {{ toYaml . | indent 6 }} @@ -2769,6 +2883,7 @@ modules: httpNodePort: {{ .httpNodePort }} grpcNodePort: {{ .grpcNodePort }} loadBalancerIP: {{ .loadBalancerIP }} + dependent_distribution: {{ .dependent_distribution }} serviceAccountName: {{ .serviceAccountName }} {{- with .nodeSelector }} nodeSelector: @@ -2782,6 +2897,8 @@ modules: affinity: {{ toYaml . | indent 6 }} {{- end }} + failedTaskAutoRetryTimes: {{ .failedTaskAutoRetryTimes | default 5 }} + failedTaskAutoRetryDelay: {{ .failedTaskAutoRetryDelay | default 60 }} existingClaim: {{ .existingClaim }} claimName: {{ .claimName | default "python-data" }} storageClass: {{ .storageClass | default "python" }} @@ -2807,6 +2924,9 @@ modules: host: {{ .host }} mng_port: {{ .mng_port }} port: {{ .port }} + topic_ttl: {{ .topic_ttl }} + cluster: {{ .cluster }} + tenant: {{ .tenant }} {{- end }} {{- with .rabbitmq }} rabbitmq: @@ -2822,6 +2942,14 @@ modules: http_port: {{ .http_port }} grpc_port: {{ .grpc_port }} {{- end }} + {{- with .hive }} + hive: + host: {{ .host }} + port: {{ .port }} + auth_mechanism: {{ .auth_mechanism }} + username: {{ .username }} + password: {{ .password }} + {{- end }} {{- end }} @@ -2856,7 +2984,8 @@ modules: sessionProcessorsPerNode: {{ .sessionProcessorsPerNode }} replicas: {{ .replicas | default 2 }} subPath: {{ .subPath }} - storageClass: {{ .storageClass | default "client" }} + storageClass: {{ .storageClass | default "nodemanager" }} + existingClaim: {{ .existingClaim }} accessMode: {{ .accessMode | default "ReadWriteOnce" }} size: {{ .size | default "1Gi" }} {{- with .nodeSelector }} @@ -2898,6 +3027,7 @@ modules: affinity: {{ toYaml . | indent 6 }} {{- end }} + notebook_hashed_password: {{ .notebook_hashed_password | default "" }} {{- end }} @@ -2945,6 +3075,18 @@ modules: type: {{ .type }} username: {{ .username }} password: {{ .password }} + {{- with .nodeSelector }} + nodeSelector: +{{ toYaml . | indent 6 }} + {{- end }} + {{- with .tolerations }} + tolerations: +{{ toYaml . | indent 6 }} + {{- end }} + {{- with .affinity }} + affinity: +{{ toYaml . | indent 6 }} + {{- end }} {{- end}} spark: @@ -3171,28 +3313,28 @@ externalMysqlPassword: {{ .externalMysqlPassword }}`, ArchiveContent: nil, Private: false, }, - "49fdaa3d-d5ad-4218-87cc-d1f023384729": { + "fd30a219-c9d2-4f6a-9146-f06c05a666f2": { Model: gorm.Model{ ID: 5, CreatedAt: time.Now(), UpdatedAt: time.Now(), }, - UUID: "49fdaa3d-d5ad-4218-87cc-d1f023384729", - Name: "chart for FATE exchange v1.10.0 with fml-manager service v0.3.0", - Description: "This chart is for deploying FATE exchange v1.10.0 with fml-manager v0.3.0", + UUID: "fd30a219-c9d2-4f6a-9146-f06c05a666f2", + Name: "chart for FATE exchange v1.11.1 with fml-manager service v0.3.0", + Description: "This chart is for deploying FATE exchange v1.11.1 with fml-manager v0.3.0", Type: entity.ChartTypeFATEExchange, ChartName: "fate-exchange", - Version: "v1.10.0-fedlcm-v0.3.0", - AppVersion: "exchangev1.10.0 & fedlcmv0.3.0", + Version: "v1.11.1-fedlcm-v0.3.0", + AppVersion: "exchangev1.11.1 & fedlcmv0.3.0", Chart: `apiVersion: v1 -appVersion: "exchangev1.10.0 & fedlcmv0.3.0" +appVersion: "exchangev1.11.1 & fedlcmv0.3.0" description: A Helm chart for fate exchange and fml-manager name: fate-exchange -version: v1.10.0-fedlcm-v0.3.0`, +version: v1.11.1-fedlcm-v0.3.0`, InitialYamlTemplate: `name: {{.Name}} namespace: {{.Namespace}} chartName: fate-exchange -chartVersion: v1.10.0-fedlcm-v0.3.0 +chartVersion: v1.11.1-fedlcm-v0.3.0 partyId: 0 {{- if .UseRegistry}} registry: {{.Registry}} @@ -3271,7 +3413,7 @@ partyName: fate-exchange image: registry: federatedai isThridParty: - tag: 1.10.0-release + tag: 1.11.1-release pullPolicy: IfNotPresent imagePullSecrets: # - name: @@ -3379,7 +3521,7 @@ modules: # tolerations: # affinity: type: ClusterIP - # nodePort: + # nodePort: # loadBalancerIP: 192.168.0.1 postgresHost: postgres postgresPort: 5432 @@ -3568,28 +3710,28 @@ modules: caCert: {{ .caCert | default "/var/lib/fml_manager/cert/ca.crt" }} tlsEnabled: {{ .tlsEnabled | default "true" }} {{- end }}`, - ArchiveContent: mock.FATEExchange1100WithManagerChartArchiveContent, + ArchiveContent: mock.FATEExchange_1_11_1_WithManagerChartArchiveContent, Private: true, }, - "c5380b96-6a9f-4c3e-8991-1ddc73b5813d": { + "73acbbc0-4cdf-46bf-b48f-25fe1e03b91f": { Model: gorm.Model{ ID: 6, CreatedAt: time.Now(), UpdatedAt: time.Now(), }, - UUID: "c5380b96-6a9f-4c3e-8991-1ddc73b5813d", - Name: "chart for FATE cluster v1.10.0 with site-portal v0.3.0", - Description: "This is chart for installing FATE cluster v1.10.0 with site-portal v0.3.0", + UUID: "73acbbc0-4cdf-46bf-b48f-25fe1e03b91f", + Name: "chart for FATE cluster v1.11.1 with site-portal v0.3.0", + Description: "This is chart for installing FATE cluster v1.11.1 with site-portal v0.3.0", Type: entity.ChartTypeFATECluster, ChartName: "fate", - Version: "v1.10.0-fedlcm-v0.3.0", - AppVersion: "fatev1.10.0+fedlcmv0.3.0", - ArchiveContent: mock.FATE1100WithPortalChartArchiveContent, + Version: "v1.11.1-fedlcm-v0.3.0", + AppVersion: "fatev1.11.1+fedlcmv0.3.0", + ArchiveContent: mock.FATE_1_11_1_WithPortalChartArchiveContent, Chart: `apiVersion: v1 -appVersion: "fatev1.10.0+fedlcmv0.3.0" +appVersion: "fatev1.11.1+fedlcmv0.3.0" description: Helm chart for FATE and site-portal in FedLCM name: fate -version: v1.10.0-fedlcm-v0.3.0 +version: v1.11.1-fedlcm-v0.3.0 home: https://fate.fedai.org icon: https://aisp-1251170195.cos.ap-hongkong.myqcloud.com/wp-content/uploads/sites/12/2019/09/logo.png sources: @@ -3598,7 +3740,7 @@ sources: InitialYamlTemplate: `name: {{.Name}} namespace: {{.Namespace}} chartName: fate -chartVersion: v1.10.0-fedlcm-v0.3.0 +chartVersion: v1.11.1-fedlcm-v0.3.0 {{- if .UseRegistry}} registry: {{.Registry}} {{- end }} @@ -3635,8 +3777,13 @@ modules: computing: Spark federation: Pulsar storage: HDFS +{{- if .FATEFlowGPUEnabled }} +algorithm: NN +device: GPU +{{- else }} algorithm: Basic device: CPU +{{- end }} skippedKeys: - route_table @@ -3684,6 +3831,17 @@ python: accessMode: ReadWriteOnce # dependent_distribution: false size: 10Gi + {{- if .FATEFlowGPUEnabled }} + resources: + requests: + nvidia.com/gpu: {{.FATEFlowGPUNum}} + # cpu: "2" + # memory: "4Gi" + limits: + nvidia.com/gpu: {{.FATEFlowGPUNum}} + # cpu: "4" + # memory: "8Gi" + {{- else }} # resources: # requests: # cpu: "2" @@ -3691,6 +3849,7 @@ python: # limits: # cpu: "4" # memory: "8Gi" + {{- end }} {{- if .EnableExternalSpark }} spark: cores_per_node: {{.ExternalSparkCoresPerNode}} @@ -3791,7 +3950,7 @@ mysql: spark: master: # image: "federatedai/spark-master" - # imageTag: "1.10.0-release" + # imageTag: "1.11.1-release" replicas: 1 # resources: # requests: @@ -3806,7 +3965,7 @@ spark: # type: ClusterIP worker: # image: "federatedai/spark-worker" - # imageTag: "1.10.0-release" + # imageTag: "1.11.1-release" replicas: 2 # resources: # requests: @@ -3949,7 +4108,7 @@ sitePortalServer: image: registry: federatedai isThridParty: - tag: 1.10.0-release + tag: 1.11.1-release pullPolicy: IfNotPresent imagePullSecrets: # - name: @@ -3965,7 +4124,7 @@ federation: Eggroll storage: Eggroll # Algorithm: Basic, NN algorithm: Basic -# Device: CPU, IPCL +# Device: CPU, IPCL, GPU device: IPCL istio: @@ -4011,12 +4170,12 @@ ingress: path: / tls: [] frontend: - # annotations: + # annotations: hosts: - name: frontend.example.com path: / tls: [] - + exchange: partyIp: 192.168.1.1 partyPort: 30001 @@ -4120,7 +4279,7 @@ modules: mng_port: 8080 topic_ttl: 3 cluster: standalone - tenant: fl-tenant + tenant: fl-tenant nginx: host: nginx http_port: 9300 @@ -4144,7 +4303,7 @@ modules: accessMode: ReadWriteOnce size: 1Gi notebook_hashed_password: - clustermanager: + clustermanager: include: true ip: clustermanager type: ClusterIP @@ -4169,7 +4328,7 @@ modules: memory: "4Gi" - mysql: + mysql: include: true type: ClusterIP nodeSelector: @@ -4203,6 +4362,9 @@ modules: type: ClusterIP username: admin password: admin + nodeSelector: + tolerations: + affinity: spark: include: true @@ -4326,7 +4488,7 @@ modules: # tolerations: # affinity: type: ClusterIP - # nodePort: + # nodePort: # loadBalancerIP: user: site_portal password: site_portal @@ -4336,7 +4498,7 @@ modules: storageClass: "" accessMode: ReadWriteOnce size: 1Gi - + frontend: include: false image: federatedai/site-portal-frontend @@ -4345,10 +4507,10 @@ modules: # tolerations: # affinity: type: ClusterIP - - # nodePort: + + # nodePort: # loadBalancerIP: - + sitePortalServer: include: false image: site-portal-server @@ -4357,7 +4519,7 @@ modules: # tolerations: # affinity: type: ClusterIP - # nodePort: + # nodePort: # loadBalancerIP: existingClaim: "" storageClass: "sitePortalServer" diff --git a/server/infrastructure/gorm/mock/chart_fate_1_10_0.go b/server/infrastructure/gorm/mock/chart_fate_1_10_0.go deleted file mode 100644 index b9880e8..0000000 --- a/server/infrastructure/gorm/mock/chart_fate_1_10_0.go +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2022 VMware, 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. - -package mock - -import "encoding/base64" - -var ( - FATE1100WithPortalChartArchiveContent = getFATE1100WithPortalChartArchiveContent() - FATEExchange1100WithManagerChartArchiveContent = getFATEExchange1100WithManagerChartArchiveContent() -) - -func getFATE1100WithPortalChartArchiveContent() []byte { - base64Content := `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` - content, _ := base64.StdEncoding.DecodeString(base64Content) - return content -} -func getFATEExchange1100WithManagerChartArchiveContent() []byte { - base64Content := `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` - content, _ := base64.StdEncoding.DecodeString(base64Content) - return content -} diff --git a/server/infrastructure/gorm/mock/chart_fate_1_11_1.go b/server/infrastructure/gorm/mock/chart_fate_1_11_1.go new file mode 100644 index 0000000..9a10578 --- /dev/null +++ b/server/infrastructure/gorm/mock/chart_fate_1_11_1.go @@ -0,0 +1,33 @@ +// Copyright 2022-2023 VMware, 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. + +package mock + +import "encoding/base64" + +var ( + FATE_1_11_1_WithPortalChartArchiveContent = getFATE_1_11_1_WithPortalChartArchiveContent() + FATEExchange_1_11_1_WithManagerChartArchiveContent = getFATEExchange_1_11_1_WithManagerChartArchiveContent() +) + +func getFATE_1_11_1_WithPortalChartArchiveContent() []byte { + base64Content := `H4sIFAAAAAAA/ykAK2FIUjBjSE02THk5NWIzVjBkUzVpWlM5Nk9WVjZNV2xqYW5keVRRbz1IZWxtAOy9aXsbN7IwOp/1K3Cp3Nd2jrhqscyM5r2ybMc60XYkOTlz55mHL9gNkoiajQ6AlsRkfH/7fVBYGr1x0ZZkDvuDLXYDVYWtNhQKIyxJ+2iCuWzN8DT6y3M8nU6ns7ezA/93Op3i/53dvbd/6e7s9Pa63d7e3t5fOt1ed7vzF9R5FmoKTyok5n/pPBpXsXF/kgcn9EfCBWVxH912N3CSuJ9qatx2W91uq/sfIxJGwfS209pudTZCIgJOEwmlPpNoigI1gdCIcfTp8PojwnGIBJWkmTAucYRojD6R8OTodGPCpqSPJlImot9uKwytEQkxbTE+3qCBAmg/YiqSZre32+2+7XTf7bYCJlo4aU5YPL5h8bg1nf0SRCwNWwGbtu+SZsBiSWLZTpOI4VC0FQGi3e21e53uu3bnXTtiY9ZK4vFGjBURCvmGYCkPiOhvNB3eMZWTdAhQP5GQcCxJeHjc/iEdEtW4xSWh1G3WqdCDTd2DTdOFv/ewuwfW/y2OUiKejQHMX/+9zk53r7j+t/e66/X/Es8GneIx6W8gxMmYCslnfTSykxnTDYSouJ5wGl5gLmeqnMTjPjKTmpOIYEE2EErSKLpgEQ1mfXQ8OmPyghNBYqkAKAwXaRRdkYATKfpoYxOhJtLLcAOhjUTBPg776N27d+/0rzO3RpvwcmMTHbFpkkoaj1EffRyPOYuiLXSVYH5j/htELMDRRmDLuWIbm8gsUFiS5u3rcsE3W+gijQTm7Us8HFJ5+l9+IUDS9lC92RiVwW5soivJuOrV+Zg+f/h0VQL/ZgudKNAVnyxOUYC+sYkOozHjVE6mffQeCxpsobOzDVx4ubGJPpBbGpA+Orr4soWOL45OttD3F182QvNavdnYoEJSpkaaxHgYkVANQyTIxkbCwisSpJzKmRnqikI0HnMixFGEhdCDGI9pfO8+qDpqWIcM81D9QGgT4ThmErpR6FcTJqT5004UV6lF7vE0iYhivFACoQTLSR+14ZeMRB/9458GchMJmHWalOmsKSPR1K9M3U0fma1UhyyIKInlKmTHTEFiN8tRrZaDUIO9CgqosDx8DlN7+ssqKGyd5bEksI6qcKA6JKbO0uM74iDyV5pFrtKSWDbIfTDBsWaRmk8lfdR912t19/Zb3VbXvr5gXPbRdqfT6WaVTqiQSregmrepwrRc3dR81+1saOZnqzm+uL+/v1+Ff78C/37Xr9lVwqiS9E65blfRnijNRUgSB6RqfU9ZmEYEelUxH6VlmRGlcRClIekjyVOi3yR9V0j36ixR3CdKhST8+ALexSwkjnjoIoSUBvceRzgOVDE9gpqQ65MrS4qtfEUiEkhm5ppkkeHIZuTxaERjqmWX6uwoUizVDHmhdfqlYwyaXL3m3UtB+C3hPrvwh/Rdq+t90UP7bvttpxq0huVeakx69DNepIbo+IMRjq4oi4OUcxIrgbvrgY+GblieeVR0YwT9lfRRo3faeMiAJDM5UbKzhlROkogGWPRRt5ZSpY2f5ah9C+/HPAny73tzWkG4EoGHQcDS2AiLh02wEaYRCa+xuDlMJbskks+u6ZSI2q8fSIRN3YiNT8gtifro+OzTueFqIh1eAGNq6B4m90pAx+OjCNOprheShMQhieUgVCocHabSWHB2UgeqsG6W7vJmiCXWTdfqBAhs06AgIEKcMjUUlwSHP3EqyXkcEG/Au99TAxjGYopjPM5WRcA4EYOE8EEMULp75oP6KfpIj4QWdKimTq9TVQehKVYIjdTrt9vwf9O8fdt5+9aUCzm9JfwzE1LrDqOI3ZU+XcOEsvyfcXmK79WoUCLca136SmIu9Vwy74cRC25OdcPLX5MZEHbhT/BJOHJ6hhJHpqXwut1Wb+DFO82yrUgaJJyM6L2umBfeWsRl4tl2UTweaNbT3d172/Oa10fei1SofgQ72GIT4o7x0Hvpi3GLTb/LQd3bczwoQ77f2e/k2J5kCQ0GUkZ9tG1HXc+fPhISxyGOWGyJkSTGsRq7qKn/9ECBSpknSmuZ5o2UycDyXteXiiG4t139dkJvSQ6O3yrzN07lZDAlSqJTMe17nQcqRbHvClpiNf/1ZEod912J62RMQkOuZRWPW+1WmR1MsJiQcJBNmI0SK5inFOSLPlU3qOI5RjRPoPQe2NFECMriC85UrzEuLgg/0/yqMBAeNY0n6PqKseTEua/0HOTkl5TkbJkgSZVwbrgXUzJlysZv7HxPGxsbGwhNZ+KXqK6/nmRyqhEHLBsZw9je7miZoOTQEAvSR0Sbs4MpMZKpwJ/y3GkQkttCjwOO2pnviUAo+BQScMNoDlahrNIEE6d/7NpWXWauFiehf2XshpCE5HitN5JNi6npSrbAPWJfK/Ww3+vudy2WAQ4iH8Pc7twom+XLzQbHBxEOpzQugM7erTRr8lZwmRAj7U3nHIMLy+pH5vc1HnuviopkFT0VFBVncnUX5LXld0YDuWP85oE09p6DxhK3qOIXFRyjyDN8NaY8Mk6JefZudnK9Yq1XrelFq7rIcBV78FuSDc/2c7TtWVrh6UkVQ7UqH1/O+tK9U7a+9uF9pfXl+1hQgY0aP4XFlblZtj21LnursXCWSjKQyrbX3mb1gCsk+4lQwtn9zH/RNLqkj9v7nFMstzvdzrb/zVMv1bf97Ju1PvoLMM1D9XYOql7JqfdMg513CuzUD2hIRjiN5KAgcuxrJR+81/MF04LxzPpl7thlvbWzUfBOPqizSHxr1AoWjx6xWnbce5H/8K6qd+t0mwX6SomL5Dldkg4jGpy8n+MU2yyt0c26VbqZaTyORW+ikE0xNZvKsNn7iGGtHlX3Uogoc2i+Ky33RgNewSxgQo45KQqzrNl6c8yVy96B5O5ut7ZN75RnzGZ5zmwuMUM2s0VmfldNAb1iBJVkoLfYCwun+CUclt8t8izZt7nZY1+uoCDnvfT1neztOra94IGmrV/ofLOR/oTdv2T/K92USiiCoyvPGVzfNL85nsv3ORuz/FxaatSLLV5tFuilqteQdsjlVpT9oVft7s52L/f6Q8Xktd++VC8EC7B2QYBdclFhpqiVlb1Xv3RboNVHRBHYvsW8HdGhP0vbAeGyrUu1Ai69Sj+Q2RJ1bshMixNw3yxCpEs5RPrnAkSmjkOEFyLBDoGMxEcrFF4pMfnKvtZjtr+zs23fHLHplMXa0AaY3ZZpo7/jtqEkilSmY3SqrPFj5yMofLjI3AWFLx+qPQeFUl8y5aIIuexP+L2jMV7+gfgfSaZJhCUR7bPz649XLXkvnxLHgvi/Xm9vpxD/s73X21vH/7zEs4mOWDLjdDyRqNfpvmv2Or0e+vH0DnOyhY7joLWxiU5oQGJBQpTGIeFITgg6THAwIfbLFjJRg6jX6qDXqkDDfGq8+W5jE81YiqZ4hmImFVNFckIFGtGIKL2SJBLRGAVsmkRUySZ0R+UE0Bggioi/GxBsKDGNEUYBS2aIjfxyCMuNTdCm++323d1dCwOZSuFsR7qIaJ8cH308u/rY7LU6G5voSxwRIcAVQjkJ0XCGcAKW/jAiKMJ3iHGEx5yQEEmm6LzjVMnLLSTYSKp+2thEbt8t10mWKipyBViMcIwah1fo+KqB3h9eHV9tbWyin46vP59/uUY/HV5eHp5dH3+8QueX6Oj87MPx9fH52RU6/4QOz/6Ofjg++7CFCJUTwhG5T7iin3FEVfeRUPXVFSE5AkZMEyQSEtARDVCE43GKxwSN2S3hMY3HKCF8SsG5LRCOw41NFNEpNfEU5Ua1NjYuIPgL3WGqYz8FuSUcR2hK41QSkcWDhiSJ2GxKYqm6EMaZSNLa+MQ4mjJOUEgkppHYQokGeUsFlctGZLaUMGEQjoqjjeMRTLYJviVgm9FxqobVRB9BPwnJtrIZaQYWhyFq/FUZGwOatCEGakCTv6F/oL9+wpK8Z5iHf9tCfz1j6ge7+Vur1fpnQzLoE/DVtjZ++62pp27rRx1RabC2snAiKIm+ft1wQDd++w1J9nc8jVAL/QtR2MhFPVVGwSNxaP+sBG3EuoarSloCHwlXBxVlYCEE7ctxHz0SroskykBfmldfjpeD/XvzzH+npyD/BxMSJYSLlkyeLhR4kfzfedsryP+d3d46/v9FnrX8X8v/h8r/335rf6vPf7jei/CQRAJ92zYcOyQjGhPUALef/thAza9fzRmM335z8sFFfaN/oV9SJgmIBhfHWCx5HObKsbtYmXk36ZCAqefCSuDXhHAqwROjwFzqoPXWlY75UtVNHHv+OxDz9esGHG7Rn/RBKfvBiiTVHt0ZUyyDycm8PvBKPEtHlGjaOOIESz0dFC67YgIWS2U0E26D3xDW0W9qmqeCbJQaUA6S001QZegoI6sYJt4yDmUojBBSbTBbARWtto2IBKmq0DB/NIqtLbQ8IxvcbKJlzzdkNDvVRBVw39G/MlyeT7JRRPJ7c+6neQryf4iDGxKHom1cKk+iECyQ/92d3U5B/r99u5b/L/NsrBWAtQLwKAUAIlkEukpHI3qvpV4V+zUMpSWgXE5wkF8cK3ZnllDj7EwXasZxic/nK+njS6hxfHF0YurQJIiWrPX9xRdTaZyktRLl916nz/Us4v/5SM125slZ4bToAv7/9u3bAv/vbe+8XZ//fJFnzf7X7P/h7N9X+83BsFaeY7TMrrjS1v1cAzhJRPu2u3FD47CPPji2sjElEodYYgjoBtuoFCyu7Uh7oEaSU5aGUbmgIs8gz9ufnmtxR9GlegXOs+WCRIVUmv84t79+SQKwpiDu19+h98w6GyCzCmU5q9Ajbw+BAWT5s8Hl9RDECOXQPrpL9pExumy3mCgnteoIz0UkuyAo+0IP2MXl+fX50fnJ4P2XT58+Xl4NLv5+/fn8bHB8enHy8fTj2fWhms9eRYQgA4E9m4S8TyaCwrN6C9ba169WVvmNq1E6Wujr134JlsRj22YP6YV3or1UJTvunq9ZMIVr1oQLxc3VrQjQ1QA5jscEfXNDZlvom1scof7B0hjy5IElrQCpfvCc7QDVzYDuTrlRxvW+4GXNgrVPwKZTbCOB7JwZYjHJvWgGuZ//ytEviETN+9yr6U1IOWomqK1WRTvh7GcSSAHZRZweE7FxptTkqkuWBpPl65r/mzgNqWxFbJwDFsWoKUaoHZLbtpAhS+VTQX4Yma2fb6fPQWQl3EeQSDhX4NA8OgnnjwKeg/0zvsWo+SFi452fW3afEGTdJxqRg2+++e3j999fnp+cDD6fn3782lZF2lC610o4SwiXlAjUDBJUKhvRYfvbvprtrTsyxPGN40MB46T1njGphEuCms2h/VvUFrdL2S5tE+NlDh56wIIyJUC1heaTnaCdvbcd1BTola3x4ePh6fnZK6+XEsbzZwPUcnSSQAfmKDBeiYjekpgIccHZkOSryiC5YsENkfnXNoizAAghGlNJcQTHY69IwOLQO71hahJOwdloPuYBSDolLJXu83aekaQQvHY94URMWBQWYY8wjVJOvO/bOV6NQ/o/oaHKOpJp8gTNLOPp9pZu5C2L0qnSauLyjJyqtzqQdR57qFkLBeK1BLOsGIK7CyVc1GwtrNLed42Q9gM9MzmaC/+s2W3fz4qX5PCy2L2Q0qxyLs702VDb0NWsZhbM+nikWkMrZh3KKpTyEVXj3JuDsypdgAJi9PTqrZJWVp8ToQ+Ma/XyMLrDMzt79FTP6dnzJ6WWXqc4yS+MciU6Vi3VDbH2/4r+H9Ou1VKFLdr/7xTzf/V6b7d31/6fl3jW/p+1/+f38P8414/Zhf89/T6enmt5bUMGSTMP156ILak3EvMxkSV1OOFMsoBFfXR9dLFhPUieJ6FOLs8SoiVFYE9z9NGZzouRdzo9hYdpR2+jF6TC+vmf8iyU/6A3THHyiOyg8+V/t9fb2S7If6UBrOX/Szxr+b+W/y8l/7XAP7LmSlEfKGsABeOlXgMwBTcyu2dhQB2I6CWD6lTZYoQh8pNXwRtLe9kv0DdO7H+YTzo5qS1XdPAVOvDncBi0dA6yVhBhIVqqhQcBm7bgwFwr+FmX+QBlVgad8uhA/dHXiYDaba8zCkf0vNC44qhrUqhfxOTjKWy5lA73LQSa5As1trc7ewpqLaH2YOBCyGG5YMM/S6iw/O9UkKurkwM41Pu/9EnGazolv7KYHHy5PvpfwQRzHEjCP8YBC2k8PkjlaP9/4Shidxdwsv4HMtM55W5xdOCSDKw0RibJzkFdk78Iwhc2N80XAsWwYef3KuTYg+a15NijlYvHtlywYU9jOtJy9Kkxa4WUH4CrL/cpYmMBn2AnYJVWTZiQBxXbVktWVzP0wKn+dZW8hGCuRndujURnGWtJPD6oYFFV3eM2FFqcMdnSifoPhjS2Gt1gCO8n5apF7BkoMh4PEkx5i9yTBMsJwANg6m3bfh5kNQz8FUDfkvj2YNVKer8YSKpy/ZrsovO8wrrIqniV5gJYdXUHrdwnrWS2KvAoHER0yDGfDQDHqiM14nhKaobK/TXQKbQeOmQax8/4Fk/YlBy0U6EPkf98O22rt81ua7/VabKExD+HNysDBjkH5IPXvg87aitDmWKlfGAhDir21tQ/utjH8fiT+sNtpa3eD7fTlj6AKCpGC3bxxjwJWsEExzGJWjeEJDiit6Rltm5aggQHJuEp/LMJGXo1eHiBOWd3JpB+kMYCj8hA5+Ua6CwMmWAxACY4ZEy3Rf/ZGomWYbKfrg7UFO632+1yFfT5EE1ZSPyq4UirHcb/a5pZ+KgYXIsnQROHIZz1i+PusgV7Bz4hJstirhvNO8sUGRetxHDVgwqvis9t65I2elKnV5SDFh046t04TcVBd98ltvGGSq2p/LwxL1uS41iMCIcfgsThMB21BP2VHPR2qyC5tMw+JPWyFTDGQxpjyXhJHNijE5UVQbzNhw0CySWqLn9WOFo0nCOGSnUgu08Lsvu0srXs5fzx/279LIpsuArODZkdLC51N6GSRFTIg27vbavTssmJSpX8hdv87//u/8cXQb7vfn+E4McFp7H8/uiDPpycf4cluZJ4mqjXERuPg34u/MBhGAcu9KCmZ1MxaU3xfYsTyWcH23NKRSwem2K9OcWGWAYToleHkJzg6UG3ZlhxiBNJCtMSEjDZZDQmX7r5VbHOvBkEJd1hHzMtlquUOT1VjQ2UhVLhOFwe52tEfkGvEzVGy+F84xLmojeodibbGuastcGWcdzC/uCLkq8tkqXIt2lYiuTXtzdLMn+w1DB6FTzeuttB7hyX11E1sXIOqEv4b7zhhMuB9gQ4gzonYoU5dKb/IFZJr29vTS0YY5zKybI1daIcj8fZ9DkJmc6rVq5TSCBUXe+GzGrq2dw+NfhM0qAHUutSDpWq5pMRza1eQXsuL1Eug8B6U+L5n0X+/2jYtAvywXsBC/b/d9923hb3/3f21vl/XuRZ+//X/v+n9f9nF9A8yvdvgSx2/jvDZumNf4upaH9YteI3F0jV8Io0+t4H+GiPohc/FD7+o/Qxj6RUlSaNPmrYjKuNrfqSymxr9NG77XedykJfS2//mXvzNQ87O22QM/JOqJDFgwQNpQ9mJuAz9UGGJFFIFveEqwBbC1/L7UcP65XSUQfTAyVbuLojbAroh/eEg7DMbNhbejaUoT1+0OyCXIrUtw+cuO6XN1iNjIfVLtYBbMw0vGzPGbivNmU6nAiw3EAbpbB5gmI2ZOHsO3ilE/wPjD+KCIS6ne+8GoRzxgcRG8PFTqINv1sRG3+34Dvcs0IDost5xfwTGzQeMR9bQkPbGICm25HQ0Cuk4d2SWAqvd0w7AhbHJNDcHnU7vZ3vNrKeyf5RwtWrbBmufqZ0SsAwFd+5ErbfwcS3slWhabNAEtnULgqPStOEwYjxKZYITZW4R6++4WTKJBngMOSoiexPGJd/fCPplOgLMv+JGt+Yiw0a6FXtDFQQhcQyFegbNaaD4UwSMRBKSDS+gezrnIwIV7b1XCimsKJjgMfgSjCv7lUT7jAPSaj+arwqNFI7bstDCy0ulBUkDkFfMg+Lsx7WFtRgiu8H0BJBfyVV5ronmaHI168ZjE0ZJIOYJamY5OBnBZzTemCcoQh1svoVX/d2iyDGv9IkT3qa6OF36cUH1sNcWL4RwQLMf68yqpRY/t2LRZat7WToG5rYjelES4oy3ALP/7pRBJNNV7gw0fxQwhiWSe87bz7rOY/ahXbpVP5YCPir326XOuK7CgIsu3q8jbyK/fegw/+L4786nbfdov23tz7//zLP2v5b238vYf898Oy/t2n1dObf85/3r6fp2U76r9QNlWf8J0zIw4hikR0+asIlHw23i5bdCqUKw4awf04p0/zNy+q0ASa4zwg6Txwuc9hfX2nUbXXfFis+6MD+MmdcC9Z1/VnEzcWnEeESEt2IdnE/FKRqAWClO0SUCrlDiXPBrU5dZg0VVOCFVHk0VQBplte3fZ4pqcSK0+yPn1PC47PPkE+iCvrL5pJYJ4tYJ4v4H5MsohpEVU4Ityw/jsdXVJIHJYBYWQC+fY7D+H4o0Kri5c907N/jpS985N/D/JLH/T2066P+DznqXzvx5571L2+Z5aE+SwKB9fOnflbx/z0o+cPi+I/tnU4x/2evu7M+//kiz9r/t/b/vbT/b4ncD8/q96vL91D0XiVF5dfP9OC9LueWrtK/ZglBDXvHbwM1Try7OBt5XVBjmL+DZ8vNUV2WzkBRJLN8p0NFyfxdohpr8TLoxnxkJRCNjVwj6tNdrO5ghRnQbDZXnYmem/JlZuK77Xed4gx8Vz0D32X3Kz/pHNx8xCzcfNp5+EyTYK3GmmeR/ucdo3qu+N/edq+k/+12emv97yWetf631v8erv9V6gj+ycvHRACPopTEMlwcAOwhXD0GWGPJBfz9Ve93/M2Ir/8HZJHE1G6mJVgu4bn+tv1t61tTg9wDSXCeG/2jsbRj+tvGFlpcOmLjVsJE459OaxADWFvL1nTKxTiXSQWhaRpJGtGYDEZRKiYDGkvCb3GEesK5t0ac+F927Ze/JpgL14m2G2OdyAwKtL0Sf237na5fgRRH336bHwi9CWEqQZG/eVrj781P/2zPKvL/mfw/3bfd0vmfXnd9/9eLPGv5v5b/LyP/l7a7n1TMW2XCr7zID+SVLSX97FYY4t7roqm7SgrPue1bkL/zweJvJf4vsSSjNLoiqwUAL4j/3e69LeZ/3u7srs9/vsiz5v9r/v8y/L/oe81HAV9lvKXCFPRZ43ICQn3DSfJAqVGOEF6QYcgWtC5LkGpnFbSvFEb8IInw6EjiYjc+uCtXuEmsNMxNI4BcXiVUjoQ00R/iesJpeIG5nFWEXC6I8zROhv5tt+VdR+IuoK6Cp6vMq1kMZawLmCoGZhTjzpYMccrSHebB+g6UfFykjWXynB+1iA2UNpFBu6p8898knja/nJ88oLYS/O9xO1vV8l5H266jbf8w0bZtSWOKms0/8R1tZywkT3BBW/dpLmjz7/t61AVt+YvD/tD3lj3ugrY/UUMfc0HbIjxPdEHbfCXnwWrOHzIIfEnCgKBK9Pq0UmXEuy6goDVDyh/WiepTXaMWZVHV5ZaI//ZrvXDEu4/6JUPefbzrmPfHXG+X5w9kmsjZB8r76LevpSo1Bs7cePbSrnI1FY+JkS/CrFnSc0F6dTyIxnSJWZYfNCFcQPaJgBRTr6L5XKOya53lW8hdWoXm9bxFQO6pkDQeH0WYTt8sSZLDIn+EaQKV890TqFdnxTs+FlLgE5C37m8zTNfWD243BYpuE1RHetGf8ridi27HW4ue78SmjDllIRF99I9FPZCVdteZfP3qJVISknE8Vm0XYqku9Sv4PVppGZskPAV1wIBYjEpnqKlyrKx3+5/uWbT/8+jkn4v3//c6u6X4v87e9nr/5yWe9f7Pev/nac9/rLN/PiaJYsE5bU8f1GWyRPlUmYVaq6fOrAQwL5Vm3V6J/9RifvkU/3O6cS6VlTZfCZ3JC7fcWNFVMprOHYHaDKVLN2/++D1pYs/Hkbug5jrdbVXhp0l3WyrzsrdbLKImP471N1QAK1AjXDfAxx/0+OYxPOlgm8FrducMsJ4Q86YAFQPTqmI2W/95psFf50NentSnYJu/Uz7k9Tm5f/Nnafv/oclfF8d/dvd2Svb/dmed//VFnrX9v7b/n9/+X2d/XWd/tcXWiT8fGaj4nGk/10k/12GIf+gwxHlkPmkUYjB/tkAAj+LXg4rovceGIq14M6ZHNJ4/UO7WRXuRJvrb356EWhKHBVLWOVNzlvzD4y5LLoE/dDjiI+Iu/1wNfXDcZamZzxZ3+cfMxVvDNCuRPkUs5oOZ6WrN8rnqw9tSC2V1YqqH0VFBuKxk40vEOvLfKZsx/z1yGfN1JmNT/98sk7E/71fmDyVCCstJwCgVIt/g3dmcepkm9WJ+96X9vw9N/rJM/rfdYv6X7u76/ueXedb+37X/92X9v/9zsv/yJ839y58j8y8v51tdJA8fmve3HkBjo9CEJ0/5ut7Grnvq5L9IML9pDyYkSggXLZmsKvS9Z1H+t53d3bz8777d6a7zv77Is7FWANYKwMMVgPa36Bh2x9AV7Iqhb9tfv+rMQCEZ0TjbPQOG0tR3jbsttGaWad6TnzgaM07lZIoaZ2e6UDOO3bGf6kohUcoEahxfHJ2YOjQJoiVrfX/xxVQaJ2mpjv37916sz/DM5/+TcCQec/JHPwvif/Z6veL9z529nXX+zxd51ux/zf6f1v5TPONRZ3/Uv8rGWSLxtym5+tmfgHHSBGvkfhq5vN+5bUqbdfqvZl9hlqWy/qtC/LeREh8QQ9tSv//ahrdZIYhC+Zvqjn673YEQmk7/XafT+Wtbf7II2nkMf20X6Gg2m4/oRRLfPksXnn45uT7+fH768cPg7OP1T+eXP/RRA24uOTq//Dg4Oj/7NBiJgemiT1d91DB9YXFCZ+QrTHDIWDJQK3gg1NwLUkH4QP0DgdRMVpaHe4uh5CQlgwkTUvRR49slyo45S5OKwpQNFD9Sa4uyeBCwkASijxgfW56iwbUoa9mCrasYJ8nsSJXdQOjzh09XGlg4EoM7MlTNH5jTEH30SvKUvCqV85ahV3aEI1FR2PbkQA0K/GFCmWDmDGgyGAxsrNZgMAgmJLiph6bPRqjOzuDZ2hBxHwnwjuRruaIr1nO08yQYDAZDGoeGWjWP9HKZU8v4ox9WGebXw6qJ2npwSuLvh5dnuuYM83gQsfFgMMDjMSdjPSYDM6reBKioo8+9DFIeqWWj5dmECsn4TH/q73f399tGUinA5qsOcmmUoRZSVA04CRTrn1VMyAU1FR4yCCIsKheEqmNOwpXyYlmkrU80IlczIcn08hRSf14poEvgDiZEiRn+MPyueitQlaictY7MH1f2U5kID6kpPFCcyLK2wRTf02k6VQMdRSyw4zwd9tGr/e67XkWfPhDkrZJboo9e7SwxTiMBLFQtfD1kKad91OZTeLtEX8P4qIYQyWmgJn6SDiMqJoSvPmsyhlD4srgqDkPFXks1+/ud7d4qc2YeoM4yS0b/HgwkV3bSfIDdMkBJpwRu0xhY9rW4HyvqjElMOFV8z1v/ih9pFvAgmNnw5NhMru4UJ5yEaUDUXwOWyiSVTkpWYtM1qopriVqxfnEwR6QW2uHlC8kGZ0qmqhPM+uvube9XLZbKqkGS+otsf0G9kIob1e0ER3JixSvhavEOBvZrKmlEf7VDlBCefUoID0gsISb51bv91u5COqcMljNOlPTSsiWkvI+UIGgqzj8fAE7vsyEXfZQNqJiko1GkmMLp4cXlxw/FAR9xPCV3jN8M9CRRoCsLD4IJjcLBz/gWD1ii1LBXzf+e3u903u1NX9WCVxPEjBuMmipeX9pW8ipYNlsPvkjRdudtbw5F5r9irb3uzk6pFvSzGpOsOp4OSHzbR58PP5yfXwxMaaUtH7RZItt6rje3W71Wtz2X7icAY/5bAdKDLA6r+y2wOGyxtcWxtjjWFsfa4lhbHGuLY21xrC2OtcWxtjjWFsf/VItjHaH1+zxL7P9bDfuh2/+L4r/e7vR6xf3/nd236/3/l3jW+//r/f8nvv+tGADw0EvfnKPoKX1JNgo8d0Wbh2nujW/QMscO3Z1v/0LGiELbFeHLC5KF1Dfh2ZKFrNRrK1/i5nWmfZbJu2HUAVu732t1Wp2mfgs6QlNpRvtPklijkGkko/3q4+WPx0cfBxeXH926KxyjNLlFGiWXogf8E2fTiuPh2pF6SUbFg8E1HlT7LHXcvNPpLCixv7ez3IF0cu+nnLcjXkrMYfG0hzRuF3J02G+5TB2OsJRHqDlCEQtwBC6tAm1/8KPf8864r/vuocfm/wA998w3IIWlc9/+mW7N6tpW4150Ljkvi5Y4if2EZ6LzuF/yNHYe8/pI9pwj2aveFVN7hDs/bStujXnUnTH5Ea27NWZJ4h59f8wcajw1r+EEtfqjURjgx90s47Vn/qUyK2lxy94os7BLKq+UWfFGmTzEZ75TpoAsd6vM+k6ZZfw/VtN9Jv9Pt9Pb2S75f/bW+V9f5Fn7f9b+nz+o/8cdTXjK0wuV/h8PUyEr7Eq39dcS83xX9a/S/gpPTv4Ez1z1UKnVR/PcPiQikjQjJmRzxNI4LPt/hqmYDdl9Ll+Ptu/QPxpi0thCjWag/uVT1OSjnEmkkLQV8P8A4I1/Po/lpYrbnslp6vM8Xt70KbR4GY+XcyS9oMfLUn508uXq+uPl4Ozw9GOug4yXa4SLGXqLrq35jq3yUST0DH6tZRMtruBhqPcvVHgXqn0LyyQz3O48wi2z+8dzab1Qt+0+ote6fzRn1tP32YsklCQysIwzd5iyQHCW2XBOoYpznzV3X6/Mxxf5kpxx88K5DPPIX9yF5jCvXWgPyWpYO1XnJiAsH2zO2vTAW50Xueaewjnn5soSVzo/gzeuGr3njcv24oruuJd1yK2kjD/WIZct4KdyyDmIL+GQy5CtHXK/67OE/+8RmT/1syD+a7vXLd7/1NnureO/XuRZ+//W/r/nzf+yYu7PZ436qsv96cfwJEW/Qy7vZ/a6mGOzCHJ/b6cAMgs3yIHMXi+dtrOwAe9yd9Ynzlw9zAw6rtlsrjqAz+q2fd4BnJfMtWCwPUVG17IBOjeta2F6vS02eL86U232erXplW/rgum1uu8bhnUd9v97P/P1v3hM4/tHJwBcoP/t7XZ2ivnfOzvr/K8v8qz1v7X+97T6H/CMxyUAVBCWyP6niq2eRcK76Qj4mc3+Z9xJ/UxY3s98z58+e18hLXWDyX0wwfGYtGiS33qDk/9JnQ5QqKwKl6/yH/MkWBqEKuyDqLyVfUErASSqbsS77dyOnEfbu223k2BvZy+Dtl9qoe/XQt/rbCx7j6XuE2+ovd6w11fWuPP38t4nNSsBmJqPdq7AP5upIFypeEMWzr6DVzq98SDhLCBCEIFQ7zuvAuGc8UHExgjpuwjV71bExt8t+K6wSBoQXc4r5t/QiGg8YrUlCOfmvU9RQkPb1YBRNzWhoVdIQ7wlsRTeHfKmqQGLYxJoHoG6nd6Orvi1UF2NsFfZrlj9TOlUa5niO1fCpiUA5RN5p87bLJBENoXkBE89Kk0TBiPGp1giNFVCAr36xhxhxmHIURPZnzB0//hG0ikZwE7aP1HjG+PLbKDGNzAj1YRtoFeFHSf/efWNkFimAn2j5sBgOJNEDISaRQYEJyPClUUwF4opDCli8JjEGQn3qj13mIckVH8toiZNdL8MLFnuBbR/fmXTfDir79XkRCQsFgTez4OQDV7Bl+3NaP1CT2k1QoUBFCQOQSswD4szoJsySAYxS1IxyX1zBW4ISXBEbzWlsCL2drP6IMEEnLQf0HgwIVj9LoPZHP9KkzzqKMWDBAc3eEwGCZYT1Pgm4WRE79tRitv/uxWl+LvvGt9505vKgVkgw9lAVYdWvVLFzY42/ZWoeq8K2G23a54YRKmQhHsrB5ktL8IzHqt45neKcvRzKqTSLWh8iyMaIpMtAmGBMEoiHBA0YVEIWRayZ2js1jKt9otHKcqv7hzNwK2XpXnvd6XZcqBbtcjb3wJ3L7Eu06zfqhiMmo0gPQs8Js9U5q0XWHTWJkcZJ8mYiPmbk4DQWxIuhiZM8ihYwo386p/POzQbchUyIhqo9NrSk/tkBAGgbhRntccHgA3IIGl6rMD1ZYkdwKTJz6QIthTRu25v/7vcB4CQo0PxgK6oKmW/bld+TbAQyF173t/OofpqZsm/h+9iGfs/dHf0P8wBsMj+f9stxn93e+v475d51vb/2v5/Zvu/Pv77g2MsdV6ApzP/7Q5CIcBbcizJ2JjA2iF+SQJOdODravHf1QQ9X/D30h2w8hl+2/f2WSacGer0S0UkHuedGQ8PYq4MoKwLnywFTzaN7Z49iqM1KWqIzeIV2CDn9NspC+mIwr3YpQLjhu4pMAP8r8ogKCAjwYShhvbRIDAi2Kjki7LxqP9Xo1CbJSTmRMgZao7RqxCTKYsRG42+83W6ynhqk2JNyqSpvhfgli6tL0Vb6/pKs1+qfnfJWGxF0PcVV6TrSE5JRBGTcz71Ch8UpM/amKs6J67p/+/mUSokmzZ1yQpF2ES850jOFftDH6ufF7/9R+3qPM1/nr6uj/r+E/b0i8SKV1xXD4aWt7/YzpyshXYU9wRq786vgbA6KR7LX5KW2mBrTdMLx5ZrpC8ZU64xrmPJHxRLXjmz5weS+xtkj3NDLGP/PzYAdIH939vbK97/3tnd2V3b/y/xrO3/tf3/gvb/MvGDz2P3V0UOqolSvO69Omowe10fIWjE7lNEBmpQiryz1S979xqozLZiA7vVDez+Dg1U5D2ggbVxix6BULn+Nntd8qFX2dfULt1jPz9kcjV30TPdYz9f/idpJDB/bADgXPnf7XXfbu+W/P/ba///izxr+b+W/08r/zXPeFQAoAaxOAJQl1s9BFBIHIc4YjHJRXVt6n+z6S6ZP9evzHCjTyyNQ+gX9Prw6tMb0zksJgYA42jKOAHvKAw64yiyM1RNpSmJpWghN05n59fHRx9hQRgQ/nwxq4EKCLqCwcRhSBUBOIKoLz4FckxdTsaYh2pMA7e22V1MuJjQpIXQtWrT1SdLkshWowEgGSzY5Ve7qeet+RVXvAFQWvdo6WXvDyBahQX4FR/ODAwAyxIewBBsH+bYwrJMwVRexBpQHWew5C/PH3zuYGpX8Iisc/Wfm5uo2Wyi70lMOI7QkLMbwpEgUnWigG+bm16FGvXN8Bgb82pVRQ3uCC4Vu47ER32s/UDylDho2WnwkqZpmnFKhFBNv6K/ErPvd2/eqVcH3e2dXvft296+X+n/ZeyGkIRw9EvKeDpFWWAkUgMd6+P+v9piVxDaIg58GEf+td8I7qeqAZO7IBwKluE9pOuMVab08etIHOzt7XYrO65UWhXtzOlT0PAl05yA2cCez9fXF/YE+QNoviPDAsH7nf1qgvNFVbl51H42VxOppXN84SLSQIJqKGhI41AgFm+5NARUIHMvm572qsShrnlgPqyIA4e3hEsKHFpLIpZKQUOi5EAUttCxThohiNyCz+DuV7zxOCbS4G6NiTxhAY4Uwtdv1E/11xmektdvFNGpUDqDIsrhc3T7BJ+l06GScorzcoJDYcdTsZAzIuUMHZ+30IesOwSBMe+hb9FlGks6JQq7+fP1mxa+xTRSS/RCx0szLl6/AWxxOj0+v9ZolieC8ZAork3uSaBkbgskXfGtbbOqyRLCsTT6plubjpmnwQRhAbtR2VekLy3cQmMiQV8RCQ4ISlhEA0oEGnE29UoTGbTQsUQ4EszhFUlEJRqmcRiRXJft2+afa6o/GqJtX+wv3Rn+2hLIRKTTePx0I/RZykSznWVGCiWMRQjSPXhU6pWdyQHtaDYg1OhloxbnAN3RKEIhQ0MsaGDr6+FUvDKiNwRM+XYaq/9MX2+hNAnVgOv7qcITEo4J13zXjropIVlCg7ZIhyLgNIHIcxM6oqiZGhkRUpEogx2pabSlCIpgLw6B2a8oUeNvIHsdv3pv52fCBWMRCKMHd7k3n3EUKbvfdr/X+wGofW4MfLB2FSmQZt9DaQnjiA1x5EE3IakVfWA8TnE6PVJoahrYzXHNU3yvhF+Qcq60+jsydHPciuoj91lN0Evz9aDb6e3kOgt4r1YjbciyZOhuQgOjbJtJNSQRU7qJZFr06rKq+kFmR/iQtdphC74Sdo+1GTI4lKBRBDj2dECDTPEayVDExjTAkVLkrVZvYHwAEE6zgYtOq9UQ0+92J1ytnymNIir0Tq7VRn4w2ggUvtZlT6HcwXbHnpXOgOvi3kLzwFdCPrclr3M78gfbNZDtjEsonwHwWshm0qiCGdAcVIUSxhRTCfPUjOiY44CM0giJSSpDdhe30OEIxl8NOyAlEU4EEVqsGuapec6QoBsaRST0FSEDx/afONgr9t2nCI+B89/QxLE7Uw3dTUhsX06wYlQCnadSTU995Zw+uAOgFID3Oazn8fn5aXkqmGmoVnbExpAaCCO4MLCFPiqbMSACYc2k1EAqfqcpUW3WxamyhVQ/m9ZqWP+lvh0pSCUN2yk3d4iNpILFNE5taCgcSsfBEk3wLbHAM4zVaI5jSfgtjo5jO9J7uc61TCUhvKnbkW81mCpLKJiwCet0XI8Kg+BEwfn+/UGFS9iH0Kqv6qetylJAldTretTdeXqr7QcpI+hvp50I1Wj1lgrQGHGkeOzM2REkRLhKmWmh1yEVMI8M2U0FBdQlrWx2tICSMvpgzBFDRDZWnYpZqQYcMsbC7BshGquZeGvErvDW1gfIK3tsvl/D5xWnXRXwVSZCLR2fQPbEgWNACyfG0qD8ibJXP1GWJ21v3sRRYjUhMfiMzI27nu6o2HJmhkqG8C2jIZy3UhUizMdEiXGjfBhAzhllwCgBBMzMaaB91LVccorvL3S1C40+tIL7AvQzg/ygW2CrasRHuqkyminaEs50P0QzMwVwHKIkVTSCWCGh1d6MyqB/aElSYDenNE4lEQe7RZxKJVDYQhLhGeLkjurOC1IuGAeUVjVUry1CzV/NbAxYLNIpAYNEG7aay+rPR+brJ0wjdguDjGdKwBjpXNUTHlVEkmze+1qsMVAiLKShIBurnxR1VJuyW3XVMSfAQzSSEOFUsimWSmGJZlpEeeWhW50CYPuziiX4tZx+zUlIInpLlDKgb0DW7oM49D9BNA6sedulrz2r3GQ3fFOi7dJBuNaw6/jKeYx+ILOrCVaTJ9cbW5oXWmyHX67PB1cXJ8fXaMpCZW4Ioo09UI7h5LJARpJvArk6QSKaYAEzRTIlFIWg4xjdkBmYdDG5cy0TpVY4yr4ImDQa4GcNr6wWzGuLt4YZjfWaBf3YgW1aOrkyJT1LYULHE+P801C06gRucPJLiiP4qRs2VQ1mI9e+JdpWatiltsUugE61GB7PFXzE1fN4KfZwpWzqiROYaEgm+JYyDqLI2Y0kTN2RZtvNmpu7TlVsAcdK4VTrn9MwJDGoOE5OgwfITO8tq0CClsrJzyQwTvGM+4DidUc4cQoAXNMeWgJAPuYEi0dlrc1xqm+O92cPZ2EaKM6W7U1o5FS+EmjMzEwfWlvTZgrV5mS+c5KUJ0wQUUfXKb7Xhu/56MLg1dyxU20bk1hyqlRfUPm1MYY1TqAXiRgnYsKAd0h8Q5zteoiGdDyGZukZoPtaWfyqNbB1YCsLNCTQSgUAyQlLxxPFWu9YGoUGHo0DtdZJ1veIk4BpbkenZCtTxy3R9jr80JDvue4t1bHZnBgSOOuCZzlTpTCkANVO6JJMAQMq086onOV6LZuzxh1DRYB5aGZ/foKX96gibHQy1ftUGA2DhG725DxVe2jCUi5adU2xQ3/sSHXGrF6j23mTAUQd9lRetdrg2I/eb1M2rd4NmcEwTnwNxzqTlL1o4Glt2FqI4BnBwucDUM78befrmcX+HgCKg50qP4LTY6c0hoWGo4jdkdA4IlFEhxzzGbrVm3LGS6E+negvZrcuZ7GVVvEFlhO3Twz7dNZZGRJJ+JTGep5ypjd9kDmvbKvYiaD6VacM8JRA4/KnAdFDDVNc32Kv22dYP4D8RCOiqDlop4K34SB1W2/itScyZEaB9zTXbGDSGAc3MbuLSDj29DzXYyBd4fBy9m04g01FozgwNStEWTq20HtvpgvJEtBCsiZmTJb50AIzTbQNagxegdJY0igrB+4zZY1b4nNKozIHDZYvQn3Bmadf6WmwmYiHkfoEPUDsFpZGmgk8h1AJllJP2HmP4xm49DgN3Iqd4vsvADo0sI1iDuAOdovsdrVhAX/VUn1eqVQbz9ymgpcpE9a5l9Mr1YA8yXhAiIRxGKvWGR3UwlPiQCFo91rLjpnt2Gbmrdj0hs623Ayeczw/fPSuvI456HUeP4SaBbTQeXUn5zWU4nBWLCM1nBXTwkifCRZW6yyQmQHRw5q3X2Bs7YSZP8CPHlp/hhQG2Bta0y0hIyJ+JdEwYsGNN96ifgj1+sibU9D7BqSleU5l3ZgtpZsAYlHorlJnm8bkjehNpd7FetATwgMSy4z/qDbmB1BNAGVDWhak5qyycgoDBypjriZWBHr80IxEwaJfNNvPY93296rBJDzotLp7eb0nuNF+YCW4ggkJ04ggicWNJkmLLKOyOX8JlqbBMCcCzgQsD9/rtIkuSZgGRv1VK4ebuaPW9Bi4sbKYcBCkHAcz1fvgLeNMysj3zgxTO4cpxNcIXfHo4guYO4QrhcsZQdbv+/qD8eZZMB7kCqeeItz4Y2CTzxRV3eN5InoP6DozP/99+043cHHn7ZZ47iWW5DWNUddue7xRjMVKdE+TsXRAPJjtUTqa37fGWjT4XJucv8UVXqVNpy5ARhF/sGST3s/ks7VnqGA/uDGKsnJLrDXimJTeZlMNysRxNikMm1etIdqkU3N5CXXANxg2SzvNzQyDNinM+6wBivILwsEPfByfinF1MyCXzzO1waAK8z3WhFF5aEPUoBRa4m++N92U8E1Lf9JYM/412ECq5CjCYy2MpvjGCU1l8sxiPNUeTRsP4MiGWWVxGO+SxgKf+k4eQjNIM1/xAL32S6P/8PdgckXftOZ0y6XBf83MDIbpWjLq3s/cGNwRs1aqBkDvjjJljeF0PJEoTTxFGgt0R6JI/Z+9vJsw2MMzmMyWVR3N5/EZi9/rMtZqqPO2XnASUGHpnASEI0gYCdG0LFIMnunwVsnQhArJ+Mwtk0wVVKoP+E20UzrRUD84tepTxO6ONMhKn5YHyos4iBi7SRO7q2GnDHAxE6Wlh11Zt7czROOATWGTRNeTHI9GxseWi1U4ge9m02ORPeXRo3WQiOFQT/0asmzfZTB+vWm6XfyK2AlYdCcMhz5JRYo8OmIWN7P7ftxwGAemTYgZFjaTynjPWHzhwBihMn8LKPPs6Yx7fjAUxBkWacu8nHE6/QnqmACmT4zn8EMn5GOu7K66YxUQXVSErjtUr7cCOFGa79Ugq4j2wZYJLUPOzxrrV8u5Q8xYwNTVvL3Wentf8i+Dzu7AOmNHq+4kP2ELzj2BQqK9n61lXRtTfO8cvFYs+LZUy86mUqnifhMEP2Reak9OkDjgs0R65k3LbSWZnXDDl01J2EaCaPFz54Ncgp1YzvqUA5HfRlk0EBkRDxkIy8PnD0SpVFk1zEgr7DJmPWM+DMkyfVO7CaJ6KGdKVnWPQ1XYGntQH/kWp+sBVNVPlSXn9dWiGZT3ov1ZJpLfDQvnU857NaerEswl1YOoZI/7CX1mBYGilaAOYhzFZKy1RwNCaYPGqICtUEWQpecsnV448BeEX2TAy0Nojj5cn1zljjkohVzpJrDz0AQ6SnHtnpeo8IHGQhKszZ/VguflEucjvDIZS6uOIFHEBISryTXiRExQaM8xZPF76LUgEnWy4BwWG7PCzDoj4t9Y5EeEy0sNDzYvbIjRFQkO/ExVVVsYqp8VQXREVd9mx5sMXPM+22xgiXTnXQmXom3cmepHKyHT2s0ShSnh9FZhuSGzHKYfyGwxhhsyayY3+3ORSJ7C/mhVs7J9eGoGwQtxvyWcjmba+YLjGXwXShsWJJb6iJPt+Xhs9o3swsecIEHHsTkJlUOMUzlhnMoZbEIDdwFUZj/OQBhhGukoShNJANgV3DS2TVKT20QZuFTicISKsySxZxNkJK5VeTV0Yk6XBrhywA4DOHOWIS31I2dT03rbnapZPCVbquF6pw28CLobsijemEml4urGZ6f1rGH0qpLyVwaI4rw1SoA5CJIdRzCbyLYbMy+q3XBUc8VQqkaHxNIMRuth/OFQEXYcCxKknHga+Dx+UVdnEf+40nuteq5Hwp35F6VdZnOEKCZjJilY5ilXU1eN6ATHoZjgG9v5r7FOGtgUJMEcWGxEhTTasE68DFvAb+ygf7zH0yQiot9E/7g+ubrttnpbSP/RNX/807b1wtJ4MK8lAU1sZMyyzfi8fDM09Fr6Bx+PPnz+OLi8Ohz8dHz9eXD48WrQ7e0Pvj86HVx9Puzt7rnWHGlIubZcm9ViZpW3YPQSdQcldXSvm7/XJ1fOZwtqhWp9NhsgGlW90WA9dmwDVM0ydUsxRmQ0IoE0m6kGr4loMdt+BR7mHLmw1OGdZWsVi0NGwujxps2aNkXaeWwoL+n1RqT/QGb6sB5gAncOusUcMoiJgrA3xp4qCYzC1YWsFblzfUpyGglRkMY/UTmxFcvGhoJ9wdktDYkOOsrh8CYvlDgoVl2Koj76zx+uttDFD0dXJl+cFnZQ83qWkIP//OGqFjKkv3SwitXrKUqwEHeMh14wf7HyhSlSAgLD+sCGZXXrmuZBr25cVmAeZXMamJWqbOJPEwKHfiE0KcaRXbKKzeRHVDJ/AZizbxf+OSw/1Kp4mHbB1DPqkJt+IJeGsxJZlUQwaMECUq5EVDt154+xDgXP0VEe7U1HsmJQS5G9uO9Wnz8VtL4EeUvPzQLmrZcgrnLez5G2RQKeQ+yakqQ1bqFlBW7r+TqrSob/UTSrrI/qlapn6ZRqNc0IYsadeS9mQpKp5xXQL8CSrw2bK4MxHnlySyJ3jmar8i0KSUL0MXKt7hcJ2EQXEQSIkuzUjF8IjSgXxl6BFycK/oUBX0vz8QhhF28K5wnRiMSBVeOUguW5xLTtDgEiNrwxiJixN+AcXTTzTCbqHywGjwou+lR0aLhBac6debaMhu616hOJA9g5z50grPCtHOYUu4Lmdckioqek0RqVlDARn1ighr7MhbOIiIaxaUl2MFkpvG57RU08DVUVV7WhssIgUNP1VEimYNsyVV/7wWiIGKdjqmZ1wmkc0ARHuqkZiIPCYOnUKREeu5615rTd5/FWhV7WDonqErj8165CZa5RaW7dAas4X+PCUgV2ubHyfyVCVXpNR07lN+vaR31uQCicH7DEtaslr4AX4cyLNT9MpTfAiVUzIJGC4j9bxi6nQrMnVMG6IyyEnggVmK1uUWQWesvAdkeebvdmHtlZqYxsWDvolxRH2nUApEF4fxm2U3oYH9ucNsZ0N0ZCrnhL88XDKhA5ypS9rqZrCKHbUxtcSeOKxm6i1+WSLI5yWXLoyIFrBhPM7Yb4t9bpJBCWmnMp7gAHkRImqD4tP+6jb227TMjwFsr/bn37ptw90I6fDF5xaogrj8QiLiDShPBmKghvbKEpwbGJ/p455meYPAp1gCIOp9T2Trahao6XwKZS23jItY+pENUE+L4Iwssrv8DNXJIclmNNVAoSjVroi+LIdwXGYKxi2AvV2rWRk1ZhM6mCaIyEyUWii5nD62V5mifqIkrHND5YVApzPCWypJikScK46vhDVfrXbF2Yg/IwTK8L6/iNjg+q4CAARB+Qh8D6on1kwxMtNdbXQKaJnG2hNPZ5Wag0EZ45EbAaUhbPpiwVdrg02uLbg6JBJNkNiVEjiDCdNswZHDOXQMNJOJHZcYF8y1BDSZiGGpiGkxcNpSAdVrKta8Bltyxh3BsiHTYgjirC8Y2N7LshsYJwpIiqoRinIVUy2pGuxmNL63ENnIaNrXxjrMd5bA5Aufow7wGmpye4xDWumK8DWG9qyydXl1uKZMjMIDJ9xoYmX8PhBhKF6P+Ugf4ftbSsmIbPW/o0jbnlQidKqyDpoKyKvGfsxqQ0MF6uUm6r0gpPYDXZXB2wlj23lmRoyNgNtSehGLvRqR4WLUyDzKNIzTGLjU6TCPLRYXuuw+QA81aKFpfA02AvbykKXGVIlbFSjfzomgwTaizf/4BwGKI23GiACvErReimYnYQPZ9zQtlFqYkU0wEjShbomyfUeqQj0Phw6NQ+G6ANaeuIMUB0TjrCITudpFNrIC3c/LT5GHM0VDbEo/SS4NC1y4SQ1kTDBBMcxyTS25565hSg22NIR6bkBeHvodxBPhzaBqjo2Zc7t9NC783bLKkDBNOacHDih7dlRoXJZmI60KBxJp87WTckSjniOJY0NtaJYFMC3dxCH7R1amPOKQu3YCMRjihwge4YRNMTe67LCmmgS5C5q+kztLE6x8WcsvYkXeHQ/TzonOuUN3D7xgXh7jDe7qKq/+W6Rs2IbJp393MBUrqZXkciWDTZOX5wnxufuVdKmlO9oLYJNVoGkt6VAi0O5jA2I1JJb0bkpcJ60G1Vnf3mOLhpYkic6JDYBEpgLc9aau3DpAgmLBs8LVtCOhoRCEPjcEBAsU6DQAlvvRDV1DDASSzIdBhlmY5yagHEdmpRZgteRDgAJmmupYLclfGonbUWEjxsQeJsex63prJBKiYsjUI1PY2t7On1Pli9JXmJgxvon49zgBb73lXSZeriLe0YQLKhh4+CgeaNBQDUqnA2LvNHxFMQXD/mMtst10bFaek4Ztyt+j/DGEN/Ha48ylCtYpzLUWjm/GjGh/WwKAFxx6kkJncljPLiJakngoSocINBqX65lYklioiy8F4VyT6l8Vk6VcOn5M5PCv1/AfZXhip9DCBHV2X7awEddCtMeLFMwyRDCQ1u8k1ZoQUGZakd/+U1A+b4+x9QgJWUGtE4tORIk4UDjopDQPEdev/DGZMfY5aOJ0bgfoQsunrvCmKAwPVKgxuTaCJkU8RiUt1npjPqu67Gc9O2Tk5OIK2ijjnGIRI62wxR0lXfNjW2Z9arKbjUAJQ+c2XqLvKxmu6hgkVaUx3O/CPa2Hl4TMExZ2mio58nTHErNYwtdBjPfHVo0yXV9BJkk9DWLgVZGN+0tzlXbNqxJfB7AFHldXYTT0lszGfNrFGAF8y1+WCtNmoAg+ZFYIJY6C6dYPUIXFnk8+i1LGPoa3kZW3MowAeKuaxi0QX4viPS332wKbyXpdPRpIwY+GScfLVs4tBSa5bQcTyv6TaPh9l8gIgWKmee9w4HcPQgcygWkhz2a/i9jETr+uTqiMWS3MtPGkyB6OuTK2vTmwJHCs3BqhDz805GouhggE2USvNAAaww08rrM3Pk6Js5Lj6ebvkbq1kiB3Mf3cXH0zIuEyoHO6S2gEbwNPBdEJbCIAoodLCdZDrzgbH3FVe5ITOR2/7cssErZl64AqBfmC3ShDMJ0bHFuajbmdvOhEC2ZUiBmJj5xHhFliWnvL9aTdDCaMeqwVwMqjJEMz8HK4I1a0HOC5OcMyUeEFFYEIghFTfojkCu/SGGky5Wd8vlMckWT0bJBypufoKq71VNp/TVCkTLmpy17CJqIUibWFvZZHTDMSL3SUQDKtHJ4ZF1PmVK9avOK7t9Kbxas1w1kWtHpziVPpqiJzjwEyRFUcFB8UUQxCLFP9+7uuiOcpLtG9ezpC+C/Nj7iXJi93TLxsx9Yg2TXLpmm/HXeAcg1YgwmaGmRE5IKlp+Ku+szzfL2hPguFIQrtmFq18XHnZqMOtkw1V+wMxp4+Ss7wPkBEuj4QAIqJXLYGwGxpoNOnFujVuIJQaB5hNwthNniSRqgddq1hnssTb2tcsU0LzG+qC8zsE6JCOFUuv0eosOHGlvapEeBjdVKMsJvkZRKkxsrE7BZ7eUclmvgiCdplpTCFPYxcmdJm6h1/aAckW+4r1OLhFtPoU0IL0wOD8pYmwixwNUnawUIpTAT0eCG5FOc2NurpVQ7zK/bW4BNo4uj7Z7Rw0D9Ry2bRImBIV4BC9Zny7Z2EKN08MjvZXw4cvp6d8b6HXMHPo3rYpBoGMiQF4eaGzVw+4duPNDkQsrTmJxI0oZP3L4zgrn8fL5kFZFaLMPhBp1JborU6Ya4yHcHOul4fXSaAdYb3+GWGKU4Bkc2qNxgYiWdjzo6gYq1ad29C4TmJb/+eMpCikngbSIcBzqXGkm/4mfEmFC8mkReBqDfmCzuIFDzm54ZCeAt3Sqg257V989nunuOdQVc1tpm4qlnL6vDDm8I9YigFPU+Rta4ACu7R/jAaKxIDpbOI11wucapEcsmZkcZVWxhsZpmqXtHoJBCimVpctermNuADG5pSb+WCDJIZebcRCVcX80ZX/CkvAp5jcHndY7H7+9rYN4uByCkU2/6jSTwuTU5V/bCqItSFDBBnOkuJyuB91O4TaJwyhyOeIyT7yQeKaz+2l0I3sxUZV33mScM353IGxh51zTaXZ1dE1i0nw/STdqr2nsn9bWxL/RC+JuAuza8vLM4IRMlPo+h1fmyPmYhNbhok+SpKLgeIMrHHT6xwomp1n3ewfMtafUksssnwTsbzruAAJNoDHcapMdqtG5pLB2ycAcyGepKYu7U8xvdDZfhQtyPh90WjnRlz/d5sacIZwkREcbWT3Bylsz1bUKwVkE+WSdFmjK2ve5tZFtlihZRqV32Q/6Fn3UwQN6dt9nECD9ywQLNCSQDC5LIA7VgFPfO9JhpkJJ1Y0mebOEhQuppiAMyboRpzRueptsCAEeZehUzdVTfG/YxwXh+lXF0Xrj4gCqh0TeKVKKnaKdeFlkXh4NjfUfl6a4n+q2dH+Bj2xkNLDAV++WxYrv67H2duYciayZNGax1emYep0s16X4PtfCygmoU+0thdRvobfPtbNTQguda+U//XUBBV7/oten7yv47ym+V5LPtfUUsqYc9Do7+/X928jSikGq2wnEFGbxRl7+Uy9zQGSzsbYy+RoXMpQxfSkAuE63/LSFNhHpLdHYMmQiTZS1YtefxvpLSoObCIz3yBzu01zKKhju9DtETPhpXBW7U8LWwMsSwYF+7aWI07uyJq0rMMQp7CQaud/QyZAbWrsqphJzCnsGMLukQbMbfxcD0ipnlxVsGeu4mHQUegni1YbE5JMOs7zkwGm8dHpaELo001aQKvt1ZAAGHIuJdXEXJ47JQXYJ1F0zk62hnJp2+cljsmlkSXvddR/6LqjqNHi6f1T36AxuWS/H/qlw6V1CAY03o+cSvtlujk0kirGvs33k7E5CUIrVEpsQ0IrdBpG7F2aVLjuO3f0gJZl8dUMTt+MQs7hpMuiCcyaN1Ret42KJm4Yx6HvqDG7z8pXQvmN0LNGERIlRVb1qSr67k7EB4zyFPBFY+p0BU8gANqyNCiRkGtzo/XKQZGAZACScSqaacMbiy4zw6uDZ8qUrOsMZJCjSx+n9FiF7r2ZVV5tP7nYWUQiuzpusl2oUndRwyLP54uQJbAa5NQS6nOemLhOiICt5MpsT3I0Ow9DYEXNx2xwedtrnp+nrjn+Un8oqe/cwXEzMGblzXaF9bvoOAKvnm1HP7kIsGIQGDETA5XMe+km4t3xY3j6rzRo5hrswHT/UJEBYjIH/iXEjHfQmYYQlmCOCxILqrP4BiTGnbAvYitmgxkhMcRS51HrgRdSh/Bby+QgFLOXCZLcv1phiZXGOOQ5JjgA54SwdT5I07w/tdqZV7POM3Bk1Qx/8V+1zAU/dkkPxPCExAq7RvNLkaoOnMldlDlGO4ygw2tolsi5a4jRvx2XuQ+NStB3tlAyX/CC0u0J7HVGhamSORPAsnmg4VvWpXpjWBFeyrGRiQtJFfXeXZRplrNeq5jUWNx9twWKLjRfzBG5RM9edl52YyrzXXcNhowqC/mpD1VVpA6t1xlhyktXOOXP1rlXko3bY7NXr9RmtszykJhxOMwWjC2qwnCSMS5PkrQT7Er5+gY9+kJaBW5iJU6N/+m55kz3OwzUXySm+t95zZ0DkbhdwPgBQfDTxcPA6imyuGx/2ZybkFzX1c+FpDrQPGQZYTEgYag1NF3U5mHWEncmJZ7J43pnpp4PydGozz/ZmoxG024sOgpJqPjfVFxJ6Wa904DnwzfxHUWrVlaFybnsuOLmFPTEXo2ZunwINWOfQV9Ka3Zq7IL34eOclkTpjtAn0dPeDjbg9o1FF1vdqTV1Af7ns8wWWBfLJd2BZj2BBtfVozgIOfJx6dE7xvUkBVrLFjr3JqJ3kJrkh4kSwlAf2ri/JsmvYKuaoLgtXUumpOn+ekvz2WJZnX+fOB8VH34xSwnWYSqYT4l+p73WMuIDBXUOD9I2PYC6NcjdtlieSQvUFigMqk4a/DqNd32ZQIPLXXgUAs+eOCtdAjdhaEXlvo09C4Q6AbCSLmq7Fbi72E+h1lkvtP7IsTG+ejS5zSWA9ZVMBuSnBs/cfylZ9PlpONaryHYWWliGOwzsayslLUPPeIjPugW41TcULJMwUcmujHpPxbNhrIrr5u6evJ17Cb7Om0zyLyfkUZG15KtCYY6nVSuMiNveF2jsysbJR4GYmV3NMshQ1PlsDYWKtSb9Lgd0a4WC7Qh8ScZQ5PVlqg13iG2JygKhec8IYeG4EG7ocSzI2R1HLLDJfg/BaKQ5dFOBIh9wrq5LcFfppywRH69SjuutwAGniId7vCYn/rJFY/utRXdiOUJNAzcOfqJwcx4YoE5BwV9+k0DRpJZLndzcsBkWEJVrHNhRDv32Cz1P5B6D4PJWLST66+PI7knp08WUxiROCE+vT+v1IPQUCFlOb3/j8/ej9AHQsQ7Vmw0bPcLfyZAauv8l1+v7NFsK3DPSRYa5iFsDwhFMZMGiV5pTG144mf1erbNyZ29RKp+bzdhj3Sk2J5HYL2nt/ql/XG8/35RySOkgDLmOPs3AUe7w1hlNYUybdjcoWllLRfRATJmRTsqb6313KNSRGmrnBAaN8QseTpjHVDbyIxjfGFeE1KEta5d23kT8edZldC+5Syv6SkpTADkQRoE0S+1+qhLnhOq8u2CyHmbvH7/gsRF17Xb1LyWnsLupzrTJhLlOqHe/ZRct3kDndXe9aTpDv0ww4iykYjT9iXo58xAmc1/fdD8YNcmm/6E2dypshLbQMiuvRIhTVk8fx6fuD0kWAhQthrc1alXFQSJ2Pj5q05jeEJIfqV/Fc13bFGvqJDK9YcEMqT3p6195m5Q4vjt21WPmEUXe2jEn3WbeespCY43MXFUNjmxTlyOWAgt2CDDPkmshjOkunx8xGwexXI/H7S82h926NPgBh5crK67Xm+m//3nJzjaBioxl0/65zoVT9YifC5+MwIhU3nJcEkjO06K9EnwiW5D6b0iYpToK53cqa20xl0JF7+YnjqV3uO/u7b/fKE8jwznnTx0si4zNgAgGJ1y4DjIF0HHvBicWpA1662FyCfxGl4zGg+M8fT9H3RxY6gpAInu0+RWysPtszwjkqNtHPt9PvjwzyE6iZ+QLL7TWz5ycyRODxfHDD3SUeAKbufJsuay501zcM2FvCwXNrhfAVkTr600Z7ZXcugoZvdnmMwZ29BKezVlXsnW931hOmr0EdjWgA62OYSvCTD/UdvUHqX09RDBZu+S3VhJtgldz41gSfesmF52YmdMhtccgokc+gBlHiV/r0J5QfR2yII7cJaT4dzAO4/I3VACCf9DjlY1fJFa+5FL7iHH4uG5xpfM6HDR5x1Uo8JvOOW+go3ZbQJVtROGx9GJ74tet4SkyknCFwH2r+ovj+TBKhzyVlYhPuxQr13drc26vNtqV/1hH9Wof2zz+ombN7+l7PG0B4iu8d/3mvPRTbO73u27d5P8KVYXgQ6YtgI6SFtEK8TNCi8zFAdb0B4yUiHqajEeFu78wGv0SpMAlnTNiP3umLmL1E5hPjaMxYaFNxYLhTkfrHkIZ0bM8+SYZA8caQA13iWFIcmVAtA9CLgDFbbtoval3eVsvP7k7x3EJZJ0iGuu0dHUsJ4WBz4inDoZkXAwgVg641oSWnw4OqMYAt1+ChQ3Ctk6RaEBCLwUnThHuEzJ7ba2LYoFd2FlFqMTbllbqIJhAcJJ61OxQRh4qGOV2ilLgpnEbI4pZsa7LYRr0Ziv1Wq1bMxfde6cAVOjjMB3cQf6+gJGyiSxbciA/vMzGYY5PCFivwBB1/a+u6AHwdqhKS+9w56k30WrOjYzhlLPnsOHyDmn9Dr+HHCRtvITYaCSLfVE4fgwWu9GuaeaRW0pAImV9JUl80HWQ3CS9YV3Qcw7GaWKKEcRsU5JphDQ8s8RBDPLtJlK2jc9D/1/v+PSQcYlMC4TSiLPiM5O12/m8LOu8lyMyAbGR1iwfQYheynJtIOka+NHgyBQWhNFUMQFix74F5mSDonZqSQkhnhtSVAfKAsp3Ou736Qmz6iUaS8PdUKvX4BzKzhnu5eJxOQe0TB81ufZFPNCLiOIaSnVr6pnoJmnLd0/cHvd29ggmvg+zMPrdkiE5Bs4J4vp9ZCikb9RkPZaUGE0puzWlcG/VvSp3iezh4+ROm8vSKBPkNvKuJOQCto3fUhByJGSQNZLFDZORIPmqq5WO5msVBVUSNJ19gYppt85DyLSev4ViX3rjK5rE5c1ChsHVa73ZHLURbpIXe7cLkBQheLYQlmjIhczdpx0xO9D2CkRU/Q5KPh8Uyu7sCor0wRPxZkvVHa8iO0igyWfdzR511JEnKYxurA+6mKQshbdsr9eY8jmanLMyZnK9M4sEtlz7QI1RMUhmyO5fb6UdIn6TzBHm8RCk6Jri2Awp0F70m90GUCnrr3XV2A3ujmbeq03pXcnNDl444IWZkIIMdlhDTxW/Kmx4fVHkq/OBx1UHavVjYKFHlyH1ASEjy9TlR/WbuhpUMYs0AijIeiA+LKuVG0bSILp2TQm9TQ35FEOo6OtRdQTtiXE5c1+lgbEApPAeiHV6TMspeymXi0rW5Mk2wPpugJoiW7XDkCajAkWCWFHt+3N+2v6Mm25936srSBIqEzgIYh/qXQWzo9M+lAMMvjPZPmMf1I/6T57CxJ9uzGxN0CFLEWAI9BjrcSE0KrHpUdS+d4uzojf38GpaoO0MJNexloJIhIiTWwWQKBg1JLKmcvfnfJV1oqwK1XoIxk45Ok9qthpbidTnVjfEAeB9SkUJABo1Dnf3TwMKF3NeEc8a1BkD0DQFb0LQRpjyC2NypuapFSeUfL67Ucs8O68N8l9lpEYTB26oTwunU/xDGD9ti5gM46iO4htFA6fbetjqtTqubXRlChTk9I4jhV4qteSf79eFmvfXoMZ1sgOSEUG6HSFXCIkPU3+7ud7dgXsIEZTHJ5XHMmvczyyPTffXjxZXwz8hE9EbfpLSFZiy13M2eknXr0ORohYhSWGXFwYaJcWLGueSw+Ay8w5wZ8YOJbORSTO4lGmM+hCv2dOgPZfFW0VnmlMI4IBXlIWLaHB5T7BkHN0pKx+EWkoxlF+COA198TAjmORUSYmaB6UnjB4HLeHH5dm4HyDVKH1/Xx9WNpmkEZoIDKo1BMw6UhnBNp6TCZZdzEUFYiT4wq6+Z8G+oQy4mMkuNScLMB56v7HnEQXF4k43cYSoZOC2OTOHSEEJKQnPAU1Om/Za5C7uGXtSKDqvSicpar71bqtpwEWD2ex4ZcFKzUL6iq/I3alf12JP1kn9L19zOqriwyyaHFqv0HaTtq+0cnRXBwTdySLPy3GVeOU3U3tzFcSyMDJ3rS5NZQRtorRMsmIQe8wIkvbqtgME9p1gy3qLTJGodx6dker0A+sbGb7+ZC3b+svgZYUnakkwTpc+LtuIBJA5FWySY39hECDQecyJEa4an0RIwi49asXs7O/B/p9Mp/t/b7XT+0t3Z6e11u729vb2/dHqdt72dv6DOA3Ct/KRCYv6XzqNxFRv3J3k20RFLZhy223ud7rtmr9ProR9P7zAnW+g4Dlobm+iEBiRWtksW1X4Is9Z+2UI/Eg5bML1WB71WBRrmU+PNdxubIC2neAZaBFwzACnNKbjl4WYuyLY2TSKKbbwloDFAFBF/NyDYEFJt5o8Zm3IIy41NNJEy6bfbd3d3dnExPm5HuohonxwffTy7+tjstTobm+hLHBEhspuMhrlk1hG+gxT2Y04036HubP4WEmwkVT9tbCqhJTkdpjLXSZYqnffTFVBcN0aNwyt0fNVA7w+vjq+2NjbRT8fXn8+/XKOfDi8vD8+ujz9eofNLdHR+9uH4+vj87Aqdf0KHZ39HPxyffdiymZvJPRyqUkQqFgEpczfRFSE5AuzhBOfziHA8TpU2MGa3hIMGkBAOu8QmZd/Gpj4XZPJZlxrVAj5Tf5+YTef09esGTqiZHn0UE3nH+I2yPG72RYuy9m1344bGYR8day6zYc+t9DcQxMb1TQjaBkIRHpJI6IziinOdsjSMsgKKIIO2oT63dPkGaqF/gXMqlmhHUVS4Cs3yN0M63Olm2g23lHkv+gqJZH/H02iZ6mW05uozNRKqHaauEwl99NtvRcDuo6aGq25WdRU4fbarhhKlipsmNEEv19BjBwrptQJ/Ibh5RtgfTfgJFazft9FuoBZcT2Mq20rXOi0TJyN67z4YUdJ3L5Dd7PZflYY4exLGZb4oMmpCH+139jsbhbvk5g+qjExPyGiZQVTF84OXw7aKiP1DP0vJf5t4/3nk//bb7Qr531nL/5d41vJ/Lf9fUv47aW/29F9C2ltZqwQKgGsaTA01U5rqtU6jBBIH7e3tageDxHxM5EX+pZEy5Je6hoPZ3zhjIVzS3ECNEy8+s2FFZ2y+5+R9AZKizsKx9Qq3p9qcaX10fXRRbJmoalq3qmnd36Np4qFtm8bjUsuMQpBvmXs5D1S5l/Y7++Veci+LsHROyvqmQqdBk8o6SqGoH8l7fKEr5d/1UaMeU6l6o6gibSCT7Jjx5ZcV3PRzUrO2NprN5kZRny7QBQFUwcn7lkmb/WCe0NSQmjISL8IeZLTqEqqeHP4yefoh8EZ4db10Of1PYklGaXRF5EN0wPn6X7fb63QL+l93d3d7rf+9xLPW/9b638P1v3lcv0YBxEkiMp/PVcZZXlITNAbtWR6LOfEg+qhb4tIeB7Y+iccw7j3jizCM1+DwOkA9UQ7dg1u+bxUq23r1mLzShHvwm3W+GDrF44JnSr1pcTJW03qGvn41oqLfa3Vtwjqv7kUa6WtJZxVQEvfR9yst0pXsiUyRq+Pe9guAtJ/smxsy20Lf3OII9Q8WQs6To+AAAPT1q+9AAmius7s75UZ4Ou2cl3DPXd5fpoakPaRxe4jFpPC+GRReNFRBc1gXrj/DEYsJasZCNDZ8zMBca9pO4ts8VSS+zXnLvJb2/JKVTXIalU+nm3kFw2peie78Ek7Pn1fChxHRWxITIS44GxbckTJI9MGNoutx/nQk9ybBSGHOlGyKPECIp6qv0qmqUuxlZC4tiyBLjgmG1zzMAwnpKLKPecgyl/Coj7ZzX0UaBEQIF6JThG1u8/K+b+eWJA7purNfprOVMivT5N+kq8ttNbf0L9PRtyxKp0pexmUeBMcBLmB/wyX7Z/GonfFNuOupuPngm6LquygUEOlQA50HpxK7u6G5Blvp+0JGXjNueeylyw7mtpiY5EW1o7aIqJiF5MqoVVkt/20fVQub/TySlbBKFrlreV0l72WNfHsMSjwaKTbhKTT2zVMg02qTU6yuSMCJ9NpW/FKDc28OTqMgH+qkFm5j0uqrqFEuoHROV58T4ERW5zuM7vDMrha9MGv1ztLK0rE2pzip3zds6jLLqzkVq6NIRX62C+jKPAX63VltrQquZpitMoMtaS4DbEB8B1kNWQVGAHcXf6C8j34r6GIQqD2C0Md5mF7X9hAVysqFi3HfLE9Qls/2RxhmqJ/vNrhNuLTXPQ8/+pfbg0YND2+jpIE6sXObYb+23i1NRrNkZ83jtUUb7MFWWLfjrS7PEENwC78Qpywkoo/+Ud8lWTn0L8jZpZr6TwdGeOcWF/WuX9bvw0rzyVx/WxCiBsRcLP8/e9+53DayNPpfTzGX8nds7ycwKdncct2SJdnWXaUjyhtqawsLESMSRyCABUBZslfvfmtywCAx2T4L/LDFCT2pp6enp4P3GebcEcSfX1sA9g//iuW/sXNz46XTvzqEvk6daPny325vt6+///d2e71G/ruOr5H/NvLf5b7/M5ohC4CJsPeQMXL6619W8suACMYuTwTMSlYXArOWKAtkk0D4yQD8jYD/zgDat9ClVwSbuMydwiDdMmT/0f5+9cEq0n8XRn74iE0r6x8AJfR/f3tvV6f/+zvN+99avob+N/R/9fQ//wHwiBOWglNgqeSfXb601z7qUo+0QNQ2riAxKqr7GJjfp5U9B9aahtoPgtI6sK/KkyCrNthuv2pvW+IQXeXzIEe/nGe8hV4Iy4Cv+o0Qv8aJn2x9rg7evj25Pvu3fXT87uDj6bX9cXh8pXSLBka+ZU7uS+pfHgyH89Sft13U3i8XV0fz1B0eX/18fGUfHBEyeXBqH1+d2gdX740jaFlkDcHUebCpuyUbCyp2t/de7Xdf9/qtmi+Yu3v7/eISPa1IwfMjOrveZx9piC2GLp6PjNAZmA/QcZXtrE/hr9bhLEnDqUVKZsrxSVP6+/08hhW9PH6T86x2+PuZ6PxXx29ymuXurv+9EaYjca/S7qDG5zflLpz75FgESe3AvRN3fO+mYzjVDY1K0vDcVxV+LK75gY+3u84nPt5o88g3zyNfLjYXPvNl5UE5UIvex75bIc0Kv4ryn4U8AJTa//e3dflPv7H/X8/XyH8a+c965T9zeQBYiSQox2BcHPBz+gEwAvhKngB4X74jXwBGxrTIGwC7MmgKBkVrW9UdgFIhdw0ty/pOuYuK5/9CHgBKz/9e5v2n32vef9byNed/c/6v9/yvYO270ncfSaQrDH1HkcUgMvFvpAt3ZYNfKTnfal6cHZXs5kss5xUhi2w2b7jZ62bIOUPtqWPt5QxWTq9s/a4O3uSgJ1NyXvP3fAAZA/h80+v6j3Y73/fJT77i85/8u5DyX7n9d7+7n9H/6273m/N/HV9z/jfn/3LPf0wzFlL+wxCsT2F8B+NyBUC5dH0lQHqxsVEzmLxRNUCEpTZTZhgAEToApbswgbHn+N5naCfOLbTJ2OViLowgbs7mK48HLErAYBQ/RqkdOUnyKYxdU56Am0LbiUeTNvHU3WYFZqnnJ5vRJxfi3xvkiPbuUfk7SLVZIidOH22PXr8nYXjHADPdDxy2zXZm6QQGKQ36R1u99cNPbVSnjf8yFmXvCR7qZQUghoKMveBIaK4p8sVYEhx2ysa4g1O1LiiDFCIE4tNennUmA7GdKBKzx1OJuY+cgcZRBFAazUZ+o4juhQHqm5KMMDSBSiKaETQNDBqlq7MkxS7HY+j4wIuA47qIJmwJP+jYDKiL/+4iaoTIcDKLENtHPUQDKhPiVTakkRP28PU2t9scx9GIp+51N/LnLmfmNlnzIA59H81jJxh7wUOHDRE4CSbx1AMyjnzJg+uh+qweB4RqItIKx2OUt4XPGdRRzrPyuripvIok6gJNw8SFgEIjQWRWAbklgiIluARvgw9knmYE+JtZKq8W4JZrVIyKg3dwFBSth/HUSV/gKRvwuXoJptAJEjF3MxoQjyeoUQPCW7IJwwDacrfJ/LHK5Fd+TTw4BWNxtImRE4ARfrD3PkMWjvPWGwsn+y8SmIp5pCd9GEUh7iqmaghN8CBfCswig+Y/2anCAEkZBOUfHuQkge9KuoTxPF2b3QxqU9ToIJgdBCBzh6IlNth+v3ESTlBEr22p27MExopOFD4+XCXJvJNJ57e3u3s0Yeo82FJEzwFgYeuxQocPbaoyMgA03OlnFuhvIDWkPPGKwAv9HrcLRyemM/JV6mYeBz0GUxaYASLcguyQphGayJzZJC8ZSFR0hvgy2fqa5glVfUMmN2TTcij+2iJ5IGZHS0HNxzCxI3QOhS4cgL5QDQmIZV9PgUq3kziccNQJoiIZ54Pt7ZnBAo6F0qFlRAOGCK+397vqONE25UOUf+BwXpTMoU0/vDy4+sn+cHF2DGBw78VhMEV8FXOGL3VgWmuGmIzB94I7L7G1PlSvXzr0blckpeEdDOwRBnl2Kqk9Ro/pJAxsqqqEdmcnisP/wFGa4FOqQwqwreDdV576XrfbFZ1H3Io9hYise4lkKot2iOBpgLxF1Hmq07Q09Il7m6gWsHRicUYHj9GSQ26riNBRXn3sCD/4MHhc81fv1ut+u7f3qt1t7/CcaTCmhLXX397Z1TqsKINliIaRbKj9xH4duNFOHM5SaKcITTG3zytIGTLaT/GMyPG3O5SR5Ce/ki1GpVcUOZriKcIHEREYUJvi/JnTZ0hxoCMmU/GyQZfRQP1wsCDfJ1ExRMAuElYJR2xKYeBIKtvk5wDc+paWs8nDl6apT0LR4Jje0laLvJGdpv4A7OatFBn997BOmO0p33cKAy1te4WFpoqEmwA+pBCHtVOOPITaN6Ejdn7RCc8XnmgEoqse9G0ca1I+gqVkm14YBM+Eln/6mPzls8hTuDQNWEkOXtphcXzi8iyVMzPkeMHVWZ62izdzzn7jIDcNfMwmCLEoJMRRZhyf8pEJSGDgAh5VVu60gfUR41FYH67iSSYFO08IEK7iQFM50yLNCq1gj0K2D67gWLoQEu29E1f9/ZO4Kb2dEac9+CfGimCcVGDAXrEzBk2pxlcUow8/ISjbBN0TdwCY9+PvV9TdfIavivx/IePPcvn/Tt+g/7fb2P+v5Wvk/438f8Xy/zmNP4lcf+rQ+0ex+J8WW8AIVNJt6+WMiTTSZnXoi/ISDUeLx7Iy49HaU1jbgFRbS/YJI9JcPKJzfoJKgqcnw+t/XjnqC6rQQlXuF2dtBhIqqFVTZ1yh+WtnrFptLt3GVUPH5du5Vmlg1bauVUwvyx2/7nf394tL7HX39qQSy7XNNPi6bEwzl2+aufJpbiwz1zHLyzfMzLXiUyjcms0WlbbXabqoNNyYLxrNFy3LWoxjpZooy1ZYKeRY+zlLTRpZOceaN5YVc6w1pnBOjpWvJfsqcKx0zks51my56hwrqSsPHJekoGl2O5nd3noPBOcX4m7lrq6Lu+WouyrutriBVXO3Vb0FGN4d8TuJdojmKM4l9fnpimES5mMfdFfxDS+8El54tdPc8MLrmOW188KUHn4VXpi2vX5emDbc8MLzuPIoPG4K3XmYNLybp8Wv8VV5/1vI+UcF+9+d/T09/vfubmP/s5avef9r3v/W+P43l/MPpkBeKFBZ2O0H6fe8Pj+ytb+Sww/Ske/I20fO22Cxxw8qii53+EGmo6q3D1H6v9DVh/Grcv4v5Pyj/Pzf6W/r9r/d3f5ec/6v42vO/+b8X+P5X8H5x1r0fjKx/j/BG2vm4VayzjO050/ZNwZNZGCkYywPDNdIkMHQRBWMhW7lhbC47oIMiyaSh51Dovl/gmqN2N8DcE4sAPLdYcynisRdYsy15kRh/7tZ8yLXL+oTbyX3L4XOXzLP1bIDGEUa9M1iYtmohJ+YzW8eU6nkqreyV948J0UYquq1R5JEa0jKFfur+uxRhbF8PeqvRt0H4f8KVzrf5afx/6Mwhh17Av0Ixkk7jebi9/WvhP/v7en+/3q7OzsN/7+Wb6O5ADQXgPkvAJ0fANYKScAQK5uAHzpUXOLCWy8QiinM+wJXSrGEzCaMwQuJh+KW/KA1xMfdy8Js2w9Hjt96iSFaTBZIOCKpEQmC44/D2EsnU9A6Pyc9sYKgpJILEUcAWieXh6e0jheN/Iq13l9+pJXG0SxTh/39Ffa/if4TPnzhZx/+lfp/1f2/9fb2dxr7r7V8DflvyP+c5N8Qy95LUi+Uo9jnqPgRCrPUR6JS4QEtUPkqltFPZPSQdn7elyJDdVPDa3kson35jl6LgjCFN2F4V/mlqE+drShCkuKVrfpaJBUvWMGNbzrsfdH5jzfzwqd/+fnfzdz/9nZ63eb8X8fXnP/N+b+c9x/D2b/Q0U/g4cPf8aOJs01ZgJ+9OJ05fr6IVjoiGC9QW/7KHavUOzvVU1M5csZOCj85j/QBQjq8sR9DempbtNSGOHAt4vKIyYJdmKTUIabueyhzNOrHonokclFrI3T9B38F5/+iah/8K5P/7uv+X3p7+43+x3q+5vxvzv/l6n8UH/AVnlgN5/eid/myZ1XWpPqyyq6O+tOqnF75bZVdFvmrav4bat7oCl9P57xaFtH/1Enh7cwfwjn9frGvmP73uvs7mv5/b393v6H/a/ka+t/Q//np/xzCXdWfwlDQmHXIdNk5QFnbc/28Ec4VenU9IdQl2gv7QKgx9hreD4SDg3wfBDSSRqZMujzXANr6sw8G97oFOymJL9EnriYDpqa0+mX7xAV/g79mYQqBbvTP4L07uD62351e/GKfXJqBttiLdqsEwOXF1XUOiNfbr7oF1YfHVz+fnL+3P1wM8yB8+ZLR4SIuYttehH095GUjDofER8s2fn5xffz24uIn+8PB8MPxkX15MBz+cnF1VDq7GgVgG8ueOMkEujzSTX0/XzLHBYiz/6mD6MfvrRsnmbS2QMsaoX8jL4K+F0BsiQ4sy4vAsy/yYj4By8LBGeRktERP4F//AjjQxHxV/zOLHlMYc2qCIbxhMVdIzTd4HMCyHN8PP1lxGKKGXHgzGwPLOqc1D6JITJ3rxW+em7xAPAeWFYTWTRx+SmCsVcdO7d88f64lswV48+xL3ho/tf6Q5nm5DiD0VQSNBwjyLdkDxOrnuXEBsZZpXr4PCLCY65kIcXEJ9mlu9kAjFdDyk9nNJXsozjkvaJEKzhv4AVPqq2KJHiPYDX6NTiqYrkDjnqKGewqDXoqElvILlb4xzdgLp1H6eOTFA/DlSWkE++vybnFIrKKWXuQsK3zwEnSTPPQdb/qyeod4avozHjuur+7kEUrK6IkUtQ/+5voboEUKWIgCtOR+8VHjtHvR+jWTIDHhmn6TKSIQ+i1n7ntOryuhnHTVAcDBp8YZiRP0e/6UiHL8ivD0JDgiGtbBrIWjUzOprDyHRtdlMfxrBhOdHvMoEgWteJ9hZoV0ZZMCxVKT/I+HG1k48i/5St5/dvq6/4/e/n6j/7Ger5H/NfK/Jcv/OPlYKAgwh1IeAZgXrR/+ly41GmM7isMI4ihYLAYwiSyLZSVvuNEnt2SYxf4bimo8MCuPkboZxV4YI57NS8DEG0/w7DkB+CLXf9oCSeR7KcK6H0m9G+iHn1gozJET8GiSLMAmWqtpGEMCLgwgiSKKRRdkndHWQklkTvQ+W76XpG822GHxjMo8DxHjZfKWScLcCR+yaCJTbK4AVJ+baH4fugjELEg9X4OsMIekbA+VZdX+Bo7r9jhcwHYxad768oWXfHpqK/NNniEDyKHqDf8oVF1AljvlcyOHr31jyBJRbN/I2IH+82HahsEodL1g3B5NnDiB6ZuP1++sV4UlKYP4Jo1nUC6YhtORk7ZnsWexshI0sb9u4zBIbRi47VEYJ2/UQMF6EQldscUMVhp61e2/MrQ8dR6sdIJu+cmbHrvlZotIIbTeiNtwEiEc5aOdzvzUi5yYVEE030JMy5te9+xteXnKGLEqvA7pCzoyEPnzcEhs82TKZabeFFrpYwSTN9LO7/wnCYMtOeFh6m+l8CHtTFL2F0+KfMcL5AbIRPvh2AvaLGjjGwPHJhaFleJi+SwgLqorBKRLVDVES+iwqUjlzc6kqNQoDO88iGfdGUNWmIQOw8GfYOBGoRekSfsTvGnDhyhMZjFswwdMcd/8QFAPeuOAcaeEZrXpxaJN8eWadkfEwSyqhLBQrfHtaVF/v18x/78cE7Ay/e+93o7O/+/0GvuvtXwN/9/w/+u3/zJeERY2ARP3gKXeFXKMhcQY5rUEM0P4Sn4DRWe+I2swecXFV89xYK41mJiRqgZhao3vwias5PxfiglYqf1XP3P+d/ea838tX3P+N+f/Wu2/6hz9c5uAmTiBVdiA5RyaX9UMLHsm5tmB4bOwMQP7R3/F5/9yTMBK7b92dP8v+9uN/v96vub8b87/dbz/1bQBW9FVvswOjIPMuNg02YFJyZXNwKQrYgVLsIIhLskYrJD+L8P5Rzn939vey/h/3G/8P67na+h/Q//XTf9rhNRd8Tmg2XstMTDuHJS7kkWYIlpmFzpdgKnfxLkk1XPhyInFvTqGCJnhQRR9uL6+xHrmcYJtm/wEtkxKhSShyC6t3nJUNk2rg2ysTjVzNg5iDRZtJoF1xcCssgr/0gOzNmY5awnM2ljlrCMw6z/MKEdV1+6YVRr15zCDjqVehlvslECsbs4iiPV6LXekS9cajXek593v3X5nHvubmid1GUYWxpM1KAtnRlLJHOIf9+Xd/2/98NOSzD9K7v/97f29/cb/y1f6mvt/c/9frv8vai+wiO0H1fkvNfwg5epbfZAgRVRBKcEKx9zkQwpJBYwfGXV5QArw9IT/+P2HP758YVaTBokwnS+lYWGL2cLpg05HDnM12O/u77cwNOmYJhDc2LuHMX6PNnW9uHlS+QOqK3WBezqRLSjyV14GNSRsg4hVpnQS27XM2ckMZI1pqdxR1Ikz5+EKprEHE7WfKK89FZm1+mkGPG83b/xwdHeGlfHzZlUuos9taW8L4a+w0xQVbrzAPXBdTMv4R72nLLa8j/j/S5ymre4j+x/n1VzdcrgMy2XwlGRlRkRf2m1EizC3xQjSLIE2k1aZg7ZRjz6zBF4xqZbYvFiSx7qHYLkwgbHn+N5naCfOLbQJnAEQ1kMujCCmmjY/tTCtzide5hp53YDBKH6MUu4PSG6b5YlepdB24tEEkdkpNvMhBWap5yeb0ScX4t+4chR796j8HaQyXKxUY3tUnXQShncMMJM0YpMT25mlExik9JJLWyWWX2F418Z/GYtSMImHelkBiKEge0Hkx6+5psgXYyGGPDY+NHGq1gVlkOLelHzy0tFEnnVApSTM/G2gpgrLt4E04CKA0mg28htFJ2cYoL4pyeiYTqCSyA3+aBHKUc6SFCQwBTF0fOBFwCEUZAv0+vuYdvSwcwbmhclLMANKLSohE8IKvSnUhO1FG9LYiVSJ23UCMI6jEU/d6/IOfZrAAPdq4txDQKzYfMjBUqsrxPyFASSYuSUqQ5DMxmOYIPYYsRLB2AseMN/mh44LbnC0ULTNmagE5YsV2KQM2k+vEjANXbgFnrOGn6NhY+aPkBjMY22BTxNvNAGfPN8HNxA44HRHbgnGbYECyvSomJGZnfz5QWx/7ARuOAVekKSoEdtz8d/QcREj/wW19DT4wiFz8QOuZkvVGG5w6MxKNg59HyFnB08Qv8oCJ8E3hjB2qdociOLw4ZHXZ/U4IGxBGwYAjscobwv3H42Nv/XzumStcipiBGRp+FwgoNAgEdeugNziBNNLcAnehkCjOZoR4G9mqbwF0O1rgjUbqdYlRh5xwOKWw3jqpC/wdA34PL0EU+gEiZg3cquDIoHZK5PZDm8JVQsDaMtdJnPHKpNf+TVJdDeZBDh+EmIz6RGW3nqfCSBqP+17d+Su+QJRCT6H9NIYRlGIu4o3I0IRPMiXgsiQQfOfsrhJ2gubfJM8PMhJYoMo6dIGeXgAksit+FrRylwv2MlBVgbPnSzAk05cXoitTp6gT2wkiogdNIoO6rIARDVdaAle8yTFC4FX5IbfNSHa4ni6/xPeaEtLSB3Ku4UujJ0UunaSOukssUeh78NRamMtmciJnSlMuVSetmwX1hqAy4+npxvsQLlxEn5ikVV8LvEz8CGFceD4Z4/JX/4RLS7xLzrfM0Xl2m62YIsit41utWiRntM2ZwmMC9r8mCjXPnN7M7UQvpjJbWCGyi1o5ZLZC5e1FGUL4tZsF97LLRK0z23vJCptyZOLtHCaMiQ9IrY6HoSppWNRC7W2t7t70vaZOg+2ZMg+AD3u1S1JHR/a9OlrALa7GzL2QbTjhOC7fAdndi4vMKD3/Fbu/pWKSpMhWvgb+OEnGBfI8Olm0Tl5kZyFYfI/RNP0wpREo40YuI4fBnyzZVPQaGKY2BHiXUMXDkBfsA8B8dHUU6DSTSUYWhyQmpimx/lg8y8sKoS2WlFClt6e/EpB+1YZLC4vQetLLyqUEOva+wbYrCjaKrIJHWWx9rvqAmB5EZt7+Qei0awn6MAdXh5c/WR/uDg7BjC49+IwmMIgBfdO7Dk3vnQxCBG11F4eiThqu91rb1s3XmBNHDcMo+12vzPHapDrsrYIdeadACDTLZRUvODOS2xtDspRr68tCb9L6FPf7Yok7HHVHmGQZ6fDoSiLe2hH+T4VhUQAgIl3XwUl6LBRaSLpy+BFSaVIksMAenG0pxAxg14yLa2uFpcBMdcWpSB0HxiAnV9YIFDW/YwnYbrYpvmrsH4T9zZRPdWV4iyq0uYl5fMFA+t0UB4G8rrb7Spe9MQ27EhDTyd2hG1hS1uVykoExbm58dLpX9Wxh9XIYNA0GNtlWMQrs8J1UJBX1isSJqlCRcwJ1cQc0arBD7VYE6xEwcra2OrKThFBxGI5XkHKGOTXqQBoE9+5BkwXEZ/EHSqz4fdBJVsslF5R5DgP9hQmiTOGduJ9hoir2Xm1u7/H2KqZnzhxdVwh5WvTGlpNX+YqCEarmtArDSNvZKepX6E+L6twgMp2pId2BWC0pPI8w7kbBWYKAyeoMj5SUGGzfYskIoAMXh6eEih1sDRboxTIV8FQTcBVhqC4eAY/pSt4aVVWVK4vXdXL6vOiMkdM1EozYkZZA1TTWiNauzaaN99GvDYcAO7RSkq1qahzoLPq+M4jCVLxvTf3ArXUq+5/z51wbZd1fGSt77puuOuar7o98ehm1G2jj06y3zEvGCcyqusXY+wl2YsADT1BMy0yeny1wfrXdAs9z70JW+D5c/Md93MY3kEYiRshex/kGdTMmSm/ifRcLTg/gQpiS55O6KAtDgWruFks+fXr168H/d6rnsAp2xn56lMHQbRbh0vk5DexPDGd7EjEsqw59CswwbcwwbdSetlbtpJFzqnC3jVzUYsejFwyTQfNjhlVntkyIg8To7jh1PECWor84LlFHmC0rkhDAFm3l3fwcQs8u3d8o/PMAgi4Kup5iT5mpqfyfjDEtkEQZUpM+qDQzr29Xb7xE/+SpfW0yW0J7wVPT/OhGuN/V4xsuWw2Qbec9eU3ggVWuBjGutaY9UJZ5d29/b6yggYXD4X6n0uKAFtm/9nb1u0/9/uN/5/1fI3+Z6P/uWr9zzls/+nrapHJJy6yNMt/dH1Tjf4l5QXZ6F9K1o3+NZAIDXWQRj8CUrLZj8AhkTvgUHQj9vcAnIdB1i61ymla6DsAHfNzrphVGrDx21i47FOdhrz41bl1HroQ1W2B1mnouG+pZkxLNVi6LBEPoA4ySAXPcytAprUOE3VwjmHmOsqQu1jIo5NyvtTzk0tSQ02j14CK1Vu6464V7DL5YlxDkfhFAMGLKPaCrDQgR5n7paTD/XIBimxhwATuEpl4wxZHnDNurCAiAcnPsOt1ppLEMvibBiygoPi+o2YCeLg4fqOFEEi6X3JB1DOzZjoD77iuHM1K3q5VK6tbiuzqZ/o6X8+zn+dovirhIhOIlcAt+iZeaR7NauP1prMejBVNav1OlEytUqSMdhpHskpi1jgS/O4+0/1/OV5/xVfm/3e/29P9P/W2d5r7/zq+5v7f3P/nuv+Xuv+t6dP3PXV5m+U+y53kzu3iVz0HcdcGzL8+BU8tF3Ce/PaexqHvYzaYGHZQj76yr13hZ5e935MBSYr94oT/cH1NjnjplckCrR9auWB3drYVsMIJAmogMbZA9NJS4buJPNAPT84uT49p0iiGaKY8xz/XnSvwHLBJjG9uCJ4laEmcBBBDIX0YNf0nZz0oa3xPtemgMUyXOxcU6NIngoY+qj4Ly+KxTOc/flNelvOH0vO/t7vfz8T/7G038T/X8jXnf3P+L1f+T1V4SsT/4gk5e+BjCOXeH4imU+2n4iI7DW5qZXiHJX4gLar0ZKFuk+fspJ38xdUaLIsW5MpXLEYSjradCAs/kZ8AWZMKgzm8Oj64PgZHB9cHbw+Gx+DkHTi/uAbHv54Mr4fgT8OdX1PTenr6kwQUZb1yfB+EETP1YMuJMJNWwQU/Do/ngk500vxw5KRhLI/g+uDtaab7Suk/wQt62Krptuf+CYbHVycHp+Dy6uTs4Oo38NPxb1tq4fQxgn+Cnw+uDj8cXL3o7+6+xC2dfzw95SURViWRM5ILdrtdURIcHb87+Hh6DZ7TP54rdfOq8UKRk07KYQugaZg6vo2YWQ/vrj/Byfk1+Hg+PHl/fnxkgk9Lwri8mbe/XR8Pr69Ozt/bHw6GH0SrCYxdmNTp5z3Ztjnd4zW60po46SwpWw+yQVzbSf9EGH58fXJ2zIEdfry6Oj6/tlHi8Prg7JJXm0VujWrg4hx8vETlsnkY4ktR98PB1cHh9fEVGB5fA99JvaAHDi9OT1Fl8tNOPkHXSyb2yPtxQ8bvj+cn//54DE7Oj45/BX967oM9s1U0DhI7+BP1JoP2EmK+6PW7L7cour3Y2+m+fPmj3IwEX4WepDmwpe2Bl6EiPISMZX3d39uvDK4AWi1Aed2iGFdniPc5oBi2v/xxY0Oha+BFGKHd97IiYSOlM3SNJFcjazINfHvyvpg8aDTKuOcQ6a6z9Y17NFOh5mYtr7+mXZvBDbo2iSfjBl/H7KJkcERQ84pIwstn8ITn5KEK4B9qHfq3lheMYhyjFyTwrxkMRnARdApdWK2k2lNzWSB/lgV4HeBhpw8Omb/mBMmeIGJ6E89OIs8OFPSUMSi7zltGdNoSy1tCLaXG/RrNVoZaMJb6PSzon3I88D0bMDcXhRuVutcJXShvUpFaRsuLmEcT0aWgqYpP4R40MF+TEDEDrLVeDqsaxinZquZ9X4WfrrZHfSdJ7Ql04vQGOql5z+GRFGyzf+BxJGHXxI7sgPF3Ci6StX6x18VMI17TLXkB0eoXsENyGwXgi9kzCUgy8oxgsvhcCVzOmKXhFXN7cs/M/cqhCjQSPngxdbwq3B4pbqPSCoEgyWj7si2CpnI5JKLS3kudsVpEv3rG4cgehbOA0AKe64xS7x7mZv+DdqFYWYFDymqzlTDiT+X7AoWZvTEoGRiVCi8NBpTDuNTcEZaJDvotQV89eR0Y9cwiB9pdMEnCuDp+8CoSivC00htlDj3S2Q7O0Ri5A9HcvCxCBeo0CqdTJ3BtGLhR6AVpHoDYCZJbGJeVi/TRcMSwev9cLBYrqSOyjGZGXEaAT86Hx1fXaFovgIQ54AViGrbw0+wW4Gf1FiCo8JKEz0jAi+eqk5znW+D5zt5+F/1/ePpxeH18ZZ8dnB+8P75CSR+OD06vP/z2nJ72+WqeqEXmd4eFdTLrdy48AKkppskoN09H1EP/n18cHZcMR/bgPAk/AfKmQPKJfgL4AdzG4VTubKa6qoJX/f0v//13ScZfVeK/dvX33729XuP/fy1f8/7bvP9+jffffGMD5sBiSc++ZfZDxLsEUxDC+tvb213mhUTWLZeSK1uxkMmoEuo1Z1glYV4XVgIqoP+pk8LbmT+E6Urjf/e63e62rv+zs7Pf0P91fA39b+j/kuO/Fh4AauzXoaAx6zsJKGN7rrShRYKtE+q1JuWuFOa1KMBq9WHPG1yVRpRLriex515i59i1o6riXg5etbvt/iulHdWbjwQuv0aguOpbPAqr7CMLYKdb93rMRVLw7Lfhv0/tg9PTi1/s47PL69/sy4Ph8JeLqyOglOfBIVu9VgEgps5lrluudvU3+GsWplAdkt7Ix+HxVc0GqKuqCsDZ8Gs2IPmnKmwEdcQMOg7DVMqpEjNX4tdAccxc+CC2B/uoKEpPtgjyOO7UCzJZkReMlURj2NU9NT7ptxnfdr1T0vtWpiQ/FO3KJmRlYWN1ZVo9vqsSVjYc3cHYgkEaP2KJqoXWyb1pux0jVESSCsDdO3HH9246OqEFcljZXGpBS4DyEKukfIVgsmCJcV3pnW6NkWRJi999FFnKeB2M8NPiOTPuYpwQaGULtGT76Eyk2WIcL4wYq+mYix5TbW1ucYYY1ySFwQiaIurn7Ac4jdLHIy8egC9PWeZH8/lgauKFGQWwDrkXjA99x5u+rNARDjv9GU8erqjOxwglnee57Da0KzmZpM45LdSq4v9WZfTuRdvXTNTARDE65wtMA9HZ4XkZ4l5XwsZIJugOPjXOiAf433MnQhSTWJk/OBTqhfXQd5KkZErlovLMxTAJZ/EIKqNFt1OY6CTeFJ5Ba8T7DDPLoodD/toiiOb7ip9J/kfDrxL3EUtwA1AS/7m3u6/b/+/t7PYb+d86vkb+18j/liz/K3YAWEcAyEOjLNvTlCIClPwNCilgQRgJplxgeNApkRTWda5TSVToBEGYsjuHxsnmOmfgLITnwpETC68MMUToDQ+i6MP19SW+B8fJAPXTT2ArXyxXJLCssUpGiWW1wWRli+hudJiRdtaQdc4t6TR5Lc+XchpknPNKOOm+8YKxpd69FRFnqVSSSTPXEjagldMvTZBZ1qeFnPLn9cEg7yzrx9Kc9uf16cPF8LpGf+aPt5A7KRdXdTqwQECGv5VeZMRtFujceEHnxkkmUpo1kn78LQv3YAqsB/kSOQtwIAQwmsDR3dnj8N+nL15+UW/HPOcwnAXpG1UU+WmCWJg0nkHwI3BDXTyo1X32u5byv70/tCpwNAlB6xcHcxj42MbTQ+SS0G0TmADLRwbgmQavpYvafAgj0N/Qk9Gh++ZPIaTEBANYE/Dsi0CxJ2BhZ31vWCJa9idgzdhvtD+fgBXxfLpXnv4Gzqc78PwL8VH5bPvp+Z9aD7xb8DtoPcMdaYE3b0DL8b172AJ//Ih4DF1qyuaFzgUJpDxxEnADYQAcP4aO+8jnSJ+Fmxg6d1rarScnuMSRLvvkt4myBWkrzYn1yCPtptc3yxxWFrBzoOT8YdXk8xWXIv51SNzx2e2t90CkaYMMtNQZL+uBrZgn5MINpY5R5FE5woIGWX9aMvvgx9CEWGgnO4jMo6MxUXs5ZCt5eXFkn1wq/cBU8l0cTvXXglsP+u4VvNXTaQ6RlRMd1HYUugrYMp+441N4D321y6yP7w6uj+3Ti/f26fHPx6fZvhbxwGbIxhniU/Lb9YeL88uD6w+mplrPRP7AFCVRCpVozKdMRVERHtagpAzNx3/bxDFTK2/+Lq8u/t/x4bWdedVl4zI00souYGHY5/zVe3d68Yv98fL04uDIPjv41T7/eGbsRI/IJHJHocPBLiRyIO282nvVfb39erevjyOz9MZHWtLsOI5G+HTRj0z1CVfy2a3WR1f8SvVfdZUXAcN7nYmJADojATLMBPkyLAX5pneuFwMrMgb8xGHYMlVG+YWtdBoxdWwbJWChXD7sTNFMY5vg1nsQ8dBRQeLGbJZAoBEuMkwXWB5oJR0RxAzVtL2Ipjz7QmjeU2fcWqRnFeYlP/QsaYN4bSaMZGKxy3MbD3IRUBhCwdRw+lI0F0toMdsFzObtgn/9i161gUbqCCnDCfwvaibZjh4leAU6EukoGoajO5jq51TGGz35jO/824u88++qjx8rU31Yykh3FxjoehQa6g5zRXoKhSfgMTnVW1l9IUV5IZ8dwJuK/mhHcRjBOPWgrglBzhTm2cukK8GVFkpgGc9BcWzRl5US7Yki3sUPx7l9y+SVThM/XYwTQnubnY8iuAtQ53qdkAZeRjWzOCZFvW9d4dhZZ/+uj2W5YX+NI8kJhVaKPMW9v8TR3ebsezZGn3kNTPECS/td2gWO1P8Jb8xbMn+/8LXP1K3eLAmn6ocjx7dHzmiSM/jyPmBAFgZkyYDyYxzSyLHliktL1CJiEVXWqLhEm/zONZeKb9lZpaVSjafakLLvCYvpUmUmNYYJCU9BxD0H/ifnkW2rjNpV7SPbKjlhCzW15EqarpZGdKziI6OwFalOViGszsFhVaP2hZ0prGsYeO0TwqpC2IvnK79mfgfnUKwzU9/l69fRLViuYGfu0MJ6dqb2FUU7qd0la9qZRlSscFfjQXcBjTt2eCxB5Y4R2NXq3LFWqijdbXxtxR/6afpfUbK4u/fMV2r/3+tq+l/be7uN/f9avkb/q9H/WpL+V4SFP7PYSx8JH5kXDSbCuZ373g1MHaYJdqnXVvTBchXAkqi69ldJQBnhKiD27j0fjqErgvUn8NQLZg+kB/EMtX01Cw6Sg+AR5c6iyMcOWB3/fRzOoiSnYIz+/JjAOCf/NsHVc3IlTtwCz394vgQlbo3+x6G/DI8v6ldG/xHNV+n/Trff2P+v5Wvof0P/V07/9QMgvnFGbWeWTsLY+4wbaN+9SkhQMHocXIU+rHQCIIq1vCMAkVxKX53Io6ScsPG/Pyfn1nNy9xB3BpHtJnT8uKQHE1r2HsY3rBwpO0ugBgf1AJX5Padrf6zm8mCg/zde4HrBeHnHQCn/v6f7f9nd3mviP63la+h/Q//Xzf9XJP9vCR2qdAqo0u4lngehD6luHjsPCvq/AYB0epVeN2Y3+FWKHDeKWzQ2DiGkywPCSuDQLKTYFfShk8D2OUsukjxp9J/Oo0PaX9IRUEb/d/o6/d/r7jf2f2v5Gvrf0P9103/dCSSjdl+T0H97kvn1fDr991KI9Wodv2NPoB/BOGmn0WKHQBn97+9n6P/+Xq+h/+v4NpoDoDkA5j8AOj+AE2xqBK6d8QAgshwjph3NFCrrjNKZ4wMaWg8tFqIwhMCAHzqU8Lrw1gsgaKG8S5zXpgZMqTNuAevpaeO+295udzmZtv5pdHpVXwH9vw3jIIWBu+r43zv9ru7/Y7+3vdvQ/3V8KvnPUP7vjvbXpP4N/V++A/jbOCR0Q/IAYi4p6P2QGKOkfnJccmcoChwejL3gAevwWQgJEhLzm5jM4DysGt7m/jTA34DZ03wK4zsYswgoMAHOLA1JlI3Ic0EnnUYdAiLyXBoJBd7DIE2AMBinQEZhEMARmTbQ6/Z3CJwnUgv1DHwRNtnEwtC+Cd1HG/XMjpx0QhrUs37klaI4fMgUF4mi4K2TpKOxpxeVk0Xh2ackW1QkioKJAWQi4AmAUZLG0GGhS4BqW08Tn30ZnlwfX15cXR+c2sPjq5+Pr4gB+uDVzs62aPRJwDWC87ECHkCVQJL4PxrashGeAIA1tSdhkv6omsYniW+PYJyiHeKkEAhHlvK5iEp0qPXUKE7ldjQA9h18rADkDj7+mO0HWXu5O/mARo7eEwLkHsbe7SOFBUicKsc3jJoFNEjA9enwvtfuGzrkRRMYJ+D5/3HOP56eDu6OD48+/O/B8fD94dlA/vtqeMD+5GV4AZY7eJ5tIYrhLYxZ/D7WXhhkS7LYRFjZHiQTJ4buYDg8HfS6U210cRimAIDOLIk7uCDZxp1JOtVQxAtc+ED/a6Ns8adekNC1DkxHFNrUm0Ic5iHRmh9/9qLMEFCiPfUC24fBOJ2AXrfbNZRA+9mDLiLx+GQKQmJdgP4ggamj2LtHmOHM0okBAO4QSOFD2ol8dG7iP0dJwk44hA+d/yToPJITnHsnGcVelCrJD5aUgSE9TH21RPb3/8YJ7YGorE0Rjh6L2IeOtqHRl8aPNmIVEvBsFnv4nw7oiDVSR/2UA/mNXMXQiuO69gQ66IQ7RDNsHYZBGoc+aLGp3uKzv4UtZa0Y3ju+5zopbFXrQ8eJPNMIGTGPnCTBh0My6FDKgKv8qLvvEFV0elVAIDAFyBKJAmiYeJVCzNAu8uU3AlM20x/CJAXPCBmuUPxX6wo6vnVyCZ7FcBqm0HZcN65Y9V0Yf3JiF7roL/CMlECr/mDfsiz0V8Fk38xub2GMGKXw9ja/Wao2rBev1s3hpXV4enJ8fm0dHl9dg2fSQQCTkRNBF69QxUELaMOjcwVYYrtBbSA/H1+dvPtNgUPOFx3/1b9YbDImXs13BncEIz98nMLA5AuOcZUFsmFepLY/OC36Qxo7KRw/khZIbJ8rSOIE1nX5lt+nlcWHqDUNlUNEWNl1YF/WSU32KoCKSPYML7BvoFvQ+p+k8z9JC+S5t2lJdMdi0FrgpebGxtzetTM2N9kCL/jE5Mic2i9fLsslTsYNxlyXIXmLZUIdIJ5XbUCPsmGu1lVsvMUeXVpfi/zTmxzG68eMRqMICso4kSmkwhUcGr75uR3DNdDYRuYqqRbipp/F8EwzmuMyyHwHUpqlTljk4RM+YYO1lmOGybfFmj3l83bXaXPKG/3OrU4X95dfZNS5wL7OdcNfsC8TPAmaKRVOOy+uapXvx0I7xZx6YmMi5qRmhMKVsiKmOIXY2xE//egQIp2Ey7EKpeSscWh2ez5GELTOQxcvfgu0TkPHfev4TjCCsuFoQEsUn/WsVAFm6/ETtbEmeYMVx5wyWJH8PQw2N1ik2kVcP8f0nJf0pb6fXJI6aprqmLMcQGtDG0J+yMr6vO0OeNKvA1/7AeQf/hW8/3nBOIZJsrgSYIn+R3+/p9v/7KPs5v1vDV/z/te8/y3p/S/jl126htKisgOIijxn9TdGmYsLYPopjO+8YJxRLT8hZG1dfJ3ubp4SVXFLEe77yXmr+POX7gxVAGSbpqcs4y5pbbO3BD2T9IebRAmPvLl9mYQJuwNZgDiGRPADSVkd707GGTnphN8jLPwTV+BewDst0I6UUHCk0jVmoS5jeOsJ55s3zugOqt496QXJdDEwyLEom6nLA2bTGxhzllrz5lC0tKlP5yL1qy0lqpC7hCrbJP7a2FgkDnjR+Y/388rj/3T73d1+Jv7PTuP/YS1fc/435/8Kz/+KR7cuhJGObx6Z5r7n+NHE2abH+M9enM4Iz1BZSlNbGIPPs3nOPvXUU+7TYyeFn5xHLuPJsUiwaLkN+ci0AHa4JYveXJikXoAXST25qKfmuY455ZBrwgT+F38F538UJinCcYvs3Pk5gZLzf393X/P/1O/u7DX2f2v5mvO/Of+XrP/L6Ea1CICFSh8MVJEHKFbkG1L6yO/TypQ+ak1DbaUPaR3Yl6/0IdZ/XqUPBiFf0UNtQ1X0aPW229utZWlv5Eb4GV6/vzoe6lHqCoPnsE7TKHTMmWUReEMAukpNSMHlqjRz9LZuA+6NGbQx6Iumd7K7s91fQEmE9eEvv2Pwyq1ibKHfbikv34U1G/CadSd4u2v1180abXQn5nCIPY974xw0LXZwXAPQ4o6JGUoUuCaW2846J55bz2Klp79JzyIdRRY/exTNA4liyZoHUnK+5oHYycvQPFDo0bI0D9QuFmke8JLzah7kA6iheVCfwZI0D6xKDsJNT1XmvYAVRakTU9Nu09E+H9HZ5l0+tivOtrOCpyz9F063ySOQ6iFb941d6BWbwRR+sctwy+SnW+yvltWqUzXrILzV2siS02p+xMt6yHHX7PT721N7KZD/ZPVM55QEldh/7/a62vtPv7+92/j/WMvXyH8a+c+S5T8ZhY7F5UBGlfdcF1HZwt+QbKhK71YmJZpzamrLi3JNFECh5CiLOcswGyIdyJclmVv95xgPVZmS1E/UuwZYrplRmZQtzxamSt8Z04btTStK3S6uFm4Oz1e15mrIEHOb+1hdplhZ2Jfb2FGO8G9R8WX+ZFYSZ0o2VCfnJ9cnB6f2wdHZyfnC3XDcqRfM3Qe0vAt3YZbAuHYPTi8OD06PDq4PcIDyoxMjlhmN73DcxFmELunQLW7k+nRoH58fvD09nntwErUyDm1BopfTaWpnd3g8/2YnZ8shLNvq5pZ/Ov5tsYZ/go+12iWW3AuNmFh+1x4xbXmBEZOGa4/4YLHROrVHusjZwY7ZWiO8ODu7OLfPD86OF2j2MJxOwwDrHuXtwMyhvYhxbx59AfwFx5i5BO5nNWbH+vzkPrFk+rrmd6XsXK3xfSl7sDbvTDXemaz8raFujJLXpyU8C2VWMv95yCBHZAMwvRgZ7hQ5r2HZKKMLEIdVGjEvZG28dtlH3suY4U6tvJEtYoqcXaRlvJUZae2ipsml02A2Up7rlv09TljuI6O5y0UPQpka8z46lgOq8fi4iARPNoCe9xWymPQu/hpZRq9LyI/ctcUeKvPfKbN8xPLeK7NXLendshKWmh8HC14vK0AoeMWs+4hZtb/SW2b2/fLbe8lsvnk+/P7bnkB/6o2DMIaraKNE/7/b3d3R7P/62/2d5v13Hd8mGIVT/OrWHnvpxg9YF+CHjR867C/07//d2PgBPqwEN5rv6354/2NRUWKxS6sFH5xptLxAwMX7v9/v9fT9v7vXb/x/rOXLsnyvX79+vSGFlMvkjSZOTG+8CHvIb4mlbPd67Z51C11/NLVo3A5s2XjiDgCGwN5pMRMjXj4HG1mBDLt8TR9ZpTv4uCHxyixEN7YTRfwd5Z1ZeiYqlaFM1isCdhu2QTkmEqBv+pj85eO/osd0Egb4TzQBN6ETu/gXEVGTDGF3aWXZYgxFaLdaIImc+I54TXBvSRLpAi458xMn3sCheqbRDLH6YAB+Px6P49D3t8AQVab/2di3+R8bI1ZyQNI3NsE76FKZnqj8QipHk15ugUvcYOfKubnx0rN/v9CBdaSmXv6xcSsBJlU3NsGQsdjFTX04ejfMwH+5BU4RbEMWb5Sz8AjCxiY48Mdh7KWT6QD8/tZJvNEWOD//Y8MRyTh1YxMcQewTAvx+cnl4ugUOLz9ugfeXH//YcGnG4eXHjY3kzosi6P4EH+n6Y8tbO0WIg5aC4gzK2xRoQC4Ym6oTD5LEbYnRD662jfYF2hNtDqLNqO8onNLryiZ1jdGhtVNfAiRLoKaPVuonFknilaWWWaXydjcpNlfsfhAiMOFdBgrG7IpAcNkMhBij4fSvikBY8Qwcso0qQiGFMzDYtq66qMw4XIazsQkQ8iOiQLCHSEyY6AYnCSnNdrf7uofTNEEHToMPo4kTjCHrghcNQO91v93be9Xutns0NWKQul0yE6iDp16SEiAUHRB57tEyvNSJGSDKYv3rdUn/CFG9Ph0OQBrPIB/HUJKkoMZcL7kjQ04Sl0yA/NpACt1BdDrcwccWTgAgjFCRMB6A1vFfM8dn6fSZq4X/Z4nw9haO0gFonYfD0QQiKk6yxOsCmRffR6SFjoqfCrT7Ym0kHaZNhNP454BvMHXee102USSPzP7r7X02sWRjsfkXK3ByRM9HWiwMRrM4hsHocQB2XpO9oMo1NjOSjU0wimYD0Oq1eMIUTkN81vbeey1aDWv2ZSrt5FVCOOvfLA1rE+8zWrL+WUtBYhkjPcIr9Crh9eteNwfbMpilIsBqpzO30gbp6tQJnDHCo00gaxz28W8a4uKSBKQJ4+QSxmiyB2AH56tj3dTf7DaVp7RN2eqtJbXdIlmSAGgAWviItZJR4pFsIVwbgCvouL/EXgovghEklfFi9t57+JciizS1JU35JlBlc5v0gCKz12/xBD57O+89lsqmXK20Y6j0ik75yJ8lKYyVWa81i18TYzY2KdtJe6luPhWBevj3JE2jc2VD7uP0cRyN1HSCcPpG3cx53Wy15sO/W8fzoXvtJHcHszS8gmn8eO1NGR4Yco+g79C6fjg+hffQH4CT83cXRkQzYjKZsgIsPnOCR5zrwghicbTNFbUxP0suCFk8/0povIkfZrN4DMAojGFiRzC2AzzE3h7NCIjRD6UqhBszV+l3TVUAmDqovQGt3Ong/y2aut/d36fl3Ni7h/GHEFFxPQV7bKOpiGyfOQ9okT0xgaTskLyGxxzEjR+O7s7IWDOZ0SPuy6W0M9D9iWUjdoyODSd3OigFJ7xGfA4F4qQTHHvIe6CkmDOcpADxpMNS2aQEY5ucP73dvf2+NLQBkBJmCZo5fE9mrREdPimRMaZyaxG7R6lt4cdUuam9vV2WkIaRN7LT1B+AbbbCBFUGIEmdwHX8MGDdSGHgBOkA3PoW+ZNsanTnVDtCrqE0JU0jm7EzfP4QQeGpPZI68e6hCqfX32938dktd5/wmyTFmaUTewoRL+Al04E0gZit1ucPkUTp3iWo4iEZ9MklTuP1AVbiJBPO10Ck1aJnG/LtyMR3iMOWsTg6tcKlVGpFQFJGNffMFQwUokWkeXL3sidOMoGuLYbXwgcfllzk9bSEQ0KMF5N8cIZru7uHf7pO6tw4CRwASC709hTi98FNGe/JhUHGetuF9/NPE+5OvVlCswAfUoQJ/hmqfsKG1dNzLvkQu3rWkXG4GQgf+dCzwDPT0MN9w+dsMNYvWzxDnNW7InHA8PuKi9PEafU5DO8gjKBCVjhhtBgMi5fDggCLJaNryKDfe9UTu9B2Rr7cQjltwyNj1/9NdoxQBuiEWIG0qPAIuo6nHCwtuRwOLtyiksUY+tBJYIszYLKpjoFHM3FpBpZLYbr6jFPL8mqVq2Z3m2G/6TtO3KwEGRPAGB683t/HU0oCTpZPKSk3x5T255nSvnFedqpM6Y6x6qulT+km5RMwSMYTrHzVuGjFROcMlI71jGUXkbvssYCoszwuvqqrGGfFEbE+GUYkjwFdkAkrMtehle2iWQ6RvSJt4/TsFelVqbStJ8QSCCyv2t2mqQioSCUAJZkyg4k5IrHLcEQ2VXZL+SlNGsLyJR5tu9vrbiuZEquGMl/xZhC9vvXDTwu0tF/UEmKHZTnukhZVFTjt5C40VUa1Na6EJUcYOXlyIe+St274xFRE7tKVga+muB4YVztvwoWoq9fdqSeH6BtECjvzCAKZGEW+rdQWAmA7v03ZUuzj6fDgyj47PqM8BJPnWr9Ok50xsH6dPuD/fh2cOQ9HXgxH6Rnu0tD7DN+8GtM7cRiIa99NHN7B+Aj6MIUngTNKvXt4jS5HyTs8S8HocQhHYeAmA7DHbh83zujOD8f/noWpc0Tw4hTNzfu36JaSe73IkpAdnp6oGa/zxSya1ALPcMsg5qgtjotmN743On3LpkZ7+CQtMKJGimSImnxf25bua244dbyA7Ip2GI/J3VneGaQc2RlMnmG43hrusjjM7yVLZX2gu0UFZegrkLbLbhYiSn4timIKywRIX0s8iTYWfRAmlaiVNH8l5mmYcettt7fn24GEuCVeCm3yqK/diPUc9yabJl/bKsvi6smSN+S3Nmk+FN7WEBtSmyeqfjDXTJm2Oz9wjHsZ3Xe0p/5KnafPS8vreqUF0btaX9gvW1ZrqCpbQVM/WXLykQGrZEvm/NzLXExVjHRl0Y5sOjvAv8hYuO1mgSWYFOhdqvQTfKxQ5w4S2bIwmSyqJEI0S5VKGhJBmEkdp7QRhzcgzGAG4Hkaz+BzlixFVaMpwjqQ6gP1qAGq8rD9tXWZmq/+Z9L/W5beH/uK9f92drd39fhfO/1uo/+7lo+o3BGXN0yK+OULEK5UJL+60vFFDYq85HoSe+6lE6ekHrbUU2pj6Wf8CEALs5wt0EK0htaPNJcokhcUqd2T2/MwvYxhAoO0JQyGiKmn2bqzomVnP+OsTWgq4v6QH7hCureDhhMOUxzV/elpg4drUKMcybp3KJ3/RJmyrhzKFL+xFYxsl0J/YLdJQosN5fCfKI9praEM8jcgAbcs8Iz1f/AGvCgYzEteg84p0W1DqZKam8jnzy5k+jTtN1EuE9sqP7qVwdpWszQTYKVIG1yuPScoHqKJBGnKMbQ2w1F+KPNDjmWSIWvRNTODxdHUVkkoBjbzwiRF1HpN0XhsZodIC/iRwbU4m5lh115KiBXt1H/g7Gzof9PzLEm9EJ9mGSMBdGpC7nqIsRyYVQGq71YJXsamAHMDhYYGNdoxx2jMBGeUGCT8VtJCdYUwT6ItVG2TtUNSWUm6q5iuL24qkhKFrXhE7cDNrm03VC1O0ZDQG2U1aCAtuQJpkKh94i5wHPG0TjHZXoUeSWrO+bNBO8PLsp4Y+UDWA3m26A8lT5o09rOon5I1i44zUp7CihNeGtWWjFS4gi5x8UwtrzGgiZOAFstvAWYMnN2J8vyw+WdpZH9y+35svy91iovKuLsB1dmA7kxAt9xHZUwW/kBWLRcb6fp0qG+lzGhMznWquNapQLGybnPKneaUg9Ud4pS4wykHSHXcxeaRVN5z6JPwAqQutcHRDpECAcUdjtCMN+1e8w4WcHM8+gideZEr69HXdtyjaNeTaxpPKJ1U/krAsqRng9rrxOO4Ak3H3rCDRYGiPayS3IV3cfV9WrzfifAYX229z0qb/bNWdhSle/e/feuuCsuoInnOIUF1pgvQi5QQnWLKQkRuRH5Jq9tb4ciEYjhBSvJLER6dv7vgyFUH69WXXVRHTmGlVFURVEpOqb+D8vTQiXTHlMd3l9kTWTubPsdW+y89JnNtEohsLidXwpvdAkjEfiEPEs6VIO11ObOjPt7hk1lxrsYKah7a+E8Zr8leVf2sqe+AkqiReIDJ1OYV5bdBLIcUXnekSsqrYauc+Pfeewbqr1o5iCGrtg/sLFcNGchxLqeJc5/aNrDzyRy9wyiyIsPAUqu87VB6Y3ZvxYWZKiAC1VCBSZK1bstGCvRiwRPKeUBJfqJKUIAUpR/9JRoUNgcoj/2SOpTDw0lWCJjOsp8y20aNEgjS4h9SfWqYgCvjv8HTE8kqOS0VEZouRFv+QIkiBUrH4fyklWIvzWSZqMvmsjXCd3hOe5nyY1HHJf07djppXZeU8NjJpJTIx1PvnuMeMeUo7kreHGkmHYRoKGnqfAacmLFfC8yrxPFoZCOH81FLFXFAZuKEmGw1R2I6JA6j1pUWcBnXP/uoXj1bLJvkghwUkc1ZC/BDKibYszx7XsKkmXMrM9l93g7TzcJgyY+KB78iUpQHWpUxKWcTavMJ5YxCsyFWtSHo02UutcTWaoVUUjyDFiNmVcyqgcCsew1OrhEn8y0RCb9tzpXns5WDi8SGMQcViUVgASbiAjlCgGIpQLOmkghXmik65exKofJ/Urnt7e4eLybsRbE4g/6Si8uGlbyaxmkrzyCp2KU5DKJW3HbhfWuNNGmtV2dpw3AjUXkNuZ1pduEkS1PDHZhkSgtypWiLSQlm/lUxSJXQj6fm4yG5eWs6RhkSwPOLyICmt5T3wFF8Eym/h/zjxdd81SQdn8yK4byi1ZJ0hUiydwvaxDiYpcomxYDbv+J7PM5p4yTq3psXIaaveqlrZywVVBluWo7z3fxSKh0xrIjGi5VzY9VCWlD4q44WQptZaVAQ2sZSY3+IncxGoLxYqg9T0lzq9E7DZIRyxHiapcom1yrKkZwylJNLFaEcLVeEcrzIilCOwl81ytFmVopytI0VoRwbQembUvF9S0iEM8QSZRXRSlmwrNqzK0cSzVn5kvKGVrqovJUVLasYRenCZp6+5ZlWA2gY+Epe2shgmlhMXiPv5Ubqmc56immrdAeWusH5UNF8AUOq+h/Q6RvLNQmztk2rzSusGnl5QytFXt7KipBXjKIC8hpwktevjJO8xhw4KWZjbpwUzVe/JEnvLFlRL1aqLBLyyi82jZxgft2KisoVS9Cu+JKj/go01x5mxTXh14N1+DLz3KbqgRRwl7KhPJC2M9FHfXYHH7fAs3vHB4M3oC0Vljc/LgaenhSUwpUqEAttK6jPpVnVUZpdqDqqvcCuSEL9j75eL0/7VvWJQvSLRIpeKhJkXkqpvwPNr+bFMpWMt5Wvu1Nk/Yms9hzx3VGkPacoY6x0j8DgntO34H5uMNi5CkumnlaqggKy3kazc5eqe6j5mGHFkmWcj8xxDNug3I8MZRgr2rUUo+ccZ3CepglzRoMpFP5bF/y3w3icdxH/6ofxkh4bTMz2fC+fvMHabw9AcmRjJpE0u5BI0jIshzpQwdhA5WsiHQvXeBYRqjU0Z7ncwmpPePeG7twbjnffwsuceQ8YcV41vcw+T9HswtcpxZazwfnvCOdVXMj6gDLiRMb/UtFbmFa2wZHvDke+AX2CHIKWd6qr7r0IzyVSFDsBfqRrVWXrYZEiV93d2e5nqh3dqJWObuQqkuOvTM2P/PSRU6rWvlRPKS21DIrmgAwvi5wk18cZioaLWlFOkeuhdKEYInkwYzoc5LdUo4prMw0i9jomAP4EFXc8VfyecYCy77MvX5hOIPpdDaTwiqaB5H3kP2sBVProSP1zavTNUfolO1TDpIX/lsERV2tyJbFHWPx3qfirnZ1tubDsiY1WEUk6ghrdtBmZ9oxzfEKelERU0OAqP1OSkccc3/mZ8iwrU0fs5Uxyti/K7jFmgaenr+1tq/mar/ma79v5/n8AAAD//5uY4K4AqAQA` + content, _ := base64.StdEncoding.DecodeString(base64Content) + return content +} +func getFATEExchange_1_11_1_WithManagerChartArchiveContent() []byte { + base64Content := `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` + content, _ := base64.StdEncoding.DecodeString(base64Content) + return content +}