@raystack/proton 0.1.0-8cb19702a3e47d173732860d58084b83d6941865 → 0.1.0-bd066ec9145b8dfd7c882f28762bef5049d9e865
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/google/api/annotations_pb.d.ts +34 -0
- package/google/api/annotations_pb.js +36 -0
- package/google/api/annotations_pb.ts +1 -1
- package/google/api/field_behavior_pb.d.ts +134 -0
- package/google/api/field_behavior_pb.js +65 -0
- package/google/api/field_behavior_pb.ts +1 -1
- package/google/api/http_pb.d.ts +477 -0
- package/google/api/http_pb.js +47 -0
- package/google/api/http_pb.ts +1 -1
- package/google/api/httpbody_pb.d.ts +104 -0
- package/google/api/httpbody_pb.js +34 -0
- package/google/api/httpbody_pb.ts +1 -1
- package/index.d.ts +10 -0
- package/index.js +10 -0
- package/package.json +37 -36
- package/protoc-gen-openapiv2/options/annotations_pb.d.ts +63 -0
- package/protoc-gen-openapiv2/options/annotations_pb.js +69 -0
- package/protoc-gen-openapiv2/options/annotations_pb.ts +1 -1
- package/protoc-gen-openapiv2/options/openapiv2_pb.d.ts +1497 -0
- package/protoc-gen-openapiv2/options/openapiv2_pb.js +232 -0
- package/protoc-gen-openapiv2/options/openapiv2_pb.ts +1 -1
- package/raystack/assets/index.d.ts +29 -0
- package/raystack/assets/index.js +29 -0
- package/raystack/assets/v1beta1/bucket_pb.d.ts +180 -0
- package/raystack/assets/v1beta1/bucket_pb.js +32 -0
- package/raystack/assets/v1beta1/bucket_pb.ts +1 -1
- package/raystack/assets/v1beta1/dashboard_pb.d.ts +217 -0
- package/raystack/assets/v1beta1/dashboard_pb.js +32 -0
- package/raystack/assets/v1beta1/dashboard_pb.ts +1 -1
- package/raystack/assets/v1beta1/event_pb.d.ts +52 -0
- package/raystack/assets/v1beta1/event_pb.js +20 -0
- package/raystack/assets/v1beta1/event_pb.ts +1 -1
- package/raystack/assets/v1beta1/group_pb.d.ts +105 -0
- package/raystack/assets/v1beta1/group_pb.js +30 -0
- package/raystack/assets/v1beta1/group_pb.ts +1 -1
- package/raystack/assets/v1beta1/job_pb.d.ts +78 -0
- package/raystack/assets/v1beta1/job_pb.js +25 -0
- package/raystack/assets/v1beta1/job_pb.ts +1 -1
- package/raystack/assets/v1beta1/lineage_pb.d.ts +43 -0
- package/raystack/assets/v1beta1/lineage_pb.js +20 -0
- package/raystack/assets/v1beta1/lineage_pb.ts +1 -1
- package/raystack/assets/v1beta1/ownership_pb.d.ts +78 -0
- package/raystack/assets/v1beta1/ownership_pb.js +26 -0
- package/raystack/assets/v1beta1/ownership_pb.ts +1 -1
- package/raystack/assets/v1beta1/preview_pb.d.ts +41 -0
- package/raystack/assets/v1beta1/preview_pb.js +20 -0
- package/raystack/assets/v1beta1/preview_pb.ts +1 -1
- package/raystack/assets/v1beta1/properties_pb.d.ts +44 -0
- package/raystack/assets/v1beta1/properties_pb.js +20 -0
- package/raystack/assets/v1beta1/properties_pb.ts +1 -1
- package/raystack/assets/v1beta1/resource_pb.d.ts +74 -0
- package/raystack/assets/v1beta1/resource_pb.js +19 -0
- package/raystack/assets/v1beta1/resource_pb.ts +1 -1
- package/raystack/assets/v1beta1/schema_pb.d.ts +169 -0
- package/raystack/assets/v1beta1/schema_pb.js +41 -0
- package/raystack/assets/v1beta1/schema_pb.ts +1 -1
- package/raystack/assets/v1beta1/table_pb.d.ts +192 -0
- package/raystack/assets/v1beta1/table_pb.js +41 -0
- package/raystack/assets/v1beta1/table_pb.ts +1 -1
- package/raystack/assets/v1beta1/timestamp_pb.d.ts +68 -0
- package/raystack/assets/v1beta1/timestamp_pb.js +27 -0
- package/raystack/assets/v1beta1/timestamp_pb.ts +1 -1
- package/raystack/assets/v1beta1/topic_pb.d.ts +125 -0
- package/raystack/assets/v1beta1/topic_pb.js +33 -0
- package/raystack/assets/v1beta1/topic_pb.ts +1 -1
- package/raystack/assets/v1beta1/user_pb.d.ts +216 -0
- package/raystack/assets/v1beta1/user_pb.js +37 -0
- package/raystack/assets/v1beta1/user_pb.ts +1 -1
- package/raystack/assets/v1beta2/application_pb.d.ts +59 -0
- package/raystack/assets/v1beta2/application_pb.js +20 -0
- package/raystack/assets/v1beta2/application_pb.ts +1 -1
- package/raystack/assets/v1beta2/asset_pb.d.ts +129 -0
- package/raystack/assets/v1beta2/asset_pb.js +21 -0
- package/raystack/assets/v1beta2/asset_pb.ts +1 -1
- package/raystack/assets/v1beta2/bucket_pb.d.ts +163 -0
- package/raystack/assets/v1beta2/bucket_pb.js +28 -0
- package/raystack/assets/v1beta2/bucket_pb.ts +1 -1
- package/raystack/assets/v1beta2/common_pb.d.ts +170 -0
- package/raystack/assets/v1beta2/common_pb.js +41 -0
- package/raystack/assets/v1beta2/common_pb.ts +1 -1
- package/raystack/assets/v1beta2/dashboard_pb.d.ts +192 -0
- package/raystack/assets/v1beta2/dashboard_pb.js +28 -0
- package/raystack/assets/v1beta2/dashboard_pb.ts +1 -1
- package/raystack/assets/v1beta2/experiment_pb.d.ts +134 -0
- package/raystack/assets/v1beta2/experiment_pb.js +27 -0
- package/raystack/assets/v1beta2/experiment_pb.ts +1 -1
- package/raystack/assets/v1beta2/feature_table_pb.d.ts +167 -0
- package/raystack/assets/v1beta2/feature_table_pb.js +34 -0
- package/raystack/assets/v1beta2/feature_table_pb.ts +1 -1
- package/raystack/assets/v1beta2/group_pb.d.ts +77 -0
- package/raystack/assets/v1beta2/group_pb.js +27 -0
- package/raystack/assets/v1beta2/group_pb.ts +1 -1
- package/raystack/assets/v1beta2/job_pb.d.ts +47 -0
- package/raystack/assets/v1beta2/job_pb.js +20 -0
- package/raystack/assets/v1beta2/job_pb.ts +1 -1
- package/raystack/assets/v1beta2/metric_pb.d.ts +83 -0
- package/raystack/assets/v1beta2/metric_pb.js +20 -0
- package/raystack/assets/v1beta2/metric_pb.ts +1 -1
- package/raystack/assets/v1beta2/model_pb.d.ts +227 -0
- package/raystack/assets/v1beta2/model_pb.js +41 -0
- package/raystack/assets/v1beta2/model_pb.ts +1 -1
- package/raystack/assets/v1beta2/table_pb.d.ts +283 -0
- package/raystack/assets/v1beta2/table_pb.js +48 -0
- package/raystack/assets/v1beta2/table_pb.ts +1 -1
- package/raystack/assets/v1beta2/topic_pb.d.ts +117 -0
- package/raystack/assets/v1beta2/topic_pb.js +34 -0
- package/raystack/assets/v1beta2/topic_pb.ts +1 -1
- package/raystack/assets/v1beta2/user_pb.d.ts +203 -0
- package/raystack/assets/v1beta2/user_pb.js +34 -0
- package/raystack/assets/v1beta2/user_pb.ts +1 -1
- package/raystack/common/index.d.ts +2 -0
- package/raystack/common/index.js +2 -0
- package/raystack/common/v1/service-CommonService_connectquery.d.ts +10 -0
- package/raystack/common/v1/service-CommonService_connectquery.js +10 -0
- package/raystack/common/v1/service-CommonService_connectquery.ts +1 -1
- package/raystack/common/v1/service_pb.d.ts +100 -0
- package/raystack/common/v1/service_pb.js +42 -0
- package/raystack/common/v1/service_pb.ts +1 -1
- package/raystack/compass/index.d.ts +2 -0
- package/raystack/compass/index.js +2 -0
- package/raystack/compass/v1beta1/service-CompassService_connectquery.d.ts +184 -0
- package/raystack/compass/v1beta1/service-CompassService_connectquery.js +225 -0
- package/raystack/compass/v1beta1/service-CompassService_connectquery.ts +1 -1
- package/raystack/compass/v1beta1/service_pb.d.ts +2994 -0
- package/raystack/compass/v1beta1/service_pb.js +745 -0
- package/raystack/compass/v1beta1/service_pb.ts +1 -1
- package/raystack/entropy/index.d.ts +4 -0
- package/raystack/entropy/index.js +4 -0
- package/raystack/entropy/v1beta1/module-ModuleService_connectquery.d.ts +26 -0
- package/raystack/entropy/v1beta1/module-ModuleService_connectquery.js +30 -0
- package/raystack/entropy/v1beta1/module-ModuleService_connectquery.ts +1 -1
- package/raystack/entropy/v1beta1/module_pb.d.ts +261 -0
- package/raystack/entropy/v1beta1/module_pb.js +97 -0
- package/raystack/entropy/v1beta1/module_pb.ts +1 -1
- package/raystack/entropy/v1beta1/resource-ResourceService_connectquery.d.ts +34 -0
- package/raystack/entropy/v1beta1/resource-ResourceService_connectquery.js +40 -0
- package/raystack/entropy/v1beta1/resource-ResourceService_connectquery.ts +1 -1
- package/raystack/entropy/v1beta1/resource_pb.d.ts +636 -0
- package/raystack/entropy/v1beta1/resource_pb.js +200 -0
- package/raystack/entropy/v1beta1/resource_pb.ts +1 -1
- package/raystack/frontier/index.d.ts +5 -0
- package/raystack/frontier/index.js +5 -0
- package/raystack/frontier/v1beta1/admin-AdminService_connectquery.d.ts +269 -0
- package/raystack/frontier/v1beta1/admin-AdminService_connectquery.js +323 -0
- package/raystack/frontier/v1beta1/admin-AdminService_connectquery.ts +22 -1
- package/raystack/frontier/v1beta1/admin_pb.d.ts +3624 -0
- package/raystack/frontier/v1beta1/admin_pb.js +935 -0
- package/raystack/frontier/v1beta1/admin_pb.ts +169 -3
- package/raystack/frontier/v1beta1/frontier-FrontierService_connectquery.d.ts +755 -0
- package/raystack/frontier/v1beta1/frontier-FrontierService_connectquery.js +925 -0
- package/raystack/frontier/v1beta1/frontier-FrontierService_connectquery.ts +32 -1
- package/raystack/frontier/v1beta1/frontier_pb.d.ts +8938 -0
- package/raystack/frontier/v1beta1/frontier_pb.js +2635 -0
- package/raystack/frontier/v1beta1/frontier_pb.ts +445 -274
- package/raystack/frontier/v1beta1/models_pb.d.ts +3061 -0
- package/raystack/frontier/v1beta1/models_pb.js +497 -0
- package/raystack/frontier/v1beta1/models_pb.ts +327 -52
- package/raystack/guardian/index.d.ts +2 -0
- package/raystack/guardian/index.js +2 -0
- package/raystack/guardian/v1beta1/guardian-GuardianService_connectquery.d.ts +168 -0
- package/raystack/guardian/v1beta1/guardian-GuardianService_connectquery.js +207 -0
- package/raystack/guardian/v1beta1/guardian-GuardianService_connectquery.ts +1 -1
- package/raystack/guardian/v1beta1/guardian_pb.d.ts +3537 -0
- package/raystack/guardian/v1beta1/guardian_pb.js +823 -0
- package/raystack/guardian/v1beta1/guardian_pb.ts +1 -1
- package/raystack/optimus/core/v1beta1/backup-BackupService_connectquery.d.ts +18 -0
- package/raystack/optimus/core/v1beta1/backup-BackupService_connectquery.js +20 -0
- package/raystack/optimus/core/v1beta1/backup-BackupService_connectquery.ts +1 -1
- package/raystack/optimus/core/v1beta1/backup_pb.d.ts +256 -0
- package/raystack/optimus/core/v1beta1/backup_pb.js +77 -0
- package/raystack/optimus/core/v1beta1/backup_pb.ts +1 -1
- package/raystack/optimus/core/v1beta1/job_run-JobRunService_connectquery.d.ts +30 -0
- package/raystack/optimus/core/v1beta1/job_run-JobRunService_connectquery.js +33 -0
- package/raystack/optimus/core/v1beta1/job_run-JobRunService_connectquery.ts +1 -1
- package/raystack/optimus/core/v1beta1/job_run_pb.d.ts +410 -0
- package/raystack/optimus/core/v1beta1/job_run_pb.js +127 -0
- package/raystack/optimus/core/v1beta1/job_run_pb.ts +1 -1
- package/raystack/optimus/core/v1beta1/job_spec-JobSpecificationService_connectquery.d.ts +98 -0
- package/raystack/optimus/core/v1beta1/job_spec-JobSpecificationService_connectquery.js +112 -0
- package/raystack/optimus/core/v1beta1/job_spec-JobSpecificationService_connectquery.ts +1 -1
- package/raystack/optimus/core/v1beta1/job_spec_pb.d.ts +1953 -0
- package/raystack/optimus/core/v1beta1/job_spec_pb.js +487 -0
- package/raystack/optimus/core/v1beta1/job_spec_pb.ts +1 -1
- package/raystack/optimus/core/v1beta1/namespace-NamespaceService_connectquery.d.ts +24 -0
- package/raystack/optimus/core/v1beta1/namespace-NamespaceService_connectquery.js +26 -0
- package/raystack/optimus/core/v1beta1/namespace-NamespaceService_connectquery.ts +1 -1
- package/raystack/optimus/core/v1beta1/namespace_pb.d.ts +180 -0
- package/raystack/optimus/core/v1beta1/namespace_pb.js +69 -0
- package/raystack/optimus/core/v1beta1/namespace_pb.ts +1 -1
- package/raystack/optimus/core/v1beta1/project-ProjectService_connectquery.d.ts +24 -0
- package/raystack/optimus/core/v1beta1/project-ProjectService_connectquery.js +26 -0
- package/raystack/optimus/core/v1beta1/project-ProjectService_connectquery.ts +1 -1
- package/raystack/optimus/core/v1beta1/project_pb.d.ts +166 -0
- package/raystack/optimus/core/v1beta1/project_pb.js +69 -0
- package/raystack/optimus/core/v1beta1/project_pb.ts +2 -29
- package/raystack/optimus/core/v1beta1/replay-ReplayService_connectquery.d.ts +22 -0
- package/raystack/optimus/core/v1beta1/replay-ReplayService_connectquery.js +25 -0
- package/raystack/optimus/core/v1beta1/replay-ReplayService_connectquery.ts +1 -1
- package/raystack/optimus/core/v1beta1/replay_pb.d.ts +331 -0
- package/raystack/optimus/core/v1beta1/replay_pb.js +91 -0
- package/raystack/optimus/core/v1beta1/replay_pb.ts +1 -1
- package/raystack/optimus/core/v1beta1/resource-ResourceService_connectquery.d.ts +43 -0
- package/raystack/optimus/core/v1beta1/resource-ResourceService_connectquery.js +48 -0
- package/raystack/optimus/core/v1beta1/resource-ResourceService_connectquery.ts +1 -1
- package/raystack/optimus/core/v1beta1/resource_pb.d.ts +507 -0
- package/raystack/optimus/core/v1beta1/resource_pb.js +134 -0
- package/raystack/optimus/core/v1beta1/resource_pb.ts +1 -1
- package/raystack/optimus/core/v1beta1/runtime-RuntimeService_connectquery.d.ts +12 -0
- package/raystack/optimus/core/v1beta1/runtime-RuntimeService_connectquery.js +12 -0
- package/raystack/optimus/core/v1beta1/runtime-RuntimeService_connectquery.ts +1 -1
- package/raystack/optimus/core/v1beta1/runtime_pb.d.ts +62 -0
- package/raystack/optimus/core/v1beta1/runtime_pb.js +36 -0
- package/raystack/optimus/core/v1beta1/runtime_pb.ts +1 -1
- package/raystack/optimus/core/v1beta1/secret-SecretService_connectquery.d.ts +30 -0
- package/raystack/optimus/core/v1beta1/secret-SecretService_connectquery.js +33 -0
- package/raystack/optimus/core/v1beta1/secret-SecretService_connectquery.ts +1 -1
- package/raystack/optimus/core/v1beta1/secret_pb.d.ts +250 -0
- package/raystack/optimus/core/v1beta1/secret_pb.js +84 -0
- package/raystack/optimus/core/v1beta1/secret_pb.ts +1 -1
- package/raystack/optimus/core/v1beta1/status_pb.d.ts +78 -0
- package/raystack/optimus/core/v1beta1/status_pb.js +31 -0
- package/raystack/optimus/core/v1beta1/status_pb.ts +1 -1
- package/raystack/optimus/integration/v1beta1/event_pb.d.ts +239 -0
- package/raystack/optimus/integration/v1beta1/event_pb.js +62 -0
- package/raystack/optimus/integration/v1beta1/event_pb.ts +1 -1
- package/raystack/optimus/plugins/v1beta1/dependency_resolver-DependencyResolverModService_connectquery.d.ts +31 -0
- package/raystack/optimus/plugins/v1beta1/dependency_resolver-DependencyResolverModService_connectquery.js +34 -0
- package/raystack/optimus/plugins/v1beta1/dependency_resolver-DependencyResolverModService_connectquery.ts +1 -1
- package/raystack/optimus/plugins/v1beta1/dependency_resolver_pb.d.ts +353 -0
- package/raystack/optimus/plugins/v1beta1/dependency_resolver_pb.js +120 -0
- package/raystack/optimus/plugins/v1beta1/dependency_resolver_pb.ts +1 -1
- package/raystack/predator/index.d.ts +2 -0
- package/raystack/predator/index.js +2 -0
- package/raystack/predator/v1beta1/metrics_log_pb.d.ts +163 -0
- package/raystack/predator/v1beta1/metrics_log_pb.js +48 -0
- package/raystack/predator/v1beta1/metrics_log_pb.ts +1 -1
- package/raystack/predator/v1beta1/result_log_pb.d.ts +143 -0
- package/raystack/predator/v1beta1/result_log_pb.js +42 -0
- package/raystack/predator/v1beta1/result_log_pb.ts +1 -1
- package/raystack/raccoon/index.d.ts +2 -0
- package/raystack/raccoon/index.js +2 -0
- package/raystack/raccoon/v1beta1/raccoon-EventService_connectquery.d.ts +10 -0
- package/raystack/raccoon/v1beta1/raccoon-EventService_connectquery.js +10 -0
- package/raystack/raccoon/v1beta1/raccoon-EventService_connectquery.ts +1 -1
- package/raystack/raccoon/v1beta1/raccoon_pb.d.ts +268 -0
- package/raystack/raccoon/v1beta1/raccoon_pb.js +64 -0
- package/raystack/raccoon/v1beta1/raccoon_pb.ts +1 -1
- package/raystack/siren/index.d.ts +2 -0
- package/raystack/siren/index.js +2 -0
- package/raystack/siren/v1beta1/siren-SirenService_connectquery.d.ts +146 -0
- package/raystack/siren/v1beta1/siren-SirenService_connectquery.js +180 -0
- package/raystack/siren/v1beta1/siren-SirenService_connectquery.ts +1 -1
- package/raystack/siren/v1beta1/siren_pb.d.ts +2281 -0
- package/raystack/siren/v1beta1/siren_pb.js +603 -0
- package/raystack/siren/v1beta1/siren_pb.ts +1 -1
- package/raystack/stencil/index.d.ts +2 -0
- package/raystack/stencil/index.js +2 -0
- package/raystack/stencil/v1beta1/stencil-StencilService_connectquery.d.ts +70 -0
- package/raystack/stencil/v1beta1/stencil-StencilService_connectquery.js +85 -0
- package/raystack/stencil/v1beta1/stencil-StencilService_connectquery.ts +1 -1
- package/raystack/stencil/v1beta1/stencil_pb.d.ts +1057 -0
- package/raystack/stencil/v1beta1/stencil_pb.js +298 -0
- package/raystack/stencil/v1beta1/stencil_pb.ts +1 -1
- package/validate/validate_pb.d.ts +1953 -0
- package/validate/validate_pb.js +223 -0
- package/validate/validate_pb.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protoc-gen-es v2.6.2 with parameter "target=ts,import_extension=none"
|
|
1
|
+
// @generated by protoc-gen-es v2.6.2 with parameter "target=ts+js+dts,import_extension=none"
|
|
2
2
|
// @generated from file raystack/frontier/v1beta1/frontier.proto (package raystack.frontier.v1beta1, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
@@ -9,7 +9,7 @@ import { file_google_api_field_behavior } from "../../../google/api/field_behavi
|
|
|
9
9
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
10
10
|
import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
11
11
|
import { file_protoc_gen_openapiv2_options_annotations } from "../../../protoc-gen-openapiv2/options/annotations_pb";
|
|
12
|
-
import type { AuditLog, BillingAccount, BillingAccount_Address, BillingAccount_Balance, BillingAccount_Tax, BillingAccountDetails, BillingTransaction, CheckoutProductBody, CheckoutSession, CheckoutSetupBody, CheckoutSubscriptionBody, Domain, Feature, Group, Invitation, Invoice, JSONWebKey, KeyCredential, MetaSchema, Namespace, Organization, OrganizationKyc, PaymentMethod, Permission, Plan, Policy, Preference, PreferenceRequestBody, PreferenceTrait, Price, Product, Product_BehaviorConfig, Project, Relation, Resource, Role, RoleRequestBody, SecretCredential, ServiceUser, ServiceUserJWK, ServiceUserToken, Subscription, Subscription_Phase, Usage, User } from "./models_pb";
|
|
12
|
+
import type { AuditLog, AuditRecord, AuditRecordActor, AuditRecordResource, AuditRecordTarget, BillingAccount, BillingAccount_Address, BillingAccount_Balance, BillingAccount_Tax, BillingAccountDetails, BillingTransaction, CheckoutProductBody, CheckoutSession, CheckoutSetupBody, CheckoutSubscriptionBody, Domain, Feature, Group, Invitation, Invoice, JSONWebKey, KeyCredential, MetaSchema, Namespace, Organization, OrganizationKyc, PaymentMethod, Permission, Plan, Policy, Preference, PreferenceRequestBody, PreferenceTrait, Price, Product, Product_BehaviorConfig, Project, Relation, Resource, Role, RoleRequestBody, SecretCredential, ServiceUser, ServiceUserJWK, ServiceUserToken, Session, Subscription, Subscription_Phase, Usage, User } from "./models_pb";
|
|
13
13
|
import { file_raystack_frontier_v1beta1_models } from "./models_pb";
|
|
14
14
|
import { file_validate_validate } from "../../../validate/validate_pb";
|
|
15
15
|
import type { JsonObject, Message } from "@bufbuild/protobuf";
|
|
@@ -18,7 +18,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
|
|
|
18
18
|
* Describes the file raystack/frontier/v1beta1/frontier.proto.
|
|
19
19
|
*/
|
|
20
20
|
export const file_raystack_frontier_v1beta1_frontier: GenFile = /*@__PURE__*/
|
|
21
|
-
fileDesc("CihyYXlzdGFjay9mcm9udGllci92MWJldGExL2Zyb250aWVyLnByb3RvEhlyYXlzdGFjay5mcm9udGllci52MWJldGExIokCChlCaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDQoFcGhvbmUYAyABKAkSQgoHYWRkcmVzcxgEIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQWRkcmVzcxIQCghjdXJyZW5jeRgFIAEoCRI/Cgh0YXhfZGF0YRgGIAMoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuVGF4EikKCG1ldGFkYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKVAQobQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARJMCgRib2R5GAIgASgLMjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5Qgj6QgWKAQIQARIPCgdvZmZsaW5lGAMgASgIImIKHENyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudCKUAQoYR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQARIcChR3aXRoX3BheW1lbnRfbWV0aG9kcxgDIAEoCBIcChR3aXRoX2JpbGxpbmdfZGV0YWlscxgEIAEoCBIOCgZleHBhbmQYZSADKAki7QEKGUdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudBJBCg9wYXltZW50X21ldGhvZHMYAiADKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBheW1lbnRNZXRob2QSSQoPYmlsbGluZ19kZXRhaWxzGAMgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudERldGFpbHMikAEKG1VwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABEkIKBGJvZHkYAyABKAsyNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50UmVxdWVzdEJvZHkiYgocVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZRJCCg9iaWxsaW5nX2FjY291bnQYASABKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50Ik4KHVJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiIAoeUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIkUKGkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiYgobTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlEkMKEGJpbGxpbmdfYWNjb3VudHMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50IkwKG0RlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABIh4KHERlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiTAobRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHgocRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSJNChxEaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHwodRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiSQoYR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiXwoZR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZRJCCgdiYWxhbmNlGAEgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudC5CYWxhbmNlIlwKEUhhc1RyaWFsZWRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAESGAoHcGxhbl9pZBgDIAEoCUIH+kIEcgIQASIlChJIYXNUcmlhbGVkUmVzcG9uc2USDwoHdHJpYWxlZBgBIAEoCCKSAQoZQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEgoKcHJvamVjdF9pZBgEIAEoCRIwCgZ1c2FnZXMYAyADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzYWdlIhwKGkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIvkBCh5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEi0KBXNpbmNlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICGAESLwoLc3RhcnRfcmFuZ2UYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWVuZF9yYW5nZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZXhwYW5kGGUgAygJImYKH0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2USQwoMdHJhbnNhY3Rpb25zGAEgAygLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nVHJhbnNhY3Rpb24iWAofVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHAoKYmlsbGluZ19pZBgCIAEoCUII+kIFcgOwAQEiZgogVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2USQgoHZGViaXRlZBgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQmFsYW5jZSJ3ChZHZXRTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiWAoXR2V0U3Vic2NyaXB0aW9uUmVzcG9uc2USPQoMc3Vic2NyaXB0aW9uGAEgASgLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24igQEKGExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESDQoFc3RhdGUYAyABKAkSDAoEcGxhbhgEIAEoCRIOCgZleHBhbmQYZSADKAkiWwoZTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZRI+Cg1zdWJzY3JpcHRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24ilQEKGVVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhMKAmlkGAMgASgJQgf6QgRyAhABEikKCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJbChpVcGRhdGVTdWJzY3JpcHRpb25SZXNwb25zZRI9CgxzdWJzY3JpcHRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbiKuAwoZQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoCaWQYAyABKAlCB/pCBHICEAESEAoEcGxhbhgEIAEoCUICGAESFQoJaW1tZWRpYXRlGAUgASgIQgIYARJWCgtwbGFuX2NoYW5nZRgGIAEoCzI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdC5QbGFuQ2hhbmdlSAASWAoMcGhhc2VfY2hhbmdlGAcgASgLMkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0LlBoYXNlQ2hhbmdlSAAaLQoKUGxhbkNoYW5nZRIMCgRwbGFuGAEgASgJEhEKCWltbWVkaWF0ZRgCIAEoCBouCgtQaGFzZUNoYW5nZRIfChdjYW5jZWxfdXBjb21pbmdfY2hhbmdlcxgBIAEoCEIICgZjaGFuZ2UiWgoaQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2USPAoFcGhhc2UYASABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbi5QaGFzZSJ9ChlDYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIRCglpbW1lZGlhdGUYBCABKAgiHAoaQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2UiEgoQTGlzdFBsYW5zUmVxdWVzdCJDChFMaXN0UGxhbnNSZXNwb25zZRIuCgVwbGFucxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJ/Ch5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QSDgoGb3JnX2lkGAEgASgJEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhIKCnByb2plY3RfaWQYBCABKAkSGAoHZmVhdHVyZRgDIAEoCUIH+kIEcgIQASIxCh9DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCCJRCh1DaGVja0NyZWRpdEVudGl0bGVtZW50UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSFwoGYW1vdW50GAIgASgDQgf6QgQiAiAAIjAKHkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZRIOCgZzdGF0dXMYASABKAgi0gIKFUNyZWF0ZUNoZWNrb3V0UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKY2FuY2VsX3VybBgEIAEoCRJOChFzdWJzY3JpcHRpb25fYm9keRgKIAEoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRTdWJzY3JpcHRpb25Cb2R5EkQKDHByb2R1Y3RfYm9keRgLIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRQcm9kdWN0Qm9keRJACgpzZXR1cF9ib2R5GAwgASgLMiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNldHVwQm9keSJeChZDcmVhdGVDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiJQChRMaXN0Q2hlY2tvdXRzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiXgoVTGlzdENoZWNrb3V0c1Jlc3BvbnNlEkUKEWNoZWNrb3V0X3Nlc3Npb25zGAEgAygLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNlc3Npb24iYwoSR2V0Q2hlY2tvdXRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQASJbChNHZXRDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiL7AgoSUHJvZHVjdFJlcXVlc3RCb2R5EhUKBG5hbWUYASABKAlCB/pCBHICEAMSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHcGxhbl9pZBgEIAEoCRIwCgZwcmljZXMYBSADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByaWNlEjQKCGJlaGF2aW9yGAggASgJQiL6Qh9yHVIFYmFzaWNSB2NyZWRpdHNSCHBlcl9zZWF00AEBEjQKCGZlYXR1cmVzGAkgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlEkoKD2JlaGF2aW9yX2NvbmZpZxgKIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdC5CZWhhdmlvckNvbmZpZxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgHEAgiXQoUQ3JlYXRlUHJvZHVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIoChFHZXRQcm9kdWN0UmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIVChNMaXN0UHJvZHVjdHNSZXF1ZXN0IkwKFExpc3RQcm9kdWN0c1Jlc3BvbnNlEjQKCHByb2R1Y3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9kdWN0ImgKFFVwZGF0ZVByb2R1Y3RSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEjsKBGJvZHkYAiABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3RSZXF1ZXN0Qm9keSJMChVVcGRhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCJ6ChJGZWF0dXJlUmVxdWVzdEJvZHkSFQoEbmFtZRgBIAEoCUIH+kIEcgIQAxINCgV0aXRsZRgCIAEoCRITCgtwcm9kdWN0X2lkcxgDIAMoCRIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXQoUQ3JlYXRlRmVhdHVyZVJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSIoChFHZXRGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSJoChRVcGRhdGVGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlUmVxdWVzdEJvZHkiTAoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjMKB2ZlYXR1cmUYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkZlYXR1cmUiFQoTTGlzdEZlYXR1cmVzUmVxdWVzdCJMChRMaXN0RmVhdHVyZXNSZXNwb25zZRI0CghmZWF0dXJlcxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSKDAgoPUGxhblJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSNAoIcHJvZHVjdHMYBCADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3QSLwoIaW50ZXJ2YWwYBSABKAlCHfpCGnIYUgNkYXlSBHdlZWtSBW1vbnRoUgR5ZWFyEhgKEG9uX3N0YXJ0X2NyZWRpdHMYBiABKAMSEgoKdHJpYWxfZGF5cxgHIAEoAxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVwoRQ3JlYXRlUGxhblJlcXVlc3QSQgoEYm9keRgBIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJDChJDcmVhdGVQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiIlCg5HZXRQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJACg9HZXRQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJiChFVcGRhdGVQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QbGFuUmVxdWVzdEJvZHkiQwoSVXBkYXRlUGxhblJlc3BvbnNlEi0KBHBsYW4YASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBsYW4ifAoTTGlzdEludm9pY2VzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESGwoTbm9uemVyb19hbW91bnRfb25seRgDIAEoCBIOCgZleHBhbmQYZSADKAkiTAoUTGlzdEludm9pY2VzUmVzcG9uc2USNAoIaW52b2ljZXMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludm9pY2UiVQoZR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiUQoaR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2USMwoHaW52b2ljZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52b2ljZSIQCg5HZXRKV0tzUmVxdWVzdCJGCg9HZXRKV0tzUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSITChFBdXRoTG9nb3V0UmVxdWVzdCIUChJBdXRoTG9nb3V0UmVzcG9uc2UieQoTQXV0aENhbGxiYWNrUmVxdWVzdBIVCg1zdHJhdGVneV9uYW1lGAEgASgJEg0KBXN0YXRlGAIgASgJEgwKBGNvZGUYAyABKAkSLgoNc3RhdGVfb3B0aW9ucxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiFgoUQXV0aENhbGxiYWNrUmVzcG9uc2Ui3gUKE0F1dGhlbnRpY2F0ZVJlcXVlc3QSZAoNc3RyYXRlZ3lfbmFtZRgBIAEoCUJNkkFKMkhOYW1lIG9mIHRoZSBzdHJhdGVneSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOiogYGdvb2dsZWASagoQcmVkaXJlY3Rfb25zdGFydBgCIAEoCEJQkkFNMktJZiBzZXQgdG8gdHJ1ZSwgbG9jYXRpb24gaGVhZGVyIHdpbGwgYmUgc2V0IGZvciByZWRpcmVjdCB0byBzdGFydCBhdXRoIGZsb3cSeAoJcmV0dXJuX3RvGAMgASgJQmWSQWIyYFVSTCB0byByZWRpcmVjdCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOipgImh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20iYBJuCgVlbWFpbBgEIAEoCUJfkkFcMlpFbWFpbCBvZiB0aGUgdXNlciB0byBhdXRoZW50aWNhdGUuIFVzZWQgZm9yIG1hZ2ljIGxpbmtzLjxici8+ICpFeGFtcGxlOipgZXhhbXBsZUBhY21lLm9yZ2ASigIKDGNhbGxiYWNrX3VybBgFIAEoCULzAZJB7wEy7AFIb3N0IHdoaWNoIHNob3VsZCBoYW5kbGUgdGhlIGNhbGwgdG8gZmluaXNoIGF1dGhlbnRpY2F0aW9uIGZsb3csIGZvciBtb3N0IGNhc2VzIGl0IGNvdWxkIGJlIGhvc3Qgb2YgZnJvbnRpZXIgYnV0IGluIGNhc2Ugb2YgcHJveGllcywgdGhpcyB3aWxsIGJlIHByb3h5IHB1YmxpYyBlbmRwb2ludC48YnIvPiAqRXhhbXBsZToqYGh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20vdjFiZXRhMS9hdXRoL2NhbGxiYWNrYCJnChRBdXRoZW50aWNhdGVSZXNwb25zZRIQCghlbmRwb2ludBgBIAEoCRINCgVzdGF0ZRgCIAEoCRIuCg1zdGF0ZV9vcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJFCgxBdXRoU3RyYXRlZ3kSDAoEbmFtZRgBIAEoCRInCgZwYXJhbXMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IhsKGUxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QiWQoaTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2USOwoKc3RyYXRlZ2llcxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFN0cmF0ZWd5ImMKEEF1dGhUb2tlblJlcXVlc3QSEgoKZ3JhbnRfdHlwZRgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSFQoNY2xpZW50X3NlY3JldBgDIAEoCRIRCglhc3NlcnRpb24YBCABKAkiPQoRQXV0aFRva2VuUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnRva2VuX3R5cGUYAiABKAki8wsKD1VzZXJSZXF1ZXN0Qm9keRLGAgoEbmFtZRgBIAEoCUK3ApJBjAIyiQJUaGUgbmFtZSBvZiB0aGUgdXNlci4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYW5kIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlci4gSWYgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4g+kIkciIyIF4oW2EtekEtWl1bYS16QS1aMC05LV9dezMsNjR9KT8kEpwBCgVlbWFpbBgCIAEoCUKMAZJBfjJ8VGhlIGVtYWlsIG9mIHRoZSB1c2VyLiBUaGUgZW1haWwgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuPGJyLz4qRXhhbXBsZToqYCJqb2huLmRvZUByYXlzdGFjay5vcmciYOJBAQL6QgRyAmABEtgDCghtZXRhZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCrAOSQagDMqUDTWV0YWRhdGEgb2JqZWN0IGZvciB1c2VycyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBwcmUtZGVmaW5lZCBpbiBVc2VyIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIHN1Y2ggYXMgbGFiZWwsIGRlc2NyaXB0aW9uIGV0Yy4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRpb25zIGZvciB0aGUgdXNlci4gVXBkYXRlIHRoZSBzYW1lIHRvIGFkZCBtb3JlIGZpZWxkcyB0byB0aGUgdXNlciBtZXRhZGF0YSBvYmplY3QuIDxici8+KkV4YW1wbGU6KmB7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9YBKpAQoFdGl0bGUYBCABKAlCmQGSQZUBMpIBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSB1c2VyLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPipFeGFtcGxlOipgIkpvaG4gRG9lImAS8AIKBmF2YXRhchgFIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLHAwoQTGlzdFVzZXJzUmVxdWVzdBJlCglwYWdlX3NpemUYASABKAVCUpJBRjJEVGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHJldHVybiBwZXIgcGFnZS4gVGhlIGRlZmF1bHQgaXMgMTAwMC76QgYaBCgBQAESTAoIcGFnZV9udW0YAiABKAVCOpJBLjIsVGhlIHBhZ2UgbnVtYmVyIHRvIHJldHVybi4gVGhlIGRlZmF1bHQgaXMgMS76QgYaBCgBQAESQQoHa2V5d29yZBgDIAEoCUIwkkEtMitUaGUga2V5d29yZCB0byBzZWFyY2ggZm9yIGluIG5hbWUgb3IgZW1haWwuEjwKBm9yZ19pZBgEIAEoCUIskkEpMidUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciB1c2VycyBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4SSgoFc3RhdGUYBiABKAlCO5JBODI2VGhlIHN0YXRlIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIlIKEUxpc3RVc2Vyc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFEi4KBXVzZXJzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIlcKEUNyZWF0ZVVzZXJSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keUII+kIFigECEAEiQwoSQ3JlYXRlVXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiOwoeTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEg0KBXN0YXRlGAIgASgJIqcBCh9MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbhJEChNqb2luYWJsZV92aWFfZG9tYWluGAIgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iNgolTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBINCgVzdGF0ZRgBIAEoCSKuAQomTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uEkQKE2pvaW5hYmxlX3ZpYV9kb21haW4YAiADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiInChlMaXN0UHJvamVjdHNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIlIKGkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0IrMCCiBMaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIVCg1ub25faW5oZXJpdGVkGAMgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAQgASgIEmUKCXBhZ2Vfc2l6ZRgFIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgGIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASL+AQohTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0El0KDGFjY2Vzc19wYWlycxgCIAMoCzJHLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlLkFjY2Vzc1BhaXISDQoFY291bnQYAyABKAUaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIh8KEUVuYWJsZVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhQKEkVuYWJsZVVzZXJSZXNwb25zZSIgChJEaXNhYmxlVXNlclJlcXVlc3QSCgoCaWQYASABKAkiFQoTRGlzYWJsZVVzZXJSZXNwb25zZSIfChFEZWxldGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSIUChJEZWxldGVVc2VyUmVzcG9uc2UiQAoPR2V0VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiFwoVR2V0Q3VycmVudFVzZXJSZXF1ZXN0IoQBChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISOwoLc2VydmljZXVzZXIYAiABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyIkMKElVwZGF0ZVVzZXJSZXNwb25zZRItCgR1c2VyGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIkoKGVVwZGF0ZUN1cnJlbnRVc2VyUmVzcG9uc2USLQoEdXNlchgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlciJZChFVcGRhdGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyUmVxdWVzdEJvZHkiHAoOR2V0VXNlclJlcXVlc3QSCgoCaWQYASABKAkiYwocTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCLhAQodTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJZCgxhY2Nlc3NfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlLkFjY2Vzc1BhaXIaMwoKQWNjZXNzUGFpchIQCghncm91cF9pZBgBIAEoCRITCgtwZXJtaXNzaW9ucxgCIAMoCSLYAQoVTGlzdFVzZXJHcm91cHNSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IGdyb3VwcyBmb3IuEnoKBm9yZ19pZBgDIAEoCUJqkkFnMmVUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciBncm91cHMgYnkuIElmIG5vdCBwcm92aWRlZCwgZ3JvdXBzIGZyb20gYWxsIG9yZ2FuaXphdGlvbnMgYXJlIHJldHVybmVkLkoECAIQAyJKChZMaXN0VXNlckdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiVAoYVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0EjgKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keSJaChpMaXN0VXNlckludml0YXRpb25zUmVxdWVzdBI8CgJpZBgBIAEoCUIwkkEtMitUaGUgdXNlciBlbWFpbCB0byBsaXN0IHRoZSBpbnZpdGF0aW9ucyBmb3IuIlkKG0xpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZRI6CgtpbnZpdGF0aW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiIjCiFMaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QilwEKIkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24SNQoEb3JncxgCIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIrYBChdMaXN0U2VydmljZVVzZXJzUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBMTIvVGhlIG9yZ2FuaXphdGlvbiBJRCB0byBmaWx0ZXIgc2VydmljZSB1c2VycyBieS7iQQEC+kIEcgIQAxJKCgVzdGF0ZRgCIAEoCUI7kkE4MjZUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4iWAoYTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIikQEKFlNlcnZpY2VVc2VyUmVxdWVzdEJvZHkSTAoFdGl0bGUYASABKAlCPZJBOjInVXNlciBmcmllbmRseSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHVzZXIuSg8iT3JkZXIgU2VydmljZSISKQoIbWV0YWRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IrYBChhDcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QSPwoEYm9keRgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJSZXF1ZXN0Qm9keRJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiWAoZQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIirgEKFUdldFNlcnZpY2VVc2VyUmVxdWVzdBI6CgJpZBgBIAEoCUIukkErMilUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0LhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQoWR2V0U2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIi9QEKGFVwZGF0ZVNlcnZpY2VVc2VyUmVxdWVzdBI9CgJpZBgBIAEoCUIxkkEuMixUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gdXBkYXRlLhI/CgRib2R5GAIgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlclJlcXVlc3RCb2R5ElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJYChlVcGRhdGVTZXJ2aWNlVXNlclJlc3BvbnNlEjsKC3NlcnZpY2V1c2VyGAEgASgLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciK0AQoYRGVsZXRlU2VydmljZVVzZXJSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIbChlEZWxldGVTZXJ2aWNlVXNlclJlc3BvbnNlItABChtDcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGNyZWF0ZSBhIGtleSBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJVChxDcmVhdGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlEjUKA2tleRgBIAEoCzIoLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuS2V5Q3JlZGVudGlhbCLyAQoYR2V0U2VydmljZVVzZXJKV0tSZXF1ZXN0EkQKAmlkGAEgASgJQjiSQTUyM1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBnZXQgYSBrZXkgZm9yLhI1CgZrZXlfaWQYAiABKAlCJZJBIjIgVGhlIHVuaXF1ZSBJRCBvZiB0aGUga2V5IHRvIGdldC4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlAKGUdldFNlcnZpY2VVc2VySldLUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSK9AQoaTGlzdFNlcnZpY2VVc2VySldLc1JlcXVlc3QSRAoCaWQYASABKAlCOJJBNTIzVGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qga2V5cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJWChtMaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2USNwoEa2V5cxgBIAMoCzIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJKV0si+wEKG0RlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBJHCgJpZBgBIAEoCUI7kkE4MjZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZGVsZXRlIGEga2V5IGZvci4SOAoGa2V5X2lkGAIgASgJQiiSQSUyI1RoZSB1bmlxdWUgSUQgb2YgdGhlIGtleSB0byBkZWxldGUuElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIeChxEZWxldGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlItcBCiJDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSBrZXkgZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiYgojQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2USOwoGc2VjcmV0GAEgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZWNyZXRDcmVkZW50aWFsIscBCiFMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qgc2VjcmV0cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJiCiJMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlEjwKB3NlY3JldHMYASADKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlY3JldENyZWRlbnRpYWwiiwIKIkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QSSgoCaWQYASABKAlCPpJBOzI5VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHNlY3JldCBmb3IuEj4KCXNlY3JldF9pZBgCIAEoCUIrkkEoMiZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZWNyZXQgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiJQojRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2Ui1AEKHUNyZWF0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0EkkKAmlkGAEgASgJQj2SQToyOFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSB0b2tlbiBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJcCh5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVzcG9uc2USOgoFdG9rZW4YASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyVG9rZW4iwQEKHExpc3RTZXJ2aWNlVXNlclRva2Vuc1JlcXVlc3QSRgoCaWQYASABKAlCOpJBNzI1VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgdG9rZW5zIGZvci4SWQoGb3JnX2lkGAIgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlwKHUxpc3RTZXJ2aWNlVXNlclRva2Vuc1Jlc3BvbnNlEjsKBnRva2VucxgBIAMoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJUb2tlbiKDAgodRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QSSQoCaWQYASABKAlCPZJBOjI4VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHRva2VuIGZvci4SPAoIdG9rZW5faWQYAiABKAlCKpJBJzIlVGhlIHVuaXF1ZSBJRCBvZiB0aGUgdG9rZW4gdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiIAoeRGVsZXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIt8BCh5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QSSAoCaWQYASABKAlCPJJBOTI3VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgcHJvamVjdHMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMSGAoQd2l0aF9wZXJtaXNzaW9ucxgDIAMoCSLrAQofTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdBJbCgxhY2Nlc3NfcGFpcnMYAiADKAsyRS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UuQWNjZXNzUGFpcho1CgpBY2Nlc3NQYWlyEhIKCnByb2plY3RfaWQYASABKAkSEwoLcGVybWlzc2lvbnMYAiADKAki7QEKHUxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXF1ZXN0EikKBm9yZ19pZBgCIAEoCUIZ+kIWchQQAzIQXltBLVphLXowLTlfLV0rJBJXCgVzdGF0ZRgDIAEoCUJIkkFFMkNUaGUgc3RhdGUgb2YgdGhlIGdyb3VwIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuEhEKCWdyb3VwX2lkcxgEIAMoCRIUCgx3aXRoX21lbWJlcnMYBSABKAgSGQoRd2l0aF9tZW1iZXJfY291bnQYBiABKAhKBAgBEAIiUgoeTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAirwEKHUNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGVSZXF1ZXN0Qm9keUII+kIFigECEAESSgoGb3JnX2lkGAIgASgJQjqSQTMyMVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHJvbGUgYmVsb25ncyB0by7iQQECIk8KHkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkEKGkdldE9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyJMChtHZXRPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJ1Ch1VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZvcmdfaWQYAyABKAkSOAoEYm9keRgCIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZVJlcXVlc3RCb2R5Ik8KHlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjEKEExpc3RSb2xlc1JlcXVlc3QSDQoFc3RhdGUYASABKAkSDgoGc2NvcGVzGAIgAygJIkMKEUxpc3RSb2xlc1Jlc3BvbnNlEi4KBXJvbGVzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIlYKHExpc3RPcmdhbml6YXRpb25Sb2xlc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEg0KBXN0YXRlGAIgASgJEg4KBnNjb3BlcxgDIAMoCSJPCh1MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXNwb25zZRIuCgVyb2xlcxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJECh1EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiIAoeRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqsKChdPcmdhbml6YXRpb25SZXF1ZXN0Qm9keRL7AQoEbmFtZRgBIAEoCULsAZJBzQEyygFUaGUgbmFtZSBvZiB0aGUgb3JnYW5pemF0aW9uLiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPipFeGFtcGxlOipgImZyb250aWVyLW9yZzEtYWNtZSJg4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErIBCgV0aXRsZRgCIAEoCUKiAZJBngEymwFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIG9yZ2FuaXphdGlvbi4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS48YnIvPiAqRXhhbXBsZSo6IGAiQWNtZSBJbmMiYBLpAwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Qr0DkkG5AzK2A01ldGFkYXRhIG9iamVjdCBmb3Igb3JnYW5pemF0aW9ucyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hLiBUaGUgbWV0YWRhdGEgb2JqZWN0IGNhbiBiZSB1c2VkIHRvIHN0b3JlIGFyYml0cmFyeSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3JnYW5pemF0aW9uIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBPcmdhbml6YXRpb24gTWV0YXNjaGVtYSBjb250YWlucyBsYWJlbHMgYW5kIGRlc2NyaXB0b24gZmllbGRzLiBVcGRhdGUgdGhlIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hIHRvIGFkZCBtb3JlIGZpZWxkcy4gPGJyLz4qRXhhbXBsZSo6YHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXphdGlvbiBkZXNjcmlwdGlvbiJ9YBLwAgoGYXZhdGFyGAQgASgJQt8CkkGPAjLTAVRoZSBhdmF0YXIgaXMgYmFzZTY0IGVuY29kZWQgaW1hZ2UgZGF0YSBvZiB0aGUgdXNlci4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gVGhlIGltYWdlIHNob3VsZCBiZSBsZXNzIHRoYW4gMjAwS0IuIFNob3VsZCBmb2xsb3cgdGhlIHJlZ2V4IHBhdHRlcm4gYF5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSskYC5KNyJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQSL6QklyRxiQoQ8yPl5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSsk0AEBIukDChhMaXN0T3JnYW5pemF0aW9uc1JlcXVlc3QSxwEKB3VzZXJfaWQYASABKAlCtQGSQbEBMq4BVGhlIHVzZXIgSUQgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgdXNlZCB0byBsaXN0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyB0aGF0IHRoZSB1c2VyIGlzIGEgbWVtYmVyIG9mLiBPdGhlcndpc2UsIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiB0aGUgRnJvbnRpZXIgaW5zdGFuY2Ugd2lsbCBiZSBsaXN0ZWQuEk4KBXN0YXRlGAIgASgJQj+SQTwyOlRoZSBzdGF0ZSB0byBmaWx0ZXIgYnkuIEl0IGNhbiBiZSBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYC4SZQoJcGFnZV9zaXplGAMgASgFQlKSQUYyRFRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VycyB0byByZXR1cm4gcGVyIHBhZ2UuIFRoZSBkZWZhdWx0IGlzIDEwMDAu+kIGGgQoAUABEkwKCHBhZ2VfbnVtGAQgASgFQjqSQS4yLFRoZSBwYWdlIG51bWJlciB0byByZXR1cm4uIFRoZSBkZWZhdWx0IGlzIDEu+kIGGgQoAUABIlsKGUxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uImcKGUNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QSSgoEYm9keRgBIAEoCzIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uUmVxdWVzdEJvZHlCCPpCBYoBAhABIlsKGkNyZWF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlgKF0dldE9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlsKGlVwZGF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIiQKFkdldE9yZ2FuaXphdGlvblJlcXVlc3QSCgoCaWQYASABKAkiaQoZVXBkYXRlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRJACgRib2R5GAIgASgLMjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb25SZXF1ZXN0Qm9keSI0Ch1MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJQCh5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIifAocTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIdChFwZXJtaXNzaW9uX2ZpbHRlchgCIAEoCUICGAESEgoKd2l0aF9yb2xlcxgDIAEoCBIUCgxyb2xlX2ZpbHRlcnMYBCADKAki8wEKHUxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElUKCnJvbGVfcGFpcnMYAiADKAsyQS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlLlJvbGVQYWlyGksKCFJvbGVQYWlyEg8KB3VzZXJfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUifAobQWRkT3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkgKCHVzZXJfaWRzGAIgAygJQjaSQTMyMUxpc3Qgb2YgdXNlciBJRHMgdG8gYmUgYWRkZWQgdG8gdGhlIG9yZ2FuaXphdGlvbi4iHgocQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSJFCh1SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAIgASgJIiAKHlJlbW92ZU9yZ2FuaXphdGlvblVzZXJSZXNwb25zZSI6CiNMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJkCiRMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVzcG9uc2USPAoMc2VydmljZXVzZXJzGAEgAygLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciLcAQoiTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggdXNlciBpcyBpbnZpdGVk4kEBAhJlCgd1c2VyX2lkGAIgASgJQlSSQVEyT3VzZXJfaWQgZmlsdGVyIGlzIHRoZSBlbWFpbCBpZCBvZiB1c2VyIHdobyBhcmUgaW52aXRlZCBpbnNpZGUgdGhlIG9yZ2FuaXphdGlvbi4iYQojTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24ihgQKI0NyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Ek8KBm9yZ19pZBgBIAEoCUI/kkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCB1c2VyIGlzIGludml0ZWTiQQECEqsBCgh1c2VyX2lkcxgCIAMoCUKYAZJBhgEygwF1c2VyX2lkIGlzIGVtYWlsIGlkIG9mIHVzZXIgd2hvIGFyZSBpbnZpdGVkIGluc2lkZSB0aGUgb3JnYW5pemF0aW9uLiBJZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZOJBAQL6QgeSAQQIARAKElYKCWdyb3VwX2lkcxgDIAMoCUJDkkFAMj5saXN0IG9mIGdyb3VwIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLhKHAQoIcm9sZV9pZHMYBCADKAlCdZJBcjJwbGlzdCBvZiByb2xlIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLiBSb2xlcyBhcmUgYmluZGVkIGF0IG9yZ2FuaXphdGlvbiBsZXZlbCBieSBkZWZhdWx0LiJiCiRDcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24iPgogR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIl4KIUdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZRI5CgppbnZpdGF0aW9uGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIkEKI0FjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSImCiRBY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UiQQojRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIpUCCh5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1JlcXVlc3QSbAoGb3JnX2lkGAEgASgJQlySQU4yTHVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW5zIGFyZSB0byBiZSBsaXN0ZWTiQQEC+kIEcgIQAxKEAQoFc3RhdGUYAiABKAlCdZJBcjJwZmlsdGVyIHRvIGxpc3QgZG9tYWlucyBieSB0aGVpciBzdGF0ZSAocGVuZGluZy92ZXJpZmllZCkuIElmIG5vdCBwcm92aWRlZCwgYWxsIGRvbWFpbnMgZm9yIGFuIG9yZyB3aWxsIGJlIGxpc3RlZCJVCh9MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlEjIKB2RvbWFpbnMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiKYAQogTGlzdE9yZ2FuaXphdGlvbnNCeURvbWFpblJlcXVlc3QSdAoEbmFtZRgBIAEoCUJmkkFYMlZkb21haW4gbmFtZSB0byBiZSB1c2VkIHRvIGxpc3QgYWxsIHRoZSBvcmdhbml6YXRpb25zIHRoYXQgaGF2ZSB0aGlzIGRvbWFpbiB3aGl0ZWxpc3RlZOJBAQL6QgRyAhADImMKIUxpc3RPcmdhbml6YXRpb25zQnlEb21haW5SZXNwb25zZRI+Cg1vcmdhbml6YXRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iMgoXSm9pbk9yZ2FuaXphdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADIhoKGEpvaW5Pcmdhbml6YXRpb25SZXNwb25zZSLSAQocR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJDCgJpZBgBIAEoCUI3kkEpMid1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAxJtCgZvcmdfaWQYAiABKAlCXZJBTzJNdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbiBpcyB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAyJSCh1HZXRPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZRIxCgZkb21haW4YASABKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiLiAQofQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJrCgZvcmdfaWQYASABKAlCW5JBTTJLdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIGFkZGVk4kEBAvpCBHICEAMSUgoGZG9tYWluGAIgASgJQkKSQTQyMmRvbWFpbiBuYW1lIHRvIGJlIGFkZGVkIHRvIHRoZSB0cnVzdGVkIGRvbWFpbiBsaXN04kEBAvpCBHICEAMiVQogQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2USMQoGZG9tYWluGAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4i0wEKH0RlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSQQoCaWQYASABKAlCNZJBJzIldW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADEm0KBm9yZ19pZBgCIAEoCUJdkkFPMk11bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADIiIKIERlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlItUBCh9WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0Em4KBm9yZ19pZBgBIAEoCUJekkFQMk51bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgdmVyaWZpZWTiQQEC+kIEcgIQAxJCCgJpZBgCIAEoCUI2kkEoMiZ1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSB2ZXJpZmllZOJBAQL6QgRyAhADIjEKIFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlEg0KBXN0YXRlGAEgASgJIiYKJERlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSInChlFbmFibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkVuYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlIigKGkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIh0KG0Rpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSInChlEZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkRlbGV0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIisKGUdldE9yZ2FuaXphdGlvbkt5Y1JlcXVlc3QSDgoGb3JnX2lkGAEgASgJImIKGkdldE9yZ2FuaXphdGlvbkt5Y1Jlc3BvbnNlEkQKEG9yZ2FuaXphdGlvbl9reWMYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbkt5YyKsBQoSUHJvamVjdFJlcXVlc3RCb2R5EvcBCgRuYW1lGAEgASgJQugBkkHJATLGAVRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPiAqRXhhbXBsZToqIGBmcm9udGllci1wbGF5Z3JvdW5kYOJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBK3AQoFdGl0bGUYAiABKAlCpwGSQaMBMqABVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBwcm9qZWN0LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBGcm9udGllciBQbGF5Z3JvdW5kYBKJAQoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ql6SQVsyWU1ldGFkYXRhIG9iamVjdCBmb3IgcHJvamVjdHMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBQcm9qZWN0IE1ldGFzY2hlbWEuElYKBm9yZ19pZBgEIAEoCUJGkkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCBwcm9qZWN0IGJlbG9uZ3PiQQEC+kIEcgIQAyJdChRDcmVhdGVQcm9qZWN0UmVxdWVzdBJFCgRib2R5GAEgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHlCCPpCBYoBAhABIkwKFUNyZWF0ZVByb2plY3RSZXNwb25zZRIzCgdwcm9qZWN0GAEgASgLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0It8BCh9MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEosBCgVzdGF0ZRgCIAEoCUJ8kkF5MndGaWx0ZXIgcHJvamVjdHMgYnkgc3RhdGUuIElmIG5vdCBzcGVjaWZpZWQsIGFsbCBwcm9qZWN0cyBhcmUgcmV0dXJuZWQuIDxici8+ICpQb3NzaWJsZSB2YWx1ZXM6KiBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYBIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCJYCiBMaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCIfChFHZXRQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSJJChJHZXRQcm9qZWN0UmVzcG9uc2USMwoHcHJvamVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCJfChRVcGRhdGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCRI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHkiTAoVVXBkYXRlUHJvamVjdFJlc3BvbnNlEjMKB3Byb2plY3QYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiLwoYTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIksKGUxpc3RQcm9qZWN0QWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiXQoXTGlzdFByb2plY3RVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSGQoRcGVybWlzc2lvbl9maWx0ZXIYAiABKAkSEgoKd2l0aF9yb2xlcxgDIAEoCCLpAQoYTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElAKCnJvbGVfcGFpcnMYAiADKAsyPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0VXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkkKHkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxISCgp3aXRoX3JvbGVzGAMgASgIIowCCh9MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXISVwoKcm9sZV9wYWlycxgCIAMoCzJDLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpSCghSb2xlUGFpchIWCg5zZXJ2aWNldXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJDChhMaXN0UHJvamVjdEdyb3Vwc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSEgoKd2l0aF9yb2xlcxgCIAEoCCLuAQoZTGlzdFByb2plY3RHcm91cHNSZXNwb25zZRIwCgZncm91cHMYASADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwElEKCnJvbGVfcGFpcnMYAiADKAsyPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2UuUm9sZVBhaXIaTAoIUm9sZVBhaXISEAoIZ3JvdXBfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiIgoURW5hYmxlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiFwoVRW5hYmxlUHJvamVjdFJlc3BvbnNlIiMKFURpc2FibGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSIYChZEaXNhYmxlUHJvamVjdFJlc3BvbnNlIiIKFERlbGV0ZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIhcKFURlbGV0ZVByb2plY3RSZXNwb25zZSKjCAoRUG9saWN5UmVxdWVzdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAMgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgErMBCghyZXNvdXJjZRgCIAEoCUKgAZJBkQEyjgFUaGUgcmVzb3VyY2UgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIDxici8+ICpFeGFtcGxlOiogYGFwcC9ndWFyZGlhbjo3MGY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4ZTJg4kEBAvpCBHICEAMS7wIKCXByaW5jaXBhbBgEIAEoCULbApJB0wIy0AJwcmluY2lwYWwgaXMgdGhlIHVzZXIgb3IgZ3JvdXAgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkLiBUaGUgcHJpbmNpcGFsIGlkIG11c3QgYmUgcHJlZml4ZWQgd2l0aCBpdHMgbmFtZXNwYWNlIGlkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIFRoZSBuYW1lc3BhY2UgY2FuIGJlIGBhcHAvdXNlcmAsIGBhcHAvZ3JvdXBgIG9yIGBhcHAvc2VydmljZXVzZXJgIChjb21pbmcgdXAhKSBhbmQgdXVpZCBpcyB0aGUgdW5pcXVlIGlkIG9mIHRoZSBwcmluY2lwYWwuIDxici8+ICpFeGFtcGxlOiogYGFwcC91c2VyOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWDiQQECEt8BCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCswGSQa8BMqwBTWV0YWRhdGEgb2JqZWN0IGZvciBwb2xpY2llcyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIFBvbGljeSBNZXRhc2NoZW1hLjxici8+ICpFeGFtcGxlOiogYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIlBvbGljeSBkZXNjcmlwdGlvbiJ9YCKUBQoaQ3JlYXRlUG9saWN5Rm9yUHJvamVjdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAIgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgEu8CCglwcmluY2lwYWwYAyABKAlC2wKSQdMCMtACcHJpbmNpcGFsIGlzIHRoZSB1c2VyIG9yIGdyb3VwIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZC4gVGhlIHByaW5jaXBhbCBpZCBtdXN0IGJlIHByZWZpeGVkIHdpdGggaXRzIG5hbWVzcGFjZSBpZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiBUaGUgbmFtZXNwYWNlIGNhbiBiZSBgYXBwL3VzZXJgLCBgYXBwL2dyb3VwYCBvciBgYXBwL3NlcnZpY2V1c2VyYCAoY29taW5nIHVwISkgYW5kIHV1aWQgaXMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgcHJpbmNpcGFsLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvdXNlcjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVg4kEBAiIiChRHZXRQZXJtaXNzaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRQZXJtaXNzaW9uUmVzcG9uc2USOQoKcGVybWlzc2lvbhgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGVybWlzc2lvbiIYChZMaXN0UGVybWlzc2lvbnNSZXF1ZXN0IlUKF0xpc3RQZXJtaXNzaW9uc1Jlc3BvbnNlEjoKC3Blcm1pc3Npb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QZXJtaXNzaW9uIhcKFUxpc3ROYW1lc3BhY2VzUmVxdWVzdCJSChZMaXN0TmFtZXNwYWNlc1Jlc3BvbnNlEjgKCm5hbWVzcGFjZXMYASADKAsyJC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk5hbWVzcGFjZSIhChNHZXROYW1lc3BhY2VSZXF1ZXN0EgoKAmlkGAEgASgJIk8KFEdldE5hbWVzcGFjZVJlc3BvbnNlEjcKCW5hbWVzcGFjZRgBIAEoCzIkLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTmFtZXNwYWNlIlsKE0NyZWF0ZVBvbGljeVJlcXVlc3QSRAoEYm9keRgBIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHlCCPpCBYoBAhABIk8KFENyZWF0ZVBvbGljeVJlc3BvbnNlEjEKBnBvbGljeRgCIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5SgQIARACIh4KEEdldFBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkiRgoRR2V0UG9saWN5UmVzcG9uc2USMQoGcG9saWN5GAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qb2xpY3kimQIKE0xpc3RQb2xpY2llc1JlcXVlc3QSNgoGb3JnX2lkGAEgASgJQiaSQSMyIVRoZSBvcmdhbml6YXRpb24gaWQgdG8gZmlsdGVyIGJ5LhI1Cgpwcm9qZWN0X2lkGAIgASgJQiGSQR4yHFRoZSBwcm9qZWN0IGlkIHRvIGZpbHRlciBieS4SLwoHdXNlcl9pZBgDIAEoCUIekkEbMhlUaGUgdXNlciBpZCB0byBmaWx0ZXIgYnkuEi8KB3JvbGVfaWQYBCABKAlCHpJBGzIZVGhlIHJvbGUgaWQgdG8gZmlsdGVyIGJ5LhIxCghncm91cF9pZBgFIAEoCUIfkkEcMhpUaGUgZ3JvdXAgaWQgdG8gZmlsdGVyIGJ5LiJLChRMaXN0UG9saWNpZXNSZXNwb25zZRIzCghwb2xpY2llcxgBIAMoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5Il0KE1VwZGF0ZVBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkSOgoEYm9keRgCIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHkiSwoUVXBkYXRlUG9saWN5UmVzcG9uc2USMwoIcG9saWNpZXMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeSIhChNEZWxldGVQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJIhYKFERlbGV0ZVBvbGljeVJlc3BvbnNlIosBCh1DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgJQgf6QgRyAhADEk0KBGJvZHkYAiABKAsyNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RCb2R5Qgj6QgWKAQIQASIgCh5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UicgoTUmVsYXRpb25SZXF1ZXN0Qm9keRIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgDIAEoCRIQCghyZWxhdGlvbhgEIAEoCRIcChRzdWJqZWN0X3N1Yl9yZWxhdGlvbhgGIAEoCUoECAIQA0oECAUQBiJfChVDcmVhdGVSZWxhdGlvblJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb25SZXF1ZXN0Qm9keUII+kIFigECEAEiTwoWQ3JlYXRlUmVsYXRpb25SZXNwb25zZRI1CghyZWxhdGlvbhgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb24iIAoSR2V0UmVsYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIkwKE0dldFJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uImEKFVVwZGF0ZVJlbGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRI8CgRib2R5GAIgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvblJlcXVlc3RCb2R5Ik8KFlVwZGF0ZVJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uIrkGChBHcm91cFJlcXVlc3RCb2R5Es8BCgRuYW1lGAEgASgJQsABkkGhATKeAVRoZSBuYW1lIG9mIHRoZSBncm91cC4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskEosBCgV0aXRsZRgCIAEoCUJ8kkF5MndUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIGdyb3VwLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LhK+AwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QpIDkkGOAzKLA01ldGFkYXRhIG9iamVjdCBmb3IgZ3JvdXBzIHRoYXQgY2FuIGhvbGQga2V5IHZhbHVlIHBhaXJzIGRlZmluZWQgaW4gR3JvdXAgTWV0YXNjaGVtYS4gVGhlIG1ldGFkYXRhIG9iamVjdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhcmJpdHJhcnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyb3VwIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBHcm91cCBNZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRvbiBmaWVsZHMuIFVwZGF0ZSB0aGUgR3JvdXAgTWV0YXNjaGVtYSB0byBhZGQgbW9yZSBmaWVsZHMuPGJyLz4qRXhhbXBsZToqYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIkdyb3VwIGRlc2NyaXB0aW9uIn1gSgQIBBAFIqYBChJDcmVhdGVHcm91cFJlcXVlc3QSQwoEYm9keRgBIAEoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXBSZXF1ZXN0Qm9keUII+kIFigECEAESSwoGb3JnX2lkGAIgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJDCg9HZXRHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhQKDHdpdGhfbWVtYmVycxgDIAEoCCJGChNDcmVhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJDChBHZXRHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJGChNVcGRhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCKoAQoSVXBkYXRlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEjkKBGJvZHkYAiABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwUmVxdWVzdEJvZHkSSwoGb3JnX2lkGAMgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJHChVMaXN0R3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhIKCndpdGhfcm9sZXMYAyABKAgi5QEKFkxpc3RHcm91cFVzZXJzUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISTgoKcm9sZV9wYWlycxgCIAMoCzI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjkKEkVuYWJsZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiFQoTRW5hYmxlR3JvdXBSZXNwb25zZSI6ChNEaXNhYmxlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyIWChREaXNhYmxlR3JvdXBSZXNwb25zZSI5ChJEZWxldGVHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIhUKE0RlbGV0ZUdyb3VwUmVzcG9uc2UiTQoUQWRkR3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADEhAKCHVzZXJfaWRzGAMgAygJIhcKFUFkZEdyb3VwVXNlcnNSZXNwb25zZSJOChZSZW1vdmVHcm91cFVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAMgASgJIhkKF1JlbW92ZUdyb3VwVXNlclJlc3BvbnNlIlAKFURlbGV0ZVJlbGF0aW9uUmVxdWVzdBIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgCIAEoCRIQCghyZWxhdGlvbhgEIAEoCUoECAMQBCIYChZEZWxldGVSZWxhdGlvblJlc3BvbnNlIlMKG0xpc3RQcm9qZWN0UmVzb3VyY2VzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAIgASgJQgf6QgRyAhADEhEKCW5hbWVzcGFjZRgEIAEoCUoECAEQAiJWChxMaXN0UHJvamVjdFJlc291cmNlc1Jlc3BvbnNlEjYKCXJlc291cmNlcxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UitgYKE1Jlc291cmNlUmVxdWVzdEJvZHkScwoEbmFtZRgBIAEoCUJlkkFeMlxUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UuICBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHByb2plY3QuIDxici8+ICpFeGFtcGxlOiogYG15LXJlc291cmNlYOJBAQISjgEKBXRpdGxlGAIgASgJQn+SQXwyelRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcmVzb3VyY2UuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuEvIBCgluYW1lc3BhY2UYAyABKAlC3gGSQdYBMtMBVGhlIG5hbWVzcGFjZSBvZiB0aGUgcmVzb3VyY2UuIFRoZSByZXNvdXJjZSBuYW1lc3BhY2UgYXJlIGNyZWF0ZWQgd2hlbiBwZXJtaXNzaW9ucyBmb3IgdGhhdCByZXNvdXJjZSBpcyBjcmVhdGVkIGluIEZyb250aWVyLiBJZiBuYW1lc3BhY2UgZG9lc24ndCBleGlzdHMgdGhlIHJlcXVlc3Qgd2lsbCBmYWlsLiA8YnIvPiAqRXhhbXBsZToqIGBjb21wdXRlL2luc3RhbmNlYOJBAQIS7AEKCXByaW5jaXBhbBgGIAEoCULYAZJB1AEy0QFVc2VySUQgb3IgU2VydmljZVVzZXJJRCB0aGF0IHNob3VsZCBiZSBtYXJrZWQgYXMgb3duZXIgb2YgdGhlIHJlc291cmNlLiBJZiBub3QgcHJvdmlkZWQsIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHdpbGwgYmUgbWFkZSB0aGUgcmVzb3VyY2Ugb3duZXIuIDxici8+ICpFeGFtcGxlOiogYHVzZXI6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YBIpCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgEEAVKBAgFEAYipgEKHENyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keUII+kIFigECEAESEgoKcHJvamVjdF9pZBgCIAEoCRIqCgJpZBgDIAEoCUIekkEbMhlBdXRvZ2VuZXJhdGVkIGlmIHNraXBwZWQuIlYKHUNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJKChlHZXRQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEANKBAgCEAMiUwoaR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2USNQoIcmVzb3VyY2UYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlInwKHFVwZGF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSCgoCaWQYASABKAkSPAoEYm9keRgCIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keRISCgpwcm9qZWN0X2lkGAMgASgJIlYKHVVwZGF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJHChxEZWxldGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEAMiHwodRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UigwYKHkNoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVxdWVzdBJDCglvYmplY3RfaWQYASABKAlCMBgBkkErMilEZXByZWNhdGVkLiBVc2UgYHJlc291cmNlYCBmaWVsZCBpbnN0ZWFkLhJKChBvYmplY3RfbmFtZXNwYWNlGAIgASgJQjAYAZJBKzIpRGVwcmVjYXRlZC4gVXNlIGByZXNvdXJjZWAgZmllbGQgaW5zdGVhZC4SjAEKCnBlcm1pc3Npb24YAyABKAlCeJJBWTJXdGhlIHBlcm1pc3Npb24gbmFtZSB0byBjaGVjay4gPGJyLz4gKkV4YW1wbGU6KiBgZ2V0YCwgYGxpc3RgLCBgY29tcHV0ZS5pbnN0YW5jZS5jcmVhdGVg4kEBAvpCFXITMhFeW0EtWmEtejAtOS5fLV0rJBLAAwoIcmVzb3VyY2UYBCABKAlCrQOSQakDMqYDYG5hbWVzcGFjZTp1dWlkYCBvciBgbmFtZXNwYWNlOm5hbWVgIG9mIHRoZSBvcmcgb3IgcHJvamVjdCwgYW5kIGBuYW1lc3BhY2U6dXJuYCBvZiBhIHJlc291cmNlIHVuZGVyIGEgcHJvamVjdC4gSW4gY2FzZSBvZiBhbiBvcmcvcHJvamVjdCBlaXRoZXIgcHJvdmlkZSB0aGUgY29tcGxldGUgbmFtZXNwYWNlIChhcHAvb3JnYW5pemF0aW9uKSBvciBGcm9udGllciBjYW4gYWxzbyBwYXJzZSBhbGlhc2VzIGZvciB0aGUgc2FtZSBhcyBgb3JnYCBvciBgcHJvamVjdGAuIDxici8+ICpFeGFtcGxlOiogYG9yZ2FuaXphdGlvbjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgIG9yIGBhcHAvcHJvamVjdDpwcm9qZWN0LW5hbWVgIG9yIGBjb21wdXRlL2luc3RhbmNlOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWAiMQofQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXNwb25zZRIOCgZzdGF0dXMYASABKAgibgobQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0Ek8KBmJvZGllcxgBIAMoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25Cb2R5Qgr6QgeSAQQIARAUItIEChhCYXRjaENoZWNrUGVybWlzc2lvbkJvZHkScwoKcGVybWlzc2lvbhgBIAEoCUJfkkFAMj50aGUgcGVybWlzc2lvbiBuYW1lIHRvIGNoZWNrLiA8YnIvPiAqRXhhbXBsZToqIGBnZXRgIG9yIGBsaXN0YOJBAQL6QhVyEzIRXltBLVphLXowLTkuXy1dKyQSwAMKCHJlc291cmNlGAIgASgJQq0DkkGpAzKmA2BuYW1lc3BhY2U6dXVpZGAgb3IgYG5hbWVzcGFjZTpuYW1lYCBvZiB0aGUgb3JnIG9yIHByb2plY3QsIGFuZCBgbmFtZXNwYWNlOnVybmAgb2YgYSByZXNvdXJjZSB1bmRlciBhIHByb2plY3QuIEluIGNhc2Ugb2YgYW4gb3JnL3Byb2plY3QgZWl0aGVyIHByb3ZpZGUgdGhlIGNvbXBsZXRlIG5hbWVzcGFjZSAoYXBwL29yZ2FuaXphdGlvbikgb3IgRnJvbnRpZXIgY2FuIGFsc28gcGFyc2UgYWxpYXNlcyBmb3IgdGhlIHNhbWUgYXMgYG9yZ2Agb3IgYHByb2plY3RgLiA8YnIvPiAqRXhhbXBsZToqIGBvcmdhbml6YXRpb246OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCBvciBgYXBwL3Byb2plY3Q6cHJvamVjdC1uYW1lYCBvciBgY29tcHV0ZS9pbnN0YW5jZTo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgImoKHEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2USSgoFcGFpcnMYASADKAsyOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyInUKIEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyEkEKBGJvZHkYASABKAsyMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uQm9keRIOCgZzdGF0dXMYAiABKAgioQMKFU1ldGFTY2hlbWFSZXF1ZXN0Qm9keRLUAQoEbmFtZRgBIAEoCULFAZJBpgEyowFUaGUgbmFtZSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErABCgZzY2hlbWEYAiABKAlCnwGSQZABMo0BVGhlIHNjaGVtYSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIHNjaGVtYSBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEu4kEBAvpCBHICEAIiYwoXQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QSSAoEYm9keRgBIAEoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJVChhDcmVhdGVNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSIiChRHZXRNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSJvChdVcGRhdGVNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCRJICgRib2R5GAIgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hUmVxdWVzdEJvZHlCCPpCBYoBAhABIlUKGFVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZRI5CgptZXRhc2NoZW1hGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hIiUKF0RlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0EgoKAmlkGAEgASgJIhoKGERlbGV0ZU1ldGFTY2hlbWFSZXNwb25zZSIYChZMaXN0TWV0YVNjaGVtYXNSZXF1ZXN0IlUKF0xpc3RNZXRhU2NoZW1hc1Jlc3BvbnNlEjoKC21ldGFzY2hlbWFzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hItABCiBMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSDgoGc291cmNlGAUgASgJEg4KBmFjdGlvbhgGIAEoCRIVCg1pZ25vcmVfc3lzdGVtGAcgASgIEi4KCnN0YXJ0X3RpbWUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJWCiFMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVzcG9uc2USMQoEbG9ncxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2ciegoiQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSOwoEbG9ncxgCIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2dCCPpCBZIBAggBIiUKI0NyZWF0ZU9yZ2FuaXphdGlvbkF1ZGl0TG9nc1Jlc3BvbnNlIk4KHkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSEwoCaWQYAiABKAlCB/pCBHICEAMiUwofR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXNwb25zZRIwCgNsb2cYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0TG9nIhwKGkRlc2NyaWJlUHJlZmVyZW5jZXNSZXF1ZXN0IlkKG0Rlc2NyaWJlUHJlZmVyZW5jZXNSZXNwb25zZRI6CgZ0cmFpdHMYASADKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VUcmFpdCKHAQokQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJjCiVDcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjkKIkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiYQojTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiggEKH0NyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIl4KIENyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjQKHUxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIlwKHkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSKAAQodQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIlwKHkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIyChtMaXN0R3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiWgocTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJ/ChxDcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJbCh1DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIxChpMaXN0VXNlclByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJZChtMaXN0VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UicQojQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBImIKJENyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIjCiFMaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QiYAoiTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJICh1CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVxdWVzdBIZCghwcm92aWRlchgBIAEoCUIH+kIEcgIQARIMCgRib2R5GAIgASgMIiAKHkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXNwb25zZSKEBAobQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXF1ZXN0Ej4KBG5hbWUYASABKAlCMJJBFzIVZnVsbCBuYW1lIG9mIHRoZSB1c2Vy+kITchEyDF5bQS1aYS16IF0rJNABARIyCgVlbWFpbBgFIAEoCUIjkkETMhFlbWFpbCBvZiB0aGUgdXNlcuJBAQL6QgZyBBABYAESLAoFcGhvbmUYBiABKAlCHZJBGjIYcGhvbmUgbnVtYmVyIG9mIHRoZSB1c2VyEoABCghhY3Rpdml0eRgHIAEoCUJukkFOMkxhY3Rpdml0eSBmb3Igd2hpY2ggdXNlciBpcyBzdWJzY3JpYmluZywgZS5nLiBuZXdzbGV0dGVyLCB3YWl0bGlzdCwgYmxvZ3MgZXRj4kEBAvpCFnIUEAEyEF5bQS1aYS16MC05LV9dKyQSbQoGc291cmNlGAkgASgJQl2SQUAyPnNvdXJjZSBvZiB0aGlzIHVzZXIgYWRkaXRpb24gZS5nLiBwbGF0Zm9ybSwgd2Vic2l0ZSwgYWRtaW4gZXRj+kIXchUyEF5bQS1aYS16MC05LV9dKyTQAQESUQoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QiaSQSMyIWFkZGl0aW9uYWwgaW5mbyBhcyBrZXkgdmFsdWUgcGFpciIeChxDcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlMquUAwoPRnJvbnRpZXJTZXJ2aWNlEugCCglMaXN0VXNlcnMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1Jlc3BvbnNlIv8BkkHlAQoEVXNlchIRTGlzdCBwdWJsaWMgdXNlcnMayQFSZXR1cm5zIHRoZSB1c2VycyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkga2V5d29yZCwgb3JnYW5pemF0aW9uLCBncm91cCBhbmQgc3RhdGUuIEFkZGl0aW9uYWxseSB5b3UgY2FuIGluY2x1ZGUgcGFnZSBudW1iZXIgYW5kIHBhZ2Ugc2l6ZSBmb3IgcGFnaW5hdGlvbi6C0+STAhASDi92MWJldGExL3VzZXJzErsGCgpDcmVhdGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclJlc3BvbnNlIs8FkkGvBQoEVXNlchILQ3JlYXRlIHVzZXIalwVDcmVhdGUgYSB1c2VyIHdpdGggdGhlIGdpdmVuIGRldGFpbHMuIEEgdXNlciBpcyBub3QgYXR0YWNoZWQgdG8gYW4gb3JnYW5pemF0aW9uIG9yIGEgZ3JvdXAgYnkgZGVmYXVsdCxhbmQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG9yZy9ncm91cC4gVGhlIG5hbWUgb2YgdGhlIHVzZXIgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIElmIGEgdXNlciBuYW1lIGlzIG5vdCBwcm92aWRlZCwgRnJvbnRpZXIgYXV0b21hdGljYWxseSBnZW5lcmF0ZXMgYSBuYW1lIGZyb20gdGhlIHVzZXIgZW1haWwuIFRoZSB1c2VyIG1ldGFkYXRhIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSB1c2VyIG1ldGFzY2hlbWEuIEJ5IGRlZmF1bHQgdGhlIHVzZXIgbWV0YXNjaGVtYSBjb250YWlucyBgbGFiZWxzYCBhbmQgYGRlc2NyaXB0aW9uc2AgZm9yIHRoZSB1c2VyLiBUaGUgYHRpdGxlYCBmaWVsZCBjYW4gYmUgb3B0aW9uYWxseSBhZGRlZCBmb3IgYSB1c2VyLWZyaWVuZGx5IG5hbWUuIDxici8+PGJyLz4qRXhhbXBsZToqYHsiZW1haWwiOiJqb2huLmRvZUByYXlzdGFjay5vcmciLCJ0aXRsZSI6IkpvaG4gRG9lIixtZXRhZGF0YTp7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9fWBiAILT5JMCFiIOL3YxYmV0YTEvdXNlcnM6BGJvZHkSzwEKB0dldFVzZXISKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVzZXJSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVc2VyUmVzcG9uc2UibZJBTwoEVXNlchIIR2V0IHVzZXIaPUdldCBhIHVzZXIgYnkgaWQgc2VhcmNoZWQgb3ZlciBhbGwgb3JnYW5pemF0aW9ucyBpbiBGcm9udGllci6C0+STAhUSEy92MWJldGExL3VzZXJzL3tpZH0S6gIKDkxpc3RVc2VyR3JvdXBzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckdyb3Vwc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyR3JvdXBzUmVzcG9uc2Ui8gGSQcwBCgRVc2VyEhBMaXN0IHVzZXIgZ3JvdXBzGrEBTGlzdHMgYWxsIHRoZSBncm91cHMgYSB1c2VyIGJlbG9uZ3MgdG8gYWNyb3NzIGFsbCBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIuIFRvIGdldCB0aGUgZ3JvdXBzIG9mIGEgdXNlciBpbiBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbiwgdXNlIHRoZSBvcmdfaWQgZmlsdGVyIGluIHRoZSBxdWVyeSBwYXJhbWV0ZXIugtPkkwIcEhovdjFiZXRhMS91c2Vycy97aWR9L2dyb3VwcxLHAQoVTGlzdEN1cnJlbnRVc2VyR3JvdXBzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXNwb25zZSI7kkEWCgRVc2VyEg5MaXN0IG15IGdyb3Vwc4LT5JMCHBIaL3YxYmV0YTEvdXNlcnMvc2VsZi9ncm91cHMSrQEKDkdldEN1cnJlbnRVc2VyEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDdXJyZW50VXNlclJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEN1cnJlbnRVc2VyUmVzcG9uc2UiNpJBGAoEVXNlchIQR2V0IGN1cnJlbnQgdXNlcoLT5JMCFRITL3YxYmV0YTEvdXNlcnMvc2VsZhKiAQoKVXBkYXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVVzZXJSZXNwb25zZSI3kkETCgRVc2VyEgtVcGRhdGUgdXNlcoLT5JMCGxoTL3YxYmV0YTEvdXNlcnMve2lkfToEYm9keRK/AQoRVXBkYXRlQ3VycmVudFVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUN1cnJlbnRVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQ3VycmVudFVzZXJSZXNwb25zZSI/kkEbCgRVc2VyEhNVcGRhdGUgY3VycmVudCB1c2VygtPkkwIbGhMvdjFiZXRhMS91c2Vycy9zZWxmOgRib2R5EpECCgpFbmFibGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlVXNlclJlc3BvbnNlIqUBkkF9CgRVc2VyEgtFbmFibGUgdXNlchpoU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZW5hYmxlZC4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAh8iGi92MWJldGExL3VzZXJzL3tpZH0vZW5hYmxlOgEqEpADCgtEaXNhYmxlVXNlchItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVVzZXJSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlVXNlclJlc3BvbnNlIqECkkH3AQoEVXNlchIMRGlzYWJsZSB1c2VyGuABU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZGlhYmxlZC5UaGUgdXNlcidzIG1lbWJlcnNoaXAgdG8gZ3JvdXBzIGFuZCBvcmdhbml6YXRpb25zIHdpbGwgc3RpbGwgZXhpc3QgYWxvbmcgd2l0aCBhbGwgaXQncyByb2xlcyBmb3IgYWNjZXNzIGNvbnRyb2wsIGJ1dCB0aGUgdXNlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAiAiGy92MWJldGExL3VzZXJzL3tpZH0vZGlzYWJsZToBKhL3AQoKRGVsZXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVVzZXJSZXNwb25zZSKLAZJBbQoEVXNlchILRGVsZXRlIHVzZXIaWERlbGV0ZSBhbiB1c2VyIHBlcm1hbmVudGx5IGZvcmV2ZXIgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIChvcmdhbml6YXRpb25zLCBncm91cHMsIGV0YymC0+STAhUqEy92MWJldGExL3VzZXJzL3tpZH0S/wQKF0xpc3RPcmdhbml6YXRpb25zQnlVc2VyEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlVc2VyUmVzcG9uc2Ui7AOSQb8DCgRVc2VyEhZHZXQgdXNlciBvcmdhbml6YXRpb25zGp4DVGhpcyBBUEkgcmV0dXJucyB0d28gbGlzdCBvZiBvcmdhbml6YXRpb25zIGZvciB0aGUgdXNlci4gaSkgVGhlIGxpc3Qgb2Ygb3JncyB3aGljaCB0aGUgY3VycmVudCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mIGlpKSBUaGUgbGlzdCBvZiBvcmdhbml6YXRpb25zIHRoZSB1c2VyIGNhbiBqb2luIGRpcmVjdGx5IChiYXNlZCBvbiBkb21haW4gd2hpdGVsaXN0ZWQgYW5kIHZlcmlmaWVkIGJ5IHRoZSBvcmcpLiBUaGlzIGxpc3Qgd2lsbCBhbHNvIGNvbnRhaW4gb3JncyBvZiB3aGljaCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mLiBOb3RlOiB0aGUgZG9tYWluIG5lZWRzIHRvIGJlIHZlcmlmaWVkIGJ5IHRoZSBvcmcgYmVmb3JlIHRoZSBpdCBpcyByZXR1cm5lZCBhcyBvbmUgb2YgdGhlIGpvaW5hYmxlIG9yZ3MgYnkgZG9tYWlugtPkkwIjEiEvdjFiZXRhMS91c2Vycy97aWR9L29yZ2FuaXphdGlvbnMSpAUKHkxpc3RPcmdhbml6YXRpb25zQnlDdXJyZW50VXNlchJALnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBpBLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2Ui/AOSQc8DCgRVc2VyEhRHZXQgbXkgb3JnYW5pemF0aW9ucxqwA1RoaXMgQVBJIHJldHVybnMgdHdvIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyBmb3IgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIuIGkpIFRoZSBsaXN0IG9mIG9yZ3Mgd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZiBpaSkgVGhlIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyB0aGUgdXNlciBjYW4gam9pbiBkaXJlY3RseSAoYmFzZWQgb24gZG9tYWluIHdoaXRlbGlzdGVkIGFuZCB2ZXJpZmllZCBieSB0aGUgb3JnKS4gVGhpcyBsaXN0IHdpbGwgYWxzbyBjb250YWluIG9yZ3Mgb2Ygd2hpY2ggdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZi4gTm90ZTogdGhlIGRvbWFpbiBuZWVkcyB0byBiZSB2ZXJpZmllZCBieSB0aGUgb3JnIGJlZm9yZSB0aGUgaXQgaXMgcmV0dXJuZWQgYXMgb25lIG9mIHRoZSBqb2luYWJsZSBvcmdzIGJ5IGRvbWFpboLT5JMCIxIhL3YxYmV0YTEvdXNlcnMvc2VsZi9vcmdhbml6YXRpb25zEuwBChJMaXN0UHJvamVjdHNCeVVzZXISNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlImmSQUIKBFVzZXISEUdldCB1c2VyIHByb2plY3RzGidHZXQgYWxsIHRoZSBwcm9qZWN0cyBhIHVzZXIgYmVsb25ncyB0by6C0+STAh4SHC92MWJldGExL3VzZXJzL3tpZH0vcHJvamVjdHMShAIKGUxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXISOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXJSZXF1ZXN0GjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVzcG9uc2UibJJBRQoEVXNlchIPR2V0IG15IHByb2plY3RzGixHZXQgYWxsIHByb2plY3RzIHRoZSBjdXJyZW50IHVzZXIgYmVsb25ncyB0b4LT5JMCHhIcL3YxYmV0YTEvdXNlcnMvc2VsZi9wcm9qZWN0cxL3AQoTTGlzdFVzZXJJbnZpdGF0aW9ucxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZSJxkkFHCgRVc2VyEhVMaXN0IHVzZXIgaW52aXRhdGlvbnMaKExpc3QgYWxsIHRoZSBpbnZpdGF0aW9ucyBzZW50IHRvIGEgdXNlci6C0+STAiESHy92MWJldGExL3VzZXJzL3tpZH0vaW52aXRhdGlvbnMSkgIKGkxpc3RDdXJyZW50VXNlckludml0YXRpb25zEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2Uid5JBTQoEVXNlchIVTGlzdCB1c2VyIGludml0YXRpb25zGi5MaXN0IGFsbCB0aGUgaW52aXRhdGlvbnMgc2VudCB0byBjdXJyZW50IHVzZXIugtPkkwIhEh8vdjFiZXRhMS91c2Vycy9zZWxmL2ludml0YXRpb25zEqgCChBMaXN0U2VydmljZVVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlIqoBkkGJAQoLU2VydmljZVVzZXISFkxpc3Qgb3JnIHNlcnZpY2UgdXNlcnMaYlJldHVybnMgdGhlIHNlcnZpY2UgdXNlciBvZiBhbiBvcmdhbml6YXRpb24gaW4gYSBGcm9udGllciBpbnN0YW5jZS4gSXQgY2FuIGJlIGZpbHRlciBieSBpdCdzIHN0YXRlgtPkkwIXEhUvdjFiZXRhMS9zZXJ2aWNldXNlcnMS9AEKEUNyZWF0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyUmVzcG9uc2UidJJBOgoLU2VydmljZVVzZXISE0NyZWF0ZSBzZXJ2aWNlIHVzZXIaFkNyZWF0ZSBhIHNlcnZpY2UgdXNlci6C0+STAjEiLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzOgEqEvgBCg5HZXRTZXJ2aWNlVXNlchIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlclJlc3BvbnNlIoABkkFECgtTZXJ2aWNlVXNlchIQR2V0IHNlcnZpY2UgdXNlchojR2V0IHNlcnZpY2UgdXNlciBkZXRhaWxzIGJ5IGl0cyBpZC6C0+STAjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SvgIKEURlbGV0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyUmVzcG9uc2UivQGSQYABCgtTZXJ2aWNlVXNlchITRGVsZXRlIHNlcnZpY2UgdXNlchpcRGVsZXRlIGEgc2VydmljZSB1c2VyIHBlcm1hbmVudGx5IGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyAoa2V5cywgb3JnYW5pemF0aW9ucywgcm9sZXMsIGV0YymC0+STAjMqMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SmAMKFENyZWF0ZVNlcnZpY2VVc2VySldLEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VySldLUmVzcG9uc2UijgKSQckBCgtTZXJ2aWNlVXNlchIrQ3JlYXRlIHNlcnZpY2UgdXNlciBwdWJsaWMvcHJpdmF0ZSBrZXkgcGFpchqMAUdlbmVyYXRlIGEgc2VydmljZSB1c2VyIGtleSBhbmQgcmV0dXJuIGl0LCB0aGUgcHJpdmF0ZSBrZXkgcGFydCBvZiB0aGUgcmVzcG9uc2Ugd2lsbCBub3QgYmUgcGVyc2lzdGVkIGFuZCBzaG91bGQgYmUga2VwdCBzZWN1cmVseSBieSBjbGllbnQugtPkkwI7IjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXM6ASoSrwIKE0xpc3RTZXJ2aWNlVXNlckpXS3MSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckpXS3NSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2UiqAGSQWcKC1NlcnZpY2VVc2VyEhZMaXN0IHNlcnZpY2UgdXNlciBrZXlzGkBMaXN0IGFsbCB0aGUga2V5cyBvZiBhIHNlcnZpY2UgdXNlciB3aXRoIGl0cyBkZXRhaWxzIGV4Y2VwdCBqd2sugtPkkwI4EjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXMSlgIKEUdldFNlcnZpY2VVc2VySldLEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VySldLUmVzcG9uc2UilQGSQUsKC1NlcnZpY2VVc2VyEhRHZXQgc2VydmljZSB1c2VyIGtleRomR2V0IGEgc2VydmljZSB1c2VyIHB1YmxpYyBSU0EgSldLIHNldC6C0+STAkESPy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5cy97a2V5X2lkfRKiAgoURGVsZXRlU2VydmljZVVzZXJKV0sSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSKYAZJBTgoLU2VydmljZVVzZXISF0RlbGV0ZSBzZXJ2aWNlIHVzZXIga2V5GiZEZWxldGUgYSBzZXJ2aWNlIHVzZXIga2V5IHBlcm1hbmVudGx5LoLT5JMCQSo/L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzL3trZXlfaWR9EqQDChtDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWwSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlIoUCkkG9AQoLU2VydmljZVVzZXISJkNyZWF0ZSBzZXJ2aWNlIHVzZXIgY2xpZW50IGNyZWRlbnRpYWxzGoUBR2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbCBhbmQgcmV0dXJuIGl0LiBUaGUgY3JlZGVudGlhbCB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPiI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzOgEqErkCChpMaXN0U2VydmljZVVzZXJDcmVkZW50aWFscxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlIp0BkkFZCgtTZXJ2aWNlVXNlchIdTGlzdCBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaK0xpc3QgYWxsIHRoZSBjcmVkZW50aWFscyBvZiBhIHNlcnZpY2UgdXNlci6C0+STAjsSOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vc2VjcmV0cxLAAgobRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXNwb25zZSKhAZJBUQoLU2VydmljZVVzZXISH0RlbGV0ZSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaIURlbGV0ZSBhIHNlcnZpY2UgdXNlciBjcmVkZW50aWFsLoLT5JMCRypFL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzL3tzZWNyZXRfaWR9EvwCChZDcmVhdGVTZXJ2aWNlVXNlclRva2VuEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIuwBkkGlAQoLU2VydmljZVVzZXISGUNyZWF0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4ae0dlbmVyYXRlIGEgc2VydmljZSB1c2VyIHRva2VuIGFuZCByZXR1cm4gaXQuIFRoZSB0b2tlbiB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPSI4L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS90b2tlbnM6ASoSnwIKFUxpc3RTZXJ2aWNlVXNlclRva2VucxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVzcG9uc2UikgGSQU8KC1NlcnZpY2VVc2VyEhhMaXN0IHNlcnZpY2UgdXNlciB0b2tlbnMaJkxpc3QgYWxsIHRoZSB0b2tlbnMgb2YgYSBzZXJ2aWNlIHVzZXIugtPkkwI6EjgvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Rva2VucxKkAgoWRGVsZXRlU2VydmljZVVzZXJUb2tlbhI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXNwb25zZSKUAZJBRgoLU2VydmljZVVzZXISGURlbGV0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4aHERlbGV0ZSBhIHNlcnZpY2UgdXNlciB0b2tlbi6C0+STAkUqQy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vdG9rZW5zL3t0b2tlbl9pZH0SsAIKF0xpc3RTZXJ2aWNlVXNlclByb2plY3RzEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UinQGSQVgKC1NlcnZpY2VVc2VyEhpMaXN0IHNlcnZpY2Ugc3NlciBwcm9qZWN0cxotTGlzdCBhbGwgcHJvamVjdHMgdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvgtPkkwI8EjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Byb2plY3RzEuQCChZMaXN0T3JnYW5pemF0aW9uR3JvdXBzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlItQBkkGiAQoFR3JvdXASGExpc3Qgb3JnYW5pemF0aW9uIGdyb3Vwcxp/R2V0IGFsbCBncm91cHMgdGhhdCBiZWxvbmcgdG8gYW4gb3JnYW5pemF0aW9uLiBUaGUgcmVzdWx0cyBjYW4gYmUgZmlsdGVyZWQgYnkgc3RhdGUgd2hpY2ggY2FuIGJlIGVpdGhlciBiZSBlbmFibGVkIG9yIGRpc2FibGVkLoLT5JMCKBImL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMSnQMKC0NyZWF0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUmVzcG9uc2UirgKSQfYBCgVHcm91cBIMQ3JlYXRlIGdyb3VwGt4BQ3JlYXRlIGEgbmV3IGdyb3VwIGluIGFuIG9yZ2FuaXphdGlvbiB3aGljaCBzZXJ2ZXMgYXMgYSBjb250YWluZXIgZm9yIHVzZXJzLiBUaGUgZ3JvdXAgY2FuIGJlIGFzc2lnbmVkIHJvbGVzIGFuZCBwZXJtaXNzaW9ucyBhbmQgY2FuIGJlIHVzZWQgdG8gbWFuYWdlIGFjY2VzcyB0byByZXNvdXJjZXMuIEFsc28gYSBncm91cCBjYW4gYWxzbyBiZSBhc3NpZ25lZCB0byBvdGhlciBncm91cHMugtPkkwIuIiYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3VwczoEYm9keRKtAQoIR2V0R3JvdXASKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEdyb3VwUmVxdWVzdBorLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0R3JvdXBSZXNwb25zZSJIkkESCgVHcm91cBIJR2V0IGdyb3VwgtPkkwItEisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9Er8BCgtVcGRhdGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVHcm91cFJlc3BvbnNlIlGSQRUKBUdyb3VwEgxVcGRhdGUgZ3JvdXCC0+STAjMaKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH06BGJvZHkS/gEKDkxpc3RHcm91cFVzZXJzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBVc2Vyc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVzcG9uc2UihgGSQUoKBUdyb3VwEhBMaXN0IGdyb3VwIHVzZXJzGi9SZXR1cm5zIGEgbGlzdCBvZiB1c2VycyB0aGF0IGJlbG9uZyB0byBhIGdyb3VwLoLT5JMCMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2VycxLdAgoNQWRkR3JvdXBVc2VycxIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkR3JvdXBVc2Vyc1JlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZEdyb3VwVXNlcnNSZXNwb25zZSLoAZJBqAEKBUdyb3VwEg5BZGQgZ3JvdXAgdXNlchqOAUFkZHMgYSBwcmluY2lwbGUodXNlciBhbmQgc2VydmljZS11c2VycykgdG8gYSBncm91cCwgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIGdyb3VwIHdpbGwgYmUgaWdub3JlZC4gQSBncm91cCBjYW4ndCBoYXZlIG5lc3RlZCBncm91cHMgYXMgbWVtYmVycy6C0+STAjYiMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnM6ASoS7wIKD1JlbW92ZUdyb3VwVXNlchIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVzcG9uc2Ui9AGSQa0BCgVHcm91cBIRUmVtb3ZlIGdyb3VwIHVzZXIakAFSZW1vdmVzIGEgcHJpbmNpcGxlKHVzZXIgYW5kIHNlcnZpY2UtdXNlcnMpIGZyb20gYSBncm91cC4gSWYgdGhlIHVzZXIgaXMgbm90IGluIHRoZSBncm91cCwgdGhlIHJlcXVlc3Qgd2lsbCBzdWNjZWVkIGJ1dCBubyBjaGFuZ2VzIHdpbGwgYmUgbWFkZS6C0+STAj0qOy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnMve3VzZXJfaWR9EsMCCgtFbmFibGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVHcm91cFJlc3BvbnNlItQBkkGTAQoFR3JvdXASDEVuYWJsZSBncm91cBp8U2V0cyB0aGUgc3RhdGUgb2YgdGhlIGdyb3VwIGFzIGVuYWJsZWQuIFRoZSBgZW5hYmxlZGAgZmxhZyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgZ3JvdXAgY2FuIGJlIHVzZWQgZm9yIGFjY2VzcyBjb250cm9sLoLT5JMCNyIyL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS9lbmFibGU6ASoS1AMKDERpc2FibGVHcm91cBIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVzcG9uc2Ui4gKSQaACCgVHcm91cBINRGlzYWJsZSBncm91cBqHAlNldHMgdGhlIHN0YXRlIG9mIHRoZSBncm91cCBhcyBkaXNhYmxlZC4gVGhlIGdyb3VwIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBmb3IgYWNjZXNzIGNvbnRyb2wgYW5kIHRoZSBleGlzdGluZyB1c2VycyBpbiB0aGUgZ3JvdXAgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IHJlc291cmNlcyB0aGF0IGFyZSBhc3NpZ25lZCB0byB0aGUgZ3JvdXAuIE5vIG90aGVyIHVzZXJzIGNhbiBiZSBhZGRlZCB0byB0aGUgZ3JvdXAgd2hpbGUgaXQgaXMgZGlzYWJsZWQugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L2Rpc2FibGU6ASoS/QEKC0RlbGV0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUdyb3VwUmVzcG9uc2UijgGSQVgKBUdyb3VwEgxEZWxldGUgZ3JvdXAaQURlbGV0ZSBhbiBvcmdhbml6YXRpb24gZ3JvdXAgcGVybWFuZW50bHkgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zgtPkkwItKisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9EpMCCglMaXN0Um9sZXMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1Jlc3BvbnNlIqoBkkGQAQoEUm9sZRITTGlzdCBwbGF0Zm9ybSByb2xlcxpzUmV0dXJucyBhIGxpc3Qgb2YgcGxhdGZvcm0gd2lkZSByb2xlcyBhdmFpbGFibGUgaW4gZW5pdHJlIEZyb250aWVyIGluc3RhbmNlIGFsb25nIHdpdGggdGhlaXIgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCEBIOL3YxYmV0YTEvcm9sZXMSvAIKFUxpc3RPcmdhbml6YXRpb25Sb2xlcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2UirwGSQX8KBFJvbGUSF0xpc3Qgb3JnYW5pemF0aW9uIHJvbGVzGl5SZXR1cm5zIGEgbGlzdCBvZiBjdXN0b20gcm9sZXMgY3JlYXRlZCB1bmRlciBhbiBvcmdhbml6YXRpb24gd2l0aCB0aGVpciBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwInEiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzEvcCChZDcmVhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIucBkkGwAQoEUm9sZRIYQ3JlYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BQ3JlYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwItIiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzOgRib2R5EqwCChNHZXRPcmdhbml6YXRpb25Sb2xlEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqUBkkFwCgRSb2xlEhVHZXQgb3JnYW5pemF0aW9uIHJvbGUaUVJldHVybnMgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24gYWxvbmcgd2l0aCBpdHMgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCLBIqL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97aWR9EvwCChZVcGRhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIuwBkkGwAQoEUm9sZRIYVXBkYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BVXBkYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwIyGiovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzL3tpZH06BGJvZHkStwIKFkRlbGV0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2UipwGSQXIKBFJvbGUSGERlbGV0ZSBvcmdhbml6YXRpb24gcm9sZRpQRGVsZXRlIGEgY3VzdG9tIHJvbGUgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiBwZXJtYW5lbnRseS6C0+STAiwqKi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve2lkfRKaAgoRTGlzdE9yZ2FuaXphdGlvbnMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNSZXNwb25zZSKZAZJBeAoMT3JnYW5pemF0aW9uEhJMaXN0IG9yZ2FuaXphdGlvbnMaVFJldHVybnMgYSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSB1c2VySUQgb3Igb3JnYW5pemF0aW9uIHN0YXRlLoLT5JMCGBIWL3YxYmV0YTEvb3JnYW5pemF0aW9ucxLNAQoSQ3JlYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXNwb25zZSJKkkEjCgxPcmdhbml6YXRpb24SE0NyZWF0ZSBvcmdhbml6YXRpb26C0+STAh4iFi92MWJldGExL29yZ2FuaXphdGlvbnM6BGJvZHkS4AEKD0dldE9yZ2FuaXphdGlvbhIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVzcG9uc2UiZpJBQAoMT3JnYW5pemF0aW9uEhBHZXQgb3JnYW5pemF0aW9uGh5HZXQgb3JnYW5pemF0aW9uIGJ5IElEIG9yIG5hbWWC0+STAh0SGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfRLtAQoSVXBkYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXNwb25zZSJqkkE+CgxPcmdhbml6YXRpb24SE1VwZGF0ZSBvcmdhbml6YXRpb24aGVVwZGF0ZSBvcmdhbml6YXRpb24gYnkgSUSC0+STAiMaGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfToEYm9keRKfAgoYTGlzdE9yZ2FuaXphdGlvblByb2plY3RzEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZSKJAZJBWgoMT3JnYW5pemF0aW9uEhlHZXQgb3JnYW5pemF0aW9uIHByb2plY3RzGi9HZXQgYWxsIHByb2plY3RzIHRoYXQgYmVsb25nIHRvIGFuIG9yZ2FuaXphdGlvboLT5JMCJhIkL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3Byb2plY3RzEo4CChZMaXN0T3JnYW5pemF0aW9uQWRtaW5zEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkFkbWluc1Jlc3BvbnNlIn+SQVIKDE9yZ2FuaXphdGlvbhIYTGlzdCBvcmdhbml6YXRpb24gYWRtaW5zGihSZXR1cm5zIGEgbGlzdCBhZG1pbnMgb2YgYW4gb3JnYW5pemF0aW9ugtPkkwIkEiIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vYWRtaW5zEt8BChVMaXN0T3JnYW5pemF0aW9uVXNlcnMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlIlOSQScKDE9yZ2FuaXphdGlvbhIXTGlzdCBvcmdhbml6YXRpb24gdXNlcnOC0+STAiMSIS92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS91c2VycxLtAgoUQWRkT3JnYW5pemF0aW9uVXNlcnMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSLjAZJBswEKDE9yZ2FuaXphdGlvbhIVQWRkIG9yZ2FuaXphdGlvbiB1c2VyGosBQWRkIGEgdXNlciB0byBhbiBvcmdhbml6YXRpb24uIEEgdXNlciBtdXN0IGV4aXN0cyBpbiBGcm9udGllciBiZWZvcmUgYWRkaW5nIGl0IHRvIGFuIG9yZy4gVGhpcyByZXF1ZXN0IHdpbGwgZmFpbCBpZiB0aGUgdXNlciBkb2Vzbid0IGV4aXN0c4LT5JMCJiIhL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzOgEqEpICChZSZW1vdmVPcmdhbml6YXRpb25Vc2VyEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlT3JnYW5pemF0aW9uVXNlclJlc3BvbnNlIoIBkkFMCgxPcmdhbml6YXRpb24SGFJlbW92ZSBvcmdhbml6YXRpb24gdXNlchoiUmVtb3ZlIGEgdXNlciBmcm9tIGFuIG9yZ2FuaXphdGlvboLT5JMCLSorL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzL3t1c2VyX2lkfRKWAgoSR2V0T3JnYW5pemF0aW9uS3ljEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXNwb25zZSKSAZJBZAoPT3JnYW5pemF0aW9uS3ljEh9HZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uGjBHZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uIHVzaW5nIElEIG9yIG5hbWWC0+STAiUSIy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0va3ljEoMCChxMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1Jlc3BvbnNlImKSQS8KDE9yZ2FuaXphdGlvbhIfTGlzdCBvcmdhbml6YXRpb24gc2VydmljZSB1c2Vyc4LT5JMCKhIoL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3NlcnZpY2V1c2VycxK5AgobTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXNwb25zZSKaAZJBZAoMT3JnYW5pemF0aW9uEhhMaXN0IHBlbmRpbmcgaW52aXRhdGlvbnMaOlJldHVybnMgYWxsIHBlbmRpbmcgaW52aXRhdGlvbnMgcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb26C0+STAi0SKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMS9gIKHENyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui1AGSQZoBCgxPcmdhbml6YXRpb24SC0ludml0ZSB1c2VyGn1JbnZpdGUgdXNlcnMgdG8gYW4gb3JnYW5pemF0aW9uLCBpZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZC4gSW52aXRhdGlvbnMgZXhwaXJlIGluIDcgZGF5c4LT5JMCMCIrL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9uczoBKhKzAgoZR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvbhI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSKaAZJBXwoMT3JnYW5pemF0aW9uEhZHZXQgcGVuZGluZyBpbnZpdGF0aW9uGjdSZXR1cm5zIGEgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9ugtPkkwIyEjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0SmQMKHEFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui9wGSQbEBCgxPcmdhbml6YXRpb24SGUFjY2VwdCBwZW5kaW5nIGludml0YXRpb24ahQFBY2NlcHQgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9uLiBUaGUgdXNlciB3aWxsIGJlIGFkZGVkIHRvIHRoZSBvcmdhbml6YXRpb24gYW5kIGdyb3VwcyBkZWZpbmVkIGluIHRoZSBpbnZpdGF0aW9ugtPkkwI8IjcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0vYWNjZXB0OgEqEr4CChxEZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIpwBkkFhCgxPcmdhbml6YXRpb24SGURlbGV0ZSBwZW5kaW5nIGludml0YXRpb24aNkRlbGV0ZSBhIHBlbmRpbmcgaW52aXRhdGlvbiBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvboLT5JMCMiowL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucy97aWR9EtgDChdMaXN0T3JnYW5pemF0aW9uRG9tYWlucxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlIsUCkkGSAgoMT3JnYW5pemF0aW9uEhBMaXN0IG9yZyBkb21haW5zGu8BUmV0dXJucyBhbGwgZG9tYWlucyB3aGl0ZWxpc3RlZCBmb3IgYW4gb3JnYW5pemF0aW9uIChib3RoIHBlbmRpbmcgYW5kIHZlcmlmaWVkIGlmIG5vIGZpbHRlcnMgYXJlIHByb3ZpZGVkIGZvciB0aGUgc3RhdGUpLiBUaGUgdmVyaWZpZWQgZG9tYWlucyBhbGxvdyB1c2VycyBlbWFpbCB3aXRoIHRoZSBvcmcncyB3aGl0ZWxpc3RlZCBkb21haW4gdG8gam9pbiB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucxL+BAoYQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLoA5JBsgMKDE9yZ2FuaXphdGlvbhIRQ3JlYXRlIG9yZyBkb21haW4ajgNBZGQgYSBkb21haW4gdG8gYW4gb3JnYW5pemF0aW9uIHdoaWNoIGlmIHZlcmlmaWVkIGFsbG93cyBhbGwgdXNlcnMgb2YgdGhlIHNhbWUgZG9tYWluIHRvIGJlIHNpZ25lZCB1cCB0byB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi4gVGhpcyBBUEkgZ2VuZXJhdGVzIGEgdmVyaWZpY2F0aW9uIHRva2VuIGZvciBhIGRvbWFpbiB3aGljaCBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBzaG91bGQgYmUgdmVyaWZpZWQgd2l0aCBGcm9udGllciBWZXJpZnlPcmdhbml6YXRpb25Eb21haW4gQVBJIGJlZm9yZSBpdCBjYW4gYmUgdXNlZCBhcyBhbiBPcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbiB0byBzaWduIHVwIHVzZXJzLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zOgEqErcCChhEZWxldGVPcmdhbml6YXRpb25Eb21haW4SOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlIqEBkkFqCgxPcmdhbml6YXRpb24SEURlbGV0ZSBvcmcgZG9tYWluGkdSZW1vdmUgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbnMgbGlzdILT5JMCLiosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0S4gIKFUdldE9yZ2FuaXphdGlvbkRvbWFpbhI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2Ui1QGSQZ0BCgxPcmdhbml6YXRpb24SDkdldCBvcmcgZG9tYWluGn1HZXQgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB3aGl0ZWxpc3RlZCBkb21haW5zLiBSZXR1cm5zIGJvdGggdmVyaWZpZWQgYW5kIHVudmVyaWZpZWQgZG9tYWlucyBieSB0aGVpciBJRILT5JMCLhIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0SpQQKGFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpbhI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2UijwOSQc0CCgxPcmdhbml6YXRpb24SEVZlcmlmeSBvcmcgZG9tYWluGqkCVmVyaWZ5IGEgZG9tYWluIGZvciBhbiBvcmdhbml6YXRpb24gd2l0aCBhIHZlcmlmaWNhdGlvbiB0b2tlbiBnZW5lcmF0ZWQgYnkgRnJvbnRpZXIgR2VuZXJhdGVEb21haW5WZXJpZmljYXRpb25Ub2tlbiBBUEkuIFRoZSB0b2tlbiBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBiZWZvcmUgaXQgY2FuIGJlIHZlcmlmaWVkLiBUaGlzIEFQSSByZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGUgZG9tYWluIChwZW5kaW5nL3ZlcmlmaWVkKSBhZnRlciB2ZXJpZmljYXRpb24ugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfS92ZXJpZnk6ASoSkgMKEEpvaW5Pcmdhbml6YXRpb24SMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpvaW5Pcmdhbml6YXRpb25SZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Kb2luT3JnYW5pemF0aW9uUmVzcG9uc2UilAKSQeEBCgxPcmdhbml6YXRpb24SEUpvaW4gb3JnYW5pemF0aW9uGr0BQWxsb3dzIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHRvIGpvaW4gdGhlIE9yZyBpZiBvbmUgaXMgbm90IGEgcGFydCBvZiBpdC4gVGhlIHVzZXIgd2lsbCBvbmx5IGJlIGFibGUgdG8gam9pbiB3aGVuIHRoZSB1c2VyIGVtYWlsJ3MgZG9tYWluIG1hdGNoZXMgdGhlIG9yZ2FuaXphdGlvbidzIHdoaXRlbGlzdGVkIGRvbWFpbnMugtPkkwIpIiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2pvaW46ASoS2QIKEkVuYWJsZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui1QGSQaQBCgxPcmdhbml6YXRpb24SE0VuYWJsZSBvcmdhbml6YXRpb24af1NldHMgdGhlIHN0YXRlIG9mIHRoZSBvcmdhbml6YXRpb24gYXMgZW5hYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgb3JnYW5pemF0aW9uIHJlc291cmNlcy6C0+STAiciIi92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9lbmFibGU6ASoS5AIKE0Rpc2FibGVPcmdhbml6YXRpb24SNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui3QGSQasBCgxPcmdhbml6YXRpb24SFERpc2FibGUgb3JnYW5pemF0aW9uGoQBU2V0cyB0aGUgc3RhdGUgb2YgdGhlIG9yZ2FuaXphdGlvbiBhcyBkaXNhYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IG9yZ2FuaXphdGlvbiByZXNvdXJjZXMugtPkkwIoIiMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vZGlzYWJsZToBKhLGAgoSRGVsZXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXNwb25zZSLCAZJBmwEKDE9yZ2FuaXphdGlvbhITRGVsZXRlIG9yZ2FuaXphdGlvbhp2RGVsZXRlIGFuIG9yZ2FuaXphdGlvbiBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgcGVybWFuZW50bHkuIFRoZSBvcmdhbml6YXRpb24gdXNlcnMgd2lsbCBub3QgYmUgZGVsZXRlZCBmcm9tIEZyb250aWVyLoLT5JMCHSobL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9Eq8BCg1DcmVhdGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc3BvbnNlIjuSQRkKB1Byb2plY3QSDkNyZWF0ZSBwcm9qZWN0gtPkkwIZIhEvdjFiZXRhMS9wcm9qZWN0czoEYm9keRK7AQoKR2V0UHJvamVjdBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXNwb25zZSJQkkEvCgdQcm9qZWN0EgtHZXQgcHJvamVjdBoXUmV0dXJucyBhIHByb2plY3QgYnkgSUSC0+STAhgSFi92MWJldGExL3Byb2plY3RzL3tpZH0SzQEKDVVwZGF0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzcG9uc2UiWZJBMgoHUHJvamVjdBIOVXBkYXRlIHByb2plY3QaF1VwZGF0ZXMgYSBwcm9qZWN0IGJ5IElEgtPkkwIeGhYvdjFiZXRhMS9wcm9qZWN0cy97aWR9OgRib2R5EvMBChFMaXN0UHJvamVjdEFkbWlucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEFkbWluc1Jlc3BvbnNlInOSQUsKB1Byb2plY3QSE0xpc3QgcHJvamVjdCBhZG1pbnMaK1JldHVybnMgYSBjb2xsZWN0aW9uIG9mIGFkbWlucyBvZiBhIHByb2plY3SC0+STAh8SHS92MWJldGExL3Byb2plY3RzL3tpZH0vYWRtaW5zEpgCChBMaXN0UHJvamVjdFVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlIpoBkkFzCgdQcm9qZWN0EhJMaXN0IHByb2plY3QgdXNlcnMaVFJldHVybnMgYSBjb2xsZWN0aW9uIG9mIHVzZXJzIG9mIGEgcHJvamVjdC4gRmlsdGVyIGJ5IHVzZXIgcGVybWlzc2lvbnMgaXMgc3VwcG9ydGVkLoLT5JMCHhIcL3YxYmV0YTEvcHJvamVjdHMve2lkfS91c2VycxKRAgoXTGlzdFByb2plY3RTZXJ2aWNlVXNlcnMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZSJ/kkFRCgdQcm9qZWN0EhlMaXN0IHByb2plY3Qgc2VydmljZXVzZXJzGitSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiB1c2VycyBvZiBhIHByb2plY3QugtPkkwIlEiMvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3NlcnZpY2V1c2VycxL0AQoRTGlzdFByb2plY3RHcm91cHMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RHcm91cHNSZXNwb25zZSJ0kkFMCgdQcm9qZWN0EhNMaXN0IHByb2plY3QgZ3JvdXBzGixSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiBncm91cHMgb2YgYSBwcm9qZWN0LoLT5JMCHxIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9ncm91cHMSuAEKDUVuYWJsZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVQcm9qZWN0UmVzcG9uc2UiRJJBGQoHUHJvamVjdBIORW5hYmxlIHByb2plY3SC0+STAiIiHS92MWJldGExL3Byb2plY3RzL3tpZH0vZW5hYmxlOgEqEr0BCg5EaXNhYmxlUHJvamVjdBIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVByb2plY3RSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlUHJvamVjdFJlc3BvbnNlIkaSQRoKB1Byb2plY3QSD0Rpc2FibGUgcHJvamVjdILT5JMCIyIeL3YxYmV0YTEvcHJvamVjdHMve2lkfS9kaXNhYmxlOgEqEuIBCg1EZWxldGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc3BvbnNlIm6SQU0KB1Byb2plY3QSDkRlbGV0ZSBQcm9qZWN0GjJEZWxldGUgYSBwcm9qZWN0IGFsbCBvZiBpdHMgcmVsYXRpb25zIHBlcm1hbmVudGx5LoLT5JMCGCoWL3YxYmV0YTEvcHJvamVjdHMve2lkfRK9AQoMQ3JlYXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXNwb25zZSJMkkEqCgZQb2xpY3kSDUNyZWF0ZSBwb2xpY3kaEUNyZWF0ZXMgYSBwb2xpY3kggtPkkwIZIhEvdjFiZXRhMS9wb2xpY2llczoEYm9keRK1AQoJR2V0UG9saWN5EisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXNwb25zZSJNkkEsCgZQb2xpY3kSCkdldCBwb2xpY3kaFlJldHVybnMgYSBwb2xpY3kgYnkgSUSC0+STAhgSFi92MWJldGExL3BvbGljaWVzL3tpZH0SuQIKDExpc3RQb2xpY2llcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVzcG9uc2UixwGSQaoBCgZQb2xpY3kSEUxpc3QgYWxsIHBvbGljaWVzGowBTGlzdHMgYWxsIHRoZSBwb2xpY2llcyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkgb3JnYW5pemF0aW9uLCBwcm9qZWN0LCB1c2VyLCByb2xlIGFuZCBncm91cC6C0+STAhMSES92MWJldGExL3BvbGljaWVzEscBCgxVcGRhdGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlc3BvbnNlIlaSQS8KBlBvbGljeRINVXBkYXRlIHBvbGljeRoWVXBkYXRlcyBhIHBvbGljeSBieSBJRILT5JMCHhoWL3YxYmV0YTEvcG9saWNpZXMve2lkfToEYm9keRLcAQoMRGVsZXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXNwb25zZSJrkkFKCgZQb2xpY3kSDURlbGV0ZSBQb2xpY3kaMURlbGV0ZSBhIHBvbGljeSBhbGwgb2YgaXRzIHJlbGF0aW9ucyBwZXJtYW5lbnRseS6C0+STAhgqFi92MWJldGExL3BvbGljaWVzL3tpZH0SiQIKFkNyZWF0ZVBvbGljeUZvclByb2plY3QSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UiepJBQgoGUG9saWN5EhlDcmVhdGUgUG9saWN5IGZvciBQcm9qZWN0Gh1DcmVhdGUgYSBwb2xpY3kgZm9yIGEgcHJvamVjdILT5JMCLyInL3YxYmV0YTEvcG9saWNpZXMvcHJvamVjdHMve3Byb2plY3RfaWR9OgRib2R5ErUBCg5DcmVhdGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVSZWxhdGlvblJlc3BvbnNlIj6SQRsKCFJlbGF0aW9uEg9DcmVhdGUgcmVsYXRpb26C0+STAhoiEi92MWJldGExL3JlbGF0aW9uczoEYm9keRLCAQoLR2V0UmVsYXRpb24SLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFJlbGF0aW9uUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UmVsYXRpb25SZXNwb25zZSJUkkEyCghSZWxhdGlvbhIMR2V0IHJlbGF0aW9uGhhSZXR1cm5zIGEgcmVsYXRpb24gYnkgSUSC0+STAhkSFy92MWJldGExL3JlbGF0aW9ucy97aWR9EpACCg5EZWxldGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVSZWxhdGlvblJlc3BvbnNlIpgBkkFOCghSZWxhdGlvbhIPRGVsZXRlIHJlbGF0aW9uGjFSZW1vdmUgYSBzdWJqZWN0IGhhdmluZyBhIHJlbGF0aW9uIGZyb20gYW4gb2JqZWN0gtPkkwJBKj8vdjFiZXRhMS9yZWxhdGlvbnMve3JlbGF0aW9ufS9vYmplY3Qve29iamVjdH0vc3ViamVjdC97c3ViamVjdH0SugEKD0xpc3RQZXJtaXNzaW9ucxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVzcG9uc2UiQJJBIQoKUGVybWlzc2lvbhITR2V0IGFsbCBwZXJtaXNzaW9uc4LT5JMCFhIUL3YxYmV0YTEvcGVybWlzc2lvbnMS0AEKDUdldFBlcm1pc3Npb24SLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBlcm1pc3Npb25SZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQZXJtaXNzaW9uUmVzcG9uc2UiXJJBOAoKUGVybWlzc2lvbhIOR2V0IHBlcm1pc3Npb24aGlJldHVybnMgYSBwZXJtaXNzaW9uIGJ5IElEgtPkkwIbEhkvdjFiZXRhMS9wZXJtaXNzaW9ucy97aWR9Eu8BCg5MaXN0TmFtZXNwYWNlcxIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE5hbWVzcGFjZXNSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TmFtZXNwYWNlc1Jlc3BvbnNlIniSQVoKCU5hbWVzcGFjZRISR2V0IGFsbCBuYW1lc3BhY2VzGjlSZXR1cm5zIHRoZSBsaXN0IG9mIGFsbCBuYW1lc3BhY2VzIGluIGEgRnJvbnRpZXIgaW5zdGFuY2WC0+STAhUSEy92MWJldGExL25hbWVzcGFjZXMSyQEKDEdldE5hbWVzcGFjZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVzcG9uc2UiWJJBNQoJTmFtZXNwYWNlEg1HZXQgbmFtZXNwYWNlGhlSZXR1cm5zIGEgbmFtZXNwYWNlIGJ5IElEgtPkkwIaEhgvdjFiZXRhMS9uYW1lc3BhY2VzL3tpZH0S2QEKFExpc3RQcm9qZWN0UmVzb3VyY2VzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFJlc291cmNlc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UmVzb3VyY2VzUmVzcG9uc2UiUJJBHQoIUmVzb3VyY2USEUdldCBhbGwgcmVzb3VyY2VzgtPkkwIqEigvdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzEoECChVDcmVhdGVQcm9qZWN0UmVzb3VyY2USNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlInWSQTwKCFJlc291cmNlEg9DcmVhdGUgcmVzb3VyY2UaH0NyZWF0ZXMgYSByZXNvdXJjZSBpbiBhIHByb2plY3SC0+STAjAiKC92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXM6BGJvZHkS9QEKEkdldFByb2plY3RSZXNvdXJjZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2UicpJBOgoIUmVzb3VyY2USDEdldCByZXNvdXJjZRogUmV0dXJucyBhIHByb2plY3QgcmVzb3VyY2UgYnkgSUSC0+STAi8SLS92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMve2lkfRKGAgoVVXBkYXRlUHJvamVjdFJlc291cmNlEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSJ6kkE8CghSZXNvdXJjZRIPVXBkYXRlIHJlc291cmNlGh9VcGRhdGVzIGEgcmVzb3VyY2UgaW4gYSBwcm9qZWN0gtPkkwI1Gi0vdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzL3tpZH06BGJvZHkSjwIKFURlbGV0ZVByb2plY3RSZXNvdXJjZRI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UiggGSQUoKCFJlc291cmNlEg9EZWxldGUgcmVzb3VyY2UaLURlbGV0ZXMgYSByZXNvdXJjZSBmcm9tIGEgcHJvamVjdCBwZXJtYW5lbnRseYLT5JMCLyotL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcy97aWR9EvsDChdDaGVja1Jlc291cmNlUGVybWlzc2lvbhI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlc3BvbnNlIugCkkHLAgoFQXV0aHoSBUNoZWNrGroCUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LiBGcm9udGllciB3aWxsIGV4dHJhY3QgcHJpbmNpcGFsIGZyb20gdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbi6C0+STAhMiDi92MWJldGExL2NoZWNrOgEqErMEChRCYXRjaENoZWNrUGVybWlzc2lvbhI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlIqkDkkGHAwoFQXV0aHoSC0JhdGNoIGNoZWNrGvACUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LCBhbmQgRnJvbnRpZXIgd2lsbCB0aGUgY3JlZGVudGlhbHMgZnJvbSB0aGUgY3VycmVudCBsb2dnZWQgaW4gcHJpbmNpcGFsIGZyb20gdGhlIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbiAoaW4gY2FzZSBvZiBodW1hbiB1c2VyIGFjY291bnRzKS6C0+STAhgiEy92MWJldGExL2JhdGNoY2hlY2s6ASoStQEKB0dldEpXS3MSKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEpXS3NSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRKV0tzUmVzcG9uc2UiU5JBHAoFQXV0aHoSE0dldCB3ZWxsIGtub3duIEpXS3OC0+STAi4SEi92MWJldGExL2F1dGgvandrc1oYEhYvLndlbGwta25vd24vandrcy5qc29uErcCChJMaXN0QXV0aFN0cmF0ZWdpZXMSNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1Jlc3BvbnNlIrMBkkGaAQoFQXV0aG4SHkxpc3QgYXV0aGVudGljYXRpb24gc3RyYXRlZ2llcxpxUmV0dXJucyBhIGxpc3Qgb2YgaWRlbnRpdHkgcHJvdmlkZXJzIGNvbmZpZ3VyZWQgb24gYW4gaW5zdGFuY2UgbGV2ZWwgaW4gRnJvbnRpZXIuIGUuZyBHb29nbGUsIEF6dXJlQUQsIEdpdGh1YiBldGOC0+STAg8SDS92MWJldGExL2F1dGgS6QQKDEF1dGhlbnRpY2F0ZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVzcG9uc2Ui9wOSQZgDCgVBdXRobhIcQXV0aGVudGljYXRlIHdpdGggYSBzdHJhdGVneRrwAkF1dGhlbnRpY2F0ZSBhIHVzZXIgd2l0aCBhIHN0cmF0ZWd5LiBCeSBkZWZhdWx0LCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uIG5vIG9wZXJhdGlvbiB3aWxsIGJlIHBlcmZvcm1lZCB0byBhcHBseSByZWRpcmVjdGlvbiBpbiBjYXNlIG9mIGJyb3dzZXJzLCBwcm92aWRlIGEgdXJsIGluIHRoZSBhdXRoZW50aWNhdGUgcmVxdWVzdCBib2R5IHRoYXQgd2lsbCBiZSB1c2VkIGZvciByZWRpcmVjdGlvbiBhZnRlciBhdXRoZW50aWNhdGlvbi4gQWxzbyBzZXQgcmVkaXJlY3QgYXMgdHJ1ZSBmb3IgcmVkaXJlY3RpbmcgdGhlIHVzZXIgcmVxdWVzdCB0byB0aGUgcmVkaXJlY3RfdXJsIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24ugtPkkwJVEiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfVorIiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfToBKhK9BAoMQXV0aENhbGxiYWNrEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXNwb25zZSLLA5JBjAMKBUF1dGhuEhhDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3ka6AJDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3kuIFRoaXMgaXMgdGhlIGVuZHBvaW50IHdoZXJlIHRoZSBzdHJhdGVneSB3aWxsIHJlZGlyZWN0IHRoZSB1c2VyIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24uIFRoaXMgZW5kcG9pbnQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgY29kZSBhbmQgc3RhdGUgcXVlcnkgcGFyYW1ldGVycy4gVGhlIGNvZGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgYWNjZXNzIHRva2VuIGZyb20gdGhlIHN0cmF0ZWd5IGFuZCB0aGUgc3RhdGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgcmV0dXJuX3RvIHVybCBmcm9tIHRoZSBzZXNzaW9uIGFuZCByZWRpcmVjdCB0aGUgdXNlciB0byB0aGF0IHVybC6C0+STAjUSFi92MWJldGExL2F1dGgvY2FsbGJhY2taGyIWL3YxYmV0YTEvYXV0aC9jYWxsYmFjazoBKhLCAwoJQXV0aFRva2VuEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXNwb25zZSLZApJBtwIKBUF1dGhuEipHZW5lcmF0ZSBhY2Nlc3MgdG9rZW4gYnkgZ2l2ZW4gY3JlZGVudGlhbHMagQJBY2Nlc3MgdG9rZW4gY2FuIGJlIGdlbmVyYXRlZCBieSBwcm92aWRpbmcgdGhlIGNyZWRlbnRpYWxzIGluIHRoZSByZXF1ZXN0IGJvZHkvaGVhZGVyLiBUaGUgY3JlZGVudGlhbHMgY2FuIGJlIGNsaWVudCBpZCBhbmQgc2VjcmV0IG9yIHNlcnZpY2UgYWNjb3VudCBnZW5lcmF0ZWQga2V5IGp3dC4gVXNlIHRoZSBnZW5lcmF0ZWQgYWNjZXNzIHRva2VuIGluIEF1dGhvcml6YXRpb24gaGVhZGVyIHRvIGFjY2VzcyB0aGUgZnJvbnRpZXIgcmVzb3VyY2VzLoLT5JMCGCITL3YxYmV0YTEvYXV0aC90b2tlbjoBKhLBAQoKQXV0aExvZ291dBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aExvZ291dFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhMb2dvdXRSZXNwb25zZSJWkkEfCgVBdXRobhIWTG9nb3V0IGZyb20gYSBzdHJhdGVneYLT5JMCLhIUL3YxYmV0YTEvYXV0aC9sb2dvdXRaFioUL3YxYmV0YTEvYXV0aC9sb2dvdXQSrgIKD0xpc3RNZXRhU2NoZW1hcxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVzcG9uc2UiswGSQZIBCgpNZXRhU2NoZW1hEhBMaXN0IG1ldGFzY2hlbWFzGnJSZXR1cm5zIGEgbGlzdCBvZiBhbGwgbWV0YXNjaGVtYXMgY29uZmlndXJlZCBvbiBhbiBpbnN0YW5jZSBsZXZlbCBpbiBGcm9udGllci4gZS5nIHVzZXIsIHByb2plY3QsIG9yZ2FuaXphdGlvbiBldGOC0+STAhcSFS92MWJldGExL21ldGEvc2NoZW1hcxKfBQoQQ3JlYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU1ldGFTY2hlbWFSZXNwb25zZSKhBJJB+gMKCk1ldGFTY2hlbWESEUNyZWF0ZSBtZXRhc2NoZW1hGtgDQ3JlYXRlIGEgbmV3IG1ldGFkYXRhIHNjaGVtYS4gVGhlIG1ldGFzY2hlbWEgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuIFRoZSBtZXRhc2NoZW1hICoqc2NoZW1hKiogbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCHSIVL3YxYmV0YTEvbWV0YS9zY2hlbWFzOgRib2R5EtMBCg1HZXRNZXRhU2NoZW1hEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRNZXRhU2NoZW1hUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TWV0YVNjaGVtYVJlc3BvbnNlIl+SQToKCk1ldGFTY2hlbWESDkdldCBtZXRhc2NoZW1hGhxHZXQgYSBtZXRhZGF0YSBzY2hlbWEgYnkgSUQugtPkkwIcEhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRLBBAoQVXBkYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZSLDA5JBlwMKCk1ldGFTY2hlbWESEVVwZGF0ZSBtZXRhc2NoZW1hGvUCVXBkYXRlIGEgbWV0YWRhdGEgc2NoZW1hLiBPbmx5IGBzY2hlbWFgIGZpZWxkIG9mIGEgbWV0YXNjaGVtYSBjYW4gYmUgdXBkYXRlZC4gVGhlIG1ldGFzY2hlbWEgYHNjaGVtYWAgbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCIhoaL3YxYmV0YTEvbWV0YS9zY2hlbWFzL3tpZH06BGJvZHkS4wQKEERlbGV0ZU1ldGFTY2hlbWESMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVNZXRhU2NoZW1hUmVzcG9uc2Ui5QOSQb8DCgpNZXRhU2NoZW1hEhFEZWxldGUgbWV0YXNjaGVtYRqdA0RlbGV0ZSBhIG1ldGFkYXRhIHNjaGVtYSBwZXJtYW5lbnRseS4gT25jZSBkZWxldGVkIHRoZSBtZXRhc2NoZW1hIHdvbid0IGJlIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhLiBGb3IgZXhhbXBsZSwgaWYgYSBtZXRhc2NoZW1hKHdpdGggYGxhYmVsYCBhbmQgYGRlc2NyaXB0aW9uYCBmaWVsZHMpIGlzIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhIG9mIGEgdXNlciwgdGhlbiBkZWxldGluZyB0aGUgbWV0YXNjaGVtYSB3aWxsIG5vdCB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEgb2YgdGhlIHVzZXIgYW5kIG1ldGFkYXRhIGZpZWxkIGNhbiBjb250YWluIGFueSBrZXktdmFsdWUgcGFpcihhbmQgc2F5IGFub3RoZXIgZmllbGQgY2FsbGVkIGBmb29gIGNhbiBiZSBpbnNlcnRlZCBpbiBhIHVzZXIncyBtZXRhZGF0YSkugtPkkwIcKhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRKmAgoZTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9ncxI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9nc1JlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25BdWRpdExvZ3NSZXNwb25zZSKNAZJBWQoIQXVkaXRMb2cSD0xpc3QgYXVkaXQgbG9ncxo8UmV0dXJucyBhIGxpc3Qgb2YgYXVkaXQgbG9ncyBvZiBhbiBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIugtPkkwIrEikvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9ncxKUAgobQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXNwb25zZSJ2kkE/CghBdWRpdExvZxIQQ3JlYXRlIGF1ZGl0IGxvZxohQ3JlYXRlIG5ldyBhdWRpdCBsb2dzIGluIGEgYmF0Y2gugtPkkwIuIikvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9nczoBKhL9AQoXR2V0T3JnYW5pemF0aW9uQXVkaXRMb2cSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXNwb25zZSJrkkEyCghBdWRpdExvZxINR2V0IGF1ZGl0IGxvZxoXR2V0IGFuIGF1ZGl0IGxvZyBieSBJRC6C0+STAjASLi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYXVkaXRsb2dzL3tpZH0SiQIKE0Rlc2NyaWJlUHJlZmVyZW5jZXMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlc2NyaWJlUHJlZmVyZW5jZXNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZXNjcmliZVByZWZlcmVuY2VzUmVzcG9uc2UiggGSQVwKClByZWZlcmVuY2USFERlc2NyaWJlIHByZWZlcmVuY2VzGjhSZXR1cm5zIGEgbGlzdCBvZiBhbGwgcHJlZmVyZW5jZXMgc3VwcG9ydGVkIGJ5IEZyb250aWVyLoLT5JMCHRIbL3YxYmV0YTEvcHJlZmVyZW5jZXMvdHJhaXRzEsQDCh1DcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlcxI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0GkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlIp8CkkHpAQoKUHJlZmVyZW5jZRIfQ3JlYXRlIG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcxq5AUNyZWF0ZSBhIG5ldyBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMuIFRoZSBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBvcmdhbml6YXRpb24gYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIsIicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vcHJlZmVyZW5jZXM6ASoSpQIKG0xpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlcxI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2UihgGSQVQKClByZWZlcmVuY2USHUxpc3Qgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzGidMaXN0IGFuIG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcyBieSBJRC6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9wcmVmZXJlbmNlcxKcAwoYQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZSKGApJB1QEKClByZWZlcmVuY2USGkNyZWF0ZSBwcm9qZWN0IHByZWZlcmVuY2VzGqoBQ3JlYXRlIGEgbmV3IHByb2plY3QgcHJlZmVyZW5jZXMuIFRoZSBwcm9qZWN0IHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgcHJvamVjdCBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiciIi92MWJldGExL3Byb2plY3RzL3tpZH0vcHJlZmVyZW5jZXM6ASoShQIKFkxpc3RQcm9qZWN0UHJlZmVyZW5jZXMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVzcG9uc2UidpJBSQoKUHJlZmVyZW5jZRIYTGlzdCBwcm9qZWN0IHByZWZlcmVuY2VzGiFMaXN0IGEgcHJvamVjdCBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiQSIi92MWJldGExL3Byb2plY3RzL3tpZH0vcHJlZmVyZW5jZXMSjAMKFkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFByZWZlcmVuY2VzUmVzcG9uc2Ui/AGSQc0BCgpQcmVmZXJlbmNlEhhDcmVhdGUgZ3JvdXAgcHJlZmVyZW5jZXMapAFDcmVhdGUgYSBuZXcgZ3JvdXAgcHJlZmVyZW5jZXMuIFRoZSBncm91cCBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGdyb3VwIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJSIgL3YxYmV0YTEvZ3JvdXBzL3tpZH0vcHJlZmVyZW5jZXM6ASoS+QEKFExpc3RHcm91cFByZWZlcmVuY2VzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFByZWZlcmVuY2VzUmVzcG9uc2UicJJBRQoKUHJlZmVyZW5jZRIWTGlzdCBncm91cCBwcmVmZXJlbmNlcxofTGlzdCBhIGdyb3VwIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCIhIgL3YxYmV0YTEvZ3JvdXBzL3tpZH0vcHJlZmVyZW5jZXMShAMKFUNyZWF0ZVVzZXJQcmVmZXJlbmNlcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVzcG9uc2Ui9wGSQckBCgpQcmVmZXJlbmNlEhdDcmVhdGUgdXNlciBwcmVmZXJlbmNlcxqhAUNyZWF0ZSBhIG5ldyB1c2VyIHByZWZlcmVuY2VzLiBUaGUgdXNlciBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHVzZXIgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIkIh8vdjFiZXRhMS91c2Vycy97aWR9L3ByZWZlcmVuY2VzOgEqEvMBChNMaXN0VXNlclByZWZlcmVuY2VzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlclByZWZlcmVuY2VzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIm2SQUMKClByZWZlcmVuY2USFUxpc3QgdXNlciBwcmVmZXJlbmNlcxoeTGlzdCBhIHVzZXIgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIhEh8vdjFiZXRhMS91c2Vycy97aWR9L3ByZWZlcmVuY2VzEqEDChxDcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIv8BkkHRAQoKUHJlZmVyZW5jZRIfQ3JlYXRlIGN1cnJlbnQgdXNlciBwcmVmZXJlbmNlcxqhAUNyZWF0ZSBhIG5ldyB1c2VyIHByZWZlcmVuY2VzLiBUaGUgdXNlciBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHVzZXIgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIkIh8vdjFiZXRhMS91c2Vycy9zZWxmL3ByZWZlcmVuY2VzOgEqEpACChpMaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlcxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlInWSQUsKClByZWZlcmVuY2USHUxpc3QgY3VycmVudCB1c2VyIHByZWZlcmVuY2VzGh5MaXN0IGEgdXNlciBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiESHy92MWJldGExL3VzZXJzL3NlbGYvcHJlZmVyZW5jZXMSkwIKFENyZWF0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiiQGSQVQKB0JpbGxpbmcSFkNyZWF0ZSBiaWxsaW5nIGFjY291bnQaMUNyZWF0ZSBhIG5ldyBiaWxsaW5nIGFjY291bnQgZm9yIGFuIG9yZ2FuaXphdGlvbi6C0+STAiwiJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZzoBKhLzAQoRR2V0QmlsbGluZ0FjY291bnQSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdBY2NvdW50UmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0FjY291bnRSZXNwb25zZSJzkkE8CgdCaWxsaW5nEhNHZXQgYmlsbGluZyBhY2NvdW50GhxHZXQgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwIuEiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfRKFAgoUVXBkYXRlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZSJ8kkFCCgdCaWxsaW5nEhZVcGRhdGUgYmlsbGluZyBhY2NvdW50Gh9VcGRhdGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwIxGiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfToBKhLBAgoWUmVnaXN0ZXJCaWxsaW5nQWNjb3VudBI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXNwb25zZSKxAZJBbgoHQmlsbGluZxIkUmVnaXN0ZXIgYmlsbGluZyBhY2NvdW50IHRvIHByb3ZpZGVyGj1SZWdpc3RlciBhIGJpbGxpbmcgYWNjb3VudCB0byBhIHByb3ZpZGVyIGlmIGl0J3Mgbm90IGFscmVhZHkugtPkkwI6IjUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9yZWdpc3RlcjoBKhKDAgoTTGlzdEJpbGxpbmdBY2NvdW50cxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdBY2NvdW50c1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nQWNjb3VudHNSZXNwb25zZSJ9kkFLCgdCaWxsaW5nEhVMaXN0IGJpbGxpbmcgYWNjb3VudHMaKUxpc3QgYmlsbGluZyBhY2NvdW50cyBvZiBhbiBvcmdhbml6YXRpb24ugtPkkwIpEicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcSggIKFERlbGV0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UieZJBQgoHQmlsbGluZxIWRGVsZXRlIGJpbGxpbmcgYWNjb3VudBofRGVsZXRlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCLiosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0SjQIKFEVuYWJsZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UigwGSQUIKB0JpbGxpbmcSFkVuYWJsZSBiaWxsaW5nIGFjY291bnQaH0VuYWJsZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAjgiMy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2VuYWJsZToBKhLpAgoVRGlzYWJsZUJpbGxpbmdBY2NvdW50EjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSLcAZJBmQEKB0JpbGxpbmcSF0Rpc2FibGUgYmlsbGluZyBhY2NvdW50GnVEaXNhYmxlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELiBEaXNhYmxpbmcgYSBiaWxsaW5nIGFjY291bnQgZG9lc24ndCBhdXRvbWF0aWNhbGx5IGRpc2FibGUgaXQncyBhY3RpdmUgc3Vic2NyaXB0aW9ucy6C0+STAjkiNC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2Rpc2FibGU6ASoSiwIKEUdldEJpbGxpbmdCYWxhbmNlEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQmFsYW5jZVJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdCYWxhbmNlUmVzcG9uc2UiigGSQUsKB0JpbGxpbmcSE0dldCBiaWxsaW5nIGJhbGFuY2UaK0dldCB0aGUgYmFsYW5jZSBvZiBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAjYSNC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2JhbGFuY2US+gEKCkhhc1RyaWFsZWQSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkhhc1RyaWFsZWRSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5IYXNUcmlhbGVkUmVzcG9uc2UijgGSQT8KB0JpbGxpbmcSC0hhcyB0cmlhbGVkGidDaGVjayBpZiBhIGJpbGxpbmcgYWNjb3VudCBoYXMgdHJpYWxlZC6C0+STAkYSRC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L3BsYW5zL3twbGFuX2lkfS90cmlhbGVkEscCCg9HZXRTdWJzY3JpcHRpb24SMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFN1YnNjcmlwdGlvblJlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFN1YnNjcmlwdGlvblJlc3BvbnNlIswBkkE7CgxTdWJzY3JpcHRpb24SEEdldCBzdWJzY3JpcHRpb24aGUdldCBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STAocBEkcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfVo8EjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9EuoCChJDYW5jZWxTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNhbmNlbFN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNhbmNlbFN1YnNjcmlwdGlvblJlc3BvbnNlIuYBkkFBCgxTdWJzY3JpcHRpb24SE0NhbmNlbCBzdWJzY3JpcHRpb24aHENhbmNlbCBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STApsBIk4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfS9jYW5jZWw6ASpaRiJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfS9jYW5jZWw6ASoS0wIKEUxpc3RTdWJzY3JpcHRpb25zEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTdWJzY3JpcHRpb25zUmVzcG9uc2Ui0gGSQUwKDFN1YnNjcmlwdGlvbhISTGlzdCBzdWJzY3JpcHRpb25zGihMaXN0IHN1YnNjcmlwdGlvbnMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJ9EkIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnNaNxI1L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMS9AIKEkNoYW5nZVN1YnNjcmlwdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2Ui8AGSQUsKDFN1YnNjcmlwdGlvbhIYQ2hhbmdlIHN1YnNjcmlwdGlvbiBwbGFuGiFDaGFuZ2UgYSBzdWJzY3JpcHRpb24gcGxhbiBieSBJRC6C0+STApsBIk4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfS9jaGFuZ2U6ASpaRiJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfS9jaGFuZ2U6ASoS3AIKElVwZGF0ZVN1YnNjcmlwdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlU3Vic2NyaXB0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2Ui2AGSQUEKDFN1YnNjcmlwdGlvbhITVXBkYXRlIHN1YnNjcmlwdGlvbhocVXBkYXRlIGEgc3Vic2NyaXB0aW9uIGJ5IElELoLT5JMCjQEaRy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9OgEqWj8iOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH06ASoS2AEKDUNyZWF0ZVByb2R1Y3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2R1Y3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9kdWN0UmVzcG9uc2UiZJJBPQoHUHJvZHVjdBIOQ3JlYXRlIHByb2R1Y3QaIkNyZWF0ZSBhIG5ldyBwcm9kdWN0IGZvciBwbGF0Zm9ybS6C0+STAh4iGS92MWJldGExL2JpbGxpbmcvcHJvZHVjdHM6ASoSwAEKCkdldFByb2R1Y3QSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2R1Y3RSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9kdWN0UmVzcG9uc2UiVZJBLAoHUHJvZHVjdBILR2V0IHByb2R1Y3QaFEdldCBhIHByb2R1Y3QgYnkgSUQugtPkkwIgEh4vdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzL3tpZH0SzwEKDExpc3RQcm9kdWN0cxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2R1Y3RzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2R1Y3RzUmVzcG9uc2UiXpJBOgoHUHJvZHVjdBINTGlzdCBwcm9kdWN0cxogTGlzdCBhbGwgcHJvZHVjdHMgb2YgYSBwbGF0Zm9ybS6C0+STAhsSGS92MWJldGExL2JpbGxpbmcvcHJvZHVjdHMS0gEKDVVwZGF0ZVByb2R1Y3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2R1Y3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9kdWN0UmVzcG9uc2UiXpJBMgoHUHJvZHVjdBIOVXBkYXRlIHByb2R1Y3QaF1VwZGF0ZSBhIHByb2R1Y3QgYnkgSUQugtPkkwIjGh4vdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzL3tpZH06ASoS2AEKDUNyZWF0ZUZlYXR1cmUSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUZlYXR1cmVSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVGZWF0dXJlUmVzcG9uc2UiZJJBPQoHRmVhdHVyZRIOQ3JlYXRlIGZlYXR1cmUaIkNyZWF0ZSBhIG5ldyBmZWF0dXJlIGZvciBwbGF0Zm9ybS6C0+STAh4iGS92MWJldGExL2JpbGxpbmcvZmVhdHVyZXM6ASoSwAEKCkdldEZlYXR1cmUSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEZlYXR1cmVSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRGZWF0dXJlUmVzcG9uc2UiVZJBLAoHRmVhdHVyZRILR2V0IGZlYXR1cmUaFEdldCBhIGZlYXR1cmUgYnkgSUQugtPkkwIgEh4vdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzL3tpZH0S0gEKDVVwZGF0ZUZlYXR1cmUSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUZlYXR1cmVSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVGZWF0dXJlUmVzcG9uc2UiXpJBMgoHRmVhdHVyZRIOVXBkYXRlIGZlYXR1cmUaF1VwZGF0ZSBhIGZlYXR1cmUgYnkgSUQugtPkkwIjGh4vdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzL3tpZH06ASoSwAEKDExpc3RGZWF0dXJlcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEZlYXR1cmVzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEZlYXR1cmVzUmVzcG9uc2UiT5JBKwoHRmVhdHVyZRINTGlzdCBmZWF0dXJlcxoRTGlzdCBhbGwgZmVhdHVyZXOC0+STAhsSGS92MWJldGExL2JpbGxpbmcvZmVhdHVyZXMSwwEKCkNyZWF0ZVBsYW4SLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBsYW5SZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQbGFuUmVzcG9uc2UiWJJBNAoEUGxhbhILQ3JlYXRlIHBsYW4aH0NyZWF0ZSBhIG5ldyBwbGFuIGZvciBwbGF0Zm9ybS6C0+STAhsiFi92MWJldGExL2JpbGxpbmcvcGxhbnM6ASoSrAEKCUxpc3RQbGFucxIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBsYW5zUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBsYW5zUmVzcG9uc2UiRJJBIwoEUGxhbhIKTGlzdCBwbGFucxoPTGlzdCBhbGwgcGxhbnMugtPkkwIYEhYvdjFiZXRhMS9iaWxsaW5nL3BsYW5zEqsBCgdHZXRQbGFuEikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQbGFuUmVxdWVzdBoqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGxhblJlc3BvbnNlIkmSQSMKBFBsYW4SCEdldCBwbGFuGhFHZXQgYSBwbGFuIGJ5IElELoLT5JMCHRIbL3YxYmV0YTEvYmlsbGluZy9wbGFucy97aWR9Er0BCgpVcGRhdGVQbGFuEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQbGFuUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUGxhblJlc3BvbnNlIlKSQSkKBFBsYW4SC1VwZGF0ZSBwbGFuGhRVcGRhdGUgYSBwbGFuIGJ5IElELoLT5JMCIBobL3YxYmV0YTEvYmlsbGluZy9wbGFucy97aWR9OgEqEoUDCg5DcmVhdGVDaGVja291dBIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ2hlY2tvdXRSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDaGVja291dFJlc3BvbnNlIo0CkkGIAQoIQ2hlY2tvdXQSIkNoZWNrb3V0IGEgcHJvZHVjdCBvciBzdWJzY3JpcHRpb24aWENoZWNrb3V0IGEgcHJvZHVjdCB0byBidXkgaXQgb25lIHRpbWUgb3Igc3RhcnQgYSBzdWJzY3JpcHRpb24gcGxhbiBvbiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnsiPi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2tvdXRzOgEqWjYiMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHM6ASoStwIKDUxpc3RDaGVja291dHMSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDaGVja291dHNSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q2hlY2tvdXRzUmVzcG9uc2UiwgGSQUQKCENoZWNrb3V0Eg5MaXN0IGNoZWNrb3V0cxooTGlzdCBhbGwgY2hlY2tvdXRzIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCdRI+L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVja291dHNaMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2NoZWNrb3V0cxKmAgoLR2V0Q2hlY2tvdXQSLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldENoZWNrb3V0UmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q2hlY2tvdXRSZXNwb25zZSK3AZJBLwoIQ2hlY2tvdXQSDEdldCBjaGVja291dBoVR2V0IGEgY2hlY2tvdXQgYnkgSUQugtPkkwJ/EkMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrb3V0cy97aWR9WjgSNi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHMve2lkfRLcAgoXQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnQSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrRmVhdHVyZUVudGl0bGVtZW50UmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnRSZXNwb25zZSLJAZJBVgoLRW50aXRsZW1lbnQSEUNoZWNrIGVudGl0bGVtZW50GjRDaGVjayBpZiBhIGJpbGxpbmcgYWNjb3VudCBpcyBlbnRpdGxlZCB0byBhIGZlYXR1cmUugtPkkwJqIjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrOgEqWikiJC92MWJldGExL29yZ2FuaXphdGlvbnMvYmlsbGluZy9jaGVjazoBKhKfAgoWQ2hlY2tDcmVkaXRFbnRpdGxlbWVudBI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tDcmVkaXRFbnRpdGxlbWVudFJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZSKPAZJBawoLRW50aXRsZW1lbnQSGENoZWNrIGNyZWRpdCBlbnRpdGxlbWVudBpCQ2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaGFzIGVub3VnaCBjcmVkaXRzIHRvIGNvdmVyIHRoZSBhbW91bnQugtPkkwIbIhYvdjFiZXRhMS9iaWxsaW5nL2NoZWNrOgEqEskCChJDcmVhdGVCaWxsaW5nVXNhZ2USNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdVc2FnZVJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIsUBkkFQCgVVc2FnZRIUQ3JlYXRlIGJpbGxpbmcgdXNhZ2UaMVJlcG9ydCBhIG5ldyBiaWxsaW5nIHVzYWdlIGZvciBhIGJpbGxpbmcgYWNjb3VudC6C0+STAmwiOy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vdXNhZ2VzOgEqWioiJS92MWJldGExL29yZ2FuaXphdGlvbnMvYmlsbGluZy91c2FnZXM6ASoS7AIKF0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2Ui2QGSQVUKC1RyYW5zYWN0aW9uEhlMaXN0IGJpbGxpbmcgdHJhbnNhY3Rpb25zGitMaXN0IGFsbCB0cmFuc2FjdGlvbnMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJ7EkEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3RyYW5zYWN0aW9uc1o2EjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvdHJhbnNhY3Rpb25zEu8CChhUb3RhbERlYml0ZWRUcmFuc2FjdGlvbnMSOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlRvdGFsRGViaXRlZFRyYW5zYWN0aW9uc1JlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlRvdGFsRGViaXRlZFRyYW5zYWN0aW9uc1Jlc3BvbnNlItkBkkF/CgtUcmFuc2FjdGlvbhI3U3VtIG9mIGFtb3VudCBvZiBkZWJpdGVkIHRyYW5zYWN0aW9ucyBpbmNsdWRpbmcgcmVmdW5kcxo3U3VtIG9mIGFtb3VudCBvZiBkZWJpdGVkIHRyYW5zYWN0aW9ucyBpbmNsdWRpbmcgcmVmdW5kc4LT5JMCURJPL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9kZWJpdGVkX3RyYW5zYWN0aW9uc190b3RhbBKvAgoMTGlzdEludm9pY2VzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0SW52b2ljZXNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0SW52b2ljZXNSZXNwb25zZSK9AZJBQQoHSW52b2ljZRINTGlzdCBpbnZvaWNlcxonTGlzdCBhbGwgaW52b2ljZXMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJzEj0vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2ludm9pY2VzWjISMC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9pbnZvaWNlcxLiAgoSR2V0VXBjb21pbmdJbnZvaWNlEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVcGNvbWluZ0ludm9pY2VSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVcGNvbWluZ0ludm9pY2VSZXNwb25zZSLeAZJBTwoHSW52b2ljZRIUR2V0IHVwY29taW5nIGludm9pY2UaLkdldCB0aGUgdXBjb21pbmcgaW52b2ljZSBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAoUBEkYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2ludm9pY2VzL3VwY29taW5nWjsSOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9pbnZvaWNlcy91cGNvbWluZxKcAgoWQmlsbGluZ1dlYmhvb2tDYWxsYmFjaxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ1dlYmhvb2tDYWxsYmFja1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXNwb25zZSKMAZJBTgoHV2ViaG9vaxIWQWNjZXB0IEJpbGxpbmcgd2ViaG9vaxorQWNjZXB0cyBhIEJpbGxpbmcgd2ViaG9vayBhbmQgcHJvY2Vzc2VzIGl0LoLT5JMCNSItL3YxYmV0YTEvYmlsbGluZy93ZWJob29rcy9jYWxsYmFjay97cHJvdmlkZXJ9OgRib2R5EpECChRDcmVhdGVQcm9zcGVjdFB1YmxpYxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlIocBkkFnCghQcm9zcGVjdBIPQ3JlYXRlIHByb3NwZWN0GkpDcmVhdGUgcHJvc3BlY3QgZm9yIGdpdmVuIGVtYWlsIGFuZCBhY3Rpdml0eS4gQXZhaWxhYmxlIGZvciBwdWJsaWMgYWNjZXNzLoLT5JMCFyISL3YxYmV0YTEvcHJvc3BlY3RzOgEqQvINCiNpby5yYXlzdGFjay5wcm90b24uZnJvbnRpZXIudjFiZXRhMUIIRnJvbnRpZXJaO2dpdGh1Yi5jb20vcmF5c3RhY2svcHJvdG9uL2Zyb250aWVyL3YxYmV0YTE7ZnJvbnRpZXJ2MWJldGExkkGCDRIeChVGcm9udGllciBHZW5lcmFsIEFQSXMyBTAuMi4wGg4xMjcuMC4wLjE6NzQwMCoBATIQYXBwbGljYXRpb24vanNvbjoQYXBwbGljYXRpb24vanNvblI8CgMyMDASNQobT0sgLSBBIHN1Y2Nlc3NmdWwgcmVzcG9uc2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmkKAzQwMBJiCkhCYWQgUmVxdWVzdCAtIFRoZSByZXF1ZXN0IHdhcyBtYWxmb3JtZWQgb3IgY29udGFpbmVkIGludmFsaWQgcGFyYW1ldGVycy4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSSgoDNDAxEkMKKVVuYXV0aG9yaXplZCAtIEF1dGhlbnRpY2F0aW9uIGlzIHJlcXVpcmVkEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmEKAzQwMxJaCkBGb3JiaWRkZW4gLSBVc2VyIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUlEKAzQwNBJKCjBOb3QgRm91bmQgLSBUaGUgcmVxdWVzdGVkIHJlc291cmNlIHdhcyBub3QgZm91bmQSFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSdQoDNTAwEm4KVEludGVybmFsIFNlcnZlciBFcnJvci4gUmV0dXJuZWQgd2hlbiB0aGVyZXMgaXMgc29tZXRoaW5nIHdyb25nIHdpdGggRnJvbnRpZXIgc2VydmVyLhIWChQaEi5nb29nbGUucnBjLlN0YXR1c1q2AQpECgVCYXNpYxI7CAESH0NsaWVudCBJRC9TZWNyZXQgYXV0aGVudGljYXRpb24aFEJhc2ljIEF1dGhlbnRpY2F0aW9uIAIKbgoGQmVhcmVyEmQIAhJPVGhlIEF1dGhvcml6YXRpb24gaGVhZGVyIG11c3QgYmUgc2V0IHRvIEJlYXJlciBmb2xsb3dlZCBieSBhIHNwYWNlIGFuZCBhIHRva2VuLhoNQXV0aG9yaXphdGlvbiACYhMKBwoFQmFzaWMKCAoGQmVhcmVyagYKBFVzZXJqggMKBUdyb3VwEvgCR3JvdXBzIGluIEZyb250aWVyIGFyZSB1c2VkIHRvIG1hbmFnZSB1c2VycyBhbmQgdGhlaXIgYWNjZXNzIHRvIHJlc291cmNlcy4gRWFjaCBncm91cCBoYXMgYSB1bmlxdWUgbmFtZSBhbmQgaWQgdGhhdCBjYW4gYmUgdXNlZCB0byBncmFudCBhY2Nlc3MgdG8gcmVzb3VyY2VzLiBXaGVuIGEgdXNlciBpcyBhZGRlZCB0byBhIGdyb3VwLCB0aGV5IGluaGVyaXQgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyB0aGF0IGhhdmUgYmVlbiBncmFudGVkIHRvIHRoZSBncm91cC4gVGhpcyBhbGxvd3MgeW91IHRvIG1hbmFnZSBhY2Nlc3MgdG8gcmVzb3VyY2VzIGF0IHNjYWxlLCB3aXRob3V0IGhhdmluZyB0byBncmFudCBwZXJtaXNzaW9ucyB0byBpbmRpdmlkdWFsIHVzZXJzLmoGCgRSb2xlag4KDE9yZ2FuaXphdGlvbmoJCgdQcm9qZWN0aggKBlBvbGljeWoKCghSZWxhdGlvbmoMCgpQZXJtaXNzaW9uagsKCU5hbWVzcGFjZWoKCghSZXNvdXJjZWobCgVBdXRoehISQXV0aG9yaXphdGlvbiBBUElzahwKBUF1dGhuEhNBdXRoZW50aWNhdGlvbiBBUElzapACCgpNZXRhU2NoZW1hEoECTWFuYWdlIE1ldGFkYXRhIFNjaGVtYXMgd2hpY2ggYXJlIHVzZWQgdG8gdmFsaWRhdGUgbWV0YWRhdGEgb2JqZWN0IHdoaWxlIGNyZWF0aW5nIHVzZXIvb3JnL2dyb3VwL3JvbGUuIEZyb250aWVyIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIGRlZmF1bHQgbWV0YXNjaGVtYXMgd2l0aCBgbGFiZWxgIGFuZCBgZGVzY3JpcHRpb25gIGZpZWxkcy4gWW91IGNhbiBhbHNvIHVwZGF0ZSB0aGVzZSBtZXRhc2NoZW1hcyB0byBhZGQvZWRpdCBtb3JlIGZpZWxkcy5iBnByb3RvMw", [file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_struct, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_raystack_frontier_v1beta1_models, file_validate_validate]);
|
|
21
|
+
fileDesc("CihyYXlzdGFjay9mcm9udGllci92MWJldGExL2Zyb250aWVyLnByb3RvEhlyYXlzdGFjay5mcm9udGllci52MWJldGExIokCChlCaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDQoFcGhvbmUYAyABKAkSQgoHYWRkcmVzcxgEIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQWRkcmVzcxIQCghjdXJyZW5jeRgFIAEoCRI/Cgh0YXhfZGF0YRgGIAMoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuVGF4EikKCG1ldGFkYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKVAQobQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARJMCgRib2R5GAIgASgLMjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5Qgj6QgWKAQIQARIPCgdvZmZsaW5lGAMgASgIImIKHENyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudCKUAQoYR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQARIcChR3aXRoX3BheW1lbnRfbWV0aG9kcxgDIAEoCBIcChR3aXRoX2JpbGxpbmdfZGV0YWlscxgEIAEoCBIOCgZleHBhbmQYZSADKAki7QEKGUdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudBJBCg9wYXltZW50X21ldGhvZHMYAiADKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBheW1lbnRNZXRob2QSSQoPYmlsbGluZ19kZXRhaWxzGAMgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudERldGFpbHMikAEKG1VwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABEkIKBGJvZHkYAyABKAsyNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50UmVxdWVzdEJvZHkiYgocVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZRJCCg9iaWxsaW5nX2FjY291bnQYASABKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50Ik4KHVJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiIAoeUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIkUKGkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiYgobTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlEkMKEGJpbGxpbmdfYWNjb3VudHMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50IkwKG0RlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABIh4KHERlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiTAobRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHgocRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSJNChxEaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHwodRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiSQoYR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiXwoZR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZRJCCgdiYWxhbmNlGAEgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudC5CYWxhbmNlIlwKEUhhc1RyaWFsZWRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAESGAoHcGxhbl9pZBgDIAEoCUIH+kIEcgIQASIlChJIYXNUcmlhbGVkUmVzcG9uc2USDwoHdHJpYWxlZBgBIAEoCCKSAQoZQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEgoKcHJvamVjdF9pZBgEIAEoCRIwCgZ1c2FnZXMYAyADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzYWdlIhwKGkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIvkBCh5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEi0KBXNpbmNlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICGAESLwoLc3RhcnRfcmFuZ2UYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWVuZF9yYW5nZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZXhwYW5kGGUgAygJImYKH0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2USQwoMdHJhbnNhY3Rpb25zGAEgAygLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nVHJhbnNhY3Rpb24iWAofVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHAoKYmlsbGluZ19pZBgCIAEoCUII+kIFcgOwAQEiZgogVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2USQgoHZGViaXRlZBgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQmFsYW5jZSJ3ChZHZXRTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiWAoXR2V0U3Vic2NyaXB0aW9uUmVzcG9uc2USPQoMc3Vic2NyaXB0aW9uGAEgASgLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24igQEKGExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESDQoFc3RhdGUYAyABKAkSDAoEcGxhbhgEIAEoCRIOCgZleHBhbmQYZSADKAkiWwoZTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZRI+Cg1zdWJzY3JpcHRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24ilQEKGVVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhMKAmlkGAMgASgJQgf6QgRyAhABEikKCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJbChpVcGRhdGVTdWJzY3JpcHRpb25SZXNwb25zZRI9CgxzdWJzY3JpcHRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbiKuAwoZQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoCaWQYAyABKAlCB/pCBHICEAESEAoEcGxhbhgEIAEoCUICGAESFQoJaW1tZWRpYXRlGAUgASgIQgIYARJWCgtwbGFuX2NoYW5nZRgGIAEoCzI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdC5QbGFuQ2hhbmdlSAASWAoMcGhhc2VfY2hhbmdlGAcgASgLMkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0LlBoYXNlQ2hhbmdlSAAaLQoKUGxhbkNoYW5nZRIMCgRwbGFuGAEgASgJEhEKCWltbWVkaWF0ZRgCIAEoCBouCgtQaGFzZUNoYW5nZRIfChdjYW5jZWxfdXBjb21pbmdfY2hhbmdlcxgBIAEoCEIICgZjaGFuZ2UiWgoaQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2USPAoFcGhhc2UYASABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbi5QaGFzZSJ9ChlDYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIRCglpbW1lZGlhdGUYBCABKAgiHAoaQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2UiEgoQTGlzdFBsYW5zUmVxdWVzdCJDChFMaXN0UGxhbnNSZXNwb25zZRIuCgVwbGFucxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJ/Ch5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QSDgoGb3JnX2lkGAEgASgJEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhIKCnByb2plY3RfaWQYBCABKAkSGAoHZmVhdHVyZRgDIAEoCUIH+kIEcgIQASIxCh9DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCCJRCh1DaGVja0NyZWRpdEVudGl0bGVtZW50UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSFwoGYW1vdW50GAIgASgDQgf6QgQiAiAAIjAKHkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZRIOCgZzdGF0dXMYASABKAgi0gIKFUNyZWF0ZUNoZWNrb3V0UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKY2FuY2VsX3VybBgEIAEoCRJOChFzdWJzY3JpcHRpb25fYm9keRgKIAEoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRTdWJzY3JpcHRpb25Cb2R5EkQKDHByb2R1Y3RfYm9keRgLIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRQcm9kdWN0Qm9keRJACgpzZXR1cF9ib2R5GAwgASgLMiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNldHVwQm9keSJeChZDcmVhdGVDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiJQChRMaXN0Q2hlY2tvdXRzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiXgoVTGlzdENoZWNrb3V0c1Jlc3BvbnNlEkUKEWNoZWNrb3V0X3Nlc3Npb25zGAEgAygLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNlc3Npb24iYwoSR2V0Q2hlY2tvdXRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQASJbChNHZXRDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiL7AgoSUHJvZHVjdFJlcXVlc3RCb2R5EhUKBG5hbWUYASABKAlCB/pCBHICEAMSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHcGxhbl9pZBgEIAEoCRIwCgZwcmljZXMYBSADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByaWNlEjQKCGJlaGF2aW9yGAggASgJQiL6Qh9yHVIFYmFzaWNSB2NyZWRpdHNSCHBlcl9zZWF00AEBEjQKCGZlYXR1cmVzGAkgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlEkoKD2JlaGF2aW9yX2NvbmZpZxgKIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdC5CZWhhdmlvckNvbmZpZxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgHEAgiXQoUQ3JlYXRlUHJvZHVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIoChFHZXRQcm9kdWN0UmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIVChNMaXN0UHJvZHVjdHNSZXF1ZXN0IkwKFExpc3RQcm9kdWN0c1Jlc3BvbnNlEjQKCHByb2R1Y3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9kdWN0ImgKFFVwZGF0ZVByb2R1Y3RSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEjsKBGJvZHkYAiABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3RSZXF1ZXN0Qm9keSJMChVVcGRhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCJ6ChJGZWF0dXJlUmVxdWVzdEJvZHkSFQoEbmFtZRgBIAEoCUIH+kIEcgIQAxINCgV0aXRsZRgCIAEoCRITCgtwcm9kdWN0X2lkcxgDIAMoCRIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXQoUQ3JlYXRlRmVhdHVyZVJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSIoChFHZXRGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSJoChRVcGRhdGVGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlUmVxdWVzdEJvZHkiTAoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjMKB2ZlYXR1cmUYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkZlYXR1cmUiFQoTTGlzdEZlYXR1cmVzUmVxdWVzdCJMChRMaXN0RmVhdHVyZXNSZXNwb25zZRI0CghmZWF0dXJlcxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSKDAgoPUGxhblJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSNAoIcHJvZHVjdHMYBCADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3QSLwoIaW50ZXJ2YWwYBSABKAlCHfpCGnIYUgNkYXlSBHdlZWtSBW1vbnRoUgR5ZWFyEhgKEG9uX3N0YXJ0X2NyZWRpdHMYBiABKAMSEgoKdHJpYWxfZGF5cxgHIAEoAxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVwoRQ3JlYXRlUGxhblJlcXVlc3QSQgoEYm9keRgBIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJDChJDcmVhdGVQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiIlCg5HZXRQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJACg9HZXRQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJiChFVcGRhdGVQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QbGFuUmVxdWVzdEJvZHkiQwoSVXBkYXRlUGxhblJlc3BvbnNlEi0KBHBsYW4YASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBsYW4ifAoTTGlzdEludm9pY2VzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESGwoTbm9uemVyb19hbW91bnRfb25seRgDIAEoCBIOCgZleHBhbmQYZSADKAkiTAoUTGlzdEludm9pY2VzUmVzcG9uc2USNAoIaW52b2ljZXMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludm9pY2UiVQoZR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiUQoaR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2USMwoHaW52b2ljZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52b2ljZSIQCg5HZXRKV0tzUmVxdWVzdCJGCg9HZXRKV0tzUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSITChFBdXRoTG9nb3V0UmVxdWVzdCIUChJBdXRoTG9nb3V0UmVzcG9uc2UieQoTQXV0aENhbGxiYWNrUmVxdWVzdBIVCg1zdHJhdGVneV9uYW1lGAEgASgJEg0KBXN0YXRlGAIgASgJEgwKBGNvZGUYAyABKAkSLgoNc3RhdGVfb3B0aW9ucxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiFgoUQXV0aENhbGxiYWNrUmVzcG9uc2Ui3gUKE0F1dGhlbnRpY2F0ZVJlcXVlc3QSZAoNc3RyYXRlZ3lfbmFtZRgBIAEoCUJNkkFKMkhOYW1lIG9mIHRoZSBzdHJhdGVneSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOiogYGdvb2dsZWASagoQcmVkaXJlY3Rfb25zdGFydBgCIAEoCEJQkkFNMktJZiBzZXQgdG8gdHJ1ZSwgbG9jYXRpb24gaGVhZGVyIHdpbGwgYmUgc2V0IGZvciByZWRpcmVjdCB0byBzdGFydCBhdXRoIGZsb3cSeAoJcmV0dXJuX3RvGAMgASgJQmWSQWIyYFVSTCB0byByZWRpcmVjdCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOipgImh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20iYBJuCgVlbWFpbBgEIAEoCUJfkkFcMlpFbWFpbCBvZiB0aGUgdXNlciB0byBhdXRoZW50aWNhdGUuIFVzZWQgZm9yIG1hZ2ljIGxpbmtzLjxici8+ICpFeGFtcGxlOipgZXhhbXBsZUBhY21lLm9yZ2ASigIKDGNhbGxiYWNrX3VybBgFIAEoCULzAZJB7wEy7AFIb3N0IHdoaWNoIHNob3VsZCBoYW5kbGUgdGhlIGNhbGwgdG8gZmluaXNoIGF1dGhlbnRpY2F0aW9uIGZsb3csIGZvciBtb3N0IGNhc2VzIGl0IGNvdWxkIGJlIGhvc3Qgb2YgZnJvbnRpZXIgYnV0IGluIGNhc2Ugb2YgcHJveGllcywgdGhpcyB3aWxsIGJlIHByb3h5IHB1YmxpYyBlbmRwb2ludC48YnIvPiAqRXhhbXBsZToqYGh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20vdjFiZXRhMS9hdXRoL2NhbGxiYWNrYCJnChRBdXRoZW50aWNhdGVSZXNwb25zZRIQCghlbmRwb2ludBgBIAEoCRINCgVzdGF0ZRgCIAEoCRIuCg1zdGF0ZV9vcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJFCgxBdXRoU3RyYXRlZ3kSDAoEbmFtZRgBIAEoCRInCgZwYXJhbXMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IhsKGUxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QiWQoaTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2USOwoKc3RyYXRlZ2llcxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFN0cmF0ZWd5ImMKEEF1dGhUb2tlblJlcXVlc3QSEgoKZ3JhbnRfdHlwZRgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSFQoNY2xpZW50X3NlY3JldBgDIAEoCRIRCglhc3NlcnRpb24YBCABKAkiPQoRQXV0aFRva2VuUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnRva2VuX3R5cGUYAiABKAki8wsKD1VzZXJSZXF1ZXN0Qm9keRLGAgoEbmFtZRgBIAEoCUK3ApJBjAIyiQJUaGUgbmFtZSBvZiB0aGUgdXNlci4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYW5kIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlci4gSWYgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4g+kIkciIyIF4oW2EtekEtWl1bYS16QS1aMC05LV9dezMsNjR9KT8kEpwBCgVlbWFpbBgCIAEoCUKMAZJBfjJ8VGhlIGVtYWlsIG9mIHRoZSB1c2VyLiBUaGUgZW1haWwgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuPGJyLz4qRXhhbXBsZToqYCJqb2huLmRvZUByYXlzdGFjay5vcmciYOJBAQL6QgRyAmABEtgDCghtZXRhZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCrAOSQagDMqUDTWV0YWRhdGEgb2JqZWN0IGZvciB1c2VycyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBwcmUtZGVmaW5lZCBpbiBVc2VyIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIHN1Y2ggYXMgbGFiZWwsIGRlc2NyaXB0aW9uIGV0Yy4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRpb25zIGZvciB0aGUgdXNlci4gVXBkYXRlIHRoZSBzYW1lIHRvIGFkZCBtb3JlIGZpZWxkcyB0byB0aGUgdXNlciBtZXRhZGF0YSBvYmplY3QuIDxici8+KkV4YW1wbGU6KmB7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9YBKpAQoFdGl0bGUYBCABKAlCmQGSQZUBMpIBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSB1c2VyLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPipFeGFtcGxlOipgIkpvaG4gRG9lImAS8AIKBmF2YXRhchgFIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLHAwoQTGlzdFVzZXJzUmVxdWVzdBJlCglwYWdlX3NpemUYASABKAVCUpJBRjJEVGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHJldHVybiBwZXIgcGFnZS4gVGhlIGRlZmF1bHQgaXMgMTAwMC76QgYaBCgBQAESTAoIcGFnZV9udW0YAiABKAVCOpJBLjIsVGhlIHBhZ2UgbnVtYmVyIHRvIHJldHVybi4gVGhlIGRlZmF1bHQgaXMgMS76QgYaBCgBQAESQQoHa2V5d29yZBgDIAEoCUIwkkEtMitUaGUga2V5d29yZCB0byBzZWFyY2ggZm9yIGluIG5hbWUgb3IgZW1haWwuEjwKBm9yZ19pZBgEIAEoCUIskkEpMidUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciB1c2VycyBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4SSgoFc3RhdGUYBiABKAlCO5JBODI2VGhlIHN0YXRlIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIlIKEUxpc3RVc2Vyc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFEi4KBXVzZXJzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIlcKEUNyZWF0ZVVzZXJSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keUII+kIFigECEAEiQwoSQ3JlYXRlVXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiOwoeTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEg0KBXN0YXRlGAIgASgJIqcBCh9MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbhJEChNqb2luYWJsZV92aWFfZG9tYWluGAIgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iNgolTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBINCgVzdGF0ZRgBIAEoCSKuAQomTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uEkQKE2pvaW5hYmxlX3ZpYV9kb21haW4YAiADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiInChlMaXN0UHJvamVjdHNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIlIKGkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0IrMCCiBMaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIVCg1ub25faW5oZXJpdGVkGAMgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAQgASgIEmUKCXBhZ2Vfc2l6ZRgFIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgGIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASL+AQohTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0El0KDGFjY2Vzc19wYWlycxgCIAMoCzJHLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlLkFjY2Vzc1BhaXISDQoFY291bnQYAyABKAUaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIh8KEUVuYWJsZVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhQKEkVuYWJsZVVzZXJSZXNwb25zZSIgChJEaXNhYmxlVXNlclJlcXVlc3QSCgoCaWQYASABKAkiFQoTRGlzYWJsZVVzZXJSZXNwb25zZSIfChFEZWxldGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSIUChJEZWxldGVVc2VyUmVzcG9uc2UiQAoPR2V0VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiFwoVR2V0Q3VycmVudFVzZXJSZXF1ZXN0IoQBChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISOwoLc2VydmljZXVzZXIYAiABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyIkMKElVwZGF0ZVVzZXJSZXNwb25zZRItCgR1c2VyGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIkoKGVVwZGF0ZUN1cnJlbnRVc2VyUmVzcG9uc2USLQoEdXNlchgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlciJZChFVcGRhdGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyUmVxdWVzdEJvZHkiHAoOR2V0VXNlclJlcXVlc3QSCgoCaWQYASABKAkiYwocTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCLhAQodTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJZCgxhY2Nlc3NfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlLkFjY2Vzc1BhaXIaMwoKQWNjZXNzUGFpchIQCghncm91cF9pZBgBIAEoCRITCgtwZXJtaXNzaW9ucxgCIAMoCSLYAQoVTGlzdFVzZXJHcm91cHNSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IGdyb3VwcyBmb3IuEnoKBm9yZ19pZBgDIAEoCUJqkkFnMmVUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciBncm91cHMgYnkuIElmIG5vdCBwcm92aWRlZCwgZ3JvdXBzIGZyb20gYWxsIG9yZ2FuaXphdGlvbnMgYXJlIHJldHVybmVkLkoECAIQAyJKChZMaXN0VXNlckdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiVAoYVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0EjgKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keSJaChpMaXN0VXNlckludml0YXRpb25zUmVxdWVzdBI8CgJpZBgBIAEoCUIwkkEtMitUaGUgdXNlciBlbWFpbCB0byBsaXN0IHRoZSBpbnZpdGF0aW9ucyBmb3IuIlkKG0xpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZRI6CgtpbnZpdGF0aW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiIjCiFMaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QilwEKIkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24SNQoEb3JncxgCIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIrYBChdMaXN0U2VydmljZVVzZXJzUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBMTIvVGhlIG9yZ2FuaXphdGlvbiBJRCB0byBmaWx0ZXIgc2VydmljZSB1c2VycyBieS7iQQEC+kIEcgIQAxJKCgVzdGF0ZRgCIAEoCUI7kkE4MjZUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4iWAoYTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIikQEKFlNlcnZpY2VVc2VyUmVxdWVzdEJvZHkSTAoFdGl0bGUYASABKAlCPZJBOjInVXNlciBmcmllbmRseSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHVzZXIuSg8iT3JkZXIgU2VydmljZSISKQoIbWV0YWRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IrYBChhDcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QSPwoEYm9keRgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJSZXF1ZXN0Qm9keRJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiWAoZQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIirgEKFUdldFNlcnZpY2VVc2VyUmVxdWVzdBI6CgJpZBgBIAEoCUIukkErMilUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0LhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQoWR2V0U2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIitAEKGERlbGV0ZVNlcnZpY2VVc2VyUmVxdWVzdBI9CgJpZBgBIAEoCUIxkkEuMixUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiGwoZRGVsZXRlU2VydmljZVVzZXJSZXNwb25zZSLQAQobQ3JlYXRlU2VydmljZVVzZXJKV0tSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSBrZXkgZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQocQ3JlYXRlU2VydmljZVVzZXJKV0tSZXNwb25zZRI1CgNrZXkYASABKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLktleUNyZWRlbnRpYWwi8gEKGEdldFNlcnZpY2VVc2VySldLUmVxdWVzdBJECgJpZBgBIAEoCUI4kkE1MjNUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0IGEga2V5IGZvci4SNQoGa2V5X2lkGAIgASgJQiWSQSIyIFRoZSB1bmlxdWUgSUQgb2YgdGhlIGtleSB0byBnZXQuElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJQChlHZXRTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlEjMKBGtleXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpTT05XZWJLZXkivQEKGkxpc3RTZXJ2aWNlVXNlckpXS3NSZXF1ZXN0EkQKAmlkGAEgASgJQjiSQTUyM1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IGtleXMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVgobTGlzdFNlcnZpY2VVc2VySldLc1Jlc3BvbnNlEjcKBGtleXMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VySldLIvsBChtEZWxldGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIGtleSBmb3IuEjgKBmtleV9pZBgCIAEoCUIokkElMiNUaGUgdW5pcXVlIElEIG9mIHRoZSBrZXkgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiHgocRGVsZXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSLXAQoiQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVxdWVzdBJHCgJpZBgBIAEoCUI7kkE4MjZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gY3JlYXRlIGEga2V5IGZvci4SDQoFdGl0bGUYAiABKAkSWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADImIKI0NyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlEjsKBnNlY3JldBgBIAEoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VjcmV0Q3JlZGVudGlhbCLHAQohTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IHNlY3JldHMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiYgoiTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXNwb25zZRI8CgdzZWNyZXRzGAEgAygLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZWNyZXRDcmVkZW50aWFsIosCCiJEZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0EkoKAmlkGAEgASgJQj6SQTsyOVRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUgYSBzZWNyZXQgZm9yLhI+CglzZWNyZXRfaWQYAiABKAlCK5JBKDImVGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VjcmV0IHRvIGRlbGV0ZS4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIiUKI0RlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlItQBCh1DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBJJCgJpZBgBIAEoCUI9kkE6MjhUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gY3JlYXRlIGEgdG9rZW4gZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiXAoeQ3JlYXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlEjoKBXRva2VuGAEgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlclRva2VuIsEBChxMaXN0U2VydmljZVVzZXJUb2tlbnNSZXF1ZXN0EkYKAmlkGAEgASgJQjqSQTcyNVRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IHRva2VucyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJcCh1MaXN0U2VydmljZVVzZXJUb2tlbnNSZXNwb25zZRI7CgZ0b2tlbnMYASADKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyVG9rZW4igwIKHURlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0EkkKAmlkGAEgASgJQj2SQToyOFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUgYSB0b2tlbiBmb3IuEjwKCHRva2VuX2lkGAIgASgJQiqSQScyJVRoZSB1bmlxdWUgSUQgb2YgdGhlIHRva2VuIHRvIGRlbGV0ZS4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIiAKHkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXNwb25zZSLfAQoeTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXF1ZXN0EkgKAmlkGAEgASgJQjySQTkyN1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IHByb2plY3RzIGZvci4SWQoGb3JnX2lkGAIgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADEhgKEHdpdGhfcGVybWlzc2lvbnMYAyADKAki6wEKH0xpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2USNAoIcHJvamVjdHMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QSWwoMYWNjZXNzX3BhaXJzGAIgAygLMkUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1Jlc3BvbnNlLkFjY2Vzc1BhaXIaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIu0BCh1MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVxdWVzdBIpCgZvcmdfaWQYAiABKAlCGfpCFnIUEAMyEF5bQS1aYS16MC05Xy1dKyQSVwoFc3RhdGUYAyABKAlCSJJBRTJDVGhlIHN0YXRlIG9mIHRoZSBncm91cCB0byBmaWx0ZXIgYnkuIEl0IGNhbiBiZSBlbmFibGVkIG9yIGRpc2FibGVkLhIRCglncm91cF9pZHMYBCADKAkSFAoMd2l0aF9tZW1iZXJzGAUgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAYgASgISgQIARACIlIKHkxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXNwb25zZRIwCgZncm91cHMYASADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwIq8BCh1DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBJCCgRib2R5GAEgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlUmVxdWVzdEJvZHlCCPpCBYoBAhABEkoKBm9yZ19pZBgCIAEoCUI6kkEzMjFUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSByb2xlIGJlbG9uZ3MgdG8u4kEBAiJPCh5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJBChpHZXRPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiTAobR2V0T3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlEi0KBHJvbGUYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUidQodVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAMgASgJEjgKBGJvZHkYAiABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGVSZXF1ZXN0Qm9keSJPCh5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSIxChBMaXN0Um9sZXNSZXF1ZXN0Eg0KBXN0YXRlGAEgASgJEg4KBnNjb3BlcxgCIAMoCSJDChFMaXN0Um9sZXNSZXNwb25zZRIuCgVyb2xlcxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJWChxMaXN0T3JnYW5pemF0aW9uUm9sZXNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxINCgVzdGF0ZRgCIAEoCRIOCgZzY29wZXMYAyADKAkiTwodTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2USLgoFcm9sZXMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiRAodRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIiAKHkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSKrCgoXT3JnYW5pemF0aW9uUmVxdWVzdEJvZHkS+wEKBG5hbWUYASABKAlC7AGSQc0BMsoBVGhlIG5hbWUgb2YgdGhlIG9yZ2FuaXphdGlvbi4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuPGJyLz4qRXhhbXBsZToqYCJmcm9udGllci1vcmcxLWFjbWUiYOJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBKyAQoFdGl0bGUYAiABKAlCogGSQZ4BMpsBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBvcmdhbml6YXRpb24uIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuPGJyLz4gKkV4YW1wbGUqOiBgIkFjbWUgSW5jImAS6QMKCG1ldGFkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEK9A5JBuQMytgNNZXRhZGF0YSBvYmplY3QgZm9yIG9yZ2FuaXphdGlvbnMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBPcmdhbml6YXRpb24gTWV0YXNjaGVtYS4gVGhlIG1ldGFkYXRhIG9iamVjdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhcmJpdHJhcnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9yZ2FuaXphdGlvbiBzdWNoIGFzIGxhYmVscywgZGVzY3JpcHRpb25zIGV0Yy4gVGhlIGRlZmF1bHQgT3JnYW5pemF0aW9uIE1ldGFzY2hlbWEgY29udGFpbnMgbGFiZWxzIGFuZCBkZXNjcmlwdG9uIGZpZWxkcy4gVXBkYXRlIHRoZSBPcmdhbml6YXRpb24gTWV0YXNjaGVtYSB0byBhZGQgbW9yZSBmaWVsZHMuIDxici8+KkV4YW1wbGUqOmB7ImxhYmVscyI6IHsia2V5IjogInZhbHVlIn0sICJkZXNjcmlwdGlvbiI6ICJPcmdhbml6YXRpb24gZGVzY3JpcHRpb24ifWAS8AIKBmF2YXRhchgEIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLpAwoYTGlzdE9yZ2FuaXphdGlvbnNSZXF1ZXN0EscBCgd1c2VyX2lkGAEgASgJQrUBkkGxATKuAVRoZSB1c2VyIElEIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIHVzZWQgdG8gbGlzdCBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgdGhhdCB0aGUgdXNlciBpcyBhIG1lbWJlciBvZi4gT3RoZXJ3aXNlLCBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgaW4gdGhlIEZyb250aWVyIGluc3RhbmNlIHdpbGwgYmUgbGlzdGVkLhJOCgVzdGF0ZRgCIAEoCUI/kkE8MjpUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgYGVuYWJsZWRgIG9yIGBkaXNhYmxlZGAuEmUKCXBhZ2Vfc2l6ZRgDIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgEIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASJbChlMaXN0T3JnYW5pemF0aW9uc1Jlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiJnChlDcmVhdGVPcmdhbml6YXRpb25SZXF1ZXN0EkoKBGJvZHkYASABKAsyMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJbChpDcmVhdGVPcmdhbml6YXRpb25SZXNwb25zZRI9Cgxvcmdhbml6YXRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiJYChdHZXRPcmdhbml6YXRpb25SZXNwb25zZRI9Cgxvcmdhbml6YXRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiJbChpVcGRhdGVPcmdhbml6YXRpb25SZXNwb25zZRI9Cgxvcmdhbml6YXRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiIkChZHZXRPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJImkKGVVwZGF0ZU9yZ2FuaXphdGlvblJlcXVlc3QSCgoCaWQYASABKAkSQAoEYm9keRgCIAEoCzIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uUmVxdWVzdEJvZHkiNAodTGlzdE9yZ2FuaXphdGlvbkFkbWluc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiUAoeTGlzdE9yZ2FuaXphdGlvbkFkbWluc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyInwKHExpc3RPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSHQoRcGVybWlzc2lvbl9maWx0ZXIYAiABKAlCAhgBEhIKCndpdGhfcm9sZXMYAyABKAgSFAoMcm9sZV9maWx0ZXJzGAQgAygJIvMBCh1MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZRIuCgV1c2VycxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlchJVCgpyb2xlX3BhaXJzGAIgAygLMkEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlInwKG0FkZE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxJICgh1c2VyX2lkcxgCIAMoCUI2kkEzMjFMaXN0IG9mIHVzZXIgSURzIHRvIGJlIGFkZGVkIHRvIHRoZSBvcmdhbml6YXRpb24uIh4KHEFkZE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2UiRQodUmVtb3ZlT3JnYW5pemF0aW9uVXNlclJlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSDwoHdXNlcl9pZBgCIAEoCSIgCh5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVzcG9uc2UiOgojTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiZAokTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIi3AEKIkxpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1JlcXVlc3QSTwoGb3JnX2lkGAEgASgJQj+SQTgyNnVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIHRvIHdoaWNoIHVzZXIgaXMgaW52aXRlZOJBAQISZQoHdXNlcl9pZBgCIAEoCUJUkkFRMk91c2VyX2lkIGZpbHRlciBpcyB0aGUgZW1haWwgaWQgb2YgdXNlciB3aG8gYXJlIGludml0ZWQgaW5zaWRlIHRoZSBvcmdhbml6YXRpb24uImEKI0xpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1Jlc3BvbnNlEjoKC2ludml0YXRpb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIoYECiNDcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggdXNlciBpcyBpbnZpdGVk4kEBAhKrAQoIdXNlcl9pZHMYAiADKAlCmAGSQYYBMoMBdXNlcl9pZCBpcyBlbWFpbCBpZCBvZiB1c2VyIHdobyBhcmUgaW52aXRlZCBpbnNpZGUgdGhlIG9yZ2FuaXphdGlvbi4gSWYgdXNlciBpcyBub3QgcmVnaXN0ZXJlZCBvbiB0aGUgcGxhdGZvcm0sIGl0IHdpbGwgYmUgbm90aWZpZWTiQQEC+kIHkgEECAEQChJWCglncm91cF9pZHMYAyADKAlCQ5JBQDI+bGlzdCBvZiBncm91cCBpZHMgdG8gd2hpY2ggdXNlciBuZWVkcyB0byBiZSBhZGRlZCBhcyBhIG1lbWJlci4ShwEKCHJvbGVfaWRzGAQgAygJQnWSQXIycGxpc3Qgb2Ygcm9sZSBpZHMgdG8gd2hpY2ggdXNlciBuZWVkcyB0byBiZSBhZGRlZCBhcyBhIG1lbWJlci4gUm9sZXMgYXJlIGJpbmRlZCBhdCBvcmdhbml6YXRpb24gbGV2ZWwgYnkgZGVmYXVsdC4iYgokQ3JlYXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlEjoKC2ludml0YXRpb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIj4KIEdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSJeCiFHZXRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2USOQoKaW52aXRhdGlvbhgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiJBCiNBY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZvcmdfaWQYAiABKAkiJgokQWNjZXB0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIkEKI0RlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSKVAgoeTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXF1ZXN0EmwKBm9yZ19pZBgBIAEoCUJckkFOMkx1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgbGlzdGVk4kEBAvpCBHICEAMShAEKBXN0YXRlGAIgASgJQnWSQXIycGZpbHRlciB0byBsaXN0IGRvbWFpbnMgYnkgdGhlaXIgc3RhdGUgKHBlbmRpbmcvdmVyaWZpZWQpLiBJZiBub3QgcHJvdmlkZWQsIGFsbCBkb21haW5zIGZvciBhbiBvcmcgd2lsbCBiZSBsaXN0ZWQiVQofTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXNwb25zZRIyCgdkb21haW5zGAEgAygLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4imAEKIExpc3RPcmdhbml6YXRpb25zQnlEb21haW5SZXF1ZXN0EnQKBG5hbWUYASABKAlCZpJBWDJWZG9tYWluIG5hbWUgdG8gYmUgdXNlZCB0byBsaXN0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyB0aGF0IGhhdmUgdGhpcyBkb21haW4gd2hpdGVsaXN0ZWTiQQEC+kIEcgIQAyJjCiFMaXN0T3JnYW5pemF0aW9uc0J5RG9tYWluUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIjIKF0pvaW5Pcmdhbml6YXRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAyIaChhKb2luT3JnYW5pemF0aW9uUmVzcG9uc2Ui0gEKHEdldE9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSQwoCaWQYASABKAlCN5JBKTIndW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgcmV0cmlldmVk4kEBAvpCBHICEAMSbQoGb3JnX2lkGAIgASgJQl2SQU8yTXVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW4gaXMgdG8gYmUgcmV0cmlldmVk4kEBAvpCBHICEAMiUgodR2V0T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2USMQoGZG9tYWluGAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4i4gEKH0NyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSawoGb3JnX2lkGAEgASgJQluSQU0yS3VuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW5zIGFyZSB0byBiZSBhZGRlZOJBAQL6QgRyAhADElIKBmRvbWFpbhgCIAEoCUJCkkE0MjJkb21haW4gbmFtZSB0byBiZSBhZGRlZCB0byB0aGUgdHJ1c3RlZCBkb21haW4gbGlzdOJBAQL6QgRyAhADIlUKIENyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlEjEKBmRvbWFpbhgBIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRG9tYWluItMBCh9EZWxldGVPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0EkEKAmlkGAEgASgJQjWSQScyJXVuaXF1ZSBpZCBvZiB0aGUgZG9tYWluIHRvIGJlIGRlbGV0ZWTiQQEC+kIEcgIQAxJtCgZvcmdfaWQYAiABKAlCXZJBTzJNdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIGRlbGV0ZWTiQQEC+kIEcgIQAyIiCiBEZWxldGVPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLVAQofVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJuCgZvcmdfaWQYASABKAlCXpJBUDJOdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIHZlcmlmaWVk4kEBAvpCBHICEAMSQgoCaWQYAiABKAlCNpJBKDImdW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgdmVyaWZpZWTiQQEC+kIEcgIQAyIxCiBWZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZRINCgVzdGF0ZRgBIAEoCSImCiREZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UiJwoZRW5hYmxlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIcChpFbmFibGVPcmdhbml6YXRpb25SZXNwb25zZSIoChpEaXNhYmxlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIdChtEaXNhYmxlT3JnYW5pemF0aW9uUmVzcG9uc2UiJwoZRGVsZXRlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIcChpEZWxldGVPcmdhbml6YXRpb25SZXNwb25zZSIrChlHZXRPcmdhbml6YXRpb25LeWNSZXF1ZXN0Eg4KBm9yZ19pZBgBIAEoCSJiChpHZXRPcmdhbml6YXRpb25LeWNSZXNwb25zZRJEChBvcmdhbml6YXRpb25fa3ljGAEgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb25LeWMirAUKElByb2plY3RSZXF1ZXN0Qm9keRL3AQoEbmFtZRgBIAEoCULoAZJByQEyxgFUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuPGJyLz4gKkV4YW1wbGU6KiBgZnJvbnRpZXItcGxheWdyb3VuZGDiQQEC+kIUchIyEF5bQS1aYS16MC05LV9dKyQStwEKBXRpdGxlGAIgASgJQqcBkkGjATKgAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcHJvamVjdC4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gPGJyLz4gKkV4YW1wbGU6KiBgRnJvbnRpZXIgUGxheWdyb3VuZGASiQEKCG1ldGFkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEJekkFbMllNZXRhZGF0YSBvYmplY3QgZm9yIHByb2plY3RzIHRoYXQgY2FuIGhvbGQga2V5IHZhbHVlIHBhaXJzIGRlZmluZWQgaW4gUHJvamVjdCBNZXRhc2NoZW1hLhJWCgZvcmdfaWQYBCABKAlCRpJBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggcHJvamVjdCBiZWxvbmdz4kEBAvpCBHICEAMiXQoUQ3JlYXRlUHJvamVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9qZWN0UmVzcG9uc2USMwoHcHJvamVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCLfAQofTGlzdE9yZ2FuaXphdGlvblByb2plY3RzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxKLAQoFc3RhdGUYAiABKAlCfJJBeTJ3RmlsdGVyIHByb2plY3RzIGJ5IHN0YXRlLiBJZiBub3Qgc3BlY2lmaWVkLCBhbGwgcHJvamVjdHMgYXJlIHJldHVybmVkLiA8YnIvPiAqUG9zc2libGUgdmFsdWVzOiogYGVuYWJsZWRgIG9yIGBkaXNhYmxlZGASGQoRd2l0aF9tZW1iZXJfY291bnQYAyABKAgiWAogTGlzdE9yZ2FuaXphdGlvblByb2plY3RzUmVzcG9uc2USNAoIcHJvamVjdHMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiHwoRR2V0UHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiSQoSR2V0UHJvamVjdFJlc3BvbnNlEjMKB3Byb2plY3QYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiXwoUVXBkYXRlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkSOwoEYm9keRgCIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdFJlcXVlc3RCb2R5IkwKFVVwZGF0ZVByb2plY3RSZXNwb25zZRIzCgdwcm9qZWN0GAEgASgLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0Ii8KGExpc3RQcm9qZWN0QWRtaW5zUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJLChlMaXN0UHJvamVjdEFkbWluc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIl0KF0xpc3RQcm9qZWN0VXNlcnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEhkKEXBlcm1pc3Npb25fZmlsdGVyGAIgASgJEhIKCndpdGhfcm9sZXMYAyABKAgi6QEKGExpc3RQcm9qZWN0VXNlcnNSZXNwb25zZRIuCgV1c2VycxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlchJQCgpyb2xlX3BhaXJzGAIgAygLMjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVzcG9uc2UuUm9sZVBhaXIaSwoIUm9sZVBhaXISDwoHdXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJJCh5MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSEgoKd2l0aF9yb2xlcxgDIAEoCCKMAgofTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZRI8CgxzZXJ2aWNldXNlcnMYASADKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyElcKCnJvbGVfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVzcG9uc2UuUm9sZVBhaXIaUgoIUm9sZVBhaXISFgoOc2VydmljZXVzZXJfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiQwoYTGlzdFByb2plY3RHcm91cHNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEhIKCndpdGhfcm9sZXMYAiABKAgi7gEKGUxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJRCgpyb2xlX3BhaXJzGAIgAygLMj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEdyb3Vwc1Jlc3BvbnNlLlJvbGVQYWlyGkwKCFJvbGVQYWlyEhAKCGdyb3VwX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIiIKFEVuYWJsZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIhcKFUVuYWJsZVByb2plY3RSZXNwb25zZSIjChVEaXNhYmxlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiGAoWRGlzYWJsZVByb2plY3RSZXNwb25zZSIiChREZWxldGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSIXChVEZWxldGVQcm9qZWN0UmVzcG9uc2UiowgKEVBvbGljeVJlcXVlc3RCb2R5ElIKB3JvbGVfaWQYASABKAlCQZJBMzIxdW5pcXVlIGlkIG9mIHRoZSByb2xlIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZOJBAQL6QgRyAhADEq8BCgV0aXRsZRgDIAEoCUKfAZJBmwEymAFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIHBvbGljeS4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gPGJyLz4gKkV4YW1wbGU6KiBgUG9saWN5IHRpdGxlYBKzAQoIcmVzb3VyY2UYAiABKAlCoAGSQZEBMo4BVGhlIHJlc291cmNlIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvZ3VhcmRpYW46NzBmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiOGUyYOJBAQL6QgRyAhADEu8CCglwcmluY2lwYWwYBCABKAlC2wKSQdMCMtACcHJpbmNpcGFsIGlzIHRoZSB1c2VyIG9yIGdyb3VwIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZC4gVGhlIHByaW5jaXBhbCBpZCBtdXN0IGJlIHByZWZpeGVkIHdpdGggaXRzIG5hbWVzcGFjZSBpZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiBUaGUgbmFtZXNwYWNlIGNhbiBiZSBgYXBwL3VzZXJgLCBgYXBwL2dyb3VwYCBvciBgYXBwL3NlcnZpY2V1c2VyYCAoY29taW5nIHVwISkgYW5kIHV1aWQgaXMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgcHJpbmNpcGFsLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvdXNlcjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVg4kEBAhLfAQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QrMBkkGvATKsAU1ldGFkYXRhIG9iamVjdCBmb3IgcG9saWNpZXMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBQb2xpY3kgTWV0YXNjaGVtYS48YnIvPiAqRXhhbXBsZToqIGB7ImxhYmVscyI6IHsia2V5IjogInZhbHVlIn0sICJkZXNjcmlwdGlvbiI6ICJQb2xpY3kgZGVzY3JpcHRpb24ifWAilAUKGkNyZWF0ZVBvbGljeUZvclByb2plY3RCb2R5ElIKB3JvbGVfaWQYASABKAlCQZJBMzIxdW5pcXVlIGlkIG9mIHRoZSByb2xlIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZOJBAQL6QgRyAhADEq8BCgV0aXRsZRgCIAEoCUKfAZJBmwEymAFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIHBvbGljeS4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gPGJyLz4gKkV4YW1wbGU6KiBgUG9saWN5IHRpdGxlYBLvAgoJcHJpbmNpcGFsGAMgASgJQtsCkkHTAjLQAnByaW5jaXBhbCBpcyB0aGUgdXNlciBvciBncm91cCB0byB3aGljaCBwb2xpY3kgaXMgYXNzaWduZWQuIFRoZSBwcmluY2lwYWwgaWQgbXVzdCBiZSBwcmVmaXhlZCB3aXRoIGl0cyBuYW1lc3BhY2UgaWQgaW4gdGhpcyBmb3JtYXQgYG5hbWVzcGFjZTp1dWlkYC4gVGhlIG5hbWVzcGFjZSBjYW4gYmUgYGFwcC91c2VyYCwgYGFwcC9ncm91cGAgb3IgYGFwcC9zZXJ2aWNldXNlcmAgKGNvbWluZyB1cCEpIGFuZCB1dWlkIGlzIHRoZSB1bmlxdWUgaWQgb2YgdGhlIHByaW5jaXBhbC4gPGJyLz4gKkV4YW1wbGU6KiBgYXBwL3VzZXI6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YOJBAQIiIgoUR2V0UGVybWlzc2lvblJlcXVlc3QSCgoCaWQYASABKAkiUgoVR2V0UGVybWlzc2lvblJlc3BvbnNlEjkKCnBlcm1pc3Npb24YASABKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBlcm1pc3Npb24iGAoWTGlzdFBlcm1pc3Npb25zUmVxdWVzdCJVChdMaXN0UGVybWlzc2lvbnNSZXNwb25zZRI6CgtwZXJtaXNzaW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGVybWlzc2lvbiIXChVMaXN0TmFtZXNwYWNlc1JlcXVlc3QiUgoWTGlzdE5hbWVzcGFjZXNSZXNwb25zZRI4CgpuYW1lc3BhY2VzGAEgAygLMiQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5OYW1lc3BhY2UiIQoTR2V0TmFtZXNwYWNlUmVxdWVzdBIKCgJpZBgBIAEoCSJPChRHZXROYW1lc3BhY2VSZXNwb25zZRI3CgluYW1lc3BhY2UYASABKAsyJC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk5hbWVzcGFjZSJbChNDcmVhdGVQb2xpY3lSZXF1ZXN0EkQKBGJvZHkYASABKAsyLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJPChRDcmVhdGVQb2xpY3lSZXNwb25zZRIxCgZwb2xpY3kYAiABKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeUoECAEQAiIeChBHZXRQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJIkYKEUdldFBvbGljeVJlc3BvbnNlEjEKBnBvbGljeRgBIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5IpkCChNMaXN0UG9saWNpZXNSZXF1ZXN0EjYKBm9yZ19pZBgBIAEoCUImkkEjMiFUaGUgb3JnYW5pemF0aW9uIGlkIHRvIGZpbHRlciBieS4SNQoKcHJvamVjdF9pZBgCIAEoCUIhkkEeMhxUaGUgcHJvamVjdCBpZCB0byBmaWx0ZXIgYnkuEi8KB3VzZXJfaWQYAyABKAlCHpJBGzIZVGhlIHVzZXIgaWQgdG8gZmlsdGVyIGJ5LhIvCgdyb2xlX2lkGAQgASgJQh6SQRsyGVRoZSByb2xlIGlkIHRvIGZpbHRlciBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4iSwoUTGlzdFBvbGljaWVzUmVzcG9uc2USMwoIcG9saWNpZXMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeSJdChNVcGRhdGVQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJEjoKBGJvZHkYAiABKAsyLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeVJlcXVlc3RCb2R5IksKFFVwZGF0ZVBvbGljeVJlc3BvbnNlEjMKCHBvbGljaWVzGAEgAygLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qb2xpY3kiIQoTRGVsZXRlUG9saWN5UmVxdWVzdBIKCgJpZBgBIAEoCSIWChREZWxldGVQb2xpY3lSZXNwb25zZSKLAQodQ3JlYXRlUG9saWN5Rm9yUHJvamVjdFJlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoCUIH+kIEcgIQAxJNCgRib2R5GAIgASgLMjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0Qm9keUII+kIFigECEAEiIAoeQ3JlYXRlUG9saWN5Rm9yUHJvamVjdFJlc3BvbnNlInIKE1JlbGF0aW9uUmVxdWVzdEJvZHkSDgoGb2JqZWN0GAEgASgJEg8KB3N1YmplY3QYAyABKAkSEAoIcmVsYXRpb24YBCABKAkSHAoUc3ViamVjdF9zdWJfcmVsYXRpb24YBiABKAlKBAgCEANKBAgFEAYiXwoVQ3JlYXRlUmVsYXRpb25SZXF1ZXN0EkYKBGJvZHkYASABKAsyLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uUmVxdWVzdEJvZHlCCPpCBYoBAhABIk8KFkNyZWF0ZVJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uIiAKEkdldFJlbGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJMChNHZXRSZWxhdGlvblJlc3BvbnNlEjUKCHJlbGF0aW9uGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvbiJhChVVcGRhdGVSZWxhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSPAoEYm9keRgCIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb25SZXF1ZXN0Qm9keSJPChZVcGRhdGVSZWxhdGlvblJlc3BvbnNlEjUKCHJlbGF0aW9uGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvbiK5BgoQR3JvdXBSZXF1ZXN0Qm9keRLPAQoEbmFtZRgBIAEoCULAAZJBoQEyngFUaGUgbmFtZSBvZiB0aGUgZ3JvdXAuIFRoZSBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZW50aXJlIEZyb250aWVyIGluc3RhbmNlLiBUaGUgbmFtZSBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLuJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBKLAQoFdGl0bGUYAiABKAlCfJJBeTJ3VGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBncm91cC4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4SvgMKCG1ldGFkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEKSA5JBjgMyiwNNZXRhZGF0YSBvYmplY3QgZm9yIGdyb3VwcyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIEdyb3VwIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBncm91cCBzdWNoIGFzIGxhYmVscywgZGVzY3JpcHRpb25zIGV0Yy4gVGhlIGRlZmF1bHQgR3JvdXAgTWV0YXNjaGVtYSBjb250YWlucyBsYWJlbHMgYW5kIGRlc2NyaXB0b24gZmllbGRzLiBVcGRhdGUgdGhlIEdyb3VwIE1ldGFzY2hlbWEgdG8gYWRkIG1vcmUgZmllbGRzLjxici8+KkV4YW1wbGU6KmB7ImxhYmVscyI6IHsia2V5IjogInZhbHVlIn0sICJkZXNjcmlwdGlvbiI6ICJHcm91cCBkZXNjcmlwdGlvbiJ9YEoECAQQBSKmAQoSQ3JlYXRlR3JvdXBSZXF1ZXN0EkMKBGJvZHkYASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwUmVxdWVzdEJvZHlCCPpCBYoBAhABEksKBm9yZ19pZBgCIAEoCUI7kkE0MjJUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBncm91cCBiZWxvbmdzIHRvLuJBAQIiQwoPR2V0R3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCRIUCgx3aXRoX21lbWJlcnMYAyABKAgiRgoTQ3JlYXRlR3JvdXBSZXNwb25zZRIvCgVncm91cBgBIAEoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiQwoQR2V0R3JvdXBSZXNwb25zZRIvCgVncm91cBgBIAEoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiRgoTVXBkYXRlR3JvdXBSZXNwb25zZRIvCgVncm91cBgBIAEoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiqAEKElVwZGF0ZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRI5CgRib2R5GAIgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cFJlcXVlc3RCb2R5EksKBm9yZ19pZBgDIAEoCUI7kkE0MjJUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBncm91cCBiZWxvbmdzIHRvLuJBAQIiRwoVTGlzdEdyb3VwVXNlcnNSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCRISCgp3aXRoX3JvbGVzGAMgASgIIuUBChZMaXN0R3JvdXBVc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyEk4KCnJvbGVfcGFpcnMYAiADKAsyOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVzcG9uc2UuUm9sZVBhaXIaSwoIUm9sZVBhaXISDwoHdXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSI5ChJFbmFibGVHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIhUKE0VuYWJsZUdyb3VwUmVzcG9uc2UiOgoTRGlzYWJsZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiFgoURGlzYWJsZUdyb3VwUmVzcG9uc2UiOQoSRGVsZXRlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyIVChNEZWxldGVHcm91cFJlc3BvbnNlIk0KFEFkZEdyb3VwVXNlcnNSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAxIQCgh1c2VyX2lkcxgDIAMoCSIXChVBZGRHcm91cFVzZXJzUmVzcG9uc2UiTgoWUmVtb3ZlR3JvdXBVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMSDwoHdXNlcl9pZBgDIAEoCSIZChdSZW1vdmVHcm91cFVzZXJSZXNwb25zZSJQChVEZWxldGVSZWxhdGlvblJlcXVlc3QSDgoGb2JqZWN0GAEgASgJEg8KB3N1YmplY3QYAiABKAkSEAoIcmVsYXRpb24YBCABKAlKBAgDEAQiGAoWRGVsZXRlUmVsYXRpb25SZXNwb25zZSJTChtMaXN0UHJvamVjdFJlc291cmNlc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgCIAEoCUIH+kIEcgIQAxIRCgluYW1lc3BhY2UYBCABKAlKBAgBEAIiVgocTGlzdFByb2plY3RSZXNvdXJjZXNSZXNwb25zZRI2CglyZXNvdXJjZXMYASADKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlIrYGChNSZXNvdXJjZVJlcXVlc3RCb2R5EnMKBG5hbWUYASABKAlCZZJBXjJcVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlLiAgTXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBwcm9qZWN0LiA8YnIvPiAqRXhhbXBsZToqIGBteS1yZXNvdXJjZWDiQQECEo4BCgV0aXRsZRgCIAEoCUJ/kkF8MnpUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIHJlc291cmNlLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LhLyAQoJbmFtZXNwYWNlGAMgASgJQt4BkkHWATLTAVRoZSBuYW1lc3BhY2Ugb2YgdGhlIHJlc291cmNlLiBUaGUgcmVzb3VyY2UgbmFtZXNwYWNlIGFyZSBjcmVhdGVkIHdoZW4gcGVybWlzc2lvbnMgZm9yIHRoYXQgcmVzb3VyY2UgaXMgY3JlYXRlZCBpbiBGcm9udGllci4gSWYgbmFtZXNwYWNlIGRvZXNuJ3QgZXhpc3RzIHRoZSByZXF1ZXN0IHdpbGwgZmFpbC4gPGJyLz4gKkV4YW1wbGU6KiBgY29tcHV0ZS9pbnN0YW5jZWDiQQECEuwBCglwcmluY2lwYWwYBiABKAlC2AGSQdQBMtEBVXNlcklEIG9yIFNlcnZpY2VVc2VySUQgdGhhdCBzaG91bGQgYmUgbWFya2VkIGFzIG93bmVyIG9mIHRoZSByZXNvdXJjZS4gSWYgbm90IHByb3ZpZGVkLCB0aGUgY3VycmVudCBsb2dnZWQgaW4gdXNlciB3aWxsIGJlIG1hZGUgdGhlIHJlc291cmNlIG93bmVyLiA8YnIvPiAqRXhhbXBsZToqIGB1c2VyOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWASKQoIbWV0YWRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SgQIBBAFSgQIBRAGIqYBChxDcmVhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EkYKBGJvZHkYASABKAsyLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlUmVxdWVzdEJvZHlCCPpCBYoBAhABEhIKCnByb2plY3RfaWQYAiABKAkSKgoCaWQYAyABKAlCHpJBGzIZQXV0b2dlbmVyYXRlZCBpZiBza2lwcGVkLiJWCh1DcmVhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZRI1CghyZXNvdXJjZRgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UiSgoZR2V0UHJvamVjdFJlc291cmNlUmVxdWVzdBIKCgJpZBgBIAEoCRIbCgpwcm9qZWN0X2lkGAMgASgJQgf6QgRyAhADSgQIAhADIlMKGkdldFByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJ8ChxVcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEjwKBGJvZHkYAiABKAsyLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlUmVxdWVzdEJvZHkSEgoKcHJvamVjdF9pZBgDIAEoCSJWCh1VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZRI1CghyZXNvdXJjZRgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UiRwocRGVsZXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBIKCgJpZBgBIAEoCRIbCgpwcm9qZWN0X2lkGAMgASgJQgf6QgRyAhADIh8KHURlbGV0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlIoMGCh5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlcXVlc3QSQwoJb2JqZWN0X2lkGAEgASgJQjAYAZJBKzIpRGVwcmVjYXRlZC4gVXNlIGByZXNvdXJjZWAgZmllbGQgaW5zdGVhZC4SSgoQb2JqZWN0X25hbWVzcGFjZRgCIAEoCUIwGAGSQSsyKURlcHJlY2F0ZWQuIFVzZSBgcmVzb3VyY2VgIGZpZWxkIGluc3RlYWQuEowBCgpwZXJtaXNzaW9uGAMgASgJQniSQVkyV3RoZSBwZXJtaXNzaW9uIG5hbWUgdG8gY2hlY2suIDxici8+ICpFeGFtcGxlOiogYGdldGAsIGBsaXN0YCwgYGNvbXB1dGUuaW5zdGFuY2UuY3JlYXRlYOJBAQL6QhVyEzIRXltBLVphLXowLTkuXy1dKyQSwAMKCHJlc291cmNlGAQgASgJQq0DkkGpAzKmA2BuYW1lc3BhY2U6dXVpZGAgb3IgYG5hbWVzcGFjZTpuYW1lYCBvZiB0aGUgb3JnIG9yIHByb2plY3QsIGFuZCBgbmFtZXNwYWNlOnVybmAgb2YgYSByZXNvdXJjZSB1bmRlciBhIHByb2plY3QuIEluIGNhc2Ugb2YgYW4gb3JnL3Byb2plY3QgZWl0aGVyIHByb3ZpZGUgdGhlIGNvbXBsZXRlIG5hbWVzcGFjZSAoYXBwL29yZ2FuaXphdGlvbikgb3IgRnJvbnRpZXIgY2FuIGFsc28gcGFyc2UgYWxpYXNlcyBmb3IgdGhlIHNhbWUgYXMgYG9yZ2Agb3IgYHByb2plY3RgLiA8YnIvPiAqRXhhbXBsZToqIGBvcmdhbml6YXRpb246OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCBvciBgYXBwL3Byb2plY3Q6cHJvamVjdC1uYW1lYCBvciBgY29tcHV0ZS9pbnN0YW5jZTo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgIjEKH0NoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVzcG9uc2USDgoGc3RhdHVzGAEgASgIIm4KG0JhdGNoQ2hlY2tQZXJtaXNzaW9uUmVxdWVzdBJPCgZib2RpZXMYASADKAsyMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uQm9keUIK+kIHkgEECAEQFCLSBAoYQmF0Y2hDaGVja1Blcm1pc3Npb25Cb2R5EnMKCnBlcm1pc3Npb24YASABKAlCX5JBQDI+dGhlIHBlcm1pc3Npb24gbmFtZSB0byBjaGVjay4gPGJyLz4gKkV4YW1wbGU6KiBgZ2V0YCBvciBgbGlzdGDiQQEC+kIVchMyEV5bQS1aYS16MC05Ll8tXSskEsADCghyZXNvdXJjZRgCIAEoCUKtA5JBqQMypgNgbmFtZXNwYWNlOnV1aWRgIG9yIGBuYW1lc3BhY2U6bmFtZWAgb2YgdGhlIG9yZyBvciBwcm9qZWN0LCBhbmQgYG5hbWVzcGFjZTp1cm5gIG9mIGEgcmVzb3VyY2UgdW5kZXIgYSBwcm9qZWN0LiBJbiBjYXNlIG9mIGFuIG9yZy9wcm9qZWN0IGVpdGhlciBwcm92aWRlIHRoZSBjb21wbGV0ZSBuYW1lc3BhY2UgKGFwcC9vcmdhbml6YXRpb24pIG9yIEZyb250aWVyIGNhbiBhbHNvIHBhcnNlIGFsaWFzZXMgZm9yIHRoZSBzYW1lIGFzIGBvcmdgIG9yIGBwcm9qZWN0YC4gPGJyLz4gKkV4YW1wbGU6KiBgb3JnYW5pemF0aW9uOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWAgb3IgYGFwcC9wcm9qZWN0OnByb2plY3QtbmFtZWAgb3IgYGNvbXB1dGUvaW5zdGFuY2U6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCJqChxCYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlEkoKBXBhaXJzGAEgAygLMjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlUGFpciJ1CiBCYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlUGFpchJBCgRib2R5GAEgASgLMjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvbkJvZHkSDgoGc3RhdHVzGAIgASgIIqEDChVNZXRhU2NoZW1hUmVxdWVzdEJvZHkS1AEKBG5hbWUYASABKAlCxQGSQaYBMqMBVGhlIG5hbWUgb2YgdGhlIG1ldGFzY2hlbWEuIFRoZSBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZW50aXJlIEZyb250aWVyIGluc3RhbmNlLiBUaGUgbmFtZSBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLuJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBKwAQoGc2NoZW1hGAIgASgJQp8BkkGQATKNAVRoZSBzY2hlbWEgb2YgdGhlIG1ldGFzY2hlbWEuIFRoZSBzY2hlbWEgbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLuJBAQL6QgRyAhACImMKF0NyZWF0ZU1ldGFTY2hlbWFSZXF1ZXN0EkgKBGJvZHkYASABKAsyMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk1ldGFTY2hlbWFSZXF1ZXN0Qm9keUII+kIFigECEAEiVQoYQ3JlYXRlTWV0YVNjaGVtYVJlc3BvbnNlEjkKCm1ldGFzY2hlbWEYASABKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLk1ldGFTY2hlbWEiIgoUR2V0TWV0YVNjaGVtYVJlcXVlc3QSCgoCaWQYASABKAkiUgoVR2V0TWV0YVNjaGVtYVJlc3BvbnNlEjkKCm1ldGFzY2hlbWEYASABKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLk1ldGFTY2hlbWEibwoXVXBkYXRlTWV0YVNjaGVtYVJlcXVlc3QSCgoCaWQYASABKAkSSAoEYm9keRgCIAEoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJVChhVcGRhdGVNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSIlChdEZWxldGVNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCSIaChhEZWxldGVNZXRhU2NoZW1hUmVzcG9uc2UiGAoWTGlzdE1ldGFTY2hlbWFzUmVxdWVzdCJVChdMaXN0TWV0YVNjaGVtYXNSZXNwb25zZRI6CgttZXRhc2NoZW1hcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSLQAQogTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9nc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEg4KBnNvdXJjZRgFIAEoCRIOCgZhY3Rpb24YBiABKAkSFQoNaWdub3JlX3N5c3RlbRgHIAEoCBIuCgpzdGFydF90aW1lGAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfdGltZRgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiVgohTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9nc1Jlc3BvbnNlEjEKBGxvZ3MYASADKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0TG9nInoKIkNyZWF0ZU9yZ2FuaXphdGlvbkF1ZGl0TG9nc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEjsKBGxvZ3MYAiADKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0TG9nQgj6QgWSAQIIASIlCiNDcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXNwb25zZSJOCh5HZXRPcmdhbml6YXRpb25BdWRpdExvZ1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEhMKAmlkGAIgASgJQgf6QgRyAhADIlMKH0dldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVzcG9uc2USMAoDbG9nGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdWRpdExvZyIcChpEZXNjcmliZVByZWZlcmVuY2VzUmVxdWVzdCJZChtEZXNjcmliZVByZWZlcmVuY2VzUmVzcG9uc2USOgoGdHJhaXRzGAEgAygLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlVHJhaXQihwEKJENyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxJKCgZib2RpZXMYAiADKAsyMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VSZXF1ZXN0Qm9keUII+kIFkgECCAEiYwolQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSI5CiJMaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADImEKI0xpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIoIBCh9DcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJeCiBDcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSI0Ch1MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJcCh5MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UigAEKHUNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJcCh5DcmVhdGVHcm91cFByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiMgobTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIloKHExpc3RHcm91cFByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UifwocQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxJKCgZib2RpZXMYAiADKAsyMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VSZXF1ZXN0Qm9keUII+kIFkgECCAEiWwodQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiMQoaTGlzdFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiWQobTGlzdFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlInEKI0NyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0EkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJiCiRDcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiIwohTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0ImAKIkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiSAodQmlsbGluZ1dlYmhvb2tDYWxsYmFja1JlcXVlc3QSGQoIcHJvdmlkZXIYASABKAlCB/pCBHICEAESDAoEYm9keRgCIAEoDCIgCh5CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVzcG9uc2UihAQKG0NyZWF0ZVByb3NwZWN0UHVibGljUmVxdWVzdBI+CgRuYW1lGAEgASgJQjCSQRcyFWZ1bGwgbmFtZSBvZiB0aGUgdXNlcvpCE3IRMgxeW0EtWmEteiBdKyTQAQESMgoFZW1haWwYBSABKAlCI5JBEzIRZW1haWwgb2YgdGhlIHVzZXLiQQEC+kIGcgQQAWABEiwKBXBob25lGAYgASgJQh2SQRoyGHBob25lIG51bWJlciBvZiB0aGUgdXNlchKAAQoIYWN0aXZpdHkYByABKAlCbpJBTjJMYWN0aXZpdHkgZm9yIHdoaWNoIHVzZXIgaXMgc3Vic2NyaWJpbmcsIGUuZy4gbmV3c2xldHRlciwgd2FpdGxpc3QsIGJsb2dzIGV0Y+JBAQL6QhZyFBABMhBeW0EtWmEtejAtOS1fXSskEm0KBnNvdXJjZRgJIAEoCUJdkkFAMj5zb3VyY2Ugb2YgdGhpcyB1c2VyIGFkZGl0aW9uIGUuZy4gcGxhdGZvcm0sIHdlYnNpdGUsIGFkbWluIGV0Y/pCF3IVMhBeW0EtWmEtejAtOS1fXSsk0AEBElEKCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEImkkEjMiFhZGRpdGlvbmFsIGluZm8gYXMga2V5IHZhbHVlIHBhaXIiHgocQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXNwb25zZSIVChNMaXN0U2Vzc2lvbnNSZXF1ZXN0IkwKFExpc3RTZXNzaW9uc1Jlc3BvbnNlEjQKCHNlc3Npb25zGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXNzaW9uIjgKFFJldm9rZVNlc3Npb25SZXF1ZXN0EiAKCnNlc3Npb25faWQYASABKAlCDOJBAQL6QgVyA7ABASIXChVSZXZva2VTZXNzaW9uUmVzcG9uc2UiGAoWUGluZ1VzZXJTZXNzaW9uUmVxdWVzdCIZChdQaW5nVXNlclNlc3Npb25SZXNwb25zZSK1AwoYQ3JlYXRlQXVkaXRSZWNvcmRSZXF1ZXN0EkAKBWFjdG9yGAEgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdWRpdFJlY29yZEFjdG9yQgTiQQECEhoKBWV2ZW50GAIgASgJQgviQQEC+kIEcgIQAxJGCghyZXNvdXJjZRgDIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRSZWNvcmRSZXNvdXJjZUIE4kEBAhI8CgZ0YXJnZXQYBCABKAsyLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0UmVjb3JkVGFyZ2V0EjUKC29jY3VycmVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIE4kEBAhIYCgZvcmdfaWQYBiABKAlCCPpCBXIDsAEBEhIKCnJlcXVlc3RfaWQYByABKAkSKQoIbWV0YWRhdGEYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiUKD2lkZW1wb3RlbmN5X2tleRgJIAEoCUIM4kEBAvpCBXIDsAEBIlkKGUNyZWF0ZUF1ZGl0UmVjb3JkUmVzcG9uc2USPAoMYXVkaXRfcmVjb3JkGAEgASgLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdWRpdFJlY29yZDLGmQMKD0Zyb250aWVyU2VydmljZRLoAgoJTGlzdFVzZXJzEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlcnNSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlcnNSZXNwb25zZSL/AZJB5QEKBFVzZXISEUxpc3QgcHVibGljIHVzZXJzGskBUmV0dXJucyB0aGUgdXNlcnMgZnJvbSBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgaW4gYSBGcm9udGllciBpbnN0YW5jZS4gSXQgY2FuIGJlIGZpbHRlcmVkIGJ5IGtleXdvcmQsIG9yZ2FuaXphdGlvbiwgZ3JvdXAgYW5kIHN0YXRlLiBBZGRpdGlvbmFsbHkgeW91IGNhbiBpbmNsdWRlIHBhZ2UgbnVtYmVyIGFuZCBwYWdlIHNpemUgZm9yIHBhZ2luYXRpb24ugtPkkwIQEg4vdjFiZXRhMS91c2VycxK7BgoKQ3JlYXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJSZXNwb25zZSLPBZJBrwUKBFVzZXISC0NyZWF0ZSB1c2VyGpcFQ3JlYXRlIGEgdXNlciB3aXRoIHRoZSBnaXZlbiBkZXRhaWxzLiBBIHVzZXIgaXMgbm90IGF0dGFjaGVkIHRvIGFuIG9yZ2FuaXphdGlvbiBvciBhIGdyb3VwIGJ5IGRlZmF1bHQsYW5kIGNhbiBiZSBpbnZpdGVkIHRvIHRoZSBvcmcvZ3JvdXAuIFRoZSBuYW1lIG9mIHRoZSB1c2VyIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZW50aXJlIEZyb250aWVyIGluc3RhbmNlLiBJZiBhIHVzZXIgbmFtZSBpcyBub3QgcHJvdmlkZWQsIEZyb250aWVyIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIGEgbmFtZSBmcm9tIHRoZSB1c2VyIGVtYWlsLiBUaGUgdXNlciBtZXRhZGF0YSBpcyB2YWxpZGF0ZWQgYWdhaW5zdCB0aGUgdXNlciBtZXRhc2NoZW1hLiBCeSBkZWZhdWx0IHRoZSB1c2VyIG1ldGFzY2hlbWEgY29udGFpbnMgYGxhYmVsc2AgYW5kIGBkZXNjcmlwdGlvbnNgIGZvciB0aGUgdXNlci4gVGhlIGB0aXRsZWAgZmllbGQgY2FuIGJlIG9wdGlvbmFsbHkgYWRkZWQgZm9yIGEgdXNlci1mcmllbmRseSBuYW1lLiA8YnIvPjxici8+KkV4YW1wbGU6KmB7ImVtYWlsIjoiam9obi5kb2VAcmF5c3RhY2sub3JnIiwidGl0bGUiOiJKb2huIERvZSIsbWV0YWRhdGE6eyJsYWJlbCI6IHsia2V5MSI6ICJ2YWx1ZTEifSwgImRlc2NyaXB0aW9uIjogIlVzZXIgRGVzY3JpcHRpb24ifX1gYgCC0+STAhYiDi92MWJldGExL3VzZXJzOgRib2R5Es8BCgdHZXRVc2VyEikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVc2VyUmVxdWVzdBoqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXNlclJlc3BvbnNlIm2SQU8KBFVzZXISCEdldCB1c2VyGj1HZXQgYSB1c2VyIGJ5IGlkIHNlYXJjaGVkIG92ZXIgYWxsIG9yZ2FuaXphdGlvbnMgaW4gRnJvbnRpZXIugtPkkwIVEhMvdjFiZXRhMS91c2Vycy97aWR9EuoCCg5MaXN0VXNlckdyb3VwcxIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJHcm91cHNSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckdyb3Vwc1Jlc3BvbnNlIvIBkkHMAQoEVXNlchIQTGlzdCB1c2VyIGdyb3VwcxqxAUxpc3RzIGFsbCB0aGUgZ3JvdXBzIGEgdXNlciBiZWxvbmdzIHRvIGFjcm9zcyBhbGwgb3JnYW5pemF0aW9uIGluIEZyb250aWVyLiBUbyBnZXQgdGhlIGdyb3VwcyBvZiBhIHVzZXIgaW4gYSBzcGVjaWZpYyBvcmdhbml6YXRpb24sIHVzZSB0aGUgb3JnX2lkIGZpbHRlciBpbiB0aGUgcXVlcnkgcGFyYW1ldGVyLoLT5JMCHBIaL3YxYmV0YTEvdXNlcnMve2lkfS9ncm91cHMSxwEKFUxpc3RDdXJyZW50VXNlckdyb3VwcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVzcG9uc2UiO5JBFgoEVXNlchIOTGlzdCBteSBncm91cHOC0+STAhwSGi92MWJldGExL3VzZXJzL3NlbGYvZ3JvdXBzEq0BCg5HZXRDdXJyZW50VXNlchIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q3VycmVudFVzZXJSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDdXJyZW50VXNlclJlc3BvbnNlIjaSQRgKBFVzZXISEEdldCBjdXJyZW50IHVzZXKC0+STAhUSEy92MWJldGExL3VzZXJzL3NlbGYSogEKClVwZGF0ZVVzZXISLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVVzZXJSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVVc2VyUmVzcG9uc2UiN5JBEwoEVXNlchILVXBkYXRlIHVzZXKC0+STAhsaEy92MWJldGExL3VzZXJzL3tpZH06BGJvZHkSvwEKEVVwZGF0ZUN1cnJlbnRVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVDdXJyZW50VXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUN1cnJlbnRVc2VyUmVzcG9uc2UiP5JBGwoEVXNlchITVXBkYXRlIGN1cnJlbnQgdXNlcoLT5JMCGxoTL3YxYmV0YTEvdXNlcnMvc2VsZjoEYm9keRKRAgoKRW5hYmxlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVVzZXJSZXNwb25zZSKlAZJBfQoEVXNlchILRW5hYmxlIHVzZXIaaFNldHMgdGhlIHN0YXRlIG9mIHRoZSB1c2VyIGFzIGVuYWJsZWQuIFRoZSB1c2VyIHdpbGwgYmUgYWJsZSB0byBsb2cgaW4gYW5kIGFjY2VzcyB0aGUgRnJvbnRpZXIgaW5zdGFuY2UugtPkkwIfIhovdjFiZXRhMS91c2Vycy97aWR9L2VuYWJsZToBKhKQAwoLRGlzYWJsZVVzZXISLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVVc2VyUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVVzZXJSZXNwb25zZSKhApJB9wEKBFVzZXISDERpc2FibGUgdXNlchrgAVNldHMgdGhlIHN0YXRlIG9mIHRoZSB1c2VyIGFzIGRpYWJsZWQuVGhlIHVzZXIncyBtZW1iZXJzaGlwIHRvIGdyb3VwcyBhbmQgb3JnYW5pemF0aW9ucyB3aWxsIHN0aWxsIGV4aXN0IGFsb25nIHdpdGggYWxsIGl0J3Mgcm9sZXMgZm9yIGFjY2VzcyBjb250cm9sLCBidXQgdGhlIHVzZXIgd2lsbCBub3QgYmUgYWJsZSB0byBsb2cgaW4gYW5kIGFjY2VzcyB0aGUgRnJvbnRpZXIgaW5zdGFuY2UugtPkkwIgIhsvdjFiZXRhMS91c2Vycy97aWR9L2Rpc2FibGU6ASoS9wEKCkRlbGV0ZVVzZXISLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVVzZXJSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVVc2VyUmVzcG9uc2UiiwGSQW0KBFVzZXISC0RlbGV0ZSB1c2VyGlhEZWxldGUgYW4gdXNlciBwZXJtYW5lbnRseSBmb3JldmVyIGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyAob3JnYW5pemF0aW9ucywgZ3JvdXBzLCBldGMpgtPkkwIVKhMvdjFiZXRhMS91c2Vycy97aWR9Ev8EChdMaXN0T3JnYW5pemF0aW9uc0J5VXNlchI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlc3BvbnNlIuwDkkG/AwoEVXNlchIWR2V0IHVzZXIgb3JnYW5pemF0aW9ucxqeA1RoaXMgQVBJIHJldHVybnMgdHdvIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyBmb3IgdGhlIHVzZXIuIGkpIFRoZSBsaXN0IG9mIG9yZ3Mgd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZiBpaSkgVGhlIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyB0aGUgdXNlciBjYW4gam9pbiBkaXJlY3RseSAoYmFzZWQgb24gZG9tYWluIHdoaXRlbGlzdGVkIGFuZCB2ZXJpZmllZCBieSB0aGUgb3JnKS4gVGhpcyBsaXN0IHdpbGwgYWxzbyBjb250YWluIG9yZ3Mgb2Ygd2hpY2ggdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZi4gTm90ZTogdGhlIGRvbWFpbiBuZWVkcyB0byBiZSB2ZXJpZmllZCBieSB0aGUgb3JnIGJlZm9yZSB0aGUgaXQgaXMgcmV0dXJuZWQgYXMgb25lIG9mIHRoZSBqb2luYWJsZSBvcmdzIGJ5IGRvbWFpboLT5JMCIxIhL3YxYmV0YTEvdXNlcnMve2lkfS9vcmdhbml6YXRpb25zEqQFCh5MaXN0T3JnYW5pemF0aW9uc0J5Q3VycmVudFVzZXISQC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlDdXJyZW50VXNlclJlcXVlc3QaQS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlDdXJyZW50VXNlclJlc3BvbnNlIvwDkkHPAwoEVXNlchIUR2V0IG15IG9yZ2FuaXphdGlvbnMasANUaGlzIEFQSSByZXR1cm5zIHR3byBsaXN0IG9mIG9yZ2FuaXphdGlvbnMgZm9yIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyLiBpKSBUaGUgbGlzdCBvZiBvcmdzIHdoaWNoIHRoZSBjdXJyZW50IHVzZXIgaXMgYWxyZWFkeSBhIHBhcnQgb2YgaWkpIFRoZSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMgdGhlIHVzZXIgY2FuIGpvaW4gZGlyZWN0bHkgKGJhc2VkIG9uIGRvbWFpbiB3aGl0ZWxpc3RlZCBhbmQgdmVyaWZpZWQgYnkgdGhlIG9yZykuIFRoaXMgbGlzdCB3aWxsIGFsc28gY29udGFpbiBvcmdzIG9mIHdoaWNoIHVzZXIgaXMgYWxyZWFkeSBhIHBhcnQgb2YuIE5vdGU6IHRoZSBkb21haW4gbmVlZHMgdG8gYmUgdmVyaWZpZWQgYnkgdGhlIG9yZyBiZWZvcmUgdGhlIGl0IGlzIHJldHVybmVkIGFzIG9uZSBvZiB0aGUgam9pbmFibGUgb3JncyBieSBkb21haW6C0+STAiMSIS92MWJldGExL3VzZXJzL3NlbGYvb3JnYW5pemF0aW9ucxLsAQoSTGlzdFByb2plY3RzQnlVc2VyEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeVVzZXJSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeVVzZXJSZXNwb25zZSJpkkFCCgRVc2VyEhFHZXQgdXNlciBwcm9qZWN0cxonR2V0IGFsbCB0aGUgcHJvamVjdHMgYSB1c2VyIGJlbG9uZ3MgdG8ugtPkkwIeEhwvdjFiZXRhMS91c2Vycy97aWR9L3Byb2plY3RzEoQCChlMaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyEjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVxdWVzdBo8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlImySQUUKBFVzZXISD0dldCBteSBwcm9qZWN0cxosR2V0IGFsbCBwcm9qZWN0cyB0aGUgY3VycmVudCB1c2VyIGJlbG9uZ3MgdG+C0+STAh4SHC92MWJldGExL3VzZXJzL3NlbGYvcHJvamVjdHMS9wEKE0xpc3RVc2VySW52aXRhdGlvbnMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VySW52aXRhdGlvbnNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckludml0YXRpb25zUmVzcG9uc2UicZJBRwoEVXNlchIVTGlzdCB1c2VyIGludml0YXRpb25zGihMaXN0IGFsbCB0aGUgaW52aXRhdGlvbnMgc2VudCB0byBhIHVzZXIugtPkkwIhEh8vdjFiZXRhMS91c2Vycy97aWR9L2ludml0YXRpb25zEpICChpMaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9ucxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VySW52aXRhdGlvbnNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1Jlc3BvbnNlIneSQU0KBFVzZXISFUxpc3QgdXNlciBpbnZpdGF0aW9ucxouTGlzdCBhbGwgdGhlIGludml0YXRpb25zIHNlbnQgdG8gY3VycmVudCB1c2VyLoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMvc2VsZi9pbnZpdGF0aW9ucxKoAgoQTGlzdFNlcnZpY2VVc2VycxIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2Vyc1JlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlcnNSZXNwb25zZSKqAZJBiQEKC1NlcnZpY2VVc2VyEhZMaXN0IG9yZyBzZXJ2aWNlIHVzZXJzGmJSZXR1cm5zIHRoZSBzZXJ2aWNlIHVzZXIgb2YgYW4gb3JnYW5pemF0aW9uIGluIGEgRnJvbnRpZXIgaW5zdGFuY2UuIEl0IGNhbiBiZSBmaWx0ZXIgYnkgaXQncyBzdGF0ZYLT5JMCFxIVL3YxYmV0YTEvc2VydmljZXVzZXJzEvQBChFDcmVhdGVTZXJ2aWNlVXNlchIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclJlc3BvbnNlInSSQToKC1NlcnZpY2VVc2VyEhNDcmVhdGUgc2VydmljZSB1c2VyGhZDcmVhdGUgYSBzZXJ2aWNlIHVzZXIugtPkkwIxIiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2VyczoBKhL4AQoOR2V0U2VydmljZVVzZXISMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VyUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJSZXNwb25zZSKAAZJBRAoLU2VydmljZVVzZXISEEdldCBzZXJ2aWNlIHVzZXIaI0dldCBzZXJ2aWNlIHVzZXIgZGV0YWlscyBieSBpdHMgaWQugtPkkwIzEjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9Er4CChFEZWxldGVTZXJ2aWNlVXNlchIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclJlc3BvbnNlIr0BkkGAAQoLU2VydmljZVVzZXISE0RlbGV0ZSBzZXJ2aWNlIHVzZXIaXERlbGV0ZSBhIHNlcnZpY2UgdXNlciBwZXJtYW5lbnRseSBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgKGtleXMsIG9yZ2FuaXphdGlvbnMsIHJvbGVzLCBldGMpgtPkkwIzKjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9EpgDChRDcmVhdGVTZXJ2aWNlVXNlckpXSxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJKV0tSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlIo4CkkHJAQoLU2VydmljZVVzZXISK0NyZWF0ZSBzZXJ2aWNlIHVzZXIgcHVibGljL3ByaXZhdGUga2V5IHBhaXIajAFHZW5lcmF0ZSBhIHNlcnZpY2UgdXNlciBrZXkgYW5kIHJldHVybiBpdCwgdGhlIHByaXZhdGUga2V5IHBhcnQgb2YgdGhlIHJlc3BvbnNlIHdpbGwgbm90IGJlIHBlcnNpc3RlZCBhbmQgc2hvdWxkIGJlIGtlcHQgc2VjdXJlbHkgYnkgY2xpZW50LoLT5JMCOyI2L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzOgEqEq8CChNMaXN0U2VydmljZVVzZXJKV0tzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJKV0tzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VySldLc1Jlc3BvbnNlIqgBkkFnCgtTZXJ2aWNlVXNlchIWTGlzdCBzZXJ2aWNlIHVzZXIga2V5cxpATGlzdCBhbGwgdGhlIGtleXMgb2YgYSBzZXJ2aWNlIHVzZXIgd2l0aCBpdHMgZGV0YWlscyBleGNlcHQgandrLoLT5JMCOBI2L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzEpYCChFHZXRTZXJ2aWNlVXNlckpXSxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJKV0tSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlIpUBkkFLCgtTZXJ2aWNlVXNlchIUR2V0IHNlcnZpY2UgdXNlciBrZXkaJkdldCBhIHNlcnZpY2UgdXNlciBwdWJsaWMgUlNBIEpXSyBzZXQugtPkkwJBEj8vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXMve2tleV9pZH0SogIKFERlbGV0ZVNlcnZpY2VVc2VySldLEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VySldLUmVzcG9uc2UimAGSQU4KC1NlcnZpY2VVc2VyEhdEZWxldGUgc2VydmljZSB1c2VyIGtleRomRGVsZXRlIGEgc2VydmljZSB1c2VyIGtleSBwZXJtYW5lbnRseS6C0+STAkEqPy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5cy97a2V5X2lkfRKkAwobQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXNwb25zZSKFApJBvQEKC1NlcnZpY2VVc2VyEiZDcmVhdGUgc2VydmljZSB1c2VyIGNsaWVudCBjcmVkZW50aWFscxqFAUdlbmVyYXRlIGEgc2VydmljZSB1c2VyIGNyZWRlbnRpYWwgYW5kIHJldHVybiBpdC4gVGhlIGNyZWRlbnRpYWwgdmFsdWUgd2lsbCBub3QgYmUgcGVyc2lzdGVkIGFuZCBzaG91bGQgYmUgc2VjdXJlbHkgc3RvcmVkIGJ5IGNsaWVudC6C0+STAj4iOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vc2VjcmV0czoBKhK5AgoaTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHMSPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckNyZWRlbnRpYWxzUmVxdWVzdBo9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXNwb25zZSKdAZJBWQoLU2VydmljZVVzZXISHUxpc3Qgc2VydmljZSB1c2VyIGNyZWRlbnRpYWxzGitMaXN0IGFsbCB0aGUgY3JlZGVudGlhbHMgb2YgYSBzZXJ2aWNlIHVzZXIugtPkkwI7EjkvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3NlY3JldHMSwAIKG0RlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbBI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2UioQGSQVEKC1NlcnZpY2VVc2VyEh9EZWxldGUgc2VydmljZSB1c2VyIGNyZWRlbnRpYWxzGiFEZWxldGUgYSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbC6C0+STAkcqRS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vc2VjcmV0cy97c2VjcmV0X2lkfRL8AgoWQ3JlYXRlU2VydmljZVVzZXJUb2tlbhI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyVG9rZW5SZXNwb25zZSLsAZJBpQEKC1NlcnZpY2VVc2VyEhlDcmVhdGUgc2VydmljZSB1c2VyIHRva2VuGntHZW5lcmF0ZSBhIHNlcnZpY2UgdXNlciB0b2tlbiBhbmQgcmV0dXJuIGl0LiBUaGUgdG9rZW4gdmFsdWUgd2lsbCBub3QgYmUgcGVyc2lzdGVkIGFuZCBzaG91bGQgYmUgc2VjdXJlbHkgc3RvcmVkIGJ5IGNsaWVudC6C0+STAj0iOC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vdG9rZW5zOgEqEp8CChVMaXN0U2VydmljZVVzZXJUb2tlbnMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclRva2Vuc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclRva2Vuc1Jlc3BvbnNlIpIBkkFPCgtTZXJ2aWNlVXNlchIYTGlzdCBzZXJ2aWNlIHVzZXIgdG9rZW5zGiZMaXN0IGFsbCB0aGUgdG9rZW5zIG9mIGEgc2VydmljZSB1c2VyLoLT5JMCOhI4L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS90b2tlbnMSpAIKFkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW4SOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclRva2VuUmVzcG9uc2UilAGSQUYKC1NlcnZpY2VVc2VyEhlEZWxldGUgc2VydmljZSB1c2VyIHRva2VuGhxEZWxldGUgYSBzZXJ2aWNlIHVzZXIgdG9rZW4ugtPkkwJFKkMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Rva2Vucy97dG9rZW5faWR9ErACChdMaXN0U2VydmljZVVzZXJQcm9qZWN0cxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1Jlc3BvbnNlIp0BkkFYCgtTZXJ2aWNlVXNlchIaTGlzdCBzZXJ2aWNlIHNzZXIgcHJvamVjdHMaLUxpc3QgYWxsIHByb2plY3RzIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0b4LT5JMCPBI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9wcm9qZWN0cxLkAgoWTGlzdE9yZ2FuaXphdGlvbkdyb3VwcxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXNwb25zZSLUAZJBogEKBUdyb3VwEhhMaXN0IG9yZ2FuaXphdGlvbiBncm91cHMaf0dldCBhbGwgZ3JvdXBzIHRoYXQgYmVsb25nIHRvIGFuIG9yZ2FuaXphdGlvbi4gVGhlIHJlc3VsdHMgY2FuIGJlIGZpbHRlcmVkIGJ5IHN0YXRlIHdoaWNoIGNhbiBiZSBlaXRoZXIgYmUgZW5hYmxlZCBvciBkaXNhYmxlZC6C0+STAigSJi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzEp0DCgtDcmVhdGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFJlc3BvbnNlIq4CkkH2AQoFR3JvdXASDENyZWF0ZSBncm91cBreAUNyZWF0ZSBhIG5ldyBncm91cCBpbiBhbiBvcmdhbml6YXRpb24gd2hpY2ggc2VydmVzIGFzIGEgY29udGFpbmVyIGZvciB1c2Vycy4gVGhlIGdyb3VwIGNhbiBiZSBhc3NpZ25lZCByb2xlcyBhbmQgcGVybWlzc2lvbnMgYW5kIGNhbiBiZSB1c2VkIHRvIG1hbmFnZSBhY2Nlc3MgdG8gcmVzb3VyY2VzLiBBbHNvIGEgZ3JvdXAgY2FuIGFsc28gYmUgYXNzaWduZWQgdG8gb3RoZXIgZ3JvdXBzLoLT5JMCLiImL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHM6BGJvZHkSrQEKCEdldEdyb3VwEioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRHcm91cFJlcXVlc3QaKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEdyb3VwUmVzcG9uc2UiSJJBEgoFR3JvdXASCUdldCBncm91cILT5JMCLRIrL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfRK/AQoLVXBkYXRlR3JvdXASLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUdyb3VwUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlR3JvdXBSZXNwb25zZSJRkkEVCgVHcm91cBIMVXBkYXRlIGdyb3VwgtPkkwIzGisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9OgRib2R5Ev4BCg5MaXN0R3JvdXBVc2VycxIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwVXNlcnNSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBVc2Vyc1Jlc3BvbnNlIoYBkkFKCgVHcm91cBIQTGlzdCBncm91cCB1c2VycxovUmV0dXJucyBhIGxpc3Qgb2YgdXNlcnMgdGhhdCBiZWxvbmcgdG8gYSBncm91cC6C0+STAjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnMS3QIKDUFkZEdyb3VwVXNlcnMSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZEdyb3VwVXNlcnNSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BZGRHcm91cFVzZXJzUmVzcG9uc2Ui6AGSQagBCgVHcm91cBIOQWRkIGdyb3VwIHVzZXIajgFBZGRzIGEgcHJpbmNpcGxlKHVzZXIgYW5kIHNlcnZpY2UtdXNlcnMpIHRvIGEgZ3JvdXAsIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBncm91cCB3aWxsIGJlIGlnbm9yZWQuIEEgZ3JvdXAgY2FuJ3QgaGF2ZSBuZXN0ZWQgZ3JvdXBzIGFzIG1lbWJlcnMugtPkkwI2IjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L3VzZXJzOgEqEu8CCg9SZW1vdmVHcm91cFVzZXISMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbW92ZUdyb3VwVXNlclJlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbW92ZUdyb3VwVXNlclJlc3BvbnNlIvQBkkGtAQoFR3JvdXASEVJlbW92ZSBncm91cCB1c2VyGpABUmVtb3ZlcyBhIHByaW5jaXBsZSh1c2VyIGFuZCBzZXJ2aWNlLXVzZXJzKSBmcm9tIGEgZ3JvdXAuIElmIHRoZSB1c2VyIGlzIG5vdCBpbiB0aGUgZ3JvdXAsIHRoZSByZXF1ZXN0IHdpbGwgc3VjY2VlZCBidXQgbm8gY2hhbmdlcyB3aWxsIGJlIG1hZGUugtPkkwI9KjsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L3VzZXJzL3t1c2VyX2lkfRLDAgoLRW5hYmxlR3JvdXASLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUdyb3VwUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlR3JvdXBSZXNwb25zZSLUAZJBkwEKBUdyb3VwEgxFbmFibGUgZ3JvdXAafFNldHMgdGhlIHN0YXRlIG9mIHRoZSBncm91cCBhcyBlbmFibGVkLiBUaGUgYGVuYWJsZWRgIGZsYWcgaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIGdyb3VwIGNhbiBiZSB1c2VkIGZvciBhY2Nlc3MgY29udHJvbC6C0+STAjciMi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vZW5hYmxlOgEqEtQDCgxEaXNhYmxlR3JvdXASLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVHcm91cFJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVHcm91cFJlc3BvbnNlIuICkkGgAgoFR3JvdXASDURpc2FibGUgZ3JvdXAahwJTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgZ3JvdXAgYXMgZGlzYWJsZWQuIFRoZSBncm91cCB3aWxsIG5vdCBiZSBhdmFpbGFibGUgZm9yIGFjY2VzcyBjb250cm9sIGFuZCB0aGUgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIGdyb3VwIHdpbGwgbm90IGJlIGFibGUgdG8gYWNjZXNzIGFueSByZXNvdXJjZXMgdGhhdCBhcmUgYXNzaWduZWQgdG8gdGhlIGdyb3VwLiBObyBvdGhlciB1c2VycyBjYW4gYmUgYWRkZWQgdG8gdGhlIGdyb3VwIHdoaWxlIGl0IGlzIGRpc2FibGVkLoLT5JMCOCIzL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS9kaXNhYmxlOgEqEv0BCgtEZWxldGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVHcm91cFJlc3BvbnNlIo4BkkFYCgVHcm91cBIMRGVsZXRlIGdyb3VwGkFEZWxldGUgYW4gb3JnYW5pemF0aW9uIGdyb3VwIHBlcm1hbmVudGx5IGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9uc4LT5JMCLSorL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfRKTAgoJTGlzdFJvbGVzEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Um9sZXNSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Um9sZXNSZXNwb25zZSKqAZJBkAEKBFJvbGUSE0xpc3QgcGxhdGZvcm0gcm9sZXMac1JldHVybnMgYSBsaXN0IG9mIHBsYXRmb3JtIHdpZGUgcm9sZXMgYXZhaWxhYmxlIGluIGVuaXRyZSBGcm9udGllciBpbnN0YW5jZSBhbG9uZyB3aXRoIHRoZWlyIGFzc29jaWF0ZWQgcGVybWlzc2lvbnOC0+STAhASDi92MWJldGExL3JvbGVzErwCChVMaXN0T3JnYW5pemF0aW9uUm9sZXMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Sb2xlc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Sb2xlc1Jlc3BvbnNlIq8BkkF/CgRSb2xlEhdMaXN0IG9yZ2FuaXphdGlvbiByb2xlcxpeUmV0dXJucyBhIGxpc3Qgb2YgY3VzdG9tIHJvbGVzIGNyZWF0ZWQgdW5kZXIgYW4gb3JnYW5pemF0aW9uIHdpdGggdGhlaXIgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCJxIlL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcxL3AgoWQ3JlYXRlT3JnYW5pemF0aW9uUm9sZRI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSLnAZJBsAEKBFJvbGUSGENyZWF0ZSBvcmdhbml6YXRpb24gcm9sZRqNAUNyZWF0ZSBhIGN1c3RvbSByb2xlIHVuZGVyIGFuIG9yZ2FuaXphdGlvbi4gVGhpcyBjdXN0b20gcm9sZSB3aWxsIG9ubHkgYmUgYXZhaWxhYmxlIGZvciBhc3NpZ25tZW50IHRvIHRoZSBwcmluY2lwbGVzIHdpdGhpbiB0aGUgb3JnYW5pemF0aW9uLoLT5JMCLSIlL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlczoEYm9keRKsAgoTR2V0T3JnYW5pemF0aW9uUm9sZRI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUm9sZVJlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSKlAZJBcAoEUm9sZRIVR2V0IG9yZ2FuaXphdGlvbiByb2xlGlFSZXR1cm5zIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uIGFsb25nIHdpdGggaXRzIGFzc29jaWF0ZWQgcGVybWlzc2lvbnOC0+STAiwSKi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve2lkfRL8AgoWVXBkYXRlT3JnYW5pemF0aW9uUm9sZRI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSLsAZJBsAEKBFJvbGUSGFVwZGF0ZSBvcmdhbml6YXRpb24gcm9sZRqNAVVwZGF0ZSBhIGN1c3RvbSByb2xlIHVuZGVyIGFuIG9yZ2FuaXphdGlvbi4gVGhpcyBjdXN0b20gcm9sZSB3aWxsIG9ubHkgYmUgYXZhaWxhYmxlIGZvciBhc3NpZ25tZW50IHRvIHRoZSBwcmluY2lwbGVzIHdpdGhpbiB0aGUgb3JnYW5pemF0aW9uLoLT5JMCMhoqL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97aWR9OgRib2R5ErcCChZEZWxldGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqcBkkFyCgRSb2xlEhhEZWxldGUgb3JnYW5pemF0aW9uIHJvbGUaUERlbGV0ZSBhIGN1c3RvbSByb2xlIGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyB1bmRlciBhbiBvcmdhbml6YXRpb24gcGVybWFuZW50bHkugtPkkwIsKiovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzL3tpZH0SmgIKEUxpc3RPcmdhbml6YXRpb25zEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2UimQGSQXgKDE9yZ2FuaXphdGlvbhISTGlzdCBvcmdhbml6YXRpb25zGlRSZXR1cm5zIGEgbGlzdCBvZiBvcmdhbml6YXRpb25zLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkgdXNlcklEIG9yIG9yZ2FuaXphdGlvbiBzdGF0ZS6C0+STAhgSFi92MWJldGExL29yZ2FuaXphdGlvbnMSzQEKEkNyZWF0ZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUmVzcG9uc2UiSpJBIwoMT3JnYW5pemF0aW9uEhNDcmVhdGUgb3JnYW5pemF0aW9ugtPkkwIeIhYvdjFiZXRhMS9vcmdhbml6YXRpb25zOgRib2R5EuABCg9HZXRPcmdhbml6YXRpb24SMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvblJlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvblJlc3BvbnNlImaSQUAKDE9yZ2FuaXphdGlvbhIQR2V0IG9yZ2FuaXphdGlvbhoeR2V0IG9yZ2FuaXphdGlvbiBieSBJRCBvciBuYW1lgtPkkwIdEhsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0S7QEKElVwZGF0ZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUmVzcG9uc2UiapJBPgoMT3JnYW5pemF0aW9uEhNVcGRhdGUgb3JnYW5pemF0aW9uGhlVcGRhdGUgb3JnYW5pemF0aW9uIGJ5IElEgtPkkwIjGhsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH06BGJvZHkSnwIKGExpc3RPcmdhbml6YXRpb25Qcm9qZWN0cxI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByb2plY3RzUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByb2plY3RzUmVzcG9uc2UiiQGSQVoKDE9yZ2FuaXphdGlvbhIZR2V0IG9yZ2FuaXphdGlvbiBwcm9qZWN0cxovR2V0IGFsbCBwcm9qZWN0cyB0aGF0IGJlbG9uZyB0byBhbiBvcmdhbml6YXRpb26C0+STAiYSJC92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9wcm9qZWN0cxKOAgoWTGlzdE9yZ2FuaXphdGlvbkFkbWlucxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkFkbWluc1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25BZG1pbnNSZXNwb25zZSJ/kkFSCgxPcmdhbml6YXRpb24SGExpc3Qgb3JnYW5pemF0aW9uIGFkbWlucxooUmV0dXJucyBhIGxpc3QgYWRtaW5zIG9mIGFuIG9yZ2FuaXphdGlvboLT5JMCJBIiL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L2FkbWlucxLfAQoVTGlzdE9yZ2FuaXphdGlvblVzZXJzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSJTkkEnCgxPcmdhbml6YXRpb24SF0xpc3Qgb3JnYW5pemF0aW9uIHVzZXJzgtPkkwIjEiEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vdXNlcnMS7QIKFEFkZE9yZ2FuaXphdGlvblVzZXJzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BZGRPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2Ui4wGSQbMBCgxPcmdhbml6YXRpb24SFUFkZCBvcmdhbml6YXRpb24gdXNlchqLAUFkZCBhIHVzZXIgdG8gYW4gb3JnYW5pemF0aW9uLiBBIHVzZXIgbXVzdCBleGlzdHMgaW4gRnJvbnRpZXIgYmVmb3JlIGFkZGluZyBpdCB0byBhbiBvcmcuIFRoaXMgcmVxdWVzdCB3aWxsIGZhaWwgaWYgdGhlIHVzZXIgZG9lc24ndCBleGlzdHOC0+STAiYiIS92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS91c2VyczoBKhKSAgoWUmVtb3ZlT3JnYW5pemF0aW9uVXNlchI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlT3JnYW5pemF0aW9uVXNlclJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbW92ZU9yZ2FuaXphdGlvblVzZXJSZXNwb25zZSKCAZJBTAoMT3JnYW5pemF0aW9uEhhSZW1vdmUgb3JnYW5pemF0aW9uIHVzZXIaIlJlbW92ZSBhIHVzZXIgZnJvbSBhbiBvcmdhbml6YXRpb26C0+STAi0qKy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS91c2Vycy97dXNlcl9pZH0SlgIKEkdldE9yZ2FuaXphdGlvbkt5YxI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uS3ljUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uS3ljUmVzcG9uc2UikgGSQWQKD09yZ2FuaXphdGlvbkt5YxIfR2V0IEtZQyBpbmZvIG9mIGFuIG9yZ2FuaXphdGlvbhowR2V0IEtZQyBpbmZvIG9mIGFuIG9yZ2FuaXphdGlvbiB1c2luZyBJRCBvciBuYW1lgtPkkwIlEiMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2t5YxKDAgocTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2VycxI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1JlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25TZXJ2aWNlVXNlcnNSZXNwb25zZSJikkEvCgxPcmdhbml6YXRpb24SH0xpc3Qgb3JnYW5pemF0aW9uIHNlcnZpY2UgdXNlcnOC0+STAioSKC92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9zZXJ2aWNldXNlcnMSuQIKG0xpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9ucxI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVzcG9uc2UimgGSQWQKDE9yZ2FuaXphdGlvbhIYTGlzdCBwZW5kaW5nIGludml0YXRpb25zGjpSZXR1cm5zIGFsbCBwZW5kaW5nIGludml0YXRpb25zIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9ugtPkkwItEisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zEvYCChxDcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlItQBkkGaAQoMT3JnYW5pemF0aW9uEgtJbnZpdGUgdXNlchp9SW52aXRlIHVzZXJzIHRvIGFuIG9yZ2FuaXphdGlvbiwgaWYgdXNlciBpcyBub3QgcmVnaXN0ZXJlZCBvbiB0aGUgcGxhdGZvcm0sIGl0IHdpbGwgYmUgbm90aWZpZWQuIEludml0YXRpb25zIGV4cGlyZSBpbiA3IGRheXOC0+STAjAiKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnM6ASoSswIKGUdldE9yZ2FuaXphdGlvbkludml0YXRpb24SOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0GjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UimgGSQV8KDE9yZ2FuaXphdGlvbhIWR2V0IHBlbmRpbmcgaW52aXRhdGlvbho3UmV0dXJucyBhIHBlbmRpbmcgaW52aXRhdGlvbiBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvboLT5JMCMhIwL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucy97aWR9EpkDChxBY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWNjZXB0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIvcBkkGxAQoMT3JnYW5pemF0aW9uEhlBY2NlcHQgcGVuZGluZyBpbnZpdGF0aW9uGoUBQWNjZXB0IHBlbmRpbmcgaW52aXRhdGlvbiBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvbi4gVGhlIHVzZXIgd2lsbCBiZSBhZGRlZCB0byB0aGUgb3JnYW5pemF0aW9uIGFuZCBncm91cHMgZGVmaW5lZCBpbiB0aGUgaW52aXRhdGlvboLT5JMCPCI3L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucy97aWR9L2FjY2VwdDoBKhK+AgocRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvbhI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSKcAZJBYQoMT3JnYW5pemF0aW9uEhlEZWxldGUgcGVuZGluZyBpbnZpdGF0aW9uGjZEZWxldGUgYSBwZW5kaW5nIGludml0YXRpb24gcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb26C0+STAjIqMC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMve2lkfRLYAwoXTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Eb21haW5zUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXNwb25zZSLFApJBkgIKDE9yZ2FuaXphdGlvbhIQTGlzdCBvcmcgZG9tYWlucxrvAVJldHVybnMgYWxsIGRvbWFpbnMgd2hpdGVsaXN0ZWQgZm9yIGFuIG9yZ2FuaXphdGlvbiAoYm90aCBwZW5kaW5nIGFuZCB2ZXJpZmllZCBpZiBubyBmaWx0ZXJzIGFyZSBwcm92aWRlZCBmb3IgdGhlIHN0YXRlKS4gVGhlIHZlcmlmaWVkIGRvbWFpbnMgYWxsb3cgdXNlcnMgZW1haWwgd2l0aCB0aGUgb3JnJ3Mgd2hpdGVsaXN0ZWQgZG9tYWluIHRvIGpvaW4gdGhlIG9yZ2FuaXphdGlvbiB3aXRob3V0IGludml0YXRpb24ugtPkkwIpEicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMS/gQKGENyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpbhI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2Ui6AOSQbIDCgxPcmdhbml6YXRpb24SEUNyZWF0ZSBvcmcgZG9tYWluGo4DQWRkIGEgZG9tYWluIHRvIGFuIG9yZ2FuaXphdGlvbiB3aGljaCBpZiB2ZXJpZmllZCBhbGxvd3MgYWxsIHVzZXJzIG9mIHRoZSBzYW1lIGRvbWFpbiB0byBiZSBzaWduZWQgdXAgdG8gdGhlIG9yZ2FuaXphdGlvbiB3aXRob3V0IGludml0YXRpb24uIFRoaXMgQVBJIGdlbmVyYXRlcyBhIHZlcmlmaWNhdGlvbiB0b2tlbiBmb3IgYSBkb21haW4gd2hpY2ggbXVzdCBiZSBhZGRlZCB0byB5b3VyIGRvbWFpbidzIEROUyBwcm92aWRlciBhcyBhIFRYVCByZWNvcmQgc2hvdWxkIGJlIHZlcmlmaWVkIHdpdGggRnJvbnRpZXIgVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluIEFQSSBiZWZvcmUgaXQgY2FuIGJlIHVzZWQgYXMgYW4gT3JnYW5pemF0aW9uJ3MgdHJ1c3RlZCBkb21haW4gdG8gc2lnbiB1cCB1c2Vycy6C0+STAiwiJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWluczoBKhK3AgoYRGVsZXRlT3JnYW5pemF0aW9uRG9tYWluEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSKhAZJBagoMT3JnYW5pemF0aW9uEhFEZWxldGUgb3JnIGRvbWFpbhpHUmVtb3ZlIGEgZG9tYWluIGZyb20gdGhlIGxpc3Qgb2YgYW4gb3JnYW5pemF0aW9uJ3MgdHJ1c3RlZCBkb21haW5zIGxpc3SC0+STAi4qLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucy97aWR9EuICChVHZXRPcmdhbml6YXRpb25Eb21haW4SNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlItUBkkGdAQoMT3JnYW5pemF0aW9uEg5HZXQgb3JnIGRvbWFpbhp9R2V0IGEgZG9tYWluIGZyb20gdGhlIGxpc3Qgb2YgYW4gb3JnYW5pemF0aW9uJ3Mgd2hpdGVsaXN0ZWQgZG9tYWlucy4gUmV0dXJucyBib3RoIHZlcmlmaWVkIGFuZCB1bnZlcmlmaWVkIGRvbWFpbnMgYnkgdGhlaXIgSUSC0+STAi4SLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucy97aWR9EqUEChhWZXJpZnlPcmdhbml6YXRpb25Eb21haW4SOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlIo8DkkHNAgoMT3JnYW5pemF0aW9uEhFWZXJpZnkgb3JnIGRvbWFpbhqpAlZlcmlmeSBhIGRvbWFpbiBmb3IgYW4gb3JnYW5pemF0aW9uIHdpdGggYSB2ZXJpZmljYXRpb24gdG9rZW4gZ2VuZXJhdGVkIGJ5IEZyb250aWVyIEdlbmVyYXRlRG9tYWluVmVyaWZpY2F0aW9uVG9rZW4gQVBJLiBUaGUgdG9rZW4gbXVzdCBiZSBhZGRlZCB0byB5b3VyIGRvbWFpbidzIEROUyBwcm92aWRlciBhcyBhIFRYVCByZWNvcmQgYmVmb3JlIGl0IGNhbiBiZSB2ZXJpZmllZC4gVGhpcyBBUEkgcmV0dXJucyB0aGUgc3RhdGUgb2YgdGhlIGRvbWFpbiAocGVuZGluZy92ZXJpZmllZCkgYWZ0ZXIgdmVyaWZpY2F0aW9uLoLT5JMCOCIzL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0vdmVyaWZ5OgEqEpIDChBKb2luT3JnYW5pemF0aW9uEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Kb2luT3JnYW5pemF0aW9uUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSm9pbk9yZ2FuaXphdGlvblJlc3BvbnNlIpQCkkHhAQoMT3JnYW5pemF0aW9uEhFKb2luIG9yZ2FuaXphdGlvbhq9AUFsbG93cyB0aGUgY3VycmVudCBsb2dnZWQgaW4gdXNlciB0byBqb2luIHRoZSBPcmcgaWYgb25lIGlzIG5vdCBhIHBhcnQgb2YgaXQuIFRoZSB1c2VyIHdpbGwgb25seSBiZSBhYmxlIHRvIGpvaW4gd2hlbiB0aGUgdXNlciBlbWFpbCdzIGRvbWFpbiBtYXRjaGVzIHRoZSBvcmdhbml6YXRpb24ncyB3aGl0ZWxpc3RlZCBkb21haW5zLoLT5JMCKSIkL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9qb2luOgEqEtkCChJFbmFibGVPcmdhbml6YXRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZU9yZ2FuaXphdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlItUBkkGkAQoMT3JnYW5pemF0aW9uEhNFbmFibGUgb3JnYW5pemF0aW9uGn9TZXRzIHRoZSBzdGF0ZSBvZiB0aGUgb3JnYW5pemF0aW9uIGFzIGVuYWJsZWQuIFRoZSBleGlzdGluZyB1c2VycyBpbiB0aGUgb3JnIHdpbGwgYmUgYWJsZSB0byBhY2Nlc3MgYW55IG9yZ2FuaXphdGlvbiByZXNvdXJjZXMugtPkkwInIiIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vZW5hYmxlOgEqEuQCChNEaXNhYmxlT3JnYW5pemF0aW9uEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlT3JnYW5pemF0aW9uUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlIt0BkkGrAQoMT3JnYW5pemF0aW9uEhREaXNhYmxlIG9yZ2FuaXphdGlvbhqEAVNldHMgdGhlIHN0YXRlIG9mIHRoZSBvcmdhbml6YXRpb24gYXMgZGlzYWJsZWQuIFRoZSBleGlzdGluZyB1c2VycyBpbiB0aGUgb3JnIHdpbGwgbm90IGJlIGFibGUgdG8gYWNjZXNzIGFueSBvcmdhbml6YXRpb24gcmVzb3VyY2VzLoLT5JMCKCIjL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L2Rpc2FibGU6ASoSxgIKEkRlbGV0ZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uUmVzcG9uc2UiwgGSQZsBCgxPcmdhbml6YXRpb24SE0RlbGV0ZSBvcmdhbml6YXRpb24adkRlbGV0ZSBhbiBvcmdhbml6YXRpb24gYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIHBlcm1hbmVudGx5LiBUaGUgb3JnYW5pemF0aW9uIHVzZXJzIHdpbGwgbm90IGJlIGRlbGV0ZWQgZnJvbSBGcm9udGllci6C0+STAh0qGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfRKvAQoNQ3JlYXRlUHJvamVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNwb25zZSI7kkEZCgdQcm9qZWN0Eg5DcmVhdGUgcHJvamVjdILT5JMCGSIRL3YxYmV0YTEvcHJvamVjdHM6BGJvZHkSuwEKCkdldFByb2plY3QSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9qZWN0UmVzcG9uc2UiUJJBLwoHUHJvamVjdBILR2V0IHByb2plY3QaF1JldHVybnMgYSBwcm9qZWN0IGJ5IElEgtPkkwIYEhYvdjFiZXRhMS9wcm9qZWN0cy97aWR9Es0BCg1VcGRhdGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvamVjdFJlc3BvbnNlIlmSQTIKB1Byb2plY3QSDlVwZGF0ZSBwcm9qZWN0GhdVcGRhdGVzIGEgcHJvamVjdCBieSBJRILT5JMCHhoWL3YxYmV0YTEvcHJvamVjdHMve2lkfToEYm9keRLzAQoRTGlzdFByb2plY3RBZG1pbnMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0QWRtaW5zUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RBZG1pbnNSZXNwb25zZSJzkkFLCgdQcm9qZWN0EhNMaXN0IHByb2plY3QgYWRtaW5zGitSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiBhZG1pbnMgb2YgYSBwcm9qZWN0gtPkkwIfEh0vdjFiZXRhMS9wcm9qZWN0cy97aWR9L2FkbWlucxKYAgoQTGlzdFByb2plY3RVc2VycxIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RVc2Vyc1JlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0VXNlcnNSZXNwb25zZSKaAZJBcwoHUHJvamVjdBISTGlzdCBwcm9qZWN0IHVzZXJzGlRSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiB1c2VycyBvZiBhIHByb2plY3QuIEZpbHRlciBieSB1c2VyIHBlcm1pc3Npb25zIGlzIHN1cHBvcnRlZC6C0+STAh4SHC92MWJldGExL3Byb2plY3RzL3tpZH0vdXNlcnMSkQIKF0xpc3RQcm9qZWN0U2VydmljZVVzZXJzEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVzcG9uc2Uif5JBUQoHUHJvamVjdBIZTGlzdCBwcm9qZWN0IHNlcnZpY2V1c2VycxorUmV0dXJucyBhIGNvbGxlY3Rpb24gb2YgdXNlcnMgb2YgYSBwcm9qZWN0LoLT5JMCJRIjL3YxYmV0YTEvcHJvamVjdHMve2lkfS9zZXJ2aWNldXNlcnMS9AEKEUxpc3RQcm9qZWN0R3JvdXBzEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEdyb3Vwc1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2UidJJBTAoHUHJvamVjdBITTGlzdCBwcm9qZWN0IGdyb3VwcxosUmV0dXJucyBhIGNvbGxlY3Rpb24gb2YgZ3JvdXBzIG9mIGEgcHJvamVjdC6C0+STAh8SHS92MWJldGExL3Byb2plY3RzL3tpZH0vZ3JvdXBzErgBCg1FbmFibGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlUHJvamVjdFJlc3BvbnNlIkSSQRkKB1Byb2plY3QSDkVuYWJsZSBwcm9qZWN0gtPkkwIiIh0vdjFiZXRhMS9wcm9qZWN0cy97aWR9L2VuYWJsZToBKhK9AQoORGlzYWJsZVByb2plY3QSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVQcm9qZWN0UmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVByb2plY3RSZXNwb25zZSJGkkEaCgdQcm9qZWN0Eg9EaXNhYmxlIHByb2plY3SC0+STAiMiHi92MWJldGExL3Byb2plY3RzL3tpZH0vZGlzYWJsZToBKhLiAQoNRGVsZXRlUHJvamVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVByb2plY3RSZXNwb25zZSJukkFNCgdQcm9qZWN0Eg5EZWxldGUgUHJvamVjdBoyRGVsZXRlIGEgcHJvamVjdCBhbGwgb2YgaXRzIHJlbGF0aW9ucyBwZXJtYW5lbnRseS6C0+STAhgqFi92MWJldGExL3Byb2plY3RzL3tpZH0SvQEKDENyZWF0ZVBvbGljeRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUG9saWN5UmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUG9saWN5UmVzcG9uc2UiTJJBKgoGUG9saWN5Eg1DcmVhdGUgcG9saWN5GhFDcmVhdGVzIGEgcG9saWN5IILT5JMCGSIRL3YxYmV0YTEvcG9saWNpZXM6BGJvZHkStQEKCUdldFBvbGljeRIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UG9saWN5UmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UG9saWN5UmVzcG9uc2UiTZJBLAoGUG9saWN5EgpHZXQgcG9saWN5GhZSZXR1cm5zIGEgcG9saWN5IGJ5IElEgtPkkwIYEhYvdjFiZXRhMS9wb2xpY2llcy97aWR9ErkCCgxMaXN0UG9saWNpZXMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQb2xpY2llc1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQb2xpY2llc1Jlc3BvbnNlIscBkkGqAQoGUG9saWN5EhFMaXN0IGFsbCBwb2xpY2llcxqMAUxpc3RzIGFsbCB0aGUgcG9saWNpZXMgZnJvbSBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgaW4gYSBGcm9udGllciBpbnN0YW5jZS4gSXQgY2FuIGJlIGZpbHRlcmVkIGJ5IG9yZ2FuaXphdGlvbiwgcHJvamVjdCwgdXNlciwgcm9sZSBhbmQgZ3JvdXAugtPkkwITEhEvdjFiZXRhMS9wb2xpY2llcxLHAQoMVXBkYXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQb2xpY3lSZXNwb25zZSJWkkEvCgZQb2xpY3kSDVVwZGF0ZSBwb2xpY3kaFlVwZGF0ZXMgYSBwb2xpY3kgYnkgSUSC0+STAh4aFi92MWJldGExL3BvbGljaWVzL3tpZH06BGJvZHkS3AEKDERlbGV0ZVBvbGljeRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUG9saWN5UmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUG9saWN5UmVzcG9uc2Uia5JBSgoGUG9saWN5Eg1EZWxldGUgUG9saWN5GjFEZWxldGUgYSBwb2xpY3kgYWxsIG9mIGl0cyByZWxhdGlvbnMgcGVybWFuZW50bHkugtPkkwIYKhYvdjFiZXRhMS9wb2xpY2llcy97aWR9EokCChZDcmVhdGVQb2xpY3lGb3JQcm9qZWN0EjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUG9saWN5Rm9yUHJvamVjdFJlc3BvbnNlInqSQUIKBlBvbGljeRIZQ3JlYXRlIFBvbGljeSBmb3IgUHJvamVjdBodQ3JlYXRlIGEgcG9saWN5IGZvciBhIHByb2plY3SC0+STAi8iJy92MWJldGExL3BvbGljaWVzL3Byb2plY3RzL3twcm9qZWN0X2lkfToEYm9keRK1AQoOQ3JlYXRlUmVsYXRpb24SMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVJlbGF0aW9uUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUmVsYXRpb25SZXNwb25zZSI+kkEbCghSZWxhdGlvbhIPQ3JlYXRlIHJlbGF0aW9ugtPkkwIaIhIvdjFiZXRhMS9yZWxhdGlvbnM6BGJvZHkSwgEKC0dldFJlbGF0aW9uEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRSZWxhdGlvblJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFJlbGF0aW9uUmVzcG9uc2UiVJJBMgoIUmVsYXRpb24SDEdldCByZWxhdGlvbhoYUmV0dXJucyBhIHJlbGF0aW9uIGJ5IElEgtPkkwIZEhcvdjFiZXRhMS9yZWxhdGlvbnMve2lkfRKQAgoORGVsZXRlUmVsYXRpb24SMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVJlbGF0aW9uUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUmVsYXRpb25SZXNwb25zZSKYAZJBTgoIUmVsYXRpb24SD0RlbGV0ZSByZWxhdGlvbhoxUmVtb3ZlIGEgc3ViamVjdCBoYXZpbmcgYSByZWxhdGlvbiBmcm9tIGFuIG9iamVjdILT5JMCQSo/L3YxYmV0YTEvcmVsYXRpb25zL3tyZWxhdGlvbn0vb2JqZWN0L3tvYmplY3R9L3N1YmplY3Qve3N1YmplY3R9EroBCg9MaXN0UGVybWlzc2lvbnMSMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQZXJtaXNzaW9uc1JlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQZXJtaXNzaW9uc1Jlc3BvbnNlIkCSQSEKClBlcm1pc3Npb24SE0dldCBhbGwgcGVybWlzc2lvbnOC0+STAhYSFC92MWJldGExL3Blcm1pc3Npb25zEtABCg1HZXRQZXJtaXNzaW9uEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQZXJtaXNzaW9uUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGVybWlzc2lvblJlc3BvbnNlIlySQTgKClBlcm1pc3Npb24SDkdldCBwZXJtaXNzaW9uGhpSZXR1cm5zIGEgcGVybWlzc2lvbiBieSBJRILT5JMCGxIZL3YxYmV0YTEvcGVybWlzc2lvbnMve2lkfRLvAQoOTGlzdE5hbWVzcGFjZXMSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3ROYW1lc3BhY2VzUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE5hbWVzcGFjZXNSZXNwb25zZSJ4kkFaCglOYW1lc3BhY2USEkdldCBhbGwgbmFtZXNwYWNlcxo5UmV0dXJucyB0aGUgbGlzdCBvZiBhbGwgbmFtZXNwYWNlcyBpbiBhIEZyb250aWVyIGluc3RhbmNlgtPkkwIVEhMvdjFiZXRhMS9uYW1lc3BhY2VzEskBCgxHZXROYW1lc3BhY2USLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE5hbWVzcGFjZVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE5hbWVzcGFjZVJlc3BvbnNlIliSQTUKCU5hbWVzcGFjZRINR2V0IG5hbWVzcGFjZRoZUmV0dXJucyBhIG5hbWVzcGFjZSBieSBJRILT5JMCGhIYL3YxYmV0YTEvbmFtZXNwYWNlcy97aWR9EtkBChRMaXN0UHJvamVjdFJlc291cmNlcxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RSZXNvdXJjZXNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFJlc291cmNlc1Jlc3BvbnNlIlCSQR0KCFJlc291cmNlEhFHZXQgYWxsIHJlc291cmNlc4LT5JMCKhIoL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcxKBAgoVQ3JlYXRlUHJvamVjdFJlc291cmNlEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSJ1kkE8CghSZXNvdXJjZRIPQ3JlYXRlIHJlc291cmNlGh9DcmVhdGVzIGEgcmVzb3VyY2UgaW4gYSBwcm9qZWN0gtPkkwIwIigvdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzOgRib2R5EvUBChJHZXRQcm9qZWN0UmVzb3VyY2USNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXNvdXJjZVJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXNvdXJjZVJlc3BvbnNlInKSQToKCFJlc291cmNlEgxHZXQgcmVzb3VyY2UaIFJldHVybnMgYSBwcm9qZWN0IHJlc291cmNlIGJ5IElEgtPkkwIvEi0vdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzL3tpZH0ShgIKFVVwZGF0ZVByb2plY3RSZXNvdXJjZRI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UiepJBPAoIUmVzb3VyY2USD1VwZGF0ZSByZXNvdXJjZRofVXBkYXRlcyBhIHJlc291cmNlIGluIGEgcHJvamVjdILT5JMCNRotL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcy97aWR9OgRib2R5Eo8CChVEZWxldGVQcm9qZWN0UmVzb3VyY2USNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlIoIBkkFKCghSZXNvdXJjZRIPRGVsZXRlIHJlc291cmNlGi1EZWxldGVzIGEgcmVzb3VyY2UgZnJvbSBhIHByb2plY3QgcGVybWFuZW50bHmC0+STAi8qLS92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMve2lkfRL7AwoXQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb24SOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXNwb25zZSLoApJBywIKBUF1dGh6EgVDaGVjaxq6AlJldHVybnMgdHJ1ZSBpZiBhIHByaW5jaXBhbCBoYXMgcmVxdWlyZWQgcGVybWlzc2lvbnMgdG8gYWNjZXNzIGEgcmVzb3VyY2UgYW5kIGZhbHNlIG90aGVyd2lzZS48YnIvPiBOb3RlIHRoZSBwcmluY2lwYWwgY2FuIGJlIGEgdXNlciBvciBhIHNlcnZpY2UgYWNjb3VudC4gRnJvbnRpZXIgd2lsbCBleHRyYWN0IHByaW5jaXBhbCBmcm9tIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiBzZXNzaW9uIGNvb2tpZSAoaWYgYW55KSwgb3IgdGhlIGNsaWVudCBpZCBhbmQgc2VjcmV0IChpbiBjYXNlIG9mIHNlcnZpY2UgdXNlcnMpIG9yIHRoZSBhY2Nlc3MgdG9rZW4ugtPkkwITIg4vdjFiZXRhMS9jaGVjazoBKhKzBAoUQmF0Y2hDaGVja1Blcm1pc3Npb24SNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25SZXNwb25zZSKpA5JBhwMKBUF1dGh6EgtCYXRjaCBjaGVjaxrwAlJldHVybnMgdHJ1ZSBpZiBhIHByaW5jaXBhbCBoYXMgcmVxdWlyZWQgcGVybWlzc2lvbnMgdG8gYWNjZXNzIGEgcmVzb3VyY2UgYW5kIGZhbHNlIG90aGVyd2lzZS48YnIvPiBOb3RlIHRoZSBwcmluY2lwYWwgY2FuIGJlIGEgdXNlciBvciBhIHNlcnZpY2UgYWNjb3VudCwgYW5kIEZyb250aWVyIHdpbGwgdGhlIGNyZWRlbnRpYWxzIGZyb20gdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHByaW5jaXBhbCBmcm9tIHRoZSBzZXNzaW9uIGNvb2tpZSAoaWYgYW55KSwgb3IgdGhlIGNsaWVudCBpZCBhbmQgc2VjcmV0IChpbiBjYXNlIG9mIHNlcnZpY2UgdXNlcnMpIG9yIHRoZSBhY2Nlc3MgdG9rZW4gKGluIGNhc2Ugb2YgaHVtYW4gdXNlciBhY2NvdW50cykugtPkkwIYIhMvdjFiZXRhMS9iYXRjaGNoZWNrOgEqErUBCgdHZXRKV0tzEikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRKV0tzUmVxdWVzdBoqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0SldLc1Jlc3BvbnNlIlOSQRwKBUF1dGh6EhNHZXQgd2VsbCBrbm93biBKV0tzgtPkkwIuEhIvdjFiZXRhMS9hdXRoL2p3a3NaGBIWLy53ZWxsLWtub3duL2p3a3MuanNvbhJxCgxMaXN0U2Vzc2lvbnMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXNzaW9uc1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXNzaW9uc1Jlc3BvbnNlIgASdAoNUmV2b2tlU2Vzc2lvbhIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmV2b2tlU2Vzc2lvblJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJldm9rZVNlc3Npb25SZXNwb25zZSIAEnoKD1BpbmdVc2VyU2Vzc2lvbhIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGluZ1VzZXJTZXNzaW9uUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGluZ1VzZXJTZXNzaW9uUmVzcG9uc2UiABK3AgoSTGlzdEF1dGhTdHJhdGVnaWVzEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QXV0aFN0cmF0ZWdpZXNSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QXV0aFN0cmF0ZWdpZXNSZXNwb25zZSKzAZJBmgEKBUF1dGhuEh5MaXN0IGF1dGhlbnRpY2F0aW9uIHN0cmF0ZWdpZXMacVJldHVybnMgYSBsaXN0IG9mIGlkZW50aXR5IHByb3ZpZGVycyBjb25maWd1cmVkIG9uIGFuIGluc3RhbmNlIGxldmVsIGluIEZyb250aWVyLiBlLmcgR29vZ2xlLCBBenVyZUFELCBHaXRodWIgZXRjgtPkkwIPEg0vdjFiZXRhMS9hdXRoEukECgxBdXRoZW50aWNhdGUSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhlbnRpY2F0ZVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhlbnRpY2F0ZVJlc3BvbnNlIvcDkkGYAwoFQXV0aG4SHEF1dGhlbnRpY2F0ZSB3aXRoIGEgc3RyYXRlZ3ka8AJBdXRoZW50aWNhdGUgYSB1c2VyIHdpdGggYSBzdHJhdGVneS4gQnkgZGVmYXVsdCwgYWZ0ZXIgc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbiBubyBvcGVyYXRpb24gd2lsbCBiZSBwZXJmb3JtZWQgdG8gYXBwbHkgcmVkaXJlY3Rpb24gaW4gY2FzZSBvZiBicm93c2VycywgcHJvdmlkZSBhIHVybCBpbiB0aGUgYXV0aGVudGljYXRlIHJlcXVlc3QgYm9keSB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgcmVkaXJlY3Rpb24gYWZ0ZXIgYXV0aGVudGljYXRpb24uIEFsc28gc2V0IHJlZGlyZWN0IGFzIHRydWUgZm9yIHJlZGlyZWN0aW5nIHRoZSB1c2VyIHJlcXVlc3QgdG8gdGhlIHJlZGlyZWN0X3VybCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLoLT5JMCVRImL3YxYmV0YTEvYXV0aC9yZWdpc3Rlci97c3RyYXRlZ3lfbmFtZX1aKyImL3YxYmV0YTEvYXV0aC9yZWdpc3Rlci97c3RyYXRlZ3lfbmFtZX06ASoSvQQKDEF1dGhDYWxsYmFjaxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aENhbGxiYWNrUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aENhbGxiYWNrUmVzcG9uc2UiywOSQYwDCgVBdXRobhIYQ2FsbGJhY2sgZnJvbSBhIHN0cmF0ZWd5GugCQ2FsbGJhY2sgZnJvbSBhIHN0cmF0ZWd5LiBUaGlzIGlzIHRoZSBlbmRwb2ludCB3aGVyZSB0aGUgc3RyYXRlZ3kgd2lsbCByZWRpcmVjdCB0aGUgdXNlciBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLiBUaGlzIGVuZHBvaW50IHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIGNvZGUgYW5kIHN0YXRlIHF1ZXJ5IHBhcmFtZXRlcnMuIFRoZSBjb2RlIHdpbGwgYmUgdXNlZCB0byBnZXQgdGhlIGFjY2VzcyB0b2tlbiBmcm9tIHRoZSBzdHJhdGVneSBhbmQgdGhlIHN0YXRlIHdpbGwgYmUgdXNlZCB0byBnZXQgdGhlIHJldHVybl90byB1cmwgZnJvbSB0aGUgc2Vzc2lvbiBhbmQgcmVkaXJlY3QgdGhlIHVzZXIgdG8gdGhhdCB1cmwugtPkkwI1EhYvdjFiZXRhMS9hdXRoL2NhbGxiYWNrWhsiFi92MWJldGExL2F1dGgvY2FsbGJhY2s6ASoSwgMKCUF1dGhUb2tlbhIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFRva2VuUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFRva2VuUmVzcG9uc2Ui2QKSQbcCCgVBdXRobhIqR2VuZXJhdGUgYWNjZXNzIHRva2VuIGJ5IGdpdmVuIGNyZWRlbnRpYWxzGoECQWNjZXNzIHRva2VuIGNhbiBiZSBnZW5lcmF0ZWQgYnkgcHJvdmlkaW5nIHRoZSBjcmVkZW50aWFscyBpbiB0aGUgcmVxdWVzdCBib2R5L2hlYWRlci4gVGhlIGNyZWRlbnRpYWxzIGNhbiBiZSBjbGllbnQgaWQgYW5kIHNlY3JldCBvciBzZXJ2aWNlIGFjY291bnQgZ2VuZXJhdGVkIGtleSBqd3QuIFVzZSB0aGUgZ2VuZXJhdGVkIGFjY2VzcyB0b2tlbiBpbiBBdXRob3JpemF0aW9uIGhlYWRlciB0byBhY2Nlc3MgdGhlIGZyb250aWVyIHJlc291cmNlcy6C0+STAhgiEy92MWJldGExL2F1dGgvdG9rZW46ASoSwQEKCkF1dGhMb2dvdXQSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhMb2dvdXRSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoTG9nb3V0UmVzcG9uc2UiVpJBHwoFQXV0aG4SFkxvZ291dCBmcm9tIGEgc3RyYXRlZ3mC0+STAi4SFC92MWJldGExL2F1dGgvbG9nb3V0WhYqFC92MWJldGExL2F1dGgvbG9nb3V0Eq4CCg9MaXN0TWV0YVNjaGVtYXMSMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RNZXRhU2NoZW1hc1JlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RNZXRhU2NoZW1hc1Jlc3BvbnNlIrMBkkGSAQoKTWV0YVNjaGVtYRIQTGlzdCBtZXRhc2NoZW1hcxpyUmV0dXJucyBhIGxpc3Qgb2YgYWxsIG1ldGFzY2hlbWFzIGNvbmZpZ3VyZWQgb24gYW4gaW5zdGFuY2UgbGV2ZWwgaW4gRnJvbnRpZXIuIGUuZyB1c2VyLCBwcm9qZWN0LCBvcmdhbml6YXRpb24gZXRjgtPkkwIXEhUvdjFiZXRhMS9tZXRhL3NjaGVtYXMSnwUKEENyZWF0ZU1ldGFTY2hlbWESMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU1ldGFTY2hlbWFSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVNZXRhU2NoZW1hUmVzcG9uc2UioQSSQfoDCgpNZXRhU2NoZW1hEhFDcmVhdGUgbWV0YXNjaGVtYRrYA0NyZWF0ZSBhIG5ldyBtZXRhZGF0YSBzY2hlbWEuIFRoZSBtZXRhc2NoZW1hICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZW50aXJlIEZyb250aWVyIGluc3RhbmNlIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLiBUaGUgbWV0YXNjaGVtYSAqKnNjaGVtYSoqIG11c3QgYmUgYSB2YWxpZCBKU09OIHNjaGVtYS5QbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvIHRvIGtub3cgbW9yZSBhYm91dCBqc29uIHNjaGVtYS4gPGJyLz4qRXhhbXBsZToqIGB7bmFtZToidXNlciIsc2NoZW1hOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsibGFiZWwiOnsidHlwZSI6Im9iamVjdCIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifX0sImRlc2NyaXB0aW9uIjp7InR5cGUiOiJzdHJpbmcifX19fWCC0+STAh0iFS92MWJldGExL21ldGEvc2NoZW1hczoEYm9keRLTAQoNR2V0TWV0YVNjaGVtYRIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TWV0YVNjaGVtYVJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE1ldGFTY2hlbWFSZXNwb25zZSJfkkE6CgpNZXRhU2NoZW1hEg5HZXQgbWV0YXNjaGVtYRocR2V0IGEgbWV0YWRhdGEgc2NoZW1hIGJ5IElELoLT5JMCHBIaL3YxYmV0YTEvbWV0YS9zY2hlbWFzL3tpZH0SwQQKEFVwZGF0ZU1ldGFTY2hlbWESMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU1ldGFTY2hlbWFSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVNZXRhU2NoZW1hUmVzcG9uc2UiwwOSQZcDCgpNZXRhU2NoZW1hEhFVcGRhdGUgbWV0YXNjaGVtYRr1AlVwZGF0ZSBhIG1ldGFkYXRhIHNjaGVtYS4gT25seSBgc2NoZW1hYCBmaWVsZCBvZiBhIG1ldGFzY2hlbWEgY2FuIGJlIHVwZGF0ZWQuIFRoZSBtZXRhc2NoZW1hIGBzY2hlbWFgIG11c3QgYmUgYSB2YWxpZCBKU09OIHNjaGVtYS5QbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvIHRvIGtub3cgbW9yZSBhYm91dCBqc29uIHNjaGVtYS4gPGJyLz4qRXhhbXBsZToqIGB7bmFtZToidXNlciIsc2NoZW1hOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsibGFiZWwiOnsidHlwZSI6Im9iamVjdCIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjp7InR5cGUiOiJzdHJpbmcifX0sImRlc2NyaXB0aW9uIjp7InR5cGUiOiJzdHJpbmcifX19fWCC0+STAiIaGi92MWJldGExL21ldGEvc2NoZW1hcy97aWR9OgRib2R5EuMEChBEZWxldGVNZXRhU2NoZW1hEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVNZXRhU2NoZW1hUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlTWV0YVNjaGVtYVJlc3BvbnNlIuUDkkG/AwoKTWV0YVNjaGVtYRIRRGVsZXRlIG1ldGFzY2hlbWEanQNEZWxldGUgYSBtZXRhZGF0YSBzY2hlbWEgcGVybWFuZW50bHkuIE9uY2UgZGVsZXRlZCB0aGUgbWV0YXNjaGVtYSB3b24ndCBiZSB1c2VkIHRvIHZhbGlkYXRlIHRoZSBtZXRhZGF0YS4gRm9yIGV4YW1wbGUsIGlmIGEgbWV0YXNjaGVtYSh3aXRoIGBsYWJlbGAgYW5kIGBkZXNjcmlwdGlvbmAgZmllbGRzKSBpcyB1c2VkIHRvIHZhbGlkYXRlIHRoZSBtZXRhZGF0YSBvZiBhIHVzZXIsIHRoZW4gZGVsZXRpbmcgdGhlIG1ldGFzY2hlbWEgd2lsbCBub3QgdmFsaWRhdGUgdGhlIG1ldGFkYXRhIG9mIHRoZSB1c2VyIGFuZCBtZXRhZGF0YSBmaWVsZCBjYW4gY29udGFpbiBhbnkga2V5LXZhbHVlIHBhaXIoYW5kIHNheSBhbm90aGVyIGZpZWxkIGNhbGxlZCBgZm9vYCBjYW4gYmUgaW5zZXJ0ZWQgaW4gYSB1c2VyJ3MgbWV0YWRhdGEpLoLT5JMCHCoaL3YxYmV0YTEvbWV0YS9zY2hlbWFzL3tpZH0S4AIKGUxpc3RPcmdhbml6YXRpb25BdWRpdExvZ3MSOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25BdWRpdExvZ3NSZXF1ZXN0GjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVzcG9uc2UixwGIAgGSQY8BCghBdWRpdExvZxIPTGlzdCBhdWRpdCBsb2dzGnBSZXR1cm5zIGEgbGlzdCBvZiBhdWRpdCBsb2dzIG9mIGFuIG9yZ2FuaXphdGlvbiBpbiBGcm9udGllci4gREVQUkVDQVRFRDogVXNlIGFkbWluIExpc3RBdWRpdFJlY29yZHMgQVBJIGluc3RlYWQuWAGC0+STAisSKS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYXVkaXRsb2dzEtUCChtDcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3MSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkF1ZGl0TG9nc1JlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkF1ZGl0TG9nc1Jlc3BvbnNlIrYBiAIBkkF8CghBdWRpdExvZxIQQ3JlYXRlIGF1ZGl0IGxvZxpcQ3JlYXRlIG5ldyBhdWRpdCBsb2dzIGluIGEgYmF0Y2guIERFUFJFQ0FURUQ6IFVzZSBMaXN0QXVkaXRSZWNvcmRzIEFQSSBpbnN0ZWFkIHdpdGggZmlsdGVycy5YAYLT5JMCLiIpL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9hdWRpdGxvZ3M6ASoStQIKF0dldE9yZ2FuaXphdGlvbkF1ZGl0TG9nEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25BdWRpdExvZ1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVzcG9uc2UiogGIAgGSQWYKCEF1ZGl0TG9nEg1HZXQgYXVkaXQgbG9nGklHZXQgYW4gYXVkaXQgbG9nIGJ5IElELiBERVBSRUNBVEVEOiBVc2UgYWRtaW4gR2V0QXVkaXRSZWNvcmQgQVBJIGluc3RlYWQuWAGC0+STAjASLi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYXVkaXRsb2dzL3tpZH0SiQIKE0Rlc2NyaWJlUHJlZmVyZW5jZXMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlc2NyaWJlUHJlZmVyZW5jZXNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZXNjcmliZVByZWZlcmVuY2VzUmVzcG9uc2UiggGSQVwKClByZWZlcmVuY2USFERlc2NyaWJlIHByZWZlcmVuY2VzGjhSZXR1cm5zIGEgbGlzdCBvZiBhbGwgcHJlZmVyZW5jZXMgc3VwcG9ydGVkIGJ5IEZyb250aWVyLoLT5JMCHRIbL3YxYmV0YTEvcHJlZmVyZW5jZXMvdHJhaXRzEsQDCh1DcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlcxI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0GkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlIp8CkkHpAQoKUHJlZmVyZW5jZRIfQ3JlYXRlIG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcxq5AUNyZWF0ZSBhIG5ldyBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMuIFRoZSBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBvcmdhbml6YXRpb24gYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIsIicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vcHJlZmVyZW5jZXM6ASoSpQIKG0xpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlcxI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2UihgGSQVQKClByZWZlcmVuY2USHUxpc3Qgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzGidMaXN0IGFuIG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcyBieSBJRC6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9wcmVmZXJlbmNlcxKcAwoYQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZSKGApJB1QEKClByZWZlcmVuY2USGkNyZWF0ZSBwcm9qZWN0IHByZWZlcmVuY2VzGqoBQ3JlYXRlIGEgbmV3IHByb2plY3QgcHJlZmVyZW5jZXMuIFRoZSBwcm9qZWN0IHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgcHJvamVjdCBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiciIi92MWJldGExL3Byb2plY3RzL3tpZH0vcHJlZmVyZW5jZXM6ASoShQIKFkxpc3RQcm9qZWN0UHJlZmVyZW5jZXMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVzcG9uc2UidpJBSQoKUHJlZmVyZW5jZRIYTGlzdCBwcm9qZWN0IHByZWZlcmVuY2VzGiFMaXN0IGEgcHJvamVjdCBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiQSIi92MWJldGExL3Byb2plY3RzL3tpZH0vcHJlZmVyZW5jZXMSjAMKFkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFByZWZlcmVuY2VzUmVzcG9uc2Ui/AGSQc0BCgpQcmVmZXJlbmNlEhhDcmVhdGUgZ3JvdXAgcHJlZmVyZW5jZXMapAFDcmVhdGUgYSBuZXcgZ3JvdXAgcHJlZmVyZW5jZXMuIFRoZSBncm91cCBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGdyb3VwIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJSIgL3YxYmV0YTEvZ3JvdXBzL3tpZH0vcHJlZmVyZW5jZXM6ASoS+QEKFExpc3RHcm91cFByZWZlcmVuY2VzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFByZWZlcmVuY2VzUmVzcG9uc2UicJJBRQoKUHJlZmVyZW5jZRIWTGlzdCBncm91cCBwcmVmZXJlbmNlcxofTGlzdCBhIGdyb3VwIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCIhIgL3YxYmV0YTEvZ3JvdXBzL3tpZH0vcHJlZmVyZW5jZXMShAMKFUNyZWF0ZVVzZXJQcmVmZXJlbmNlcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVzcG9uc2Ui9wGSQckBCgpQcmVmZXJlbmNlEhdDcmVhdGUgdXNlciBwcmVmZXJlbmNlcxqhAUNyZWF0ZSBhIG5ldyB1c2VyIHByZWZlcmVuY2VzLiBUaGUgdXNlciBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHVzZXIgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIkIh8vdjFiZXRhMS91c2Vycy97aWR9L3ByZWZlcmVuY2VzOgEqEvMBChNMaXN0VXNlclByZWZlcmVuY2VzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlclByZWZlcmVuY2VzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIm2SQUMKClByZWZlcmVuY2USFUxpc3QgdXNlciBwcmVmZXJlbmNlcxoeTGlzdCBhIHVzZXIgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIhEh8vdjFiZXRhMS91c2Vycy97aWR9L3ByZWZlcmVuY2VzEqEDChxDcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIv8BkkHRAQoKUHJlZmVyZW5jZRIfQ3JlYXRlIGN1cnJlbnQgdXNlciBwcmVmZXJlbmNlcxqhAUNyZWF0ZSBhIG5ldyB1c2VyIHByZWZlcmVuY2VzLiBUaGUgdXNlciBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHVzZXIgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIkIh8vdjFiZXRhMS91c2Vycy9zZWxmL3ByZWZlcmVuY2VzOgEqEpACChpMaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlcxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlInWSQUsKClByZWZlcmVuY2USHUxpc3QgY3VycmVudCB1c2VyIHByZWZlcmVuY2VzGh5MaXN0IGEgdXNlciBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiESHy92MWJldGExL3VzZXJzL3NlbGYvcHJlZmVyZW5jZXMSkwIKFENyZWF0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiiQGSQVQKB0JpbGxpbmcSFkNyZWF0ZSBiaWxsaW5nIGFjY291bnQaMUNyZWF0ZSBhIG5ldyBiaWxsaW5nIGFjY291bnQgZm9yIGFuIG9yZ2FuaXphdGlvbi6C0+STAiwiJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZzoBKhLzAQoRR2V0QmlsbGluZ0FjY291bnQSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdBY2NvdW50UmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0FjY291bnRSZXNwb25zZSJzkkE8CgdCaWxsaW5nEhNHZXQgYmlsbGluZyBhY2NvdW50GhxHZXQgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwIuEiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfRKFAgoUVXBkYXRlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZSJ8kkFCCgdCaWxsaW5nEhZVcGRhdGUgYmlsbGluZyBhY2NvdW50Gh9VcGRhdGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwIxGiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfToBKhLBAgoWUmVnaXN0ZXJCaWxsaW5nQWNjb3VudBI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXNwb25zZSKxAZJBbgoHQmlsbGluZxIkUmVnaXN0ZXIgYmlsbGluZyBhY2NvdW50IHRvIHByb3ZpZGVyGj1SZWdpc3RlciBhIGJpbGxpbmcgYWNjb3VudCB0byBhIHByb3ZpZGVyIGlmIGl0J3Mgbm90IGFscmVhZHkugtPkkwI6IjUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9yZWdpc3RlcjoBKhKDAgoTTGlzdEJpbGxpbmdBY2NvdW50cxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdBY2NvdW50c1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nQWNjb3VudHNSZXNwb25zZSJ9kkFLCgdCaWxsaW5nEhVMaXN0IGJpbGxpbmcgYWNjb3VudHMaKUxpc3QgYmlsbGluZyBhY2NvdW50cyBvZiBhbiBvcmdhbml6YXRpb24ugtPkkwIpEicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcSggIKFERlbGV0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UieZJBQgoHQmlsbGluZxIWRGVsZXRlIGJpbGxpbmcgYWNjb3VudBofRGVsZXRlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCLiosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0SjQIKFEVuYWJsZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UigwGSQUIKB0JpbGxpbmcSFkVuYWJsZSBiaWxsaW5nIGFjY291bnQaH0VuYWJsZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAjgiMy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2VuYWJsZToBKhLpAgoVRGlzYWJsZUJpbGxpbmdBY2NvdW50EjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSLcAZJBmQEKB0JpbGxpbmcSF0Rpc2FibGUgYmlsbGluZyBhY2NvdW50GnVEaXNhYmxlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELiBEaXNhYmxpbmcgYSBiaWxsaW5nIGFjY291bnQgZG9lc24ndCBhdXRvbWF0aWNhbGx5IGRpc2FibGUgaXQncyBhY3RpdmUgc3Vic2NyaXB0aW9ucy6C0+STAjkiNC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2Rpc2FibGU6ASoSiwIKEUdldEJpbGxpbmdCYWxhbmNlEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQmFsYW5jZVJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdCYWxhbmNlUmVzcG9uc2UiigGSQUsKB0JpbGxpbmcSE0dldCBiaWxsaW5nIGJhbGFuY2UaK0dldCB0aGUgYmFsYW5jZSBvZiBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAjYSNC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L2JhbGFuY2US+gEKCkhhc1RyaWFsZWQSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkhhc1RyaWFsZWRSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5IYXNUcmlhbGVkUmVzcG9uc2UijgGSQT8KB0JpbGxpbmcSC0hhcyB0cmlhbGVkGidDaGVjayBpZiBhIGJpbGxpbmcgYWNjb3VudCBoYXMgdHJpYWxlZC6C0+STAkYSRC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L3BsYW5zL3twbGFuX2lkfS90cmlhbGVkEscCCg9HZXRTdWJzY3JpcHRpb24SMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFN1YnNjcmlwdGlvblJlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFN1YnNjcmlwdGlvblJlc3BvbnNlIswBkkE7CgxTdWJzY3JpcHRpb24SEEdldCBzdWJzY3JpcHRpb24aGUdldCBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STAocBEkcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfVo8EjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9EuoCChJDYW5jZWxTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNhbmNlbFN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNhbmNlbFN1YnNjcmlwdGlvblJlc3BvbnNlIuYBkkFBCgxTdWJzY3JpcHRpb24SE0NhbmNlbCBzdWJzY3JpcHRpb24aHENhbmNlbCBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STApsBIk4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfS9jYW5jZWw6ASpaRiJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfS9jYW5jZWw6ASoS0wIKEUxpc3RTdWJzY3JpcHRpb25zEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTdWJzY3JpcHRpb25zUmVzcG9uc2Ui0gGSQUwKDFN1YnNjcmlwdGlvbhISTGlzdCBzdWJzY3JpcHRpb25zGihMaXN0IHN1YnNjcmlwdGlvbnMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJ9EkIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnNaNxI1L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMS9AIKEkNoYW5nZVN1YnNjcmlwdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2Ui8AGSQUsKDFN1YnNjcmlwdGlvbhIYQ2hhbmdlIHN1YnNjcmlwdGlvbiBwbGFuGiFDaGFuZ2UgYSBzdWJzY3JpcHRpb24gcGxhbiBieSBJRC6C0+STApsBIk4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfS9jaGFuZ2U6ASpaRiJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfS9jaGFuZ2U6ASoS3AIKElVwZGF0ZVN1YnNjcmlwdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlU3Vic2NyaXB0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2Ui2AGSQUEKDFN1YnNjcmlwdGlvbhITVXBkYXRlIHN1YnNjcmlwdGlvbhocVXBkYXRlIGEgc3Vic2NyaXB0aW9uIGJ5IElELoLT5JMCjQEaRy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9OgEqWj8iOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH06ASoS2AEKDUNyZWF0ZVByb2R1Y3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2R1Y3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9kdWN0UmVzcG9uc2UiZJJBPQoHUHJvZHVjdBIOQ3JlYXRlIHByb2R1Y3QaIkNyZWF0ZSBhIG5ldyBwcm9kdWN0IGZvciBwbGF0Zm9ybS6C0+STAh4iGS92MWJldGExL2JpbGxpbmcvcHJvZHVjdHM6ASoSwAEKCkdldFByb2R1Y3QSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2R1Y3RSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9kdWN0UmVzcG9uc2UiVZJBLAoHUHJvZHVjdBILR2V0IHByb2R1Y3QaFEdldCBhIHByb2R1Y3QgYnkgSUQugtPkkwIgEh4vdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzL3tpZH0SzwEKDExpc3RQcm9kdWN0cxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2R1Y3RzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2R1Y3RzUmVzcG9uc2UiXpJBOgoHUHJvZHVjdBINTGlzdCBwcm9kdWN0cxogTGlzdCBhbGwgcHJvZHVjdHMgb2YgYSBwbGF0Zm9ybS6C0+STAhsSGS92MWJldGExL2JpbGxpbmcvcHJvZHVjdHMS0gEKDVVwZGF0ZVByb2R1Y3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2R1Y3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9kdWN0UmVzcG9uc2UiXpJBMgoHUHJvZHVjdBIOVXBkYXRlIHByb2R1Y3QaF1VwZGF0ZSBhIHByb2R1Y3QgYnkgSUQugtPkkwIjGh4vdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzL3tpZH06ASoS2AEKDUNyZWF0ZUZlYXR1cmUSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUZlYXR1cmVSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVGZWF0dXJlUmVzcG9uc2UiZJJBPQoHRmVhdHVyZRIOQ3JlYXRlIGZlYXR1cmUaIkNyZWF0ZSBhIG5ldyBmZWF0dXJlIGZvciBwbGF0Zm9ybS6C0+STAh4iGS92MWJldGExL2JpbGxpbmcvZmVhdHVyZXM6ASoSwAEKCkdldEZlYXR1cmUSLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEZlYXR1cmVSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRGZWF0dXJlUmVzcG9uc2UiVZJBLAoHRmVhdHVyZRILR2V0IGZlYXR1cmUaFEdldCBhIGZlYXR1cmUgYnkgSUQugtPkkwIgEh4vdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzL3tpZH0S0gEKDVVwZGF0ZUZlYXR1cmUSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUZlYXR1cmVSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVGZWF0dXJlUmVzcG9uc2UiXpJBMgoHRmVhdHVyZRIOVXBkYXRlIGZlYXR1cmUaF1VwZGF0ZSBhIGZlYXR1cmUgYnkgSUQugtPkkwIjGh4vdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzL3tpZH06ASoSwAEKDExpc3RGZWF0dXJlcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEZlYXR1cmVzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEZlYXR1cmVzUmVzcG9uc2UiT5JBKwoHRmVhdHVyZRINTGlzdCBmZWF0dXJlcxoRTGlzdCBhbGwgZmVhdHVyZXOC0+STAhsSGS92MWJldGExL2JpbGxpbmcvZmVhdHVyZXMSwwEKCkNyZWF0ZVBsYW4SLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBsYW5SZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQbGFuUmVzcG9uc2UiWJJBNAoEUGxhbhILQ3JlYXRlIHBsYW4aH0NyZWF0ZSBhIG5ldyBwbGFuIGZvciBwbGF0Zm9ybS6C0+STAhsiFi92MWJldGExL2JpbGxpbmcvcGxhbnM6ASoSrAEKCUxpc3RQbGFucxIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBsYW5zUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBsYW5zUmVzcG9uc2UiRJJBIwoEUGxhbhIKTGlzdCBwbGFucxoPTGlzdCBhbGwgcGxhbnMugtPkkwIYEhYvdjFiZXRhMS9iaWxsaW5nL3BsYW5zEqsBCgdHZXRQbGFuEikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQbGFuUmVxdWVzdBoqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGxhblJlc3BvbnNlIkmSQSMKBFBsYW4SCEdldCBwbGFuGhFHZXQgYSBwbGFuIGJ5IElELoLT5JMCHRIbL3YxYmV0YTEvYmlsbGluZy9wbGFucy97aWR9Er0BCgpVcGRhdGVQbGFuEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQbGFuUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUGxhblJlc3BvbnNlIlKSQSkKBFBsYW4SC1VwZGF0ZSBwbGFuGhRVcGRhdGUgYSBwbGFuIGJ5IElELoLT5JMCIBobL3YxYmV0YTEvYmlsbGluZy9wbGFucy97aWR9OgEqEoUDCg5DcmVhdGVDaGVja291dBIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ2hlY2tvdXRSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDaGVja291dFJlc3BvbnNlIo0CkkGIAQoIQ2hlY2tvdXQSIkNoZWNrb3V0IGEgcHJvZHVjdCBvciBzdWJzY3JpcHRpb24aWENoZWNrb3V0IGEgcHJvZHVjdCB0byBidXkgaXQgb25lIHRpbWUgb3Igc3RhcnQgYSBzdWJzY3JpcHRpb24gcGxhbiBvbiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnsiPi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2tvdXRzOgEqWjYiMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHM6ASoStwIKDUxpc3RDaGVja291dHMSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDaGVja291dHNSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q2hlY2tvdXRzUmVzcG9uc2UiwgGSQUQKCENoZWNrb3V0Eg5MaXN0IGNoZWNrb3V0cxooTGlzdCBhbGwgY2hlY2tvdXRzIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCdRI+L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVja291dHNaMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2NoZWNrb3V0cxKmAgoLR2V0Q2hlY2tvdXQSLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldENoZWNrb3V0UmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q2hlY2tvdXRSZXNwb25zZSK3AZJBLwoIQ2hlY2tvdXQSDEdldCBjaGVja291dBoVR2V0IGEgY2hlY2tvdXQgYnkgSUQugtPkkwJ/EkMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrb3V0cy97aWR9WjgSNi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHMve2lkfRLcAgoXQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnQSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrRmVhdHVyZUVudGl0bGVtZW50UmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnRSZXNwb25zZSLJAZJBVgoLRW50aXRsZW1lbnQSEUNoZWNrIGVudGl0bGVtZW50GjRDaGVjayBpZiBhIGJpbGxpbmcgYWNjb3VudCBpcyBlbnRpdGxlZCB0byBhIGZlYXR1cmUugtPkkwJqIjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrOgEqWikiJC92MWJldGExL29yZ2FuaXphdGlvbnMvYmlsbGluZy9jaGVjazoBKhKfAgoWQ2hlY2tDcmVkaXRFbnRpdGxlbWVudBI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tDcmVkaXRFbnRpdGxlbWVudFJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZSKPAZJBawoLRW50aXRsZW1lbnQSGENoZWNrIGNyZWRpdCBlbnRpdGxlbWVudBpCQ2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaGFzIGVub3VnaCBjcmVkaXRzIHRvIGNvdmVyIHRoZSBhbW91bnQugtPkkwIbIhYvdjFiZXRhMS9iaWxsaW5nL2NoZWNrOgEqEskCChJDcmVhdGVCaWxsaW5nVXNhZ2USNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdVc2FnZVJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIsUBkkFQCgVVc2FnZRIUQ3JlYXRlIGJpbGxpbmcgdXNhZ2UaMVJlcG9ydCBhIG5ldyBiaWxsaW5nIHVzYWdlIGZvciBhIGJpbGxpbmcgYWNjb3VudC6C0+STAmwiOy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vdXNhZ2VzOgEqWioiJS92MWJldGExL29yZ2FuaXphdGlvbnMvYmlsbGluZy91c2FnZXM6ASoS7AIKF0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2Ui2QGSQVUKC1RyYW5zYWN0aW9uEhlMaXN0IGJpbGxpbmcgdHJhbnNhY3Rpb25zGitMaXN0IGFsbCB0cmFuc2FjdGlvbnMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJ7EkEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3RyYW5zYWN0aW9uc1o2EjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvdHJhbnNhY3Rpb25zEu8CChhUb3RhbERlYml0ZWRUcmFuc2FjdGlvbnMSOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlRvdGFsRGViaXRlZFRyYW5zYWN0aW9uc1JlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlRvdGFsRGViaXRlZFRyYW5zYWN0aW9uc1Jlc3BvbnNlItkBkkF/CgtUcmFuc2FjdGlvbhI3U3VtIG9mIGFtb3VudCBvZiBkZWJpdGVkIHRyYW5zYWN0aW9ucyBpbmNsdWRpbmcgcmVmdW5kcxo3U3VtIG9mIGFtb3VudCBvZiBkZWJpdGVkIHRyYW5zYWN0aW9ucyBpbmNsdWRpbmcgcmVmdW5kc4LT5JMCURJPL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9kZWJpdGVkX3RyYW5zYWN0aW9uc190b3RhbBKvAgoMTGlzdEludm9pY2VzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0SW52b2ljZXNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0SW52b2ljZXNSZXNwb25zZSK9AZJBQQoHSW52b2ljZRINTGlzdCBpbnZvaWNlcxonTGlzdCBhbGwgaW52b2ljZXMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJzEj0vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2ludm9pY2VzWjISMC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9pbnZvaWNlcxLiAgoSR2V0VXBjb21pbmdJbnZvaWNlEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVcGNvbWluZ0ludm9pY2VSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVcGNvbWluZ0ludm9pY2VSZXNwb25zZSLeAZJBTwoHSW52b2ljZRIUR2V0IHVwY29taW5nIGludm9pY2UaLkdldCB0aGUgdXBjb21pbmcgaW52b2ljZSBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAoUBEkYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2ludm9pY2VzL3VwY29taW5nWjsSOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9pbnZvaWNlcy91cGNvbWluZxKcAgoWQmlsbGluZ1dlYmhvb2tDYWxsYmFjaxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ1dlYmhvb2tDYWxsYmFja1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXNwb25zZSKMAZJBTgoHV2ViaG9vaxIWQWNjZXB0IEJpbGxpbmcgd2ViaG9vaxorQWNjZXB0cyBhIEJpbGxpbmcgd2ViaG9vayBhbmQgcHJvY2Vzc2VzIGl0LoLT5JMCNSItL3YxYmV0YTEvYmlsbGluZy93ZWJob29rcy9jYWxsYmFjay97cHJvdmlkZXJ9OgRib2R5EpECChRDcmVhdGVQcm9zcGVjdFB1YmxpYxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlIocBkkFnCghQcm9zcGVjdBIPQ3JlYXRlIHByb3NwZWN0GkpDcmVhdGUgcHJvc3BlY3QgZm9yIGdpdmVuIGVtYWlsIGFuZCBhY3Rpdml0eS4gQXZhaWxhYmxlIGZvciBwdWJsaWMgYWNjZXNzLoLT5JMCFyISL3YxYmV0YTEvcHJvc3BlY3RzOgEqEoABChFDcmVhdGVBdWRpdFJlY29yZBIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQXVkaXRSZWNvcmRSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVBdWRpdFJlY29yZFJlc3BvbnNlIgBC8g0KI2lvLnJheXN0YWNrLnByb3Rvbi5mcm9udGllci52MWJldGExQghGcm9udGllclo7Z2l0aHViLmNvbS9yYXlzdGFjay9wcm90b24vZnJvbnRpZXIvdjFiZXRhMTtmcm9udGllcnYxYmV0YTGSQYINEh4KFUZyb250aWVyIEdlbmVyYWwgQVBJczIFMC4yLjAaDjEyNy4wLjAuMTo3NDAwKgEBMhBhcHBsaWNhdGlvbi9qc29uOhBhcHBsaWNhdGlvbi9qc29uUjwKAzIwMBI1ChtPSyAtIEEgc3VjY2Vzc2Z1bCByZXNwb25zZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSaQoDNDAwEmIKSEJhZCBSZXF1ZXN0IC0gVGhlIHJlcXVlc3Qgd2FzIG1hbGZvcm1lZCBvciBjb250YWluZWQgaW52YWxpZCBwYXJhbWV0ZXJzLhIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JKCgM0MDESQwopVW5hdXRob3JpemVkIC0gQXV0aGVudGljYXRpb24gaXMgcmVxdWlyZWQSFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSYQoDNDAzEloKQEZvcmJpZGRlbiAtIFVzZXIgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2USFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSUQoDNDA0EkoKME5vdCBGb3VuZCAtIFRoZSByZXF1ZXN0ZWQgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZBIWChQaEi5nb29nbGUucnBjLlN0YXR1c1J1CgM1MDASbgpUSW50ZXJuYWwgU2VydmVyIEVycm9yLiBSZXR1cm5lZCB3aGVuIHRoZXJlcyBpcyBzb21ldGhpbmcgd3Jvbmcgd2l0aCBGcm9udGllciBzZXJ2ZXIuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzWrYBCkQKBUJhc2ljEjsIARIfQ2xpZW50IElEL1NlY3JldCBhdXRoZW50aWNhdGlvbhoUQmFzaWMgQXV0aGVudGljYXRpb24gAgpuCgZCZWFyZXISZAgCEk9UaGUgQXV0aG9yaXphdGlvbiBoZWFkZXIgbXVzdCBiZSBzZXQgdG8gQmVhcmVyIGZvbGxvd2VkIGJ5IGEgc3BhY2UgYW5kIGEgdG9rZW4uGg1BdXRob3JpemF0aW9uIAJiEwoHCgVCYXNpYwoICgZCZWFyZXJqBgoEVXNlcmqCAwoFR3JvdXAS+AJHcm91cHMgaW4gRnJvbnRpZXIgYXJlIHVzZWQgdG8gbWFuYWdlIHVzZXJzIGFuZCB0aGVpciBhY2Nlc3MgdG8gcmVzb3VyY2VzLiBFYWNoIGdyb3VwIGhhcyBhIHVuaXF1ZSBuYW1lIGFuZCBpZCB0aGF0IGNhbiBiZSB1c2VkIHRvIGdyYW50IGFjY2VzcyB0byByZXNvdXJjZXMuIFdoZW4gYSB1c2VyIGlzIGFkZGVkIHRvIGEgZ3JvdXAsIHRoZXkgaW5oZXJpdCB0aGUgYWNjZXNzIHBlcm1pc3Npb25zIHRoYXQgaGF2ZSBiZWVuIGdyYW50ZWQgdG8gdGhlIGdyb3VwLiBUaGlzIGFsbG93cyB5b3UgdG8gbWFuYWdlIGFjY2VzcyB0byByZXNvdXJjZXMgYXQgc2NhbGUsIHdpdGhvdXQgaGF2aW5nIHRvIGdyYW50IHBlcm1pc3Npb25zIHRvIGluZGl2aWR1YWwgdXNlcnMuagYKBFJvbGVqDgoMT3JnYW5pemF0aW9uagkKB1Byb2plY3RqCAoGUG9saWN5agoKCFJlbGF0aW9uagwKClBlcm1pc3Npb25qCwoJTmFtZXNwYWNlagoKCFJlc291cmNlahsKBUF1dGh6EhJBdXRob3JpemF0aW9uIEFQSXNqHAoFQXV0aG4SE0F1dGhlbnRpY2F0aW9uIEFQSXNqkAIKCk1ldGFTY2hlbWESgQJNYW5hZ2UgTWV0YWRhdGEgU2NoZW1hcyB3aGljaCBhcmUgdXNlZCB0byB2YWxpZGF0ZSBtZXRhZGF0YSBvYmplY3Qgd2hpbGUgY3JlYXRpbmcgdXNlci9vcmcvZ3JvdXAvcm9sZS4gRnJvbnRpZXIgYXV0b21hdGljYWxseSBnZW5lcmF0ZXMgZGVmYXVsdCBtZXRhc2NoZW1hcyB3aXRoIGBsYWJlbGAgYW5kIGBkZXNjcmlwdGlvbmAgZmllbGRzLiBZb3UgY2FuIGFsc28gdXBkYXRlIHRoZXNlIG1ldGFzY2hlbWFzIHRvIGFkZC9lZGl0IG1vcmUgZmllbGRzLmIGcHJvdG8z", [file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_struct, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_raystack_frontier_v1beta1_models, file_validate_validate]);
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* @generated from message raystack.frontier.v1beta1.BillingAccountRequestBody
|
|
@@ -3212,50 +3212,6 @@ export type GetServiceUserResponse = Message<"raystack.frontier.v1beta1.GetServi
|
|
|
3212
3212
|
export const GetServiceUserResponseSchema: GenMessage<GetServiceUserResponse> = /*@__PURE__*/
|
|
3213
3213
|
messageDesc(file_raystack_frontier_v1beta1_frontier, 132);
|
|
3214
3214
|
|
|
3215
|
-
/**
|
|
3216
|
-
* @generated from message raystack.frontier.v1beta1.UpdateServiceUserRequest
|
|
3217
|
-
*/
|
|
3218
|
-
export type UpdateServiceUserRequest = Message<"raystack.frontier.v1beta1.UpdateServiceUserRequest"> & {
|
|
3219
|
-
/**
|
|
3220
|
-
* @generated from field: string id = 1;
|
|
3221
|
-
*/
|
|
3222
|
-
id: string;
|
|
3223
|
-
|
|
3224
|
-
/**
|
|
3225
|
-
* @generated from field: raystack.frontier.v1beta1.ServiceUserRequestBody body = 2;
|
|
3226
|
-
*/
|
|
3227
|
-
body?: ServiceUserRequestBody;
|
|
3228
|
-
|
|
3229
|
-
/**
|
|
3230
|
-
* @generated from field: string org_id = 3;
|
|
3231
|
-
*/
|
|
3232
|
-
orgId: string;
|
|
3233
|
-
};
|
|
3234
|
-
|
|
3235
|
-
/**
|
|
3236
|
-
* Describes the message raystack.frontier.v1beta1.UpdateServiceUserRequest.
|
|
3237
|
-
* Use `create(UpdateServiceUserRequestSchema)` to create a new message.
|
|
3238
|
-
*/
|
|
3239
|
-
export const UpdateServiceUserRequestSchema: GenMessage<UpdateServiceUserRequest> = /*@__PURE__*/
|
|
3240
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier, 133);
|
|
3241
|
-
|
|
3242
|
-
/**
|
|
3243
|
-
* @generated from message raystack.frontier.v1beta1.UpdateServiceUserResponse
|
|
3244
|
-
*/
|
|
3245
|
-
export type UpdateServiceUserResponse = Message<"raystack.frontier.v1beta1.UpdateServiceUserResponse"> & {
|
|
3246
|
-
/**
|
|
3247
|
-
* @generated from field: raystack.frontier.v1beta1.ServiceUser serviceuser = 1;
|
|
3248
|
-
*/
|
|
3249
|
-
serviceuser?: ServiceUser;
|
|
3250
|
-
};
|
|
3251
|
-
|
|
3252
|
-
/**
|
|
3253
|
-
* Describes the message raystack.frontier.v1beta1.UpdateServiceUserResponse.
|
|
3254
|
-
* Use `create(UpdateServiceUserResponseSchema)` to create a new message.
|
|
3255
|
-
*/
|
|
3256
|
-
export const UpdateServiceUserResponseSchema: GenMessage<UpdateServiceUserResponse> = /*@__PURE__*/
|
|
3257
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier, 134);
|
|
3258
|
-
|
|
3259
3215
|
/**
|
|
3260
3216
|
* @generated from message raystack.frontier.v1beta1.DeleteServiceUserRequest
|
|
3261
3217
|
*/
|
|
@@ -3276,7 +3232,7 @@ export type DeleteServiceUserRequest = Message<"raystack.frontier.v1beta1.Delete
|
|
|
3276
3232
|
* Use `create(DeleteServiceUserRequestSchema)` to create a new message.
|
|
3277
3233
|
*/
|
|
3278
3234
|
export const DeleteServiceUserRequestSchema: GenMessage<DeleteServiceUserRequest> = /*@__PURE__*/
|
|
3279
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3235
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 133);
|
|
3280
3236
|
|
|
3281
3237
|
/**
|
|
3282
3238
|
* @generated from message raystack.frontier.v1beta1.DeleteServiceUserResponse
|
|
@@ -3289,7 +3245,7 @@ export type DeleteServiceUserResponse = Message<"raystack.frontier.v1beta1.Delet
|
|
|
3289
3245
|
* Use `create(DeleteServiceUserResponseSchema)` to create a new message.
|
|
3290
3246
|
*/
|
|
3291
3247
|
export const DeleteServiceUserResponseSchema: GenMessage<DeleteServiceUserResponse> = /*@__PURE__*/
|
|
3292
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3248
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 134);
|
|
3293
3249
|
|
|
3294
3250
|
/**
|
|
3295
3251
|
* @generated from message raystack.frontier.v1beta1.CreateServiceUserJWKRequest
|
|
@@ -3316,7 +3272,7 @@ export type CreateServiceUserJWKRequest = Message<"raystack.frontier.v1beta1.Cre
|
|
|
3316
3272
|
* Use `create(CreateServiceUserJWKRequestSchema)` to create a new message.
|
|
3317
3273
|
*/
|
|
3318
3274
|
export const CreateServiceUserJWKRequestSchema: GenMessage<CreateServiceUserJWKRequest> = /*@__PURE__*/
|
|
3319
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3275
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 135);
|
|
3320
3276
|
|
|
3321
3277
|
/**
|
|
3322
3278
|
* @generated from message raystack.frontier.v1beta1.CreateServiceUserJWKResponse
|
|
@@ -3333,7 +3289,7 @@ export type CreateServiceUserJWKResponse = Message<"raystack.frontier.v1beta1.Cr
|
|
|
3333
3289
|
* Use `create(CreateServiceUserJWKResponseSchema)` to create a new message.
|
|
3334
3290
|
*/
|
|
3335
3291
|
export const CreateServiceUserJWKResponseSchema: GenMessage<CreateServiceUserJWKResponse> = /*@__PURE__*/
|
|
3336
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3292
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 136);
|
|
3337
3293
|
|
|
3338
3294
|
/**
|
|
3339
3295
|
* @generated from message raystack.frontier.v1beta1.GetServiceUserJWKRequest
|
|
@@ -3360,7 +3316,7 @@ export type GetServiceUserJWKRequest = Message<"raystack.frontier.v1beta1.GetSer
|
|
|
3360
3316
|
* Use `create(GetServiceUserJWKRequestSchema)` to create a new message.
|
|
3361
3317
|
*/
|
|
3362
3318
|
export const GetServiceUserJWKRequestSchema: GenMessage<GetServiceUserJWKRequest> = /*@__PURE__*/
|
|
3363
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3319
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 137);
|
|
3364
3320
|
|
|
3365
3321
|
/**
|
|
3366
3322
|
* @generated from message raystack.frontier.v1beta1.GetServiceUserJWKResponse
|
|
@@ -3377,7 +3333,7 @@ export type GetServiceUserJWKResponse = Message<"raystack.frontier.v1beta1.GetSe
|
|
|
3377
3333
|
* Use `create(GetServiceUserJWKResponseSchema)` to create a new message.
|
|
3378
3334
|
*/
|
|
3379
3335
|
export const GetServiceUserJWKResponseSchema: GenMessage<GetServiceUserJWKResponse> = /*@__PURE__*/
|
|
3380
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3336
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 138);
|
|
3381
3337
|
|
|
3382
3338
|
/**
|
|
3383
3339
|
* @generated from message raystack.frontier.v1beta1.ListServiceUserJWKsRequest
|
|
@@ -3399,7 +3355,7 @@ export type ListServiceUserJWKsRequest = Message<"raystack.frontier.v1beta1.List
|
|
|
3399
3355
|
* Use `create(ListServiceUserJWKsRequestSchema)` to create a new message.
|
|
3400
3356
|
*/
|
|
3401
3357
|
export const ListServiceUserJWKsRequestSchema: GenMessage<ListServiceUserJWKsRequest> = /*@__PURE__*/
|
|
3402
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3358
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 139);
|
|
3403
3359
|
|
|
3404
3360
|
/**
|
|
3405
3361
|
* @generated from message raystack.frontier.v1beta1.ListServiceUserJWKsResponse
|
|
@@ -3416,7 +3372,7 @@ export type ListServiceUserJWKsResponse = Message<"raystack.frontier.v1beta1.Lis
|
|
|
3416
3372
|
* Use `create(ListServiceUserJWKsResponseSchema)` to create a new message.
|
|
3417
3373
|
*/
|
|
3418
3374
|
export const ListServiceUserJWKsResponseSchema: GenMessage<ListServiceUserJWKsResponse> = /*@__PURE__*/
|
|
3419
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3375
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 140);
|
|
3420
3376
|
|
|
3421
3377
|
/**
|
|
3422
3378
|
* @generated from message raystack.frontier.v1beta1.DeleteServiceUserJWKRequest
|
|
@@ -3443,7 +3399,7 @@ export type DeleteServiceUserJWKRequest = Message<"raystack.frontier.v1beta1.Del
|
|
|
3443
3399
|
* Use `create(DeleteServiceUserJWKRequestSchema)` to create a new message.
|
|
3444
3400
|
*/
|
|
3445
3401
|
export const DeleteServiceUserJWKRequestSchema: GenMessage<DeleteServiceUserJWKRequest> = /*@__PURE__*/
|
|
3446
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3402
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 141);
|
|
3447
3403
|
|
|
3448
3404
|
/**
|
|
3449
3405
|
* @generated from message raystack.frontier.v1beta1.DeleteServiceUserJWKResponse
|
|
@@ -3456,7 +3412,7 @@ export type DeleteServiceUserJWKResponse = Message<"raystack.frontier.v1beta1.De
|
|
|
3456
3412
|
* Use `create(DeleteServiceUserJWKResponseSchema)` to create a new message.
|
|
3457
3413
|
*/
|
|
3458
3414
|
export const DeleteServiceUserJWKResponseSchema: GenMessage<DeleteServiceUserJWKResponse> = /*@__PURE__*/
|
|
3459
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3415
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 142);
|
|
3460
3416
|
|
|
3461
3417
|
/**
|
|
3462
3418
|
* @generated from message raystack.frontier.v1beta1.CreateServiceUserCredentialRequest
|
|
@@ -3483,7 +3439,7 @@ export type CreateServiceUserCredentialRequest = Message<"raystack.frontier.v1be
|
|
|
3483
3439
|
* Use `create(CreateServiceUserCredentialRequestSchema)` to create a new message.
|
|
3484
3440
|
*/
|
|
3485
3441
|
export const CreateServiceUserCredentialRequestSchema: GenMessage<CreateServiceUserCredentialRequest> = /*@__PURE__*/
|
|
3486
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3442
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 143);
|
|
3487
3443
|
|
|
3488
3444
|
/**
|
|
3489
3445
|
* @generated from message raystack.frontier.v1beta1.CreateServiceUserCredentialResponse
|
|
@@ -3500,7 +3456,7 @@ export type CreateServiceUserCredentialResponse = Message<"raystack.frontier.v1b
|
|
|
3500
3456
|
* Use `create(CreateServiceUserCredentialResponseSchema)` to create a new message.
|
|
3501
3457
|
*/
|
|
3502
3458
|
export const CreateServiceUserCredentialResponseSchema: GenMessage<CreateServiceUserCredentialResponse> = /*@__PURE__*/
|
|
3503
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3459
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 144);
|
|
3504
3460
|
|
|
3505
3461
|
/**
|
|
3506
3462
|
* @generated from message raystack.frontier.v1beta1.ListServiceUserCredentialsRequest
|
|
@@ -3522,7 +3478,7 @@ export type ListServiceUserCredentialsRequest = Message<"raystack.frontier.v1bet
|
|
|
3522
3478
|
* Use `create(ListServiceUserCredentialsRequestSchema)` to create a new message.
|
|
3523
3479
|
*/
|
|
3524
3480
|
export const ListServiceUserCredentialsRequestSchema: GenMessage<ListServiceUserCredentialsRequest> = /*@__PURE__*/
|
|
3525
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3481
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 145);
|
|
3526
3482
|
|
|
3527
3483
|
/**
|
|
3528
3484
|
* @generated from message raystack.frontier.v1beta1.ListServiceUserCredentialsResponse
|
|
@@ -3541,7 +3497,7 @@ export type ListServiceUserCredentialsResponse = Message<"raystack.frontier.v1be
|
|
|
3541
3497
|
* Use `create(ListServiceUserCredentialsResponseSchema)` to create a new message.
|
|
3542
3498
|
*/
|
|
3543
3499
|
export const ListServiceUserCredentialsResponseSchema: GenMessage<ListServiceUserCredentialsResponse> = /*@__PURE__*/
|
|
3544
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3500
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 146);
|
|
3545
3501
|
|
|
3546
3502
|
/**
|
|
3547
3503
|
* @generated from message raystack.frontier.v1beta1.DeleteServiceUserCredentialRequest
|
|
@@ -3568,7 +3524,7 @@ export type DeleteServiceUserCredentialRequest = Message<"raystack.frontier.v1be
|
|
|
3568
3524
|
* Use `create(DeleteServiceUserCredentialRequestSchema)` to create a new message.
|
|
3569
3525
|
*/
|
|
3570
3526
|
export const DeleteServiceUserCredentialRequestSchema: GenMessage<DeleteServiceUserCredentialRequest> = /*@__PURE__*/
|
|
3571
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3527
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 147);
|
|
3572
3528
|
|
|
3573
3529
|
/**
|
|
3574
3530
|
* @generated from message raystack.frontier.v1beta1.DeleteServiceUserCredentialResponse
|
|
@@ -3581,7 +3537,7 @@ export type DeleteServiceUserCredentialResponse = Message<"raystack.frontier.v1b
|
|
|
3581
3537
|
* Use `create(DeleteServiceUserCredentialResponseSchema)` to create a new message.
|
|
3582
3538
|
*/
|
|
3583
3539
|
export const DeleteServiceUserCredentialResponseSchema: GenMessage<DeleteServiceUserCredentialResponse> = /*@__PURE__*/
|
|
3584
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3540
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 148);
|
|
3585
3541
|
|
|
3586
3542
|
/**
|
|
3587
3543
|
* @generated from message raystack.frontier.v1beta1.CreateServiceUserTokenRequest
|
|
@@ -3608,7 +3564,7 @@ export type CreateServiceUserTokenRequest = Message<"raystack.frontier.v1beta1.C
|
|
|
3608
3564
|
* Use `create(CreateServiceUserTokenRequestSchema)` to create a new message.
|
|
3609
3565
|
*/
|
|
3610
3566
|
export const CreateServiceUserTokenRequestSchema: GenMessage<CreateServiceUserTokenRequest> = /*@__PURE__*/
|
|
3611
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3567
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 149);
|
|
3612
3568
|
|
|
3613
3569
|
/**
|
|
3614
3570
|
* @generated from message raystack.frontier.v1beta1.CreateServiceUserTokenResponse
|
|
@@ -3625,7 +3581,7 @@ export type CreateServiceUserTokenResponse = Message<"raystack.frontier.v1beta1.
|
|
|
3625
3581
|
* Use `create(CreateServiceUserTokenResponseSchema)` to create a new message.
|
|
3626
3582
|
*/
|
|
3627
3583
|
export const CreateServiceUserTokenResponseSchema: GenMessage<CreateServiceUserTokenResponse> = /*@__PURE__*/
|
|
3628
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3584
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 150);
|
|
3629
3585
|
|
|
3630
3586
|
/**
|
|
3631
3587
|
* @generated from message raystack.frontier.v1beta1.ListServiceUserTokensRequest
|
|
@@ -3647,7 +3603,7 @@ export type ListServiceUserTokensRequest = Message<"raystack.frontier.v1beta1.Li
|
|
|
3647
3603
|
* Use `create(ListServiceUserTokensRequestSchema)` to create a new message.
|
|
3648
3604
|
*/
|
|
3649
3605
|
export const ListServiceUserTokensRequestSchema: GenMessage<ListServiceUserTokensRequest> = /*@__PURE__*/
|
|
3650
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3606
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 151);
|
|
3651
3607
|
|
|
3652
3608
|
/**
|
|
3653
3609
|
* @generated from message raystack.frontier.v1beta1.ListServiceUserTokensResponse
|
|
@@ -3664,7 +3620,7 @@ export type ListServiceUserTokensResponse = Message<"raystack.frontier.v1beta1.L
|
|
|
3664
3620
|
* Use `create(ListServiceUserTokensResponseSchema)` to create a new message.
|
|
3665
3621
|
*/
|
|
3666
3622
|
export const ListServiceUserTokensResponseSchema: GenMessage<ListServiceUserTokensResponse> = /*@__PURE__*/
|
|
3667
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3623
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 152);
|
|
3668
3624
|
|
|
3669
3625
|
/**
|
|
3670
3626
|
* @generated from message raystack.frontier.v1beta1.DeleteServiceUserTokenRequest
|
|
@@ -3691,7 +3647,7 @@ export type DeleteServiceUserTokenRequest = Message<"raystack.frontier.v1beta1.D
|
|
|
3691
3647
|
* Use `create(DeleteServiceUserTokenRequestSchema)` to create a new message.
|
|
3692
3648
|
*/
|
|
3693
3649
|
export const DeleteServiceUserTokenRequestSchema: GenMessage<DeleteServiceUserTokenRequest> = /*@__PURE__*/
|
|
3694
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3650
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 153);
|
|
3695
3651
|
|
|
3696
3652
|
/**
|
|
3697
3653
|
* @generated from message raystack.frontier.v1beta1.DeleteServiceUserTokenResponse
|
|
@@ -3704,7 +3660,7 @@ export type DeleteServiceUserTokenResponse = Message<"raystack.frontier.v1beta1.
|
|
|
3704
3660
|
* Use `create(DeleteServiceUserTokenResponseSchema)` to create a new message.
|
|
3705
3661
|
*/
|
|
3706
3662
|
export const DeleteServiceUserTokenResponseSchema: GenMessage<DeleteServiceUserTokenResponse> = /*@__PURE__*/
|
|
3707
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3663
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 154);
|
|
3708
3664
|
|
|
3709
3665
|
/**
|
|
3710
3666
|
* @generated from message raystack.frontier.v1beta1.ListServiceUserProjectsRequest
|
|
@@ -3735,7 +3691,7 @@ export type ListServiceUserProjectsRequest = Message<"raystack.frontier.v1beta1.
|
|
|
3735
3691
|
* Use `create(ListServiceUserProjectsRequestSchema)` to create a new message.
|
|
3736
3692
|
*/
|
|
3737
3693
|
export const ListServiceUserProjectsRequestSchema: GenMessage<ListServiceUserProjectsRequest> = /*@__PURE__*/
|
|
3738
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3694
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 155);
|
|
3739
3695
|
|
|
3740
3696
|
/**
|
|
3741
3697
|
* @generated from message raystack.frontier.v1beta1.ListServiceUserProjectsResponse
|
|
@@ -3757,7 +3713,7 @@ export type ListServiceUserProjectsResponse = Message<"raystack.frontier.v1beta1
|
|
|
3757
3713
|
* Use `create(ListServiceUserProjectsResponseSchema)` to create a new message.
|
|
3758
3714
|
*/
|
|
3759
3715
|
export const ListServiceUserProjectsResponseSchema: GenMessage<ListServiceUserProjectsResponse> = /*@__PURE__*/
|
|
3760
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3716
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 156);
|
|
3761
3717
|
|
|
3762
3718
|
/**
|
|
3763
3719
|
* @generated from message raystack.frontier.v1beta1.ListServiceUserProjectsResponse.AccessPair
|
|
@@ -3779,7 +3735,7 @@ export type ListServiceUserProjectsResponse_AccessPair = Message<"raystack.front
|
|
|
3779
3735
|
* Use `create(ListServiceUserProjectsResponse_AccessPairSchema)` to create a new message.
|
|
3780
3736
|
*/
|
|
3781
3737
|
export const ListServiceUserProjectsResponse_AccessPairSchema: GenMessage<ListServiceUserProjectsResponse_AccessPair> = /*@__PURE__*/
|
|
3782
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3738
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 156, 0);
|
|
3783
3739
|
|
|
3784
3740
|
/**
|
|
3785
3741
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationGroupsRequest
|
|
@@ -3816,7 +3772,7 @@ export type ListOrganizationGroupsRequest = Message<"raystack.frontier.v1beta1.L
|
|
|
3816
3772
|
* Use `create(ListOrganizationGroupsRequestSchema)` to create a new message.
|
|
3817
3773
|
*/
|
|
3818
3774
|
export const ListOrganizationGroupsRequestSchema: GenMessage<ListOrganizationGroupsRequest> = /*@__PURE__*/
|
|
3819
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3775
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 157);
|
|
3820
3776
|
|
|
3821
3777
|
/**
|
|
3822
3778
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationGroupsResponse
|
|
@@ -3833,7 +3789,7 @@ export type ListOrganizationGroupsResponse = Message<"raystack.frontier.v1beta1.
|
|
|
3833
3789
|
* Use `create(ListOrganizationGroupsResponseSchema)` to create a new message.
|
|
3834
3790
|
*/
|
|
3835
3791
|
export const ListOrganizationGroupsResponseSchema: GenMessage<ListOrganizationGroupsResponse> = /*@__PURE__*/
|
|
3836
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3792
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 158);
|
|
3837
3793
|
|
|
3838
3794
|
/**
|
|
3839
3795
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationRoleRequest
|
|
@@ -3855,7 +3811,7 @@ export type CreateOrganizationRoleRequest = Message<"raystack.frontier.v1beta1.C
|
|
|
3855
3811
|
* Use `create(CreateOrganizationRoleRequestSchema)` to create a new message.
|
|
3856
3812
|
*/
|
|
3857
3813
|
export const CreateOrganizationRoleRequestSchema: GenMessage<CreateOrganizationRoleRequest> = /*@__PURE__*/
|
|
3858
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3814
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 159);
|
|
3859
3815
|
|
|
3860
3816
|
/**
|
|
3861
3817
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationRoleResponse
|
|
@@ -3872,7 +3828,7 @@ export type CreateOrganizationRoleResponse = Message<"raystack.frontier.v1beta1.
|
|
|
3872
3828
|
* Use `create(CreateOrganizationRoleResponseSchema)` to create a new message.
|
|
3873
3829
|
*/
|
|
3874
3830
|
export const CreateOrganizationRoleResponseSchema: GenMessage<CreateOrganizationRoleResponse> = /*@__PURE__*/
|
|
3875
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3831
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 160);
|
|
3876
3832
|
|
|
3877
3833
|
/**
|
|
3878
3834
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationRoleRequest
|
|
@@ -3894,7 +3850,7 @@ export type GetOrganizationRoleRequest = Message<"raystack.frontier.v1beta1.GetO
|
|
|
3894
3850
|
* Use `create(GetOrganizationRoleRequestSchema)` to create a new message.
|
|
3895
3851
|
*/
|
|
3896
3852
|
export const GetOrganizationRoleRequestSchema: GenMessage<GetOrganizationRoleRequest> = /*@__PURE__*/
|
|
3897
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3853
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 161);
|
|
3898
3854
|
|
|
3899
3855
|
/**
|
|
3900
3856
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationRoleResponse
|
|
@@ -3911,7 +3867,7 @@ export type GetOrganizationRoleResponse = Message<"raystack.frontier.v1beta1.Get
|
|
|
3911
3867
|
* Use `create(GetOrganizationRoleResponseSchema)` to create a new message.
|
|
3912
3868
|
*/
|
|
3913
3869
|
export const GetOrganizationRoleResponseSchema: GenMessage<GetOrganizationRoleResponse> = /*@__PURE__*/
|
|
3914
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3870
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 162);
|
|
3915
3871
|
|
|
3916
3872
|
/**
|
|
3917
3873
|
* @generated from message raystack.frontier.v1beta1.UpdateOrganizationRoleRequest
|
|
@@ -3938,7 +3894,7 @@ export type UpdateOrganizationRoleRequest = Message<"raystack.frontier.v1beta1.U
|
|
|
3938
3894
|
* Use `create(UpdateOrganizationRoleRequestSchema)` to create a new message.
|
|
3939
3895
|
*/
|
|
3940
3896
|
export const UpdateOrganizationRoleRequestSchema: GenMessage<UpdateOrganizationRoleRequest> = /*@__PURE__*/
|
|
3941
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3897
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 163);
|
|
3942
3898
|
|
|
3943
3899
|
/**
|
|
3944
3900
|
* @generated from message raystack.frontier.v1beta1.UpdateOrganizationRoleResponse
|
|
@@ -3955,7 +3911,7 @@ export type UpdateOrganizationRoleResponse = Message<"raystack.frontier.v1beta1.
|
|
|
3955
3911
|
* Use `create(UpdateOrganizationRoleResponseSchema)` to create a new message.
|
|
3956
3912
|
*/
|
|
3957
3913
|
export const UpdateOrganizationRoleResponseSchema: GenMessage<UpdateOrganizationRoleResponse> = /*@__PURE__*/
|
|
3958
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3914
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 164);
|
|
3959
3915
|
|
|
3960
3916
|
/**
|
|
3961
3917
|
* @generated from message raystack.frontier.v1beta1.ListRolesRequest
|
|
@@ -3977,7 +3933,7 @@ export type ListRolesRequest = Message<"raystack.frontier.v1beta1.ListRolesReque
|
|
|
3977
3933
|
* Use `create(ListRolesRequestSchema)` to create a new message.
|
|
3978
3934
|
*/
|
|
3979
3935
|
export const ListRolesRequestSchema: GenMessage<ListRolesRequest> = /*@__PURE__*/
|
|
3980
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3936
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 165);
|
|
3981
3937
|
|
|
3982
3938
|
/**
|
|
3983
3939
|
* @generated from message raystack.frontier.v1beta1.ListRolesResponse
|
|
@@ -3994,7 +3950,7 @@ export type ListRolesResponse = Message<"raystack.frontier.v1beta1.ListRolesResp
|
|
|
3994
3950
|
* Use `create(ListRolesResponseSchema)` to create a new message.
|
|
3995
3951
|
*/
|
|
3996
3952
|
export const ListRolesResponseSchema: GenMessage<ListRolesResponse> = /*@__PURE__*/
|
|
3997
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3953
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 166);
|
|
3998
3954
|
|
|
3999
3955
|
/**
|
|
4000
3956
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationRolesRequest
|
|
@@ -4021,7 +3977,7 @@ export type ListOrganizationRolesRequest = Message<"raystack.frontier.v1beta1.Li
|
|
|
4021
3977
|
* Use `create(ListOrganizationRolesRequestSchema)` to create a new message.
|
|
4022
3978
|
*/
|
|
4023
3979
|
export const ListOrganizationRolesRequestSchema: GenMessage<ListOrganizationRolesRequest> = /*@__PURE__*/
|
|
4024
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3980
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 167);
|
|
4025
3981
|
|
|
4026
3982
|
/**
|
|
4027
3983
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationRolesResponse
|
|
@@ -4038,7 +3994,7 @@ export type ListOrganizationRolesResponse = Message<"raystack.frontier.v1beta1.L
|
|
|
4038
3994
|
* Use `create(ListOrganizationRolesResponseSchema)` to create a new message.
|
|
4039
3995
|
*/
|
|
4040
3996
|
export const ListOrganizationRolesResponseSchema: GenMessage<ListOrganizationRolesResponse> = /*@__PURE__*/
|
|
4041
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
3997
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 168);
|
|
4042
3998
|
|
|
4043
3999
|
/**
|
|
4044
4000
|
* @generated from message raystack.frontier.v1beta1.DeleteOrganizationRoleRequest
|
|
@@ -4060,7 +4016,7 @@ export type DeleteOrganizationRoleRequest = Message<"raystack.frontier.v1beta1.D
|
|
|
4060
4016
|
* Use `create(DeleteOrganizationRoleRequestSchema)` to create a new message.
|
|
4061
4017
|
*/
|
|
4062
4018
|
export const DeleteOrganizationRoleRequestSchema: GenMessage<DeleteOrganizationRoleRequest> = /*@__PURE__*/
|
|
4063
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4019
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 169);
|
|
4064
4020
|
|
|
4065
4021
|
/**
|
|
4066
4022
|
* @generated from message raystack.frontier.v1beta1.DeleteOrganizationRoleResponse
|
|
@@ -4073,7 +4029,7 @@ export type DeleteOrganizationRoleResponse = Message<"raystack.frontier.v1beta1.
|
|
|
4073
4029
|
* Use `create(DeleteOrganizationRoleResponseSchema)` to create a new message.
|
|
4074
4030
|
*/
|
|
4075
4031
|
export const DeleteOrganizationRoleResponseSchema: GenMessage<DeleteOrganizationRoleResponse> = /*@__PURE__*/
|
|
4076
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4032
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 170);
|
|
4077
4033
|
|
|
4078
4034
|
/**
|
|
4079
4035
|
* @generated from message raystack.frontier.v1beta1.OrganizationRequestBody
|
|
@@ -4105,7 +4061,7 @@ export type OrganizationRequestBody = Message<"raystack.frontier.v1beta1.Organiz
|
|
|
4105
4061
|
* Use `create(OrganizationRequestBodySchema)` to create a new message.
|
|
4106
4062
|
*/
|
|
4107
4063
|
export const OrganizationRequestBodySchema: GenMessage<OrganizationRequestBody> = /*@__PURE__*/
|
|
4108
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4064
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 171);
|
|
4109
4065
|
|
|
4110
4066
|
/**
|
|
4111
4067
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationsRequest
|
|
@@ -4137,7 +4093,7 @@ export type ListOrganizationsRequest = Message<"raystack.frontier.v1beta1.ListOr
|
|
|
4137
4093
|
* Use `create(ListOrganizationsRequestSchema)` to create a new message.
|
|
4138
4094
|
*/
|
|
4139
4095
|
export const ListOrganizationsRequestSchema: GenMessage<ListOrganizationsRequest> = /*@__PURE__*/
|
|
4140
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4096
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 172);
|
|
4141
4097
|
|
|
4142
4098
|
/**
|
|
4143
4099
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationsResponse
|
|
@@ -4154,7 +4110,7 @@ export type ListOrganizationsResponse = Message<"raystack.frontier.v1beta1.ListO
|
|
|
4154
4110
|
* Use `create(ListOrganizationsResponseSchema)` to create a new message.
|
|
4155
4111
|
*/
|
|
4156
4112
|
export const ListOrganizationsResponseSchema: GenMessage<ListOrganizationsResponse> = /*@__PURE__*/
|
|
4157
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4113
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 173);
|
|
4158
4114
|
|
|
4159
4115
|
/**
|
|
4160
4116
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationRequest
|
|
@@ -4171,7 +4127,7 @@ export type CreateOrganizationRequest = Message<"raystack.frontier.v1beta1.Creat
|
|
|
4171
4127
|
* Use `create(CreateOrganizationRequestSchema)` to create a new message.
|
|
4172
4128
|
*/
|
|
4173
4129
|
export const CreateOrganizationRequestSchema: GenMessage<CreateOrganizationRequest> = /*@__PURE__*/
|
|
4174
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4130
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 174);
|
|
4175
4131
|
|
|
4176
4132
|
/**
|
|
4177
4133
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationResponse
|
|
@@ -4188,7 +4144,7 @@ export type CreateOrganizationResponse = Message<"raystack.frontier.v1beta1.Crea
|
|
|
4188
4144
|
* Use `create(CreateOrganizationResponseSchema)` to create a new message.
|
|
4189
4145
|
*/
|
|
4190
4146
|
export const CreateOrganizationResponseSchema: GenMessage<CreateOrganizationResponse> = /*@__PURE__*/
|
|
4191
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4147
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 175);
|
|
4192
4148
|
|
|
4193
4149
|
/**
|
|
4194
4150
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationResponse
|
|
@@ -4205,7 +4161,7 @@ export type GetOrganizationResponse = Message<"raystack.frontier.v1beta1.GetOrga
|
|
|
4205
4161
|
* Use `create(GetOrganizationResponseSchema)` to create a new message.
|
|
4206
4162
|
*/
|
|
4207
4163
|
export const GetOrganizationResponseSchema: GenMessage<GetOrganizationResponse> = /*@__PURE__*/
|
|
4208
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4164
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 176);
|
|
4209
4165
|
|
|
4210
4166
|
/**
|
|
4211
4167
|
* @generated from message raystack.frontier.v1beta1.UpdateOrganizationResponse
|
|
@@ -4222,7 +4178,7 @@ export type UpdateOrganizationResponse = Message<"raystack.frontier.v1beta1.Upda
|
|
|
4222
4178
|
* Use `create(UpdateOrganizationResponseSchema)` to create a new message.
|
|
4223
4179
|
*/
|
|
4224
4180
|
export const UpdateOrganizationResponseSchema: GenMessage<UpdateOrganizationResponse> = /*@__PURE__*/
|
|
4225
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4181
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 177);
|
|
4226
4182
|
|
|
4227
4183
|
/**
|
|
4228
4184
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationRequest
|
|
@@ -4239,7 +4195,7 @@ export type GetOrganizationRequest = Message<"raystack.frontier.v1beta1.GetOrgan
|
|
|
4239
4195
|
* Use `create(GetOrganizationRequestSchema)` to create a new message.
|
|
4240
4196
|
*/
|
|
4241
4197
|
export const GetOrganizationRequestSchema: GenMessage<GetOrganizationRequest> = /*@__PURE__*/
|
|
4242
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4198
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 178);
|
|
4243
4199
|
|
|
4244
4200
|
/**
|
|
4245
4201
|
* @generated from message raystack.frontier.v1beta1.UpdateOrganizationRequest
|
|
@@ -4261,7 +4217,7 @@ export type UpdateOrganizationRequest = Message<"raystack.frontier.v1beta1.Updat
|
|
|
4261
4217
|
* Use `create(UpdateOrganizationRequestSchema)` to create a new message.
|
|
4262
4218
|
*/
|
|
4263
4219
|
export const UpdateOrganizationRequestSchema: GenMessage<UpdateOrganizationRequest> = /*@__PURE__*/
|
|
4264
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4220
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 179);
|
|
4265
4221
|
|
|
4266
4222
|
/**
|
|
4267
4223
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationAdminsRequest
|
|
@@ -4278,7 +4234,7 @@ export type ListOrganizationAdminsRequest = Message<"raystack.frontier.v1beta1.L
|
|
|
4278
4234
|
* Use `create(ListOrganizationAdminsRequestSchema)` to create a new message.
|
|
4279
4235
|
*/
|
|
4280
4236
|
export const ListOrganizationAdminsRequestSchema: GenMessage<ListOrganizationAdminsRequest> = /*@__PURE__*/
|
|
4281
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4237
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 180);
|
|
4282
4238
|
|
|
4283
4239
|
/**
|
|
4284
4240
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationAdminsResponse
|
|
@@ -4295,7 +4251,7 @@ export type ListOrganizationAdminsResponse = Message<"raystack.frontier.v1beta1.
|
|
|
4295
4251
|
* Use `create(ListOrganizationAdminsResponseSchema)` to create a new message.
|
|
4296
4252
|
*/
|
|
4297
4253
|
export const ListOrganizationAdminsResponseSchema: GenMessage<ListOrganizationAdminsResponse> = /*@__PURE__*/
|
|
4298
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4254
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 181);
|
|
4299
4255
|
|
|
4300
4256
|
/**
|
|
4301
4257
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationUsersRequest
|
|
@@ -4328,7 +4284,7 @@ export type ListOrganizationUsersRequest = Message<"raystack.frontier.v1beta1.Li
|
|
|
4328
4284
|
* Use `create(ListOrganizationUsersRequestSchema)` to create a new message.
|
|
4329
4285
|
*/
|
|
4330
4286
|
export const ListOrganizationUsersRequestSchema: GenMessage<ListOrganizationUsersRequest> = /*@__PURE__*/
|
|
4331
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4287
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 182);
|
|
4332
4288
|
|
|
4333
4289
|
/**
|
|
4334
4290
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationUsersResponse
|
|
@@ -4350,7 +4306,7 @@ export type ListOrganizationUsersResponse = Message<"raystack.frontier.v1beta1.L
|
|
|
4350
4306
|
* Use `create(ListOrganizationUsersResponseSchema)` to create a new message.
|
|
4351
4307
|
*/
|
|
4352
4308
|
export const ListOrganizationUsersResponseSchema: GenMessage<ListOrganizationUsersResponse> = /*@__PURE__*/
|
|
4353
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4309
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 183);
|
|
4354
4310
|
|
|
4355
4311
|
/**
|
|
4356
4312
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationUsersResponse.RolePair
|
|
@@ -4372,7 +4328,7 @@ export type ListOrganizationUsersResponse_RolePair = Message<"raystack.frontier.
|
|
|
4372
4328
|
* Use `create(ListOrganizationUsersResponse_RolePairSchema)` to create a new message.
|
|
4373
4329
|
*/
|
|
4374
4330
|
export const ListOrganizationUsersResponse_RolePairSchema: GenMessage<ListOrganizationUsersResponse_RolePair> = /*@__PURE__*/
|
|
4375
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4331
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 183, 0);
|
|
4376
4332
|
|
|
4377
4333
|
/**
|
|
4378
4334
|
* @generated from message raystack.frontier.v1beta1.AddOrganizationUsersRequest
|
|
@@ -4394,7 +4350,7 @@ export type AddOrganizationUsersRequest = Message<"raystack.frontier.v1beta1.Add
|
|
|
4394
4350
|
* Use `create(AddOrganizationUsersRequestSchema)` to create a new message.
|
|
4395
4351
|
*/
|
|
4396
4352
|
export const AddOrganizationUsersRequestSchema: GenMessage<AddOrganizationUsersRequest> = /*@__PURE__*/
|
|
4397
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4353
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 184);
|
|
4398
4354
|
|
|
4399
4355
|
/**
|
|
4400
4356
|
* @generated from message raystack.frontier.v1beta1.AddOrganizationUsersResponse
|
|
@@ -4407,7 +4363,7 @@ export type AddOrganizationUsersResponse = Message<"raystack.frontier.v1beta1.Ad
|
|
|
4407
4363
|
* Use `create(AddOrganizationUsersResponseSchema)` to create a new message.
|
|
4408
4364
|
*/
|
|
4409
4365
|
export const AddOrganizationUsersResponseSchema: GenMessage<AddOrganizationUsersResponse> = /*@__PURE__*/
|
|
4410
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4366
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 185);
|
|
4411
4367
|
|
|
4412
4368
|
/**
|
|
4413
4369
|
* @generated from message raystack.frontier.v1beta1.RemoveOrganizationUserRequest
|
|
@@ -4429,7 +4385,7 @@ export type RemoveOrganizationUserRequest = Message<"raystack.frontier.v1beta1.R
|
|
|
4429
4385
|
* Use `create(RemoveOrganizationUserRequestSchema)` to create a new message.
|
|
4430
4386
|
*/
|
|
4431
4387
|
export const RemoveOrganizationUserRequestSchema: GenMessage<RemoveOrganizationUserRequest> = /*@__PURE__*/
|
|
4432
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4388
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 186);
|
|
4433
4389
|
|
|
4434
4390
|
/**
|
|
4435
4391
|
* @generated from message raystack.frontier.v1beta1.RemoveOrganizationUserResponse
|
|
@@ -4442,7 +4398,7 @@ export type RemoveOrganizationUserResponse = Message<"raystack.frontier.v1beta1.
|
|
|
4442
4398
|
* Use `create(RemoveOrganizationUserResponseSchema)` to create a new message.
|
|
4443
4399
|
*/
|
|
4444
4400
|
export const RemoveOrganizationUserResponseSchema: GenMessage<RemoveOrganizationUserResponse> = /*@__PURE__*/
|
|
4445
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4401
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 187);
|
|
4446
4402
|
|
|
4447
4403
|
/**
|
|
4448
4404
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationServiceUsersRequest
|
|
@@ -4459,7 +4415,7 @@ export type ListOrganizationServiceUsersRequest = Message<"raystack.frontier.v1b
|
|
|
4459
4415
|
* Use `create(ListOrganizationServiceUsersRequestSchema)` to create a new message.
|
|
4460
4416
|
*/
|
|
4461
4417
|
export const ListOrganizationServiceUsersRequestSchema: GenMessage<ListOrganizationServiceUsersRequest> = /*@__PURE__*/
|
|
4462
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4418
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 188);
|
|
4463
4419
|
|
|
4464
4420
|
/**
|
|
4465
4421
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationServiceUsersResponse
|
|
@@ -4476,7 +4432,7 @@ export type ListOrganizationServiceUsersResponse = Message<"raystack.frontier.v1
|
|
|
4476
4432
|
* Use `create(ListOrganizationServiceUsersResponseSchema)` to create a new message.
|
|
4477
4433
|
*/
|
|
4478
4434
|
export const ListOrganizationServiceUsersResponseSchema: GenMessage<ListOrganizationServiceUsersResponse> = /*@__PURE__*/
|
|
4479
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4435
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 189);
|
|
4480
4436
|
|
|
4481
4437
|
/**
|
|
4482
4438
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationInvitationsRequest
|
|
@@ -4498,7 +4454,7 @@ export type ListOrganizationInvitationsRequest = Message<"raystack.frontier.v1be
|
|
|
4498
4454
|
* Use `create(ListOrganizationInvitationsRequestSchema)` to create a new message.
|
|
4499
4455
|
*/
|
|
4500
4456
|
export const ListOrganizationInvitationsRequestSchema: GenMessage<ListOrganizationInvitationsRequest> = /*@__PURE__*/
|
|
4501
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4457
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 190);
|
|
4502
4458
|
|
|
4503
4459
|
/**
|
|
4504
4460
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationInvitationsResponse
|
|
@@ -4515,7 +4471,7 @@ export type ListOrganizationInvitationsResponse = Message<"raystack.frontier.v1b
|
|
|
4515
4471
|
* Use `create(ListOrganizationInvitationsResponseSchema)` to create a new message.
|
|
4516
4472
|
*/
|
|
4517
4473
|
export const ListOrganizationInvitationsResponseSchema: GenMessage<ListOrganizationInvitationsResponse> = /*@__PURE__*/
|
|
4518
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4474
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 191);
|
|
4519
4475
|
|
|
4520
4476
|
/**
|
|
4521
4477
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationInvitationRequest
|
|
@@ -4547,7 +4503,7 @@ export type CreateOrganizationInvitationRequest = Message<"raystack.frontier.v1b
|
|
|
4547
4503
|
* Use `create(CreateOrganizationInvitationRequestSchema)` to create a new message.
|
|
4548
4504
|
*/
|
|
4549
4505
|
export const CreateOrganizationInvitationRequestSchema: GenMessage<CreateOrganizationInvitationRequest> = /*@__PURE__*/
|
|
4550
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4506
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 192);
|
|
4551
4507
|
|
|
4552
4508
|
/**
|
|
4553
4509
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationInvitationResponse
|
|
@@ -4564,7 +4520,7 @@ export type CreateOrganizationInvitationResponse = Message<"raystack.frontier.v1
|
|
|
4564
4520
|
* Use `create(CreateOrganizationInvitationResponseSchema)` to create a new message.
|
|
4565
4521
|
*/
|
|
4566
4522
|
export const CreateOrganizationInvitationResponseSchema: GenMessage<CreateOrganizationInvitationResponse> = /*@__PURE__*/
|
|
4567
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4523
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 193);
|
|
4568
4524
|
|
|
4569
4525
|
/**
|
|
4570
4526
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationInvitationRequest
|
|
@@ -4586,7 +4542,7 @@ export type GetOrganizationInvitationRequest = Message<"raystack.frontier.v1beta
|
|
|
4586
4542
|
* Use `create(GetOrganizationInvitationRequestSchema)` to create a new message.
|
|
4587
4543
|
*/
|
|
4588
4544
|
export const GetOrganizationInvitationRequestSchema: GenMessage<GetOrganizationInvitationRequest> = /*@__PURE__*/
|
|
4589
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4545
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 194);
|
|
4590
4546
|
|
|
4591
4547
|
/**
|
|
4592
4548
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationInvitationResponse
|
|
@@ -4603,7 +4559,7 @@ export type GetOrganizationInvitationResponse = Message<"raystack.frontier.v1bet
|
|
|
4603
4559
|
* Use `create(GetOrganizationInvitationResponseSchema)` to create a new message.
|
|
4604
4560
|
*/
|
|
4605
4561
|
export const GetOrganizationInvitationResponseSchema: GenMessage<GetOrganizationInvitationResponse> = /*@__PURE__*/
|
|
4606
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4562
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 195);
|
|
4607
4563
|
|
|
4608
4564
|
/**
|
|
4609
4565
|
* @generated from message raystack.frontier.v1beta1.AcceptOrganizationInvitationRequest
|
|
@@ -4625,7 +4581,7 @@ export type AcceptOrganizationInvitationRequest = Message<"raystack.frontier.v1b
|
|
|
4625
4581
|
* Use `create(AcceptOrganizationInvitationRequestSchema)` to create a new message.
|
|
4626
4582
|
*/
|
|
4627
4583
|
export const AcceptOrganizationInvitationRequestSchema: GenMessage<AcceptOrganizationInvitationRequest> = /*@__PURE__*/
|
|
4628
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4584
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 196);
|
|
4629
4585
|
|
|
4630
4586
|
/**
|
|
4631
4587
|
* @generated from message raystack.frontier.v1beta1.AcceptOrganizationInvitationResponse
|
|
@@ -4638,7 +4594,7 @@ export type AcceptOrganizationInvitationResponse = Message<"raystack.frontier.v1
|
|
|
4638
4594
|
* Use `create(AcceptOrganizationInvitationResponseSchema)` to create a new message.
|
|
4639
4595
|
*/
|
|
4640
4596
|
export const AcceptOrganizationInvitationResponseSchema: GenMessage<AcceptOrganizationInvitationResponse> = /*@__PURE__*/
|
|
4641
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4597
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 197);
|
|
4642
4598
|
|
|
4643
4599
|
/**
|
|
4644
4600
|
* @generated from message raystack.frontier.v1beta1.DeleteOrganizationInvitationRequest
|
|
@@ -4660,7 +4616,7 @@ export type DeleteOrganizationInvitationRequest = Message<"raystack.frontier.v1b
|
|
|
4660
4616
|
* Use `create(DeleteOrganizationInvitationRequestSchema)` to create a new message.
|
|
4661
4617
|
*/
|
|
4662
4618
|
export const DeleteOrganizationInvitationRequestSchema: GenMessage<DeleteOrganizationInvitationRequest> = /*@__PURE__*/
|
|
4663
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4619
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 198);
|
|
4664
4620
|
|
|
4665
4621
|
/**
|
|
4666
4622
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationDomainsRequest
|
|
@@ -4682,7 +4638,7 @@ export type ListOrganizationDomainsRequest = Message<"raystack.frontier.v1beta1.
|
|
|
4682
4638
|
* Use `create(ListOrganizationDomainsRequestSchema)` to create a new message.
|
|
4683
4639
|
*/
|
|
4684
4640
|
export const ListOrganizationDomainsRequestSchema: GenMessage<ListOrganizationDomainsRequest> = /*@__PURE__*/
|
|
4685
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4641
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 199);
|
|
4686
4642
|
|
|
4687
4643
|
/**
|
|
4688
4644
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationDomainsResponse
|
|
@@ -4699,7 +4655,7 @@ export type ListOrganizationDomainsResponse = Message<"raystack.frontier.v1beta1
|
|
|
4699
4655
|
* Use `create(ListOrganizationDomainsResponseSchema)` to create a new message.
|
|
4700
4656
|
*/
|
|
4701
4657
|
export const ListOrganizationDomainsResponseSchema: GenMessage<ListOrganizationDomainsResponse> = /*@__PURE__*/
|
|
4702
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4658
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 200);
|
|
4703
4659
|
|
|
4704
4660
|
/**
|
|
4705
4661
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationsByDomainRequest
|
|
@@ -4716,7 +4672,7 @@ export type ListOrganizationsByDomainRequest = Message<"raystack.frontier.v1beta
|
|
|
4716
4672
|
* Use `create(ListOrganizationsByDomainRequestSchema)` to create a new message.
|
|
4717
4673
|
*/
|
|
4718
4674
|
export const ListOrganizationsByDomainRequestSchema: GenMessage<ListOrganizationsByDomainRequest> = /*@__PURE__*/
|
|
4719
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4675
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 201);
|
|
4720
4676
|
|
|
4721
4677
|
/**
|
|
4722
4678
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationsByDomainResponse
|
|
@@ -4733,7 +4689,7 @@ export type ListOrganizationsByDomainResponse = Message<"raystack.frontier.v1bet
|
|
|
4733
4689
|
* Use `create(ListOrganizationsByDomainResponseSchema)` to create a new message.
|
|
4734
4690
|
*/
|
|
4735
4691
|
export const ListOrganizationsByDomainResponseSchema: GenMessage<ListOrganizationsByDomainResponse> = /*@__PURE__*/
|
|
4736
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4692
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 202);
|
|
4737
4693
|
|
|
4738
4694
|
/**
|
|
4739
4695
|
* @generated from message raystack.frontier.v1beta1.JoinOrganizationRequest
|
|
@@ -4750,7 +4706,7 @@ export type JoinOrganizationRequest = Message<"raystack.frontier.v1beta1.JoinOrg
|
|
|
4750
4706
|
* Use `create(JoinOrganizationRequestSchema)` to create a new message.
|
|
4751
4707
|
*/
|
|
4752
4708
|
export const JoinOrganizationRequestSchema: GenMessage<JoinOrganizationRequest> = /*@__PURE__*/
|
|
4753
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4709
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 203);
|
|
4754
4710
|
|
|
4755
4711
|
/**
|
|
4756
4712
|
* @generated from message raystack.frontier.v1beta1.JoinOrganizationResponse
|
|
@@ -4763,7 +4719,7 @@ export type JoinOrganizationResponse = Message<"raystack.frontier.v1beta1.JoinOr
|
|
|
4763
4719
|
* Use `create(JoinOrganizationResponseSchema)` to create a new message.
|
|
4764
4720
|
*/
|
|
4765
4721
|
export const JoinOrganizationResponseSchema: GenMessage<JoinOrganizationResponse> = /*@__PURE__*/
|
|
4766
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4722
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 204);
|
|
4767
4723
|
|
|
4768
4724
|
/**
|
|
4769
4725
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationDomainRequest
|
|
@@ -4785,7 +4741,7 @@ export type GetOrganizationDomainRequest = Message<"raystack.frontier.v1beta1.Ge
|
|
|
4785
4741
|
* Use `create(GetOrganizationDomainRequestSchema)` to create a new message.
|
|
4786
4742
|
*/
|
|
4787
4743
|
export const GetOrganizationDomainRequestSchema: GenMessage<GetOrganizationDomainRequest> = /*@__PURE__*/
|
|
4788
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4744
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 205);
|
|
4789
4745
|
|
|
4790
4746
|
/**
|
|
4791
4747
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationDomainResponse
|
|
@@ -4802,7 +4758,7 @@ export type GetOrganizationDomainResponse = Message<"raystack.frontier.v1beta1.G
|
|
|
4802
4758
|
* Use `create(GetOrganizationDomainResponseSchema)` to create a new message.
|
|
4803
4759
|
*/
|
|
4804
4760
|
export const GetOrganizationDomainResponseSchema: GenMessage<GetOrganizationDomainResponse> = /*@__PURE__*/
|
|
4805
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4761
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 206);
|
|
4806
4762
|
|
|
4807
4763
|
/**
|
|
4808
4764
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationDomainRequest
|
|
@@ -4824,7 +4780,7 @@ export type CreateOrganizationDomainRequest = Message<"raystack.frontier.v1beta1
|
|
|
4824
4780
|
* Use `create(CreateOrganizationDomainRequestSchema)` to create a new message.
|
|
4825
4781
|
*/
|
|
4826
4782
|
export const CreateOrganizationDomainRequestSchema: GenMessage<CreateOrganizationDomainRequest> = /*@__PURE__*/
|
|
4827
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4783
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 207);
|
|
4828
4784
|
|
|
4829
4785
|
/**
|
|
4830
4786
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationDomainResponse
|
|
@@ -4841,7 +4797,7 @@ export type CreateOrganizationDomainResponse = Message<"raystack.frontier.v1beta
|
|
|
4841
4797
|
* Use `create(CreateOrganizationDomainResponseSchema)` to create a new message.
|
|
4842
4798
|
*/
|
|
4843
4799
|
export const CreateOrganizationDomainResponseSchema: GenMessage<CreateOrganizationDomainResponse> = /*@__PURE__*/
|
|
4844
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4800
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 208);
|
|
4845
4801
|
|
|
4846
4802
|
/**
|
|
4847
4803
|
* @generated from message raystack.frontier.v1beta1.DeleteOrganizationDomainRequest
|
|
@@ -4863,7 +4819,7 @@ export type DeleteOrganizationDomainRequest = Message<"raystack.frontier.v1beta1
|
|
|
4863
4819
|
* Use `create(DeleteOrganizationDomainRequestSchema)` to create a new message.
|
|
4864
4820
|
*/
|
|
4865
4821
|
export const DeleteOrganizationDomainRequestSchema: GenMessage<DeleteOrganizationDomainRequest> = /*@__PURE__*/
|
|
4866
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4822
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 209);
|
|
4867
4823
|
|
|
4868
4824
|
/**
|
|
4869
4825
|
* @generated from message raystack.frontier.v1beta1.DeleteOrganizationDomainResponse
|
|
@@ -4876,7 +4832,7 @@ export type DeleteOrganizationDomainResponse = Message<"raystack.frontier.v1beta
|
|
|
4876
4832
|
* Use `create(DeleteOrganizationDomainResponseSchema)` to create a new message.
|
|
4877
4833
|
*/
|
|
4878
4834
|
export const DeleteOrganizationDomainResponseSchema: GenMessage<DeleteOrganizationDomainResponse> = /*@__PURE__*/
|
|
4879
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4835
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 210);
|
|
4880
4836
|
|
|
4881
4837
|
/**
|
|
4882
4838
|
* @generated from message raystack.frontier.v1beta1.VerifyOrganizationDomainRequest
|
|
@@ -4898,7 +4854,7 @@ export type VerifyOrganizationDomainRequest = Message<"raystack.frontier.v1beta1
|
|
|
4898
4854
|
* Use `create(VerifyOrganizationDomainRequestSchema)` to create a new message.
|
|
4899
4855
|
*/
|
|
4900
4856
|
export const VerifyOrganizationDomainRequestSchema: GenMessage<VerifyOrganizationDomainRequest> = /*@__PURE__*/
|
|
4901
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4857
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 211);
|
|
4902
4858
|
|
|
4903
4859
|
/**
|
|
4904
4860
|
* @generated from message raystack.frontier.v1beta1.VerifyOrganizationDomainResponse
|
|
@@ -4915,7 +4871,7 @@ export type VerifyOrganizationDomainResponse = Message<"raystack.frontier.v1beta
|
|
|
4915
4871
|
* Use `create(VerifyOrganizationDomainResponseSchema)` to create a new message.
|
|
4916
4872
|
*/
|
|
4917
4873
|
export const VerifyOrganizationDomainResponseSchema: GenMessage<VerifyOrganizationDomainResponse> = /*@__PURE__*/
|
|
4918
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4874
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 212);
|
|
4919
4875
|
|
|
4920
4876
|
/**
|
|
4921
4877
|
* @generated from message raystack.frontier.v1beta1.DeleteOrganizationInvitationResponse
|
|
@@ -4928,7 +4884,7 @@ export type DeleteOrganizationInvitationResponse = Message<"raystack.frontier.v1
|
|
|
4928
4884
|
* Use `create(DeleteOrganizationInvitationResponseSchema)` to create a new message.
|
|
4929
4885
|
*/
|
|
4930
4886
|
export const DeleteOrganizationInvitationResponseSchema: GenMessage<DeleteOrganizationInvitationResponse> = /*@__PURE__*/
|
|
4931
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4887
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 213);
|
|
4932
4888
|
|
|
4933
4889
|
/**
|
|
4934
4890
|
* @generated from message raystack.frontier.v1beta1.EnableOrganizationRequest
|
|
@@ -4945,7 +4901,7 @@ export type EnableOrganizationRequest = Message<"raystack.frontier.v1beta1.Enabl
|
|
|
4945
4901
|
* Use `create(EnableOrganizationRequestSchema)` to create a new message.
|
|
4946
4902
|
*/
|
|
4947
4903
|
export const EnableOrganizationRequestSchema: GenMessage<EnableOrganizationRequest> = /*@__PURE__*/
|
|
4948
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4904
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 214);
|
|
4949
4905
|
|
|
4950
4906
|
/**
|
|
4951
4907
|
* @generated from message raystack.frontier.v1beta1.EnableOrganizationResponse
|
|
@@ -4958,7 +4914,7 @@ export type EnableOrganizationResponse = Message<"raystack.frontier.v1beta1.Enab
|
|
|
4958
4914
|
* Use `create(EnableOrganizationResponseSchema)` to create a new message.
|
|
4959
4915
|
*/
|
|
4960
4916
|
export const EnableOrganizationResponseSchema: GenMessage<EnableOrganizationResponse> = /*@__PURE__*/
|
|
4961
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4917
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 215);
|
|
4962
4918
|
|
|
4963
4919
|
/**
|
|
4964
4920
|
* @generated from message raystack.frontier.v1beta1.DisableOrganizationRequest
|
|
@@ -4975,7 +4931,7 @@ export type DisableOrganizationRequest = Message<"raystack.frontier.v1beta1.Disa
|
|
|
4975
4931
|
* Use `create(DisableOrganizationRequestSchema)` to create a new message.
|
|
4976
4932
|
*/
|
|
4977
4933
|
export const DisableOrganizationRequestSchema: GenMessage<DisableOrganizationRequest> = /*@__PURE__*/
|
|
4978
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4934
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 216);
|
|
4979
4935
|
|
|
4980
4936
|
/**
|
|
4981
4937
|
* @generated from message raystack.frontier.v1beta1.DisableOrganizationResponse
|
|
@@ -4988,7 +4944,7 @@ export type DisableOrganizationResponse = Message<"raystack.frontier.v1beta1.Dis
|
|
|
4988
4944
|
* Use `create(DisableOrganizationResponseSchema)` to create a new message.
|
|
4989
4945
|
*/
|
|
4990
4946
|
export const DisableOrganizationResponseSchema: GenMessage<DisableOrganizationResponse> = /*@__PURE__*/
|
|
4991
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4947
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 217);
|
|
4992
4948
|
|
|
4993
4949
|
/**
|
|
4994
4950
|
* @generated from message raystack.frontier.v1beta1.DeleteOrganizationRequest
|
|
@@ -5005,7 +4961,7 @@ export type DeleteOrganizationRequest = Message<"raystack.frontier.v1beta1.Delet
|
|
|
5005
4961
|
* Use `create(DeleteOrganizationRequestSchema)` to create a new message.
|
|
5006
4962
|
*/
|
|
5007
4963
|
export const DeleteOrganizationRequestSchema: GenMessage<DeleteOrganizationRequest> = /*@__PURE__*/
|
|
5008
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4964
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 218);
|
|
5009
4965
|
|
|
5010
4966
|
/**
|
|
5011
4967
|
* @generated from message raystack.frontier.v1beta1.DeleteOrganizationResponse
|
|
@@ -5018,7 +4974,7 @@ export type DeleteOrganizationResponse = Message<"raystack.frontier.v1beta1.Dele
|
|
|
5018
4974
|
* Use `create(DeleteOrganizationResponseSchema)` to create a new message.
|
|
5019
4975
|
*/
|
|
5020
4976
|
export const DeleteOrganizationResponseSchema: GenMessage<DeleteOrganizationResponse> = /*@__PURE__*/
|
|
5021
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4977
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 219);
|
|
5022
4978
|
|
|
5023
4979
|
/**
|
|
5024
4980
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationKycRequest
|
|
@@ -5035,7 +4991,7 @@ export type GetOrganizationKycRequest = Message<"raystack.frontier.v1beta1.GetOr
|
|
|
5035
4991
|
* Use `create(GetOrganizationKycRequestSchema)` to create a new message.
|
|
5036
4992
|
*/
|
|
5037
4993
|
export const GetOrganizationKycRequestSchema: GenMessage<GetOrganizationKycRequest> = /*@__PURE__*/
|
|
5038
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
4994
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 220);
|
|
5039
4995
|
|
|
5040
4996
|
/**
|
|
5041
4997
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationKycResponse
|
|
@@ -5052,7 +5008,7 @@ export type GetOrganizationKycResponse = Message<"raystack.frontier.v1beta1.GetO
|
|
|
5052
5008
|
* Use `create(GetOrganizationKycResponseSchema)` to create a new message.
|
|
5053
5009
|
*/
|
|
5054
5010
|
export const GetOrganizationKycResponseSchema: GenMessage<GetOrganizationKycResponse> = /*@__PURE__*/
|
|
5055
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5011
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 221);
|
|
5056
5012
|
|
|
5057
5013
|
/**
|
|
5058
5014
|
* @generated from message raystack.frontier.v1beta1.ProjectRequestBody
|
|
@@ -5084,7 +5040,7 @@ export type ProjectRequestBody = Message<"raystack.frontier.v1beta1.ProjectReque
|
|
|
5084
5040
|
* Use `create(ProjectRequestBodySchema)` to create a new message.
|
|
5085
5041
|
*/
|
|
5086
5042
|
export const ProjectRequestBodySchema: GenMessage<ProjectRequestBody> = /*@__PURE__*/
|
|
5087
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5043
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 222);
|
|
5088
5044
|
|
|
5089
5045
|
/**
|
|
5090
5046
|
* @generated from message raystack.frontier.v1beta1.CreateProjectRequest
|
|
@@ -5101,7 +5057,7 @@ export type CreateProjectRequest = Message<"raystack.frontier.v1beta1.CreateProj
|
|
|
5101
5057
|
* Use `create(CreateProjectRequestSchema)` to create a new message.
|
|
5102
5058
|
*/
|
|
5103
5059
|
export const CreateProjectRequestSchema: GenMessage<CreateProjectRequest> = /*@__PURE__*/
|
|
5104
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5060
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 223);
|
|
5105
5061
|
|
|
5106
5062
|
/**
|
|
5107
5063
|
* @generated from message raystack.frontier.v1beta1.CreateProjectResponse
|
|
@@ -5118,7 +5074,7 @@ export type CreateProjectResponse = Message<"raystack.frontier.v1beta1.CreatePro
|
|
|
5118
5074
|
* Use `create(CreateProjectResponseSchema)` to create a new message.
|
|
5119
5075
|
*/
|
|
5120
5076
|
export const CreateProjectResponseSchema: GenMessage<CreateProjectResponse> = /*@__PURE__*/
|
|
5121
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5077
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 224);
|
|
5122
5078
|
|
|
5123
5079
|
/**
|
|
5124
5080
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationProjectsRequest
|
|
@@ -5145,7 +5101,7 @@ export type ListOrganizationProjectsRequest = Message<"raystack.frontier.v1beta1
|
|
|
5145
5101
|
* Use `create(ListOrganizationProjectsRequestSchema)` to create a new message.
|
|
5146
5102
|
*/
|
|
5147
5103
|
export const ListOrganizationProjectsRequestSchema: GenMessage<ListOrganizationProjectsRequest> = /*@__PURE__*/
|
|
5148
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5104
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 225);
|
|
5149
5105
|
|
|
5150
5106
|
/**
|
|
5151
5107
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationProjectsResponse
|
|
@@ -5162,7 +5118,7 @@ export type ListOrganizationProjectsResponse = Message<"raystack.frontier.v1beta
|
|
|
5162
5118
|
* Use `create(ListOrganizationProjectsResponseSchema)` to create a new message.
|
|
5163
5119
|
*/
|
|
5164
5120
|
export const ListOrganizationProjectsResponseSchema: GenMessage<ListOrganizationProjectsResponse> = /*@__PURE__*/
|
|
5165
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5121
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 226);
|
|
5166
5122
|
|
|
5167
5123
|
/**
|
|
5168
5124
|
* @generated from message raystack.frontier.v1beta1.GetProjectRequest
|
|
@@ -5179,7 +5135,7 @@ export type GetProjectRequest = Message<"raystack.frontier.v1beta1.GetProjectReq
|
|
|
5179
5135
|
* Use `create(GetProjectRequestSchema)` to create a new message.
|
|
5180
5136
|
*/
|
|
5181
5137
|
export const GetProjectRequestSchema: GenMessage<GetProjectRequest> = /*@__PURE__*/
|
|
5182
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5138
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 227);
|
|
5183
5139
|
|
|
5184
5140
|
/**
|
|
5185
5141
|
* @generated from message raystack.frontier.v1beta1.GetProjectResponse
|
|
@@ -5196,7 +5152,7 @@ export type GetProjectResponse = Message<"raystack.frontier.v1beta1.GetProjectRe
|
|
|
5196
5152
|
* Use `create(GetProjectResponseSchema)` to create a new message.
|
|
5197
5153
|
*/
|
|
5198
5154
|
export const GetProjectResponseSchema: GenMessage<GetProjectResponse> = /*@__PURE__*/
|
|
5199
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5155
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 228);
|
|
5200
5156
|
|
|
5201
5157
|
/**
|
|
5202
5158
|
* @generated from message raystack.frontier.v1beta1.UpdateProjectRequest
|
|
@@ -5218,7 +5174,7 @@ export type UpdateProjectRequest = Message<"raystack.frontier.v1beta1.UpdateProj
|
|
|
5218
5174
|
* Use `create(UpdateProjectRequestSchema)` to create a new message.
|
|
5219
5175
|
*/
|
|
5220
5176
|
export const UpdateProjectRequestSchema: GenMessage<UpdateProjectRequest> = /*@__PURE__*/
|
|
5221
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5177
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 229);
|
|
5222
5178
|
|
|
5223
5179
|
/**
|
|
5224
5180
|
* @generated from message raystack.frontier.v1beta1.UpdateProjectResponse
|
|
@@ -5235,7 +5191,7 @@ export type UpdateProjectResponse = Message<"raystack.frontier.v1beta1.UpdatePro
|
|
|
5235
5191
|
* Use `create(UpdateProjectResponseSchema)` to create a new message.
|
|
5236
5192
|
*/
|
|
5237
5193
|
export const UpdateProjectResponseSchema: GenMessage<UpdateProjectResponse> = /*@__PURE__*/
|
|
5238
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5194
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 230);
|
|
5239
5195
|
|
|
5240
5196
|
/**
|
|
5241
5197
|
* @generated from message raystack.frontier.v1beta1.ListProjectAdminsRequest
|
|
@@ -5252,7 +5208,7 @@ export type ListProjectAdminsRequest = Message<"raystack.frontier.v1beta1.ListPr
|
|
|
5252
5208
|
* Use `create(ListProjectAdminsRequestSchema)` to create a new message.
|
|
5253
5209
|
*/
|
|
5254
5210
|
export const ListProjectAdminsRequestSchema: GenMessage<ListProjectAdminsRequest> = /*@__PURE__*/
|
|
5255
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5211
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 231);
|
|
5256
5212
|
|
|
5257
5213
|
/**
|
|
5258
5214
|
* @generated from message raystack.frontier.v1beta1.ListProjectAdminsResponse
|
|
@@ -5269,7 +5225,7 @@ export type ListProjectAdminsResponse = Message<"raystack.frontier.v1beta1.ListP
|
|
|
5269
5225
|
* Use `create(ListProjectAdminsResponseSchema)` to create a new message.
|
|
5270
5226
|
*/
|
|
5271
5227
|
export const ListProjectAdminsResponseSchema: GenMessage<ListProjectAdminsResponse> = /*@__PURE__*/
|
|
5272
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5228
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 232);
|
|
5273
5229
|
|
|
5274
5230
|
/**
|
|
5275
5231
|
* @generated from message raystack.frontier.v1beta1.ListProjectUsersRequest
|
|
@@ -5296,7 +5252,7 @@ export type ListProjectUsersRequest = Message<"raystack.frontier.v1beta1.ListPro
|
|
|
5296
5252
|
* Use `create(ListProjectUsersRequestSchema)` to create a new message.
|
|
5297
5253
|
*/
|
|
5298
5254
|
export const ListProjectUsersRequestSchema: GenMessage<ListProjectUsersRequest> = /*@__PURE__*/
|
|
5299
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5255
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 233);
|
|
5300
5256
|
|
|
5301
5257
|
/**
|
|
5302
5258
|
* @generated from message raystack.frontier.v1beta1.ListProjectUsersResponse
|
|
@@ -5318,7 +5274,7 @@ export type ListProjectUsersResponse = Message<"raystack.frontier.v1beta1.ListPr
|
|
|
5318
5274
|
* Use `create(ListProjectUsersResponseSchema)` to create a new message.
|
|
5319
5275
|
*/
|
|
5320
5276
|
export const ListProjectUsersResponseSchema: GenMessage<ListProjectUsersResponse> = /*@__PURE__*/
|
|
5321
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5277
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 234);
|
|
5322
5278
|
|
|
5323
5279
|
/**
|
|
5324
5280
|
* @generated from message raystack.frontier.v1beta1.ListProjectUsersResponse.RolePair
|
|
@@ -5340,7 +5296,7 @@ export type ListProjectUsersResponse_RolePair = Message<"raystack.frontier.v1bet
|
|
|
5340
5296
|
* Use `create(ListProjectUsersResponse_RolePairSchema)` to create a new message.
|
|
5341
5297
|
*/
|
|
5342
5298
|
export const ListProjectUsersResponse_RolePairSchema: GenMessage<ListProjectUsersResponse_RolePair> = /*@__PURE__*/
|
|
5343
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5299
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 234, 0);
|
|
5344
5300
|
|
|
5345
5301
|
/**
|
|
5346
5302
|
* @generated from message raystack.frontier.v1beta1.ListProjectServiceUsersRequest
|
|
@@ -5362,7 +5318,7 @@ export type ListProjectServiceUsersRequest = Message<"raystack.frontier.v1beta1.
|
|
|
5362
5318
|
* Use `create(ListProjectServiceUsersRequestSchema)` to create a new message.
|
|
5363
5319
|
*/
|
|
5364
5320
|
export const ListProjectServiceUsersRequestSchema: GenMessage<ListProjectServiceUsersRequest> = /*@__PURE__*/
|
|
5365
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5321
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 235);
|
|
5366
5322
|
|
|
5367
5323
|
/**
|
|
5368
5324
|
* @generated from message raystack.frontier.v1beta1.ListProjectServiceUsersResponse
|
|
@@ -5384,7 +5340,7 @@ export type ListProjectServiceUsersResponse = Message<"raystack.frontier.v1beta1
|
|
|
5384
5340
|
* Use `create(ListProjectServiceUsersResponseSchema)` to create a new message.
|
|
5385
5341
|
*/
|
|
5386
5342
|
export const ListProjectServiceUsersResponseSchema: GenMessage<ListProjectServiceUsersResponse> = /*@__PURE__*/
|
|
5387
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5343
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 236);
|
|
5388
5344
|
|
|
5389
5345
|
/**
|
|
5390
5346
|
* @generated from message raystack.frontier.v1beta1.ListProjectServiceUsersResponse.RolePair
|
|
@@ -5406,7 +5362,7 @@ export type ListProjectServiceUsersResponse_RolePair = Message<"raystack.frontie
|
|
|
5406
5362
|
* Use `create(ListProjectServiceUsersResponse_RolePairSchema)` to create a new message.
|
|
5407
5363
|
*/
|
|
5408
5364
|
export const ListProjectServiceUsersResponse_RolePairSchema: GenMessage<ListProjectServiceUsersResponse_RolePair> = /*@__PURE__*/
|
|
5409
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5365
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 236, 0);
|
|
5410
5366
|
|
|
5411
5367
|
/**
|
|
5412
5368
|
* @generated from message raystack.frontier.v1beta1.ListProjectGroupsRequest
|
|
@@ -5428,7 +5384,7 @@ export type ListProjectGroupsRequest = Message<"raystack.frontier.v1beta1.ListPr
|
|
|
5428
5384
|
* Use `create(ListProjectGroupsRequestSchema)` to create a new message.
|
|
5429
5385
|
*/
|
|
5430
5386
|
export const ListProjectGroupsRequestSchema: GenMessage<ListProjectGroupsRequest> = /*@__PURE__*/
|
|
5431
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5387
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 237);
|
|
5432
5388
|
|
|
5433
5389
|
/**
|
|
5434
5390
|
* @generated from message raystack.frontier.v1beta1.ListProjectGroupsResponse
|
|
@@ -5450,7 +5406,7 @@ export type ListProjectGroupsResponse = Message<"raystack.frontier.v1beta1.ListP
|
|
|
5450
5406
|
* Use `create(ListProjectGroupsResponseSchema)` to create a new message.
|
|
5451
5407
|
*/
|
|
5452
5408
|
export const ListProjectGroupsResponseSchema: GenMessage<ListProjectGroupsResponse> = /*@__PURE__*/
|
|
5453
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5409
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 238);
|
|
5454
5410
|
|
|
5455
5411
|
/**
|
|
5456
5412
|
* @generated from message raystack.frontier.v1beta1.ListProjectGroupsResponse.RolePair
|
|
@@ -5472,7 +5428,7 @@ export type ListProjectGroupsResponse_RolePair = Message<"raystack.frontier.v1be
|
|
|
5472
5428
|
* Use `create(ListProjectGroupsResponse_RolePairSchema)` to create a new message.
|
|
5473
5429
|
*/
|
|
5474
5430
|
export const ListProjectGroupsResponse_RolePairSchema: GenMessage<ListProjectGroupsResponse_RolePair> = /*@__PURE__*/
|
|
5475
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5431
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 238, 0);
|
|
5476
5432
|
|
|
5477
5433
|
/**
|
|
5478
5434
|
* @generated from message raystack.frontier.v1beta1.EnableProjectRequest
|
|
@@ -5489,7 +5445,7 @@ export type EnableProjectRequest = Message<"raystack.frontier.v1beta1.EnableProj
|
|
|
5489
5445
|
* Use `create(EnableProjectRequestSchema)` to create a new message.
|
|
5490
5446
|
*/
|
|
5491
5447
|
export const EnableProjectRequestSchema: GenMessage<EnableProjectRequest> = /*@__PURE__*/
|
|
5492
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5448
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 239);
|
|
5493
5449
|
|
|
5494
5450
|
/**
|
|
5495
5451
|
* @generated from message raystack.frontier.v1beta1.EnableProjectResponse
|
|
@@ -5502,7 +5458,7 @@ export type EnableProjectResponse = Message<"raystack.frontier.v1beta1.EnablePro
|
|
|
5502
5458
|
* Use `create(EnableProjectResponseSchema)` to create a new message.
|
|
5503
5459
|
*/
|
|
5504
5460
|
export const EnableProjectResponseSchema: GenMessage<EnableProjectResponse> = /*@__PURE__*/
|
|
5505
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5461
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 240);
|
|
5506
5462
|
|
|
5507
5463
|
/**
|
|
5508
5464
|
* @generated from message raystack.frontier.v1beta1.DisableProjectRequest
|
|
@@ -5519,7 +5475,7 @@ export type DisableProjectRequest = Message<"raystack.frontier.v1beta1.DisablePr
|
|
|
5519
5475
|
* Use `create(DisableProjectRequestSchema)` to create a new message.
|
|
5520
5476
|
*/
|
|
5521
5477
|
export const DisableProjectRequestSchema: GenMessage<DisableProjectRequest> = /*@__PURE__*/
|
|
5522
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5478
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 241);
|
|
5523
5479
|
|
|
5524
5480
|
/**
|
|
5525
5481
|
* @generated from message raystack.frontier.v1beta1.DisableProjectResponse
|
|
@@ -5532,7 +5488,7 @@ export type DisableProjectResponse = Message<"raystack.frontier.v1beta1.DisableP
|
|
|
5532
5488
|
* Use `create(DisableProjectResponseSchema)` to create a new message.
|
|
5533
5489
|
*/
|
|
5534
5490
|
export const DisableProjectResponseSchema: GenMessage<DisableProjectResponse> = /*@__PURE__*/
|
|
5535
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5491
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 242);
|
|
5536
5492
|
|
|
5537
5493
|
/**
|
|
5538
5494
|
* @generated from message raystack.frontier.v1beta1.DeleteProjectRequest
|
|
@@ -5549,7 +5505,7 @@ export type DeleteProjectRequest = Message<"raystack.frontier.v1beta1.DeleteProj
|
|
|
5549
5505
|
* Use `create(DeleteProjectRequestSchema)` to create a new message.
|
|
5550
5506
|
*/
|
|
5551
5507
|
export const DeleteProjectRequestSchema: GenMessage<DeleteProjectRequest> = /*@__PURE__*/
|
|
5552
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5508
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 243);
|
|
5553
5509
|
|
|
5554
5510
|
/**
|
|
5555
5511
|
* @generated from message raystack.frontier.v1beta1.DeleteProjectResponse
|
|
@@ -5562,7 +5518,7 @@ export type DeleteProjectResponse = Message<"raystack.frontier.v1beta1.DeletePro
|
|
|
5562
5518
|
* Use `create(DeleteProjectResponseSchema)` to create a new message.
|
|
5563
5519
|
*/
|
|
5564
5520
|
export const DeleteProjectResponseSchema: GenMessage<DeleteProjectResponse> = /*@__PURE__*/
|
|
5565
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5521
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 244);
|
|
5566
5522
|
|
|
5567
5523
|
/**
|
|
5568
5524
|
* @generated from message raystack.frontier.v1beta1.PolicyRequestBody
|
|
@@ -5599,7 +5555,7 @@ export type PolicyRequestBody = Message<"raystack.frontier.v1beta1.PolicyRequest
|
|
|
5599
5555
|
* Use `create(PolicyRequestBodySchema)` to create a new message.
|
|
5600
5556
|
*/
|
|
5601
5557
|
export const PolicyRequestBodySchema: GenMessage<PolicyRequestBody> = /*@__PURE__*/
|
|
5602
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5558
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 245);
|
|
5603
5559
|
|
|
5604
5560
|
/**
|
|
5605
5561
|
* @generated from message raystack.frontier.v1beta1.CreatePolicyForProjectBody
|
|
@@ -5626,7 +5582,7 @@ export type CreatePolicyForProjectBody = Message<"raystack.frontier.v1beta1.Crea
|
|
|
5626
5582
|
* Use `create(CreatePolicyForProjectBodySchema)` to create a new message.
|
|
5627
5583
|
*/
|
|
5628
5584
|
export const CreatePolicyForProjectBodySchema: GenMessage<CreatePolicyForProjectBody> = /*@__PURE__*/
|
|
5629
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5585
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 246);
|
|
5630
5586
|
|
|
5631
5587
|
/**
|
|
5632
5588
|
* @generated from message raystack.frontier.v1beta1.GetPermissionRequest
|
|
@@ -5643,7 +5599,7 @@ export type GetPermissionRequest = Message<"raystack.frontier.v1beta1.GetPermiss
|
|
|
5643
5599
|
* Use `create(GetPermissionRequestSchema)` to create a new message.
|
|
5644
5600
|
*/
|
|
5645
5601
|
export const GetPermissionRequestSchema: GenMessage<GetPermissionRequest> = /*@__PURE__*/
|
|
5646
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5602
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 247);
|
|
5647
5603
|
|
|
5648
5604
|
/**
|
|
5649
5605
|
* @generated from message raystack.frontier.v1beta1.GetPermissionResponse
|
|
@@ -5660,7 +5616,7 @@ export type GetPermissionResponse = Message<"raystack.frontier.v1beta1.GetPermis
|
|
|
5660
5616
|
* Use `create(GetPermissionResponseSchema)` to create a new message.
|
|
5661
5617
|
*/
|
|
5662
5618
|
export const GetPermissionResponseSchema: GenMessage<GetPermissionResponse> = /*@__PURE__*/
|
|
5663
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5619
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 248);
|
|
5664
5620
|
|
|
5665
5621
|
/**
|
|
5666
5622
|
* @generated from message raystack.frontier.v1beta1.ListPermissionsRequest
|
|
@@ -5673,7 +5629,7 @@ export type ListPermissionsRequest = Message<"raystack.frontier.v1beta1.ListPerm
|
|
|
5673
5629
|
* Use `create(ListPermissionsRequestSchema)` to create a new message.
|
|
5674
5630
|
*/
|
|
5675
5631
|
export const ListPermissionsRequestSchema: GenMessage<ListPermissionsRequest> = /*@__PURE__*/
|
|
5676
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5632
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 249);
|
|
5677
5633
|
|
|
5678
5634
|
/**
|
|
5679
5635
|
* @generated from message raystack.frontier.v1beta1.ListPermissionsResponse
|
|
@@ -5690,7 +5646,7 @@ export type ListPermissionsResponse = Message<"raystack.frontier.v1beta1.ListPer
|
|
|
5690
5646
|
* Use `create(ListPermissionsResponseSchema)` to create a new message.
|
|
5691
5647
|
*/
|
|
5692
5648
|
export const ListPermissionsResponseSchema: GenMessage<ListPermissionsResponse> = /*@__PURE__*/
|
|
5693
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5649
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 250);
|
|
5694
5650
|
|
|
5695
5651
|
/**
|
|
5696
5652
|
* @generated from message raystack.frontier.v1beta1.ListNamespacesRequest
|
|
@@ -5703,7 +5659,7 @@ export type ListNamespacesRequest = Message<"raystack.frontier.v1beta1.ListNames
|
|
|
5703
5659
|
* Use `create(ListNamespacesRequestSchema)` to create a new message.
|
|
5704
5660
|
*/
|
|
5705
5661
|
export const ListNamespacesRequestSchema: GenMessage<ListNamespacesRequest> = /*@__PURE__*/
|
|
5706
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5662
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 251);
|
|
5707
5663
|
|
|
5708
5664
|
/**
|
|
5709
5665
|
* @generated from message raystack.frontier.v1beta1.ListNamespacesResponse
|
|
@@ -5720,7 +5676,7 @@ export type ListNamespacesResponse = Message<"raystack.frontier.v1beta1.ListName
|
|
|
5720
5676
|
* Use `create(ListNamespacesResponseSchema)` to create a new message.
|
|
5721
5677
|
*/
|
|
5722
5678
|
export const ListNamespacesResponseSchema: GenMessage<ListNamespacesResponse> = /*@__PURE__*/
|
|
5723
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5679
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 252);
|
|
5724
5680
|
|
|
5725
5681
|
/**
|
|
5726
5682
|
* @generated from message raystack.frontier.v1beta1.GetNamespaceRequest
|
|
@@ -5737,7 +5693,7 @@ export type GetNamespaceRequest = Message<"raystack.frontier.v1beta1.GetNamespac
|
|
|
5737
5693
|
* Use `create(GetNamespaceRequestSchema)` to create a new message.
|
|
5738
5694
|
*/
|
|
5739
5695
|
export const GetNamespaceRequestSchema: GenMessage<GetNamespaceRequest> = /*@__PURE__*/
|
|
5740
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5696
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 253);
|
|
5741
5697
|
|
|
5742
5698
|
/**
|
|
5743
5699
|
* @generated from message raystack.frontier.v1beta1.GetNamespaceResponse
|
|
@@ -5754,7 +5710,7 @@ export type GetNamespaceResponse = Message<"raystack.frontier.v1beta1.GetNamespa
|
|
|
5754
5710
|
* Use `create(GetNamespaceResponseSchema)` to create a new message.
|
|
5755
5711
|
*/
|
|
5756
5712
|
export const GetNamespaceResponseSchema: GenMessage<GetNamespaceResponse> = /*@__PURE__*/
|
|
5757
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5713
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 254);
|
|
5758
5714
|
|
|
5759
5715
|
/**
|
|
5760
5716
|
* @generated from message raystack.frontier.v1beta1.CreatePolicyRequest
|
|
@@ -5771,7 +5727,7 @@ export type CreatePolicyRequest = Message<"raystack.frontier.v1beta1.CreatePolic
|
|
|
5771
5727
|
* Use `create(CreatePolicyRequestSchema)` to create a new message.
|
|
5772
5728
|
*/
|
|
5773
5729
|
export const CreatePolicyRequestSchema: GenMessage<CreatePolicyRequest> = /*@__PURE__*/
|
|
5774
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5730
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 255);
|
|
5775
5731
|
|
|
5776
5732
|
/**
|
|
5777
5733
|
* @generated from message raystack.frontier.v1beta1.CreatePolicyResponse
|
|
@@ -5788,7 +5744,7 @@ export type CreatePolicyResponse = Message<"raystack.frontier.v1beta1.CreatePoli
|
|
|
5788
5744
|
* Use `create(CreatePolicyResponseSchema)` to create a new message.
|
|
5789
5745
|
*/
|
|
5790
5746
|
export const CreatePolicyResponseSchema: GenMessage<CreatePolicyResponse> = /*@__PURE__*/
|
|
5791
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5747
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 256);
|
|
5792
5748
|
|
|
5793
5749
|
/**
|
|
5794
5750
|
* @generated from message raystack.frontier.v1beta1.GetPolicyRequest
|
|
@@ -5805,7 +5761,7 @@ export type GetPolicyRequest = Message<"raystack.frontier.v1beta1.GetPolicyReque
|
|
|
5805
5761
|
* Use `create(GetPolicyRequestSchema)` to create a new message.
|
|
5806
5762
|
*/
|
|
5807
5763
|
export const GetPolicyRequestSchema: GenMessage<GetPolicyRequest> = /*@__PURE__*/
|
|
5808
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5764
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 257);
|
|
5809
5765
|
|
|
5810
5766
|
/**
|
|
5811
5767
|
* @generated from message raystack.frontier.v1beta1.GetPolicyResponse
|
|
@@ -5822,7 +5778,7 @@ export type GetPolicyResponse = Message<"raystack.frontier.v1beta1.GetPolicyResp
|
|
|
5822
5778
|
* Use `create(GetPolicyResponseSchema)` to create a new message.
|
|
5823
5779
|
*/
|
|
5824
5780
|
export const GetPolicyResponseSchema: GenMessage<GetPolicyResponse> = /*@__PURE__*/
|
|
5825
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5781
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 258);
|
|
5826
5782
|
|
|
5827
5783
|
/**
|
|
5828
5784
|
* @generated from message raystack.frontier.v1beta1.ListPoliciesRequest
|
|
@@ -5859,7 +5815,7 @@ export type ListPoliciesRequest = Message<"raystack.frontier.v1beta1.ListPolicie
|
|
|
5859
5815
|
* Use `create(ListPoliciesRequestSchema)` to create a new message.
|
|
5860
5816
|
*/
|
|
5861
5817
|
export const ListPoliciesRequestSchema: GenMessage<ListPoliciesRequest> = /*@__PURE__*/
|
|
5862
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5818
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 259);
|
|
5863
5819
|
|
|
5864
5820
|
/**
|
|
5865
5821
|
* @generated from message raystack.frontier.v1beta1.ListPoliciesResponse
|
|
@@ -5876,7 +5832,7 @@ export type ListPoliciesResponse = Message<"raystack.frontier.v1beta1.ListPolici
|
|
|
5876
5832
|
* Use `create(ListPoliciesResponseSchema)` to create a new message.
|
|
5877
5833
|
*/
|
|
5878
5834
|
export const ListPoliciesResponseSchema: GenMessage<ListPoliciesResponse> = /*@__PURE__*/
|
|
5879
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5835
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 260);
|
|
5880
5836
|
|
|
5881
5837
|
/**
|
|
5882
5838
|
* @generated from message raystack.frontier.v1beta1.UpdatePolicyRequest
|
|
@@ -5898,7 +5854,7 @@ export type UpdatePolicyRequest = Message<"raystack.frontier.v1beta1.UpdatePolic
|
|
|
5898
5854
|
* Use `create(UpdatePolicyRequestSchema)` to create a new message.
|
|
5899
5855
|
*/
|
|
5900
5856
|
export const UpdatePolicyRequestSchema: GenMessage<UpdatePolicyRequest> = /*@__PURE__*/
|
|
5901
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5857
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 261);
|
|
5902
5858
|
|
|
5903
5859
|
/**
|
|
5904
5860
|
* @generated from message raystack.frontier.v1beta1.UpdatePolicyResponse
|
|
@@ -5915,7 +5871,7 @@ export type UpdatePolicyResponse = Message<"raystack.frontier.v1beta1.UpdatePoli
|
|
|
5915
5871
|
* Use `create(UpdatePolicyResponseSchema)` to create a new message.
|
|
5916
5872
|
*/
|
|
5917
5873
|
export const UpdatePolicyResponseSchema: GenMessage<UpdatePolicyResponse> = /*@__PURE__*/
|
|
5918
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5874
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 262);
|
|
5919
5875
|
|
|
5920
5876
|
/**
|
|
5921
5877
|
* @generated from message raystack.frontier.v1beta1.DeletePolicyRequest
|
|
@@ -5932,7 +5888,7 @@ export type DeletePolicyRequest = Message<"raystack.frontier.v1beta1.DeletePolic
|
|
|
5932
5888
|
* Use `create(DeletePolicyRequestSchema)` to create a new message.
|
|
5933
5889
|
*/
|
|
5934
5890
|
export const DeletePolicyRequestSchema: GenMessage<DeletePolicyRequest> = /*@__PURE__*/
|
|
5935
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5891
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 263);
|
|
5936
5892
|
|
|
5937
5893
|
/**
|
|
5938
5894
|
* @generated from message raystack.frontier.v1beta1.DeletePolicyResponse
|
|
@@ -5945,7 +5901,7 @@ export type DeletePolicyResponse = Message<"raystack.frontier.v1beta1.DeletePoli
|
|
|
5945
5901
|
* Use `create(DeletePolicyResponseSchema)` to create a new message.
|
|
5946
5902
|
*/
|
|
5947
5903
|
export const DeletePolicyResponseSchema: GenMessage<DeletePolicyResponse> = /*@__PURE__*/
|
|
5948
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5904
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 264);
|
|
5949
5905
|
|
|
5950
5906
|
/**
|
|
5951
5907
|
* @generated from message raystack.frontier.v1beta1.CreatePolicyForProjectRequest
|
|
@@ -5967,7 +5923,7 @@ export type CreatePolicyForProjectRequest = Message<"raystack.frontier.v1beta1.C
|
|
|
5967
5923
|
* Use `create(CreatePolicyForProjectRequestSchema)` to create a new message.
|
|
5968
5924
|
*/
|
|
5969
5925
|
export const CreatePolicyForProjectRequestSchema: GenMessage<CreatePolicyForProjectRequest> = /*@__PURE__*/
|
|
5970
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5926
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 265);
|
|
5971
5927
|
|
|
5972
5928
|
/**
|
|
5973
5929
|
* @generated from message raystack.frontier.v1beta1.CreatePolicyForProjectResponse
|
|
@@ -5980,7 +5936,7 @@ export type CreatePolicyForProjectResponse = Message<"raystack.frontier.v1beta1.
|
|
|
5980
5936
|
* Use `create(CreatePolicyForProjectResponseSchema)` to create a new message.
|
|
5981
5937
|
*/
|
|
5982
5938
|
export const CreatePolicyForProjectResponseSchema: GenMessage<CreatePolicyForProjectResponse> = /*@__PURE__*/
|
|
5983
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5939
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 266);
|
|
5984
5940
|
|
|
5985
5941
|
/**
|
|
5986
5942
|
* @generated from message raystack.frontier.v1beta1.RelationRequestBody
|
|
@@ -6016,7 +5972,7 @@ export type RelationRequestBody = Message<"raystack.frontier.v1beta1.RelationReq
|
|
|
6016
5972
|
* Use `create(RelationRequestBodySchema)` to create a new message.
|
|
6017
5973
|
*/
|
|
6018
5974
|
export const RelationRequestBodySchema: GenMessage<RelationRequestBody> = /*@__PURE__*/
|
|
6019
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5975
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 267);
|
|
6020
5976
|
|
|
6021
5977
|
/**
|
|
6022
5978
|
* @generated from message raystack.frontier.v1beta1.CreateRelationRequest
|
|
@@ -6033,7 +5989,7 @@ export type CreateRelationRequest = Message<"raystack.frontier.v1beta1.CreateRel
|
|
|
6033
5989
|
* Use `create(CreateRelationRequestSchema)` to create a new message.
|
|
6034
5990
|
*/
|
|
6035
5991
|
export const CreateRelationRequestSchema: GenMessage<CreateRelationRequest> = /*@__PURE__*/
|
|
6036
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
5992
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 268);
|
|
6037
5993
|
|
|
6038
5994
|
/**
|
|
6039
5995
|
* @generated from message raystack.frontier.v1beta1.CreateRelationResponse
|
|
@@ -6050,7 +6006,7 @@ export type CreateRelationResponse = Message<"raystack.frontier.v1beta1.CreateRe
|
|
|
6050
6006
|
* Use `create(CreateRelationResponseSchema)` to create a new message.
|
|
6051
6007
|
*/
|
|
6052
6008
|
export const CreateRelationResponseSchema: GenMessage<CreateRelationResponse> = /*@__PURE__*/
|
|
6053
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6009
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 269);
|
|
6054
6010
|
|
|
6055
6011
|
/**
|
|
6056
6012
|
* @generated from message raystack.frontier.v1beta1.GetRelationRequest
|
|
@@ -6067,7 +6023,7 @@ export type GetRelationRequest = Message<"raystack.frontier.v1beta1.GetRelationR
|
|
|
6067
6023
|
* Use `create(GetRelationRequestSchema)` to create a new message.
|
|
6068
6024
|
*/
|
|
6069
6025
|
export const GetRelationRequestSchema: GenMessage<GetRelationRequest> = /*@__PURE__*/
|
|
6070
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6026
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 270);
|
|
6071
6027
|
|
|
6072
6028
|
/**
|
|
6073
6029
|
* @generated from message raystack.frontier.v1beta1.GetRelationResponse
|
|
@@ -6084,7 +6040,7 @@ export type GetRelationResponse = Message<"raystack.frontier.v1beta1.GetRelation
|
|
|
6084
6040
|
* Use `create(GetRelationResponseSchema)` to create a new message.
|
|
6085
6041
|
*/
|
|
6086
6042
|
export const GetRelationResponseSchema: GenMessage<GetRelationResponse> = /*@__PURE__*/
|
|
6087
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6043
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 271);
|
|
6088
6044
|
|
|
6089
6045
|
/**
|
|
6090
6046
|
* @generated from message raystack.frontier.v1beta1.UpdateRelationRequest
|
|
@@ -6106,7 +6062,7 @@ export type UpdateRelationRequest = Message<"raystack.frontier.v1beta1.UpdateRel
|
|
|
6106
6062
|
* Use `create(UpdateRelationRequestSchema)` to create a new message.
|
|
6107
6063
|
*/
|
|
6108
6064
|
export const UpdateRelationRequestSchema: GenMessage<UpdateRelationRequest> = /*@__PURE__*/
|
|
6109
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6065
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 272);
|
|
6110
6066
|
|
|
6111
6067
|
/**
|
|
6112
6068
|
* @generated from message raystack.frontier.v1beta1.UpdateRelationResponse
|
|
@@ -6123,7 +6079,7 @@ export type UpdateRelationResponse = Message<"raystack.frontier.v1beta1.UpdateRe
|
|
|
6123
6079
|
* Use `create(UpdateRelationResponseSchema)` to create a new message.
|
|
6124
6080
|
*/
|
|
6125
6081
|
export const UpdateRelationResponseSchema: GenMessage<UpdateRelationResponse> = /*@__PURE__*/
|
|
6126
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6082
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 273);
|
|
6127
6083
|
|
|
6128
6084
|
/**
|
|
6129
6085
|
* @generated from message raystack.frontier.v1beta1.GroupRequestBody
|
|
@@ -6150,7 +6106,7 @@ export type GroupRequestBody = Message<"raystack.frontier.v1beta1.GroupRequestBo
|
|
|
6150
6106
|
* Use `create(GroupRequestBodySchema)` to create a new message.
|
|
6151
6107
|
*/
|
|
6152
6108
|
export const GroupRequestBodySchema: GenMessage<GroupRequestBody> = /*@__PURE__*/
|
|
6153
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6109
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 274);
|
|
6154
6110
|
|
|
6155
6111
|
/**
|
|
6156
6112
|
* @generated from message raystack.frontier.v1beta1.CreateGroupRequest
|
|
@@ -6172,7 +6128,7 @@ export type CreateGroupRequest = Message<"raystack.frontier.v1beta1.CreateGroupR
|
|
|
6172
6128
|
* Use `create(CreateGroupRequestSchema)` to create a new message.
|
|
6173
6129
|
*/
|
|
6174
6130
|
export const CreateGroupRequestSchema: GenMessage<CreateGroupRequest> = /*@__PURE__*/
|
|
6175
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6131
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 275);
|
|
6176
6132
|
|
|
6177
6133
|
/**
|
|
6178
6134
|
* @generated from message raystack.frontier.v1beta1.GetGroupRequest
|
|
@@ -6199,7 +6155,7 @@ export type GetGroupRequest = Message<"raystack.frontier.v1beta1.GetGroupRequest
|
|
|
6199
6155
|
* Use `create(GetGroupRequestSchema)` to create a new message.
|
|
6200
6156
|
*/
|
|
6201
6157
|
export const GetGroupRequestSchema: GenMessage<GetGroupRequest> = /*@__PURE__*/
|
|
6202
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6158
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 276);
|
|
6203
6159
|
|
|
6204
6160
|
/**
|
|
6205
6161
|
* @generated from message raystack.frontier.v1beta1.CreateGroupResponse
|
|
@@ -6216,7 +6172,7 @@ export type CreateGroupResponse = Message<"raystack.frontier.v1beta1.CreateGroup
|
|
|
6216
6172
|
* Use `create(CreateGroupResponseSchema)` to create a new message.
|
|
6217
6173
|
*/
|
|
6218
6174
|
export const CreateGroupResponseSchema: GenMessage<CreateGroupResponse> = /*@__PURE__*/
|
|
6219
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6175
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 277);
|
|
6220
6176
|
|
|
6221
6177
|
/**
|
|
6222
6178
|
* @generated from message raystack.frontier.v1beta1.GetGroupResponse
|
|
@@ -6233,7 +6189,7 @@ export type GetGroupResponse = Message<"raystack.frontier.v1beta1.GetGroupRespon
|
|
|
6233
6189
|
* Use `create(GetGroupResponseSchema)` to create a new message.
|
|
6234
6190
|
*/
|
|
6235
6191
|
export const GetGroupResponseSchema: GenMessage<GetGroupResponse> = /*@__PURE__*/
|
|
6236
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6192
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 278);
|
|
6237
6193
|
|
|
6238
6194
|
/**
|
|
6239
6195
|
* @generated from message raystack.frontier.v1beta1.UpdateGroupResponse
|
|
@@ -6250,7 +6206,7 @@ export type UpdateGroupResponse = Message<"raystack.frontier.v1beta1.UpdateGroup
|
|
|
6250
6206
|
* Use `create(UpdateGroupResponseSchema)` to create a new message.
|
|
6251
6207
|
*/
|
|
6252
6208
|
export const UpdateGroupResponseSchema: GenMessage<UpdateGroupResponse> = /*@__PURE__*/
|
|
6253
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6209
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 279);
|
|
6254
6210
|
|
|
6255
6211
|
/**
|
|
6256
6212
|
* @generated from message raystack.frontier.v1beta1.UpdateGroupRequest
|
|
@@ -6277,7 +6233,7 @@ export type UpdateGroupRequest = Message<"raystack.frontier.v1beta1.UpdateGroupR
|
|
|
6277
6233
|
* Use `create(UpdateGroupRequestSchema)` to create a new message.
|
|
6278
6234
|
*/
|
|
6279
6235
|
export const UpdateGroupRequestSchema: GenMessage<UpdateGroupRequest> = /*@__PURE__*/
|
|
6280
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6236
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 280);
|
|
6281
6237
|
|
|
6282
6238
|
/**
|
|
6283
6239
|
* @generated from message raystack.frontier.v1beta1.ListGroupUsersRequest
|
|
@@ -6304,7 +6260,7 @@ export type ListGroupUsersRequest = Message<"raystack.frontier.v1beta1.ListGroup
|
|
|
6304
6260
|
* Use `create(ListGroupUsersRequestSchema)` to create a new message.
|
|
6305
6261
|
*/
|
|
6306
6262
|
export const ListGroupUsersRequestSchema: GenMessage<ListGroupUsersRequest> = /*@__PURE__*/
|
|
6307
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6263
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 281);
|
|
6308
6264
|
|
|
6309
6265
|
/**
|
|
6310
6266
|
* @generated from message raystack.frontier.v1beta1.ListGroupUsersResponse
|
|
@@ -6326,7 +6282,7 @@ export type ListGroupUsersResponse = Message<"raystack.frontier.v1beta1.ListGrou
|
|
|
6326
6282
|
* Use `create(ListGroupUsersResponseSchema)` to create a new message.
|
|
6327
6283
|
*/
|
|
6328
6284
|
export const ListGroupUsersResponseSchema: GenMessage<ListGroupUsersResponse> = /*@__PURE__*/
|
|
6329
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6285
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 282);
|
|
6330
6286
|
|
|
6331
6287
|
/**
|
|
6332
6288
|
* @generated from message raystack.frontier.v1beta1.ListGroupUsersResponse.RolePair
|
|
@@ -6348,7 +6304,7 @@ export type ListGroupUsersResponse_RolePair = Message<"raystack.frontier.v1beta1
|
|
|
6348
6304
|
* Use `create(ListGroupUsersResponse_RolePairSchema)` to create a new message.
|
|
6349
6305
|
*/
|
|
6350
6306
|
export const ListGroupUsersResponse_RolePairSchema: GenMessage<ListGroupUsersResponse_RolePair> = /*@__PURE__*/
|
|
6351
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6307
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 282, 0);
|
|
6352
6308
|
|
|
6353
6309
|
/**
|
|
6354
6310
|
* @generated from message raystack.frontier.v1beta1.EnableGroupRequest
|
|
@@ -6370,7 +6326,7 @@ export type EnableGroupRequest = Message<"raystack.frontier.v1beta1.EnableGroupR
|
|
|
6370
6326
|
* Use `create(EnableGroupRequestSchema)` to create a new message.
|
|
6371
6327
|
*/
|
|
6372
6328
|
export const EnableGroupRequestSchema: GenMessage<EnableGroupRequest> = /*@__PURE__*/
|
|
6373
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6329
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 283);
|
|
6374
6330
|
|
|
6375
6331
|
/**
|
|
6376
6332
|
* @generated from message raystack.frontier.v1beta1.EnableGroupResponse
|
|
@@ -6383,7 +6339,7 @@ export type EnableGroupResponse = Message<"raystack.frontier.v1beta1.EnableGroup
|
|
|
6383
6339
|
* Use `create(EnableGroupResponseSchema)` to create a new message.
|
|
6384
6340
|
*/
|
|
6385
6341
|
export const EnableGroupResponseSchema: GenMessage<EnableGroupResponse> = /*@__PURE__*/
|
|
6386
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6342
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 284);
|
|
6387
6343
|
|
|
6388
6344
|
/**
|
|
6389
6345
|
* @generated from message raystack.frontier.v1beta1.DisableGroupRequest
|
|
@@ -6405,7 +6361,7 @@ export type DisableGroupRequest = Message<"raystack.frontier.v1beta1.DisableGrou
|
|
|
6405
6361
|
* Use `create(DisableGroupRequestSchema)` to create a new message.
|
|
6406
6362
|
*/
|
|
6407
6363
|
export const DisableGroupRequestSchema: GenMessage<DisableGroupRequest> = /*@__PURE__*/
|
|
6408
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6364
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 285);
|
|
6409
6365
|
|
|
6410
6366
|
/**
|
|
6411
6367
|
* @generated from message raystack.frontier.v1beta1.DisableGroupResponse
|
|
@@ -6418,7 +6374,7 @@ export type DisableGroupResponse = Message<"raystack.frontier.v1beta1.DisableGro
|
|
|
6418
6374
|
* Use `create(DisableGroupResponseSchema)` to create a new message.
|
|
6419
6375
|
*/
|
|
6420
6376
|
export const DisableGroupResponseSchema: GenMessage<DisableGroupResponse> = /*@__PURE__*/
|
|
6421
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6377
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 286);
|
|
6422
6378
|
|
|
6423
6379
|
/**
|
|
6424
6380
|
* @generated from message raystack.frontier.v1beta1.DeleteGroupRequest
|
|
@@ -6440,7 +6396,7 @@ export type DeleteGroupRequest = Message<"raystack.frontier.v1beta1.DeleteGroupR
|
|
|
6440
6396
|
* Use `create(DeleteGroupRequestSchema)` to create a new message.
|
|
6441
6397
|
*/
|
|
6442
6398
|
export const DeleteGroupRequestSchema: GenMessage<DeleteGroupRequest> = /*@__PURE__*/
|
|
6443
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6399
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 287);
|
|
6444
6400
|
|
|
6445
6401
|
/**
|
|
6446
6402
|
* @generated from message raystack.frontier.v1beta1.DeleteGroupResponse
|
|
@@ -6453,7 +6409,7 @@ export type DeleteGroupResponse = Message<"raystack.frontier.v1beta1.DeleteGroup
|
|
|
6453
6409
|
* Use `create(DeleteGroupResponseSchema)` to create a new message.
|
|
6454
6410
|
*/
|
|
6455
6411
|
export const DeleteGroupResponseSchema: GenMessage<DeleteGroupResponse> = /*@__PURE__*/
|
|
6456
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6412
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 288);
|
|
6457
6413
|
|
|
6458
6414
|
/**
|
|
6459
6415
|
* @generated from message raystack.frontier.v1beta1.AddGroupUsersRequest
|
|
@@ -6480,7 +6436,7 @@ export type AddGroupUsersRequest = Message<"raystack.frontier.v1beta1.AddGroupUs
|
|
|
6480
6436
|
* Use `create(AddGroupUsersRequestSchema)` to create a new message.
|
|
6481
6437
|
*/
|
|
6482
6438
|
export const AddGroupUsersRequestSchema: GenMessage<AddGroupUsersRequest> = /*@__PURE__*/
|
|
6483
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6439
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 289);
|
|
6484
6440
|
|
|
6485
6441
|
/**
|
|
6486
6442
|
* @generated from message raystack.frontier.v1beta1.AddGroupUsersResponse
|
|
@@ -6493,7 +6449,7 @@ export type AddGroupUsersResponse = Message<"raystack.frontier.v1beta1.AddGroupU
|
|
|
6493
6449
|
* Use `create(AddGroupUsersResponseSchema)` to create a new message.
|
|
6494
6450
|
*/
|
|
6495
6451
|
export const AddGroupUsersResponseSchema: GenMessage<AddGroupUsersResponse> = /*@__PURE__*/
|
|
6496
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6452
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 290);
|
|
6497
6453
|
|
|
6498
6454
|
/**
|
|
6499
6455
|
* @generated from message raystack.frontier.v1beta1.RemoveGroupUserRequest
|
|
@@ -6520,7 +6476,7 @@ export type RemoveGroupUserRequest = Message<"raystack.frontier.v1beta1.RemoveGr
|
|
|
6520
6476
|
* Use `create(RemoveGroupUserRequestSchema)` to create a new message.
|
|
6521
6477
|
*/
|
|
6522
6478
|
export const RemoveGroupUserRequestSchema: GenMessage<RemoveGroupUserRequest> = /*@__PURE__*/
|
|
6523
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6479
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 291);
|
|
6524
6480
|
|
|
6525
6481
|
/**
|
|
6526
6482
|
* @generated from message raystack.frontier.v1beta1.RemoveGroupUserResponse
|
|
@@ -6533,7 +6489,7 @@ export type RemoveGroupUserResponse = Message<"raystack.frontier.v1beta1.RemoveG
|
|
|
6533
6489
|
* Use `create(RemoveGroupUserResponseSchema)` to create a new message.
|
|
6534
6490
|
*/
|
|
6535
6491
|
export const RemoveGroupUserResponseSchema: GenMessage<RemoveGroupUserResponse> = /*@__PURE__*/
|
|
6536
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6492
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 292);
|
|
6537
6493
|
|
|
6538
6494
|
/**
|
|
6539
6495
|
* @generated from message raystack.frontier.v1beta1.DeleteRelationRequest
|
|
@@ -6564,7 +6520,7 @@ export type DeleteRelationRequest = Message<"raystack.frontier.v1beta1.DeleteRel
|
|
|
6564
6520
|
* Use `create(DeleteRelationRequestSchema)` to create a new message.
|
|
6565
6521
|
*/
|
|
6566
6522
|
export const DeleteRelationRequestSchema: GenMessage<DeleteRelationRequest> = /*@__PURE__*/
|
|
6567
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6523
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 293);
|
|
6568
6524
|
|
|
6569
6525
|
/**
|
|
6570
6526
|
* @generated from message raystack.frontier.v1beta1.DeleteRelationResponse
|
|
@@ -6577,7 +6533,7 @@ export type DeleteRelationResponse = Message<"raystack.frontier.v1beta1.DeleteRe
|
|
|
6577
6533
|
* Use `create(DeleteRelationResponseSchema)` to create a new message.
|
|
6578
6534
|
*/
|
|
6579
6535
|
export const DeleteRelationResponseSchema: GenMessage<DeleteRelationResponse> = /*@__PURE__*/
|
|
6580
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6536
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 294);
|
|
6581
6537
|
|
|
6582
6538
|
/**
|
|
6583
6539
|
* @generated from message raystack.frontier.v1beta1.ListProjectResourcesRequest
|
|
@@ -6599,7 +6555,7 @@ export type ListProjectResourcesRequest = Message<"raystack.frontier.v1beta1.Lis
|
|
|
6599
6555
|
* Use `create(ListProjectResourcesRequestSchema)` to create a new message.
|
|
6600
6556
|
*/
|
|
6601
6557
|
export const ListProjectResourcesRequestSchema: GenMessage<ListProjectResourcesRequest> = /*@__PURE__*/
|
|
6602
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6558
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 295);
|
|
6603
6559
|
|
|
6604
6560
|
/**
|
|
6605
6561
|
* @generated from message raystack.frontier.v1beta1.ListProjectResourcesResponse
|
|
@@ -6616,7 +6572,7 @@ export type ListProjectResourcesResponse = Message<"raystack.frontier.v1beta1.Li
|
|
|
6616
6572
|
* Use `create(ListProjectResourcesResponseSchema)` to create a new message.
|
|
6617
6573
|
*/
|
|
6618
6574
|
export const ListProjectResourcesResponseSchema: GenMessage<ListProjectResourcesResponse> = /*@__PURE__*/
|
|
6619
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6575
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 296);
|
|
6620
6576
|
|
|
6621
6577
|
/**
|
|
6622
6578
|
* @generated from message raystack.frontier.v1beta1.ResourceRequestBody
|
|
@@ -6655,7 +6611,7 @@ export type ResourceRequestBody = Message<"raystack.frontier.v1beta1.ResourceReq
|
|
|
6655
6611
|
* Use `create(ResourceRequestBodySchema)` to create a new message.
|
|
6656
6612
|
*/
|
|
6657
6613
|
export const ResourceRequestBodySchema: GenMessage<ResourceRequestBody> = /*@__PURE__*/
|
|
6658
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6614
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 297);
|
|
6659
6615
|
|
|
6660
6616
|
/**
|
|
6661
6617
|
* @generated from message raystack.frontier.v1beta1.CreateProjectResourceRequest
|
|
@@ -6684,7 +6640,7 @@ export type CreateProjectResourceRequest = Message<"raystack.frontier.v1beta1.Cr
|
|
|
6684
6640
|
* Use `create(CreateProjectResourceRequestSchema)` to create a new message.
|
|
6685
6641
|
*/
|
|
6686
6642
|
export const CreateProjectResourceRequestSchema: GenMessage<CreateProjectResourceRequest> = /*@__PURE__*/
|
|
6687
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6643
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 298);
|
|
6688
6644
|
|
|
6689
6645
|
/**
|
|
6690
6646
|
* @generated from message raystack.frontier.v1beta1.CreateProjectResourceResponse
|
|
@@ -6701,7 +6657,7 @@ export type CreateProjectResourceResponse = Message<"raystack.frontier.v1beta1.C
|
|
|
6701
6657
|
* Use `create(CreateProjectResourceResponseSchema)` to create a new message.
|
|
6702
6658
|
*/
|
|
6703
6659
|
export const CreateProjectResourceResponseSchema: GenMessage<CreateProjectResourceResponse> = /*@__PURE__*/
|
|
6704
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6660
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 299);
|
|
6705
6661
|
|
|
6706
6662
|
/**
|
|
6707
6663
|
* @generated from message raystack.frontier.v1beta1.GetProjectResourceRequest
|
|
@@ -6723,7 +6679,7 @@ export type GetProjectResourceRequest = Message<"raystack.frontier.v1beta1.GetPr
|
|
|
6723
6679
|
* Use `create(GetProjectResourceRequestSchema)` to create a new message.
|
|
6724
6680
|
*/
|
|
6725
6681
|
export const GetProjectResourceRequestSchema: GenMessage<GetProjectResourceRequest> = /*@__PURE__*/
|
|
6726
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6682
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 300);
|
|
6727
6683
|
|
|
6728
6684
|
/**
|
|
6729
6685
|
* @generated from message raystack.frontier.v1beta1.GetProjectResourceResponse
|
|
@@ -6740,7 +6696,7 @@ export type GetProjectResourceResponse = Message<"raystack.frontier.v1beta1.GetP
|
|
|
6740
6696
|
* Use `create(GetProjectResourceResponseSchema)` to create a new message.
|
|
6741
6697
|
*/
|
|
6742
6698
|
export const GetProjectResourceResponseSchema: GenMessage<GetProjectResourceResponse> = /*@__PURE__*/
|
|
6743
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6699
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 301);
|
|
6744
6700
|
|
|
6745
6701
|
/**
|
|
6746
6702
|
* @generated from message raystack.frontier.v1beta1.UpdateProjectResourceRequest
|
|
@@ -6767,7 +6723,7 @@ export type UpdateProjectResourceRequest = Message<"raystack.frontier.v1beta1.Up
|
|
|
6767
6723
|
* Use `create(UpdateProjectResourceRequestSchema)` to create a new message.
|
|
6768
6724
|
*/
|
|
6769
6725
|
export const UpdateProjectResourceRequestSchema: GenMessage<UpdateProjectResourceRequest> = /*@__PURE__*/
|
|
6770
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6726
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 302);
|
|
6771
6727
|
|
|
6772
6728
|
/**
|
|
6773
6729
|
* @generated from message raystack.frontier.v1beta1.UpdateProjectResourceResponse
|
|
@@ -6784,7 +6740,7 @@ export type UpdateProjectResourceResponse = Message<"raystack.frontier.v1beta1.U
|
|
|
6784
6740
|
* Use `create(UpdateProjectResourceResponseSchema)` to create a new message.
|
|
6785
6741
|
*/
|
|
6786
6742
|
export const UpdateProjectResourceResponseSchema: GenMessage<UpdateProjectResourceResponse> = /*@__PURE__*/
|
|
6787
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6743
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 303);
|
|
6788
6744
|
|
|
6789
6745
|
/**
|
|
6790
6746
|
* @generated from message raystack.frontier.v1beta1.DeleteProjectResourceRequest
|
|
@@ -6806,7 +6762,7 @@ export type DeleteProjectResourceRequest = Message<"raystack.frontier.v1beta1.De
|
|
|
6806
6762
|
* Use `create(DeleteProjectResourceRequestSchema)` to create a new message.
|
|
6807
6763
|
*/
|
|
6808
6764
|
export const DeleteProjectResourceRequestSchema: GenMessage<DeleteProjectResourceRequest> = /*@__PURE__*/
|
|
6809
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6765
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 304);
|
|
6810
6766
|
|
|
6811
6767
|
/**
|
|
6812
6768
|
* @generated from message raystack.frontier.v1beta1.DeleteProjectResourceResponse
|
|
@@ -6819,7 +6775,7 @@ export type DeleteProjectResourceResponse = Message<"raystack.frontier.v1beta1.D
|
|
|
6819
6775
|
* Use `create(DeleteProjectResourceResponseSchema)` to create a new message.
|
|
6820
6776
|
*/
|
|
6821
6777
|
export const DeleteProjectResourceResponseSchema: GenMessage<DeleteProjectResourceResponse> = /*@__PURE__*/
|
|
6822
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6778
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 305);
|
|
6823
6779
|
|
|
6824
6780
|
/**
|
|
6825
6781
|
* @generated from message raystack.frontier.v1beta1.CheckResourcePermissionRequest
|
|
@@ -6853,7 +6809,7 @@ export type CheckResourcePermissionRequest = Message<"raystack.frontier.v1beta1.
|
|
|
6853
6809
|
* Use `create(CheckResourcePermissionRequestSchema)` to create a new message.
|
|
6854
6810
|
*/
|
|
6855
6811
|
export const CheckResourcePermissionRequestSchema: GenMessage<CheckResourcePermissionRequest> = /*@__PURE__*/
|
|
6856
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6812
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 306);
|
|
6857
6813
|
|
|
6858
6814
|
/**
|
|
6859
6815
|
* @generated from message raystack.frontier.v1beta1.CheckResourcePermissionResponse
|
|
@@ -6870,7 +6826,7 @@ export type CheckResourcePermissionResponse = Message<"raystack.frontier.v1beta1
|
|
|
6870
6826
|
* Use `create(CheckResourcePermissionResponseSchema)` to create a new message.
|
|
6871
6827
|
*/
|
|
6872
6828
|
export const CheckResourcePermissionResponseSchema: GenMessage<CheckResourcePermissionResponse> = /*@__PURE__*/
|
|
6873
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6829
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 307);
|
|
6874
6830
|
|
|
6875
6831
|
/**
|
|
6876
6832
|
* @generated from message raystack.frontier.v1beta1.BatchCheckPermissionRequest
|
|
@@ -6887,7 +6843,7 @@ export type BatchCheckPermissionRequest = Message<"raystack.frontier.v1beta1.Bat
|
|
|
6887
6843
|
* Use `create(BatchCheckPermissionRequestSchema)` to create a new message.
|
|
6888
6844
|
*/
|
|
6889
6845
|
export const BatchCheckPermissionRequestSchema: GenMessage<BatchCheckPermissionRequest> = /*@__PURE__*/
|
|
6890
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6846
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 308);
|
|
6891
6847
|
|
|
6892
6848
|
/**
|
|
6893
6849
|
* @generated from message raystack.frontier.v1beta1.BatchCheckPermissionBody
|
|
@@ -6909,7 +6865,7 @@ export type BatchCheckPermissionBody = Message<"raystack.frontier.v1beta1.BatchC
|
|
|
6909
6865
|
* Use `create(BatchCheckPermissionBodySchema)` to create a new message.
|
|
6910
6866
|
*/
|
|
6911
6867
|
export const BatchCheckPermissionBodySchema: GenMessage<BatchCheckPermissionBody> = /*@__PURE__*/
|
|
6912
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6868
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 309);
|
|
6913
6869
|
|
|
6914
6870
|
/**
|
|
6915
6871
|
* @generated from message raystack.frontier.v1beta1.BatchCheckPermissionResponse
|
|
@@ -6926,7 +6882,7 @@ export type BatchCheckPermissionResponse = Message<"raystack.frontier.v1beta1.Ba
|
|
|
6926
6882
|
* Use `create(BatchCheckPermissionResponseSchema)` to create a new message.
|
|
6927
6883
|
*/
|
|
6928
6884
|
export const BatchCheckPermissionResponseSchema: GenMessage<BatchCheckPermissionResponse> = /*@__PURE__*/
|
|
6929
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6885
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 310);
|
|
6930
6886
|
|
|
6931
6887
|
/**
|
|
6932
6888
|
* @generated from message raystack.frontier.v1beta1.BatchCheckPermissionResponsePair
|
|
@@ -6948,7 +6904,7 @@ export type BatchCheckPermissionResponsePair = Message<"raystack.frontier.v1beta
|
|
|
6948
6904
|
* Use `create(BatchCheckPermissionResponsePairSchema)` to create a new message.
|
|
6949
6905
|
*/
|
|
6950
6906
|
export const BatchCheckPermissionResponsePairSchema: GenMessage<BatchCheckPermissionResponsePair> = /*@__PURE__*/
|
|
6951
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6907
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 311);
|
|
6952
6908
|
|
|
6953
6909
|
/**
|
|
6954
6910
|
* @generated from message raystack.frontier.v1beta1.MetaSchemaRequestBody
|
|
@@ -6970,7 +6926,7 @@ export type MetaSchemaRequestBody = Message<"raystack.frontier.v1beta1.MetaSchem
|
|
|
6970
6926
|
* Use `create(MetaSchemaRequestBodySchema)` to create a new message.
|
|
6971
6927
|
*/
|
|
6972
6928
|
export const MetaSchemaRequestBodySchema: GenMessage<MetaSchemaRequestBody> = /*@__PURE__*/
|
|
6973
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6929
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 312);
|
|
6974
6930
|
|
|
6975
6931
|
/**
|
|
6976
6932
|
* @generated from message raystack.frontier.v1beta1.CreateMetaSchemaRequest
|
|
@@ -6987,7 +6943,7 @@ export type CreateMetaSchemaRequest = Message<"raystack.frontier.v1beta1.CreateM
|
|
|
6987
6943
|
* Use `create(CreateMetaSchemaRequestSchema)` to create a new message.
|
|
6988
6944
|
*/
|
|
6989
6945
|
export const CreateMetaSchemaRequestSchema: GenMessage<CreateMetaSchemaRequest> = /*@__PURE__*/
|
|
6990
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6946
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 313);
|
|
6991
6947
|
|
|
6992
6948
|
/**
|
|
6993
6949
|
* @generated from message raystack.frontier.v1beta1.CreateMetaSchemaResponse
|
|
@@ -7004,7 +6960,7 @@ export type CreateMetaSchemaResponse = Message<"raystack.frontier.v1beta1.Create
|
|
|
7004
6960
|
* Use `create(CreateMetaSchemaResponseSchema)` to create a new message.
|
|
7005
6961
|
*/
|
|
7006
6962
|
export const CreateMetaSchemaResponseSchema: GenMessage<CreateMetaSchemaResponse> = /*@__PURE__*/
|
|
7007
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6963
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 314);
|
|
7008
6964
|
|
|
7009
6965
|
/**
|
|
7010
6966
|
* @generated from message raystack.frontier.v1beta1.GetMetaSchemaRequest
|
|
@@ -7021,7 +6977,7 @@ export type GetMetaSchemaRequest = Message<"raystack.frontier.v1beta1.GetMetaSch
|
|
|
7021
6977
|
* Use `create(GetMetaSchemaRequestSchema)` to create a new message.
|
|
7022
6978
|
*/
|
|
7023
6979
|
export const GetMetaSchemaRequestSchema: GenMessage<GetMetaSchemaRequest> = /*@__PURE__*/
|
|
7024
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6980
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 315);
|
|
7025
6981
|
|
|
7026
6982
|
/**
|
|
7027
6983
|
* @generated from message raystack.frontier.v1beta1.GetMetaSchemaResponse
|
|
@@ -7038,7 +6994,7 @@ export type GetMetaSchemaResponse = Message<"raystack.frontier.v1beta1.GetMetaSc
|
|
|
7038
6994
|
* Use `create(GetMetaSchemaResponseSchema)` to create a new message.
|
|
7039
6995
|
*/
|
|
7040
6996
|
export const GetMetaSchemaResponseSchema: GenMessage<GetMetaSchemaResponse> = /*@__PURE__*/
|
|
7041
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
6997
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 316);
|
|
7042
6998
|
|
|
7043
6999
|
/**
|
|
7044
7000
|
* @generated from message raystack.frontier.v1beta1.UpdateMetaSchemaRequest
|
|
@@ -7060,7 +7016,7 @@ export type UpdateMetaSchemaRequest = Message<"raystack.frontier.v1beta1.UpdateM
|
|
|
7060
7016
|
* Use `create(UpdateMetaSchemaRequestSchema)` to create a new message.
|
|
7061
7017
|
*/
|
|
7062
7018
|
export const UpdateMetaSchemaRequestSchema: GenMessage<UpdateMetaSchemaRequest> = /*@__PURE__*/
|
|
7063
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7019
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 317);
|
|
7064
7020
|
|
|
7065
7021
|
/**
|
|
7066
7022
|
* @generated from message raystack.frontier.v1beta1.UpdateMetaSchemaResponse
|
|
@@ -7077,7 +7033,7 @@ export type UpdateMetaSchemaResponse = Message<"raystack.frontier.v1beta1.Update
|
|
|
7077
7033
|
* Use `create(UpdateMetaSchemaResponseSchema)` to create a new message.
|
|
7078
7034
|
*/
|
|
7079
7035
|
export const UpdateMetaSchemaResponseSchema: GenMessage<UpdateMetaSchemaResponse> = /*@__PURE__*/
|
|
7080
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7036
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 318);
|
|
7081
7037
|
|
|
7082
7038
|
/**
|
|
7083
7039
|
* @generated from message raystack.frontier.v1beta1.DeleteMetaSchemaRequest
|
|
@@ -7094,7 +7050,7 @@ export type DeleteMetaSchemaRequest = Message<"raystack.frontier.v1beta1.DeleteM
|
|
|
7094
7050
|
* Use `create(DeleteMetaSchemaRequestSchema)` to create a new message.
|
|
7095
7051
|
*/
|
|
7096
7052
|
export const DeleteMetaSchemaRequestSchema: GenMessage<DeleteMetaSchemaRequest> = /*@__PURE__*/
|
|
7097
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7053
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 319);
|
|
7098
7054
|
|
|
7099
7055
|
/**
|
|
7100
7056
|
* @generated from message raystack.frontier.v1beta1.DeleteMetaSchemaResponse
|
|
@@ -7107,7 +7063,7 @@ export type DeleteMetaSchemaResponse = Message<"raystack.frontier.v1beta1.Delete
|
|
|
7107
7063
|
* Use `create(DeleteMetaSchemaResponseSchema)` to create a new message.
|
|
7108
7064
|
*/
|
|
7109
7065
|
export const DeleteMetaSchemaResponseSchema: GenMessage<DeleteMetaSchemaResponse> = /*@__PURE__*/
|
|
7110
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7066
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 320);
|
|
7111
7067
|
|
|
7112
7068
|
/**
|
|
7113
7069
|
* @generated from message raystack.frontier.v1beta1.ListMetaSchemasRequest
|
|
@@ -7120,7 +7076,7 @@ export type ListMetaSchemasRequest = Message<"raystack.frontier.v1beta1.ListMeta
|
|
|
7120
7076
|
* Use `create(ListMetaSchemasRequestSchema)` to create a new message.
|
|
7121
7077
|
*/
|
|
7122
7078
|
export const ListMetaSchemasRequestSchema: GenMessage<ListMetaSchemasRequest> = /*@__PURE__*/
|
|
7123
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7079
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 321);
|
|
7124
7080
|
|
|
7125
7081
|
/**
|
|
7126
7082
|
* @generated from message raystack.frontier.v1beta1.ListMetaSchemasResponse
|
|
@@ -7137,7 +7093,7 @@ export type ListMetaSchemasResponse = Message<"raystack.frontier.v1beta1.ListMet
|
|
|
7137
7093
|
* Use `create(ListMetaSchemasResponseSchema)` to create a new message.
|
|
7138
7094
|
*/
|
|
7139
7095
|
export const ListMetaSchemasResponseSchema: GenMessage<ListMetaSchemasResponse> = /*@__PURE__*/
|
|
7140
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7096
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 322);
|
|
7141
7097
|
|
|
7142
7098
|
/**
|
|
7143
7099
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationAuditLogsRequest
|
|
@@ -7181,7 +7137,7 @@ export type ListOrganizationAuditLogsRequest = Message<"raystack.frontier.v1beta
|
|
|
7181
7137
|
* Use `create(ListOrganizationAuditLogsRequestSchema)` to create a new message.
|
|
7182
7138
|
*/
|
|
7183
7139
|
export const ListOrganizationAuditLogsRequestSchema: GenMessage<ListOrganizationAuditLogsRequest> = /*@__PURE__*/
|
|
7184
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7140
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 323);
|
|
7185
7141
|
|
|
7186
7142
|
/**
|
|
7187
7143
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationAuditLogsResponse
|
|
@@ -7198,7 +7154,7 @@ export type ListOrganizationAuditLogsResponse = Message<"raystack.frontier.v1bet
|
|
|
7198
7154
|
* Use `create(ListOrganizationAuditLogsResponseSchema)` to create a new message.
|
|
7199
7155
|
*/
|
|
7200
7156
|
export const ListOrganizationAuditLogsResponseSchema: GenMessage<ListOrganizationAuditLogsResponse> = /*@__PURE__*/
|
|
7201
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7157
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 324);
|
|
7202
7158
|
|
|
7203
7159
|
/**
|
|
7204
7160
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationAuditLogsRequest
|
|
@@ -7220,7 +7176,7 @@ export type CreateOrganizationAuditLogsRequest = Message<"raystack.frontier.v1be
|
|
|
7220
7176
|
* Use `create(CreateOrganizationAuditLogsRequestSchema)` to create a new message.
|
|
7221
7177
|
*/
|
|
7222
7178
|
export const CreateOrganizationAuditLogsRequestSchema: GenMessage<CreateOrganizationAuditLogsRequest> = /*@__PURE__*/
|
|
7223
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7179
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 325);
|
|
7224
7180
|
|
|
7225
7181
|
/**
|
|
7226
7182
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationAuditLogsResponse
|
|
@@ -7233,7 +7189,7 @@ export type CreateOrganizationAuditLogsResponse = Message<"raystack.frontier.v1b
|
|
|
7233
7189
|
* Use `create(CreateOrganizationAuditLogsResponseSchema)` to create a new message.
|
|
7234
7190
|
*/
|
|
7235
7191
|
export const CreateOrganizationAuditLogsResponseSchema: GenMessage<CreateOrganizationAuditLogsResponse> = /*@__PURE__*/
|
|
7236
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7192
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 326);
|
|
7237
7193
|
|
|
7238
7194
|
/**
|
|
7239
7195
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationAuditLogRequest
|
|
@@ -7255,7 +7211,7 @@ export type GetOrganizationAuditLogRequest = Message<"raystack.frontier.v1beta1.
|
|
|
7255
7211
|
* Use `create(GetOrganizationAuditLogRequestSchema)` to create a new message.
|
|
7256
7212
|
*/
|
|
7257
7213
|
export const GetOrganizationAuditLogRequestSchema: GenMessage<GetOrganizationAuditLogRequest> = /*@__PURE__*/
|
|
7258
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7214
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 327);
|
|
7259
7215
|
|
|
7260
7216
|
/**
|
|
7261
7217
|
* @generated from message raystack.frontier.v1beta1.GetOrganizationAuditLogResponse
|
|
@@ -7272,7 +7228,7 @@ export type GetOrganizationAuditLogResponse = Message<"raystack.frontier.v1beta1
|
|
|
7272
7228
|
* Use `create(GetOrganizationAuditLogResponseSchema)` to create a new message.
|
|
7273
7229
|
*/
|
|
7274
7230
|
export const GetOrganizationAuditLogResponseSchema: GenMessage<GetOrganizationAuditLogResponse> = /*@__PURE__*/
|
|
7275
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7231
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 328);
|
|
7276
7232
|
|
|
7277
7233
|
/**
|
|
7278
7234
|
* @generated from message raystack.frontier.v1beta1.DescribePreferencesRequest
|
|
@@ -7285,7 +7241,7 @@ export type DescribePreferencesRequest = Message<"raystack.frontier.v1beta1.Desc
|
|
|
7285
7241
|
* Use `create(DescribePreferencesRequestSchema)` to create a new message.
|
|
7286
7242
|
*/
|
|
7287
7243
|
export const DescribePreferencesRequestSchema: GenMessage<DescribePreferencesRequest> = /*@__PURE__*/
|
|
7288
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7244
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 329);
|
|
7289
7245
|
|
|
7290
7246
|
/**
|
|
7291
7247
|
* @generated from message raystack.frontier.v1beta1.DescribePreferencesResponse
|
|
@@ -7302,7 +7258,7 @@ export type DescribePreferencesResponse = Message<"raystack.frontier.v1beta1.Des
|
|
|
7302
7258
|
* Use `create(DescribePreferencesResponseSchema)` to create a new message.
|
|
7303
7259
|
*/
|
|
7304
7260
|
export const DescribePreferencesResponseSchema: GenMessage<DescribePreferencesResponse> = /*@__PURE__*/
|
|
7305
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7261
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 330);
|
|
7306
7262
|
|
|
7307
7263
|
/**
|
|
7308
7264
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationPreferencesRequest
|
|
@@ -7324,7 +7280,7 @@ export type CreateOrganizationPreferencesRequest = Message<"raystack.frontier.v1
|
|
|
7324
7280
|
* Use `create(CreateOrganizationPreferencesRequestSchema)` to create a new message.
|
|
7325
7281
|
*/
|
|
7326
7282
|
export const CreateOrganizationPreferencesRequestSchema: GenMessage<CreateOrganizationPreferencesRequest> = /*@__PURE__*/
|
|
7327
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7283
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 331);
|
|
7328
7284
|
|
|
7329
7285
|
/**
|
|
7330
7286
|
* @generated from message raystack.frontier.v1beta1.CreateOrganizationPreferencesResponse
|
|
@@ -7341,7 +7297,7 @@ export type CreateOrganizationPreferencesResponse = Message<"raystack.frontier.v
|
|
|
7341
7297
|
* Use `create(CreateOrganizationPreferencesResponseSchema)` to create a new message.
|
|
7342
7298
|
*/
|
|
7343
7299
|
export const CreateOrganizationPreferencesResponseSchema: GenMessage<CreateOrganizationPreferencesResponse> = /*@__PURE__*/
|
|
7344
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7300
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 332);
|
|
7345
7301
|
|
|
7346
7302
|
/**
|
|
7347
7303
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationPreferencesRequest
|
|
@@ -7358,7 +7314,7 @@ export type ListOrganizationPreferencesRequest = Message<"raystack.frontier.v1be
|
|
|
7358
7314
|
* Use `create(ListOrganizationPreferencesRequestSchema)` to create a new message.
|
|
7359
7315
|
*/
|
|
7360
7316
|
export const ListOrganizationPreferencesRequestSchema: GenMessage<ListOrganizationPreferencesRequest> = /*@__PURE__*/
|
|
7361
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7317
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 333);
|
|
7362
7318
|
|
|
7363
7319
|
/**
|
|
7364
7320
|
* @generated from message raystack.frontier.v1beta1.ListOrganizationPreferencesResponse
|
|
@@ -7375,7 +7331,7 @@ export type ListOrganizationPreferencesResponse = Message<"raystack.frontier.v1b
|
|
|
7375
7331
|
* Use `create(ListOrganizationPreferencesResponseSchema)` to create a new message.
|
|
7376
7332
|
*/
|
|
7377
7333
|
export const ListOrganizationPreferencesResponseSchema: GenMessage<ListOrganizationPreferencesResponse> = /*@__PURE__*/
|
|
7378
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7334
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 334);
|
|
7379
7335
|
|
|
7380
7336
|
/**
|
|
7381
7337
|
* @generated from message raystack.frontier.v1beta1.CreateProjectPreferencesRequest
|
|
@@ -7397,7 +7353,7 @@ export type CreateProjectPreferencesRequest = Message<"raystack.frontier.v1beta1
|
|
|
7397
7353
|
* Use `create(CreateProjectPreferencesRequestSchema)` to create a new message.
|
|
7398
7354
|
*/
|
|
7399
7355
|
export const CreateProjectPreferencesRequestSchema: GenMessage<CreateProjectPreferencesRequest> = /*@__PURE__*/
|
|
7400
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7356
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 335);
|
|
7401
7357
|
|
|
7402
7358
|
/**
|
|
7403
7359
|
* @generated from message raystack.frontier.v1beta1.CreateProjectPreferencesResponse
|
|
@@ -7414,7 +7370,7 @@ export type CreateProjectPreferencesResponse = Message<"raystack.frontier.v1beta
|
|
|
7414
7370
|
* Use `create(CreateProjectPreferencesResponseSchema)` to create a new message.
|
|
7415
7371
|
*/
|
|
7416
7372
|
export const CreateProjectPreferencesResponseSchema: GenMessage<CreateProjectPreferencesResponse> = /*@__PURE__*/
|
|
7417
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7373
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 336);
|
|
7418
7374
|
|
|
7419
7375
|
/**
|
|
7420
7376
|
* @generated from message raystack.frontier.v1beta1.ListProjectPreferencesRequest
|
|
@@ -7431,7 +7387,7 @@ export type ListProjectPreferencesRequest = Message<"raystack.frontier.v1beta1.L
|
|
|
7431
7387
|
* Use `create(ListProjectPreferencesRequestSchema)` to create a new message.
|
|
7432
7388
|
*/
|
|
7433
7389
|
export const ListProjectPreferencesRequestSchema: GenMessage<ListProjectPreferencesRequest> = /*@__PURE__*/
|
|
7434
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7390
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 337);
|
|
7435
7391
|
|
|
7436
7392
|
/**
|
|
7437
7393
|
* @generated from message raystack.frontier.v1beta1.ListProjectPreferencesResponse
|
|
@@ -7448,7 +7404,7 @@ export type ListProjectPreferencesResponse = Message<"raystack.frontier.v1beta1.
|
|
|
7448
7404
|
* Use `create(ListProjectPreferencesResponseSchema)` to create a new message.
|
|
7449
7405
|
*/
|
|
7450
7406
|
export const ListProjectPreferencesResponseSchema: GenMessage<ListProjectPreferencesResponse> = /*@__PURE__*/
|
|
7451
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7407
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 338);
|
|
7452
7408
|
|
|
7453
7409
|
/**
|
|
7454
7410
|
* @generated from message raystack.frontier.v1beta1.CreateGroupPreferencesRequest
|
|
@@ -7470,7 +7426,7 @@ export type CreateGroupPreferencesRequest = Message<"raystack.frontier.v1beta1.C
|
|
|
7470
7426
|
* Use `create(CreateGroupPreferencesRequestSchema)` to create a new message.
|
|
7471
7427
|
*/
|
|
7472
7428
|
export const CreateGroupPreferencesRequestSchema: GenMessage<CreateGroupPreferencesRequest> = /*@__PURE__*/
|
|
7473
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7429
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 339);
|
|
7474
7430
|
|
|
7475
7431
|
/**
|
|
7476
7432
|
* @generated from message raystack.frontier.v1beta1.CreateGroupPreferencesResponse
|
|
@@ -7487,7 +7443,7 @@ export type CreateGroupPreferencesResponse = Message<"raystack.frontier.v1beta1.
|
|
|
7487
7443
|
* Use `create(CreateGroupPreferencesResponseSchema)` to create a new message.
|
|
7488
7444
|
*/
|
|
7489
7445
|
export const CreateGroupPreferencesResponseSchema: GenMessage<CreateGroupPreferencesResponse> = /*@__PURE__*/
|
|
7490
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7446
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 340);
|
|
7491
7447
|
|
|
7492
7448
|
/**
|
|
7493
7449
|
* @generated from message raystack.frontier.v1beta1.ListGroupPreferencesRequest
|
|
@@ -7504,7 +7460,7 @@ export type ListGroupPreferencesRequest = Message<"raystack.frontier.v1beta1.Lis
|
|
|
7504
7460
|
* Use `create(ListGroupPreferencesRequestSchema)` to create a new message.
|
|
7505
7461
|
*/
|
|
7506
7462
|
export const ListGroupPreferencesRequestSchema: GenMessage<ListGroupPreferencesRequest> = /*@__PURE__*/
|
|
7507
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7463
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 341);
|
|
7508
7464
|
|
|
7509
7465
|
/**
|
|
7510
7466
|
* @generated from message raystack.frontier.v1beta1.ListGroupPreferencesResponse
|
|
@@ -7521,7 +7477,7 @@ export type ListGroupPreferencesResponse = Message<"raystack.frontier.v1beta1.Li
|
|
|
7521
7477
|
* Use `create(ListGroupPreferencesResponseSchema)` to create a new message.
|
|
7522
7478
|
*/
|
|
7523
7479
|
export const ListGroupPreferencesResponseSchema: GenMessage<ListGroupPreferencesResponse> = /*@__PURE__*/
|
|
7524
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7480
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 342);
|
|
7525
7481
|
|
|
7526
7482
|
/**
|
|
7527
7483
|
* @generated from message raystack.frontier.v1beta1.CreateUserPreferencesRequest
|
|
@@ -7543,7 +7499,7 @@ export type CreateUserPreferencesRequest = Message<"raystack.frontier.v1beta1.Cr
|
|
|
7543
7499
|
* Use `create(CreateUserPreferencesRequestSchema)` to create a new message.
|
|
7544
7500
|
*/
|
|
7545
7501
|
export const CreateUserPreferencesRequestSchema: GenMessage<CreateUserPreferencesRequest> = /*@__PURE__*/
|
|
7546
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7502
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 343);
|
|
7547
7503
|
|
|
7548
7504
|
/**
|
|
7549
7505
|
* @generated from message raystack.frontier.v1beta1.CreateUserPreferencesResponse
|
|
@@ -7560,7 +7516,7 @@ export type CreateUserPreferencesResponse = Message<"raystack.frontier.v1beta1.C
|
|
|
7560
7516
|
* Use `create(CreateUserPreferencesResponseSchema)` to create a new message.
|
|
7561
7517
|
*/
|
|
7562
7518
|
export const CreateUserPreferencesResponseSchema: GenMessage<CreateUserPreferencesResponse> = /*@__PURE__*/
|
|
7563
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7519
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 344);
|
|
7564
7520
|
|
|
7565
7521
|
/**
|
|
7566
7522
|
* @generated from message raystack.frontier.v1beta1.ListUserPreferencesRequest
|
|
@@ -7577,7 +7533,7 @@ export type ListUserPreferencesRequest = Message<"raystack.frontier.v1beta1.List
|
|
|
7577
7533
|
* Use `create(ListUserPreferencesRequestSchema)` to create a new message.
|
|
7578
7534
|
*/
|
|
7579
7535
|
export const ListUserPreferencesRequestSchema: GenMessage<ListUserPreferencesRequest> = /*@__PURE__*/
|
|
7580
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7536
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 345);
|
|
7581
7537
|
|
|
7582
7538
|
/**
|
|
7583
7539
|
* @generated from message raystack.frontier.v1beta1.ListUserPreferencesResponse
|
|
@@ -7594,7 +7550,7 @@ export type ListUserPreferencesResponse = Message<"raystack.frontier.v1beta1.Lis
|
|
|
7594
7550
|
* Use `create(ListUserPreferencesResponseSchema)` to create a new message.
|
|
7595
7551
|
*/
|
|
7596
7552
|
export const ListUserPreferencesResponseSchema: GenMessage<ListUserPreferencesResponse> = /*@__PURE__*/
|
|
7597
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7553
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 346);
|
|
7598
7554
|
|
|
7599
7555
|
/**
|
|
7600
7556
|
* @generated from message raystack.frontier.v1beta1.CreateCurrentUserPreferencesRequest
|
|
@@ -7611,7 +7567,7 @@ export type CreateCurrentUserPreferencesRequest = Message<"raystack.frontier.v1b
|
|
|
7611
7567
|
* Use `create(CreateCurrentUserPreferencesRequestSchema)` to create a new message.
|
|
7612
7568
|
*/
|
|
7613
7569
|
export const CreateCurrentUserPreferencesRequestSchema: GenMessage<CreateCurrentUserPreferencesRequest> = /*@__PURE__*/
|
|
7614
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7570
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 347);
|
|
7615
7571
|
|
|
7616
7572
|
/**
|
|
7617
7573
|
* @generated from message raystack.frontier.v1beta1.CreateCurrentUserPreferencesResponse
|
|
@@ -7628,7 +7584,7 @@ export type CreateCurrentUserPreferencesResponse = Message<"raystack.frontier.v1
|
|
|
7628
7584
|
* Use `create(CreateCurrentUserPreferencesResponseSchema)` to create a new message.
|
|
7629
7585
|
*/
|
|
7630
7586
|
export const CreateCurrentUserPreferencesResponseSchema: GenMessage<CreateCurrentUserPreferencesResponse> = /*@__PURE__*/
|
|
7631
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7587
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 348);
|
|
7632
7588
|
|
|
7633
7589
|
/**
|
|
7634
7590
|
* @generated from message raystack.frontier.v1beta1.ListCurrentUserPreferencesRequest
|
|
@@ -7641,7 +7597,7 @@ export type ListCurrentUserPreferencesRequest = Message<"raystack.frontier.v1bet
|
|
|
7641
7597
|
* Use `create(ListCurrentUserPreferencesRequestSchema)` to create a new message.
|
|
7642
7598
|
*/
|
|
7643
7599
|
export const ListCurrentUserPreferencesRequestSchema: GenMessage<ListCurrentUserPreferencesRequest> = /*@__PURE__*/
|
|
7644
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7600
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 349);
|
|
7645
7601
|
|
|
7646
7602
|
/**
|
|
7647
7603
|
* @generated from message raystack.frontier.v1beta1.ListCurrentUserPreferencesResponse
|
|
@@ -7658,7 +7614,7 @@ export type ListCurrentUserPreferencesResponse = Message<"raystack.frontier.v1be
|
|
|
7658
7614
|
* Use `create(ListCurrentUserPreferencesResponseSchema)` to create a new message.
|
|
7659
7615
|
*/
|
|
7660
7616
|
export const ListCurrentUserPreferencesResponseSchema: GenMessage<ListCurrentUserPreferencesResponse> = /*@__PURE__*/
|
|
7661
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7617
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 350);
|
|
7662
7618
|
|
|
7663
7619
|
/**
|
|
7664
7620
|
* @generated from message raystack.frontier.v1beta1.BillingWebhookCallbackRequest
|
|
@@ -7680,7 +7636,7 @@ export type BillingWebhookCallbackRequest = Message<"raystack.frontier.v1beta1.B
|
|
|
7680
7636
|
* Use `create(BillingWebhookCallbackRequestSchema)` to create a new message.
|
|
7681
7637
|
*/
|
|
7682
7638
|
export const BillingWebhookCallbackRequestSchema: GenMessage<BillingWebhookCallbackRequest> = /*@__PURE__*/
|
|
7683
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7639
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 351);
|
|
7684
7640
|
|
|
7685
7641
|
/**
|
|
7686
7642
|
* @generated from message raystack.frontier.v1beta1.BillingWebhookCallbackResponse
|
|
@@ -7693,7 +7649,7 @@ export type BillingWebhookCallbackResponse = Message<"raystack.frontier.v1beta1.
|
|
|
7693
7649
|
* Use `create(BillingWebhookCallbackResponseSchema)` to create a new message.
|
|
7694
7650
|
*/
|
|
7695
7651
|
export const BillingWebhookCallbackResponseSchema: GenMessage<BillingWebhookCallbackResponse> = /*@__PURE__*/
|
|
7696
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7652
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 352);
|
|
7697
7653
|
|
|
7698
7654
|
/**
|
|
7699
7655
|
* @generated from message raystack.frontier.v1beta1.CreateProspectPublicRequest
|
|
@@ -7735,7 +7691,7 @@ export type CreateProspectPublicRequest = Message<"raystack.frontier.v1beta1.Cre
|
|
|
7735
7691
|
* Use `create(CreateProspectPublicRequestSchema)` to create a new message.
|
|
7736
7692
|
*/
|
|
7737
7693
|
export const CreateProspectPublicRequestSchema: GenMessage<CreateProspectPublicRequest> = /*@__PURE__*/
|
|
7738
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
7694
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 353);
|
|
7739
7695
|
|
|
7740
7696
|
/**
|
|
7741
7697
|
* @generated from message raystack.frontier.v1beta1.CreateProspectPublicResponse
|
|
@@ -7748,8 +7704,180 @@ export type CreateProspectPublicResponse = Message<"raystack.frontier.v1beta1.Cr
|
|
|
7748
7704
|
* Use `create(CreateProspectPublicResponseSchema)` to create a new message.
|
|
7749
7705
|
*/
|
|
7750
7706
|
export const CreateProspectPublicResponseSchema: GenMessage<CreateProspectPublicResponse> = /*@__PURE__*/
|
|
7707
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 354);
|
|
7708
|
+
|
|
7709
|
+
/**
|
|
7710
|
+
* @generated from message raystack.frontier.v1beta1.ListSessionsRequest
|
|
7711
|
+
*/
|
|
7712
|
+
export type ListSessionsRequest = Message<"raystack.frontier.v1beta1.ListSessionsRequest"> & {
|
|
7713
|
+
};
|
|
7714
|
+
|
|
7715
|
+
/**
|
|
7716
|
+
* Describes the message raystack.frontier.v1beta1.ListSessionsRequest.
|
|
7717
|
+
* Use `create(ListSessionsRequestSchema)` to create a new message.
|
|
7718
|
+
*/
|
|
7719
|
+
export const ListSessionsRequestSchema: GenMessage<ListSessionsRequest> = /*@__PURE__*/
|
|
7720
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 355);
|
|
7721
|
+
|
|
7722
|
+
/**
|
|
7723
|
+
* @generated from message raystack.frontier.v1beta1.ListSessionsResponse
|
|
7724
|
+
*/
|
|
7725
|
+
export type ListSessionsResponse = Message<"raystack.frontier.v1beta1.ListSessionsResponse"> & {
|
|
7726
|
+
/**
|
|
7727
|
+
* @generated from field: repeated raystack.frontier.v1beta1.Session sessions = 1;
|
|
7728
|
+
*/
|
|
7729
|
+
sessions: Session[];
|
|
7730
|
+
};
|
|
7731
|
+
|
|
7732
|
+
/**
|
|
7733
|
+
* Describes the message raystack.frontier.v1beta1.ListSessionsResponse.
|
|
7734
|
+
* Use `create(ListSessionsResponseSchema)` to create a new message.
|
|
7735
|
+
*/
|
|
7736
|
+
export const ListSessionsResponseSchema: GenMessage<ListSessionsResponse> = /*@__PURE__*/
|
|
7751
7737
|
messageDesc(file_raystack_frontier_v1beta1_frontier, 356);
|
|
7752
7738
|
|
|
7739
|
+
/**
|
|
7740
|
+
* @generated from message raystack.frontier.v1beta1.RevokeSessionRequest
|
|
7741
|
+
*/
|
|
7742
|
+
export type RevokeSessionRequest = Message<"raystack.frontier.v1beta1.RevokeSessionRequest"> & {
|
|
7743
|
+
/**
|
|
7744
|
+
* @generated from field: string session_id = 1;
|
|
7745
|
+
*/
|
|
7746
|
+
sessionId: string;
|
|
7747
|
+
};
|
|
7748
|
+
|
|
7749
|
+
/**
|
|
7750
|
+
* Describes the message raystack.frontier.v1beta1.RevokeSessionRequest.
|
|
7751
|
+
* Use `create(RevokeSessionRequestSchema)` to create a new message.
|
|
7752
|
+
*/
|
|
7753
|
+
export const RevokeSessionRequestSchema: GenMessage<RevokeSessionRequest> = /*@__PURE__*/
|
|
7754
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 357);
|
|
7755
|
+
|
|
7756
|
+
/**
|
|
7757
|
+
* @generated from message raystack.frontier.v1beta1.RevokeSessionResponse
|
|
7758
|
+
*/
|
|
7759
|
+
export type RevokeSessionResponse = Message<"raystack.frontier.v1beta1.RevokeSessionResponse"> & {
|
|
7760
|
+
};
|
|
7761
|
+
|
|
7762
|
+
/**
|
|
7763
|
+
* Describes the message raystack.frontier.v1beta1.RevokeSessionResponse.
|
|
7764
|
+
* Use `create(RevokeSessionResponseSchema)` to create a new message.
|
|
7765
|
+
*/
|
|
7766
|
+
export const RevokeSessionResponseSchema: GenMessage<RevokeSessionResponse> = /*@__PURE__*/
|
|
7767
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 358);
|
|
7768
|
+
|
|
7769
|
+
/**
|
|
7770
|
+
* @generated from message raystack.frontier.v1beta1.PingUserSessionRequest
|
|
7771
|
+
*/
|
|
7772
|
+
export type PingUserSessionRequest = Message<"raystack.frontier.v1beta1.PingUserSessionRequest"> & {
|
|
7773
|
+
};
|
|
7774
|
+
|
|
7775
|
+
/**
|
|
7776
|
+
* Describes the message raystack.frontier.v1beta1.PingUserSessionRequest.
|
|
7777
|
+
* Use `create(PingUserSessionRequestSchema)` to create a new message.
|
|
7778
|
+
*/
|
|
7779
|
+
export const PingUserSessionRequestSchema: GenMessage<PingUserSessionRequest> = /*@__PURE__*/
|
|
7780
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 359);
|
|
7781
|
+
|
|
7782
|
+
/**
|
|
7783
|
+
* @generated from message raystack.frontier.v1beta1.PingUserSessionResponse
|
|
7784
|
+
*/
|
|
7785
|
+
export type PingUserSessionResponse = Message<"raystack.frontier.v1beta1.PingUserSessionResponse"> & {
|
|
7786
|
+
};
|
|
7787
|
+
|
|
7788
|
+
/**
|
|
7789
|
+
* Describes the message raystack.frontier.v1beta1.PingUserSessionResponse.
|
|
7790
|
+
* Use `create(PingUserSessionResponseSchema)` to create a new message.
|
|
7791
|
+
*/
|
|
7792
|
+
export const PingUserSessionResponseSchema: GenMessage<PingUserSessionResponse> = /*@__PURE__*/
|
|
7793
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 360);
|
|
7794
|
+
|
|
7795
|
+
/**
|
|
7796
|
+
* @generated from message raystack.frontier.v1beta1.CreateAuditRecordRequest
|
|
7797
|
+
*/
|
|
7798
|
+
export type CreateAuditRecordRequest = Message<"raystack.frontier.v1beta1.CreateAuditRecordRequest"> & {
|
|
7799
|
+
/**
|
|
7800
|
+
* @generated from field: raystack.frontier.v1beta1.AuditRecordActor actor = 1;
|
|
7801
|
+
*/
|
|
7802
|
+
actor?: AuditRecordActor;
|
|
7803
|
+
|
|
7804
|
+
/**
|
|
7805
|
+
* @generated from field: string event = 2;
|
|
7806
|
+
*/
|
|
7807
|
+
event: string;
|
|
7808
|
+
|
|
7809
|
+
/**
|
|
7810
|
+
* Base resource on which this change happened
|
|
7811
|
+
*
|
|
7812
|
+
* @generated from field: raystack.frontier.v1beta1.AuditRecordResource resource = 3;
|
|
7813
|
+
*/
|
|
7814
|
+
resource?: AuditRecordResource;
|
|
7815
|
+
|
|
7816
|
+
/**
|
|
7817
|
+
* Related resource info (optional)
|
|
7818
|
+
*
|
|
7819
|
+
* @generated from field: raystack.frontier.v1beta1.AuditRecordTarget target = 4;
|
|
7820
|
+
*/
|
|
7821
|
+
target?: AuditRecordTarget;
|
|
7822
|
+
|
|
7823
|
+
/**
|
|
7824
|
+
* When the event occurred
|
|
7825
|
+
*
|
|
7826
|
+
* @generated from field: google.protobuf.Timestamp occurred_at = 5;
|
|
7827
|
+
*/
|
|
7828
|
+
occurredAt?: Timestamp;
|
|
7829
|
+
|
|
7830
|
+
/**
|
|
7831
|
+
* @generated from field: string org_id = 6;
|
|
7832
|
+
*/
|
|
7833
|
+
orgId: string;
|
|
7834
|
+
|
|
7835
|
+
/**
|
|
7836
|
+
* Request ID for tracing
|
|
7837
|
+
*
|
|
7838
|
+
* @generated from field: string request_id = 7;
|
|
7839
|
+
*/
|
|
7840
|
+
requestId: string;
|
|
7841
|
+
|
|
7842
|
+
/**
|
|
7843
|
+
* Flexible metadata field for any additional data including reason, changes, etc.
|
|
7844
|
+
*
|
|
7845
|
+
* @generated from field: google.protobuf.Struct metadata = 8;
|
|
7846
|
+
*/
|
|
7847
|
+
metadata?: JsonObject;
|
|
7848
|
+
|
|
7849
|
+
/**
|
|
7850
|
+
* Idempotency key to prevent duplicate audit records. Can be used for storing external id.
|
|
7851
|
+
*
|
|
7852
|
+
* @generated from field: string idempotency_key = 9;
|
|
7853
|
+
*/
|
|
7854
|
+
idempotencyKey: string;
|
|
7855
|
+
};
|
|
7856
|
+
|
|
7857
|
+
/**
|
|
7858
|
+
* Describes the message raystack.frontier.v1beta1.CreateAuditRecordRequest.
|
|
7859
|
+
* Use `create(CreateAuditRecordRequestSchema)` to create a new message.
|
|
7860
|
+
*/
|
|
7861
|
+
export const CreateAuditRecordRequestSchema: GenMessage<CreateAuditRecordRequest> = /*@__PURE__*/
|
|
7862
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 361);
|
|
7863
|
+
|
|
7864
|
+
/**
|
|
7865
|
+
* @generated from message raystack.frontier.v1beta1.CreateAuditRecordResponse
|
|
7866
|
+
*/
|
|
7867
|
+
export type CreateAuditRecordResponse = Message<"raystack.frontier.v1beta1.CreateAuditRecordResponse"> & {
|
|
7868
|
+
/**
|
|
7869
|
+
* @generated from field: raystack.frontier.v1beta1.AuditRecord audit_record = 1;
|
|
7870
|
+
*/
|
|
7871
|
+
auditRecord?: AuditRecord;
|
|
7872
|
+
};
|
|
7873
|
+
|
|
7874
|
+
/**
|
|
7875
|
+
* Describes the message raystack.frontier.v1beta1.CreateAuditRecordResponse.
|
|
7876
|
+
* Use `create(CreateAuditRecordResponseSchema)` to create a new message.
|
|
7877
|
+
*/
|
|
7878
|
+
export const CreateAuditRecordResponseSchema: GenMessage<CreateAuditRecordResponse> = /*@__PURE__*/
|
|
7879
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 362);
|
|
7880
|
+
|
|
7753
7881
|
/**
|
|
7754
7882
|
* @generated from service raystack.frontier.v1beta1.FrontierService
|
|
7755
7883
|
*/
|
|
@@ -8614,6 +8742,36 @@ export const FrontierService: GenService<{
|
|
|
8614
8742
|
input: typeof GetJWKsRequestSchema;
|
|
8615
8743
|
output: typeof GetJWKsResponseSchema;
|
|
8616
8744
|
},
|
|
8745
|
+
/**
|
|
8746
|
+
* Returns a list of all active sessions for the current authenticated user.
|
|
8747
|
+
*
|
|
8748
|
+
* @generated from rpc raystack.frontier.v1beta1.FrontierService.ListSessions
|
|
8749
|
+
*/
|
|
8750
|
+
listSessions: {
|
|
8751
|
+
methodKind: "unary";
|
|
8752
|
+
input: typeof ListSessionsRequestSchema;
|
|
8753
|
+
output: typeof ListSessionsResponseSchema;
|
|
8754
|
+
},
|
|
8755
|
+
/**
|
|
8756
|
+
* Revoke a specific session for the current authenticated user.
|
|
8757
|
+
*
|
|
8758
|
+
* @generated from rpc raystack.frontier.v1beta1.FrontierService.RevokeSession
|
|
8759
|
+
*/
|
|
8760
|
+
revokeSession: {
|
|
8761
|
+
methodKind: "unary";
|
|
8762
|
+
input: typeof RevokeSessionRequestSchema;
|
|
8763
|
+
output: typeof RevokeSessionResponseSchema;
|
|
8764
|
+
},
|
|
8765
|
+
/**
|
|
8766
|
+
* Ping user current active session.
|
|
8767
|
+
*
|
|
8768
|
+
* @generated from rpc raystack.frontier.v1beta1.FrontierService.PingUserSession
|
|
8769
|
+
*/
|
|
8770
|
+
pingUserSession: {
|
|
8771
|
+
methodKind: "unary";
|
|
8772
|
+
input: typeof PingUserSessionRequestSchema;
|
|
8773
|
+
output: typeof PingUserSessionResponseSchema;
|
|
8774
|
+
},
|
|
8617
8775
|
/**
|
|
8618
8776
|
* @generated from rpc raystack.frontier.v1beta1.FrontierService.ListAuthStrategies
|
|
8619
8777
|
*/
|
|
@@ -8700,6 +8858,7 @@ export const FrontierService: GenService<{
|
|
|
8700
8858
|
* Audit logs
|
|
8701
8859
|
*
|
|
8702
8860
|
* @generated from rpc raystack.frontier.v1beta1.FrontierService.ListOrganizationAuditLogs
|
|
8861
|
+
* @deprecated
|
|
8703
8862
|
*/
|
|
8704
8863
|
listOrganizationAuditLogs: {
|
|
8705
8864
|
methodKind: "unary";
|
|
@@ -8708,6 +8867,7 @@ export const FrontierService: GenService<{
|
|
|
8708
8867
|
},
|
|
8709
8868
|
/**
|
|
8710
8869
|
* @generated from rpc raystack.frontier.v1beta1.FrontierService.CreateOrganizationAuditLogs
|
|
8870
|
+
* @deprecated
|
|
8711
8871
|
*/
|
|
8712
8872
|
createOrganizationAuditLogs: {
|
|
8713
8873
|
methodKind: "unary";
|
|
@@ -8716,6 +8876,7 @@ export const FrontierService: GenService<{
|
|
|
8716
8876
|
},
|
|
8717
8877
|
/**
|
|
8718
8878
|
* @generated from rpc raystack.frontier.v1beta1.FrontierService.GetOrganizationAuditLog
|
|
8879
|
+
* @deprecated
|
|
8719
8880
|
*/
|
|
8720
8881
|
getOrganizationAuditLog: {
|
|
8721
8882
|
methodKind: "unary";
|
|
@@ -9144,6 +9305,16 @@ export const FrontierService: GenService<{
|
|
|
9144
9305
|
input: typeof CreateProspectPublicRequestSchema;
|
|
9145
9306
|
output: typeof CreateProspectPublicResponseSchema;
|
|
9146
9307
|
},
|
|
9308
|
+
/**
|
|
9309
|
+
* Audit Records
|
|
9310
|
+
*
|
|
9311
|
+
* @generated from rpc raystack.frontier.v1beta1.FrontierService.CreateAuditRecord
|
|
9312
|
+
*/
|
|
9313
|
+
createAuditRecord: {
|
|
9314
|
+
methodKind: "unary";
|
|
9315
|
+
input: typeof CreateAuditRecordRequestSchema;
|
|
9316
|
+
output: typeof CreateAuditRecordResponseSchema;
|
|
9317
|
+
},
|
|
9147
9318
|
}> = /*@__PURE__*/
|
|
9148
9319
|
serviceDesc(file_raystack_frontier_v1beta1_frontier, 0);
|
|
9149
9320
|
|