@kontur.candy/tools 2.185.0 → 2.185.2
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/candy.js +0 -0
- package/distr/Common/AsyncUtils.js +1 -1
- package/distr/Common/AsyncUtils.js.map +1 -0
- package/distr/Common/AutoValidationUtils.js +2 -3
- package/distr/Common/AutoValidationUtils.js.map +1 -0
- package/distr/Common/CandyApiClient/CandyApiClient.js +2 -3
- package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/CandyApiClientContext.js +4 -5
- package/distr/Common/CandyApiClient/CandyApiClientContext.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +1 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +1 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +1 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +1 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +2 -3
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +2 -3
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +4 -5
- package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +3 -5
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js +1 -1
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/ICandyApiClient.js +1 -1
- package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/IsBuffer.js +1 -1
- package/distr/Common/CandyApiClient/IsBuffer.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +1 -1
- package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +1 -1
- package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +3 -5
- package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftFullId.js +1 -1
- package/distr/Common/CandyApiClient/Types/DraftFullId.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js +2 -3
- package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +3 -5
- package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +2 -3
- package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +2 -3
- package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Guid.js +1 -1
- package/distr/Common/CandyApiClient/Types/Guid.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js +1 -1
- package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js +1 -1
- package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js +1 -1
- package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +2 -3
- package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +1 -1
- package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Print/PrintType.js +2 -3
- package/distr/Common/CandyApiClient/Types/Print/PrintType.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js +1 -1
- package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js +1 -1
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js +1 -1
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js +1 -1
- package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +2 -3
- package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/TestClassification.js +1 -1
- package/distr/Common/CandyApiClient/Types/TestClassification.js.map +1 -0
- package/distr/Common/CollectionUtils.js +1 -1
- package/distr/Common/CollectionUtils.js.map +1 -0
- package/distr/Common/CommonConstants/SectionNames.js +1 -1
- package/distr/Common/CommonConstants/SectionNames.js.map +1 -0
- package/distr/Common/Comparers.js +1 -1
- package/distr/Common/Comparers.js.map +1 -0
- package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +3 -3
- package/distr/Common/EmotionStorybookWorkaroundViaAliases.js.map +1 -0
- package/distr/Common/EndPoints.js +6 -11
- package/distr/Common/EndPoints.js.map +1 -0
- package/distr/Common/Enums/ButtonSettingsTypeEnum.js +2 -3
- package/distr/Common/Enums/ButtonSettingsTypeEnum.js.map +1 -0
- package/distr/Common/Errors.js +1 -1
- package/distr/Common/Errors.js.map +1 -0
- package/distr/Common/ExtractGFVPath/ExtractGFVPath.js +1 -1
- package/distr/Common/ExtractGFVPath/ExtractGFVPath.js.map +1 -0
- package/distr/Common/FSPrinterClient/FSPrinterClient.js +2 -2
- package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +1 -0
- package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js +1 -1
- package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js.map +1 -0
- package/distr/Common/FSPrinterClient/IFSPrinterClient.js +6 -11
- package/distr/Common/FSPrinterClient/IFSPrinterClient.js.map +1 -0
- package/distr/Common/FormActionHandlers/ContextualActionNames.js +1 -1
- package/distr/Common/FormActionHandlers/ContextualActionNames.js.map +1 -0
- package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +1 -1
- package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js.map +1 -0
- package/distr/Common/FormPathUtils.js +2 -2
- package/distr/Common/FormPathUtils.js.map +1 -0
- package/distr/Common/Funcs.js +1 -1
- package/distr/Common/Funcs.js.map +1 -0
- package/distr/Common/GFV.js +1 -1
- package/distr/Common/GFV.js.map +1 -0
- package/distr/Common/Hooks/UseLocalStorage.js +3 -3
- package/distr/Common/Hooks/UseLocalStorage.js.map +1 -0
- package/distr/Common/HttpClient/AuthenticationMode.js +1 -1
- package/distr/Common/HttpClient/AuthenticationMode.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js +2 -3
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +2 -3
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/Fetch.js +1 -1
- package/distr/Common/HttpClient/FetchImplementation/Fetch.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +2 -3
- package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +1 -1
- package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js.map +1 -0
- package/distr/Common/HttpClient/HttpClient.js +2 -2
- package/distr/Common/HttpClient/HttpClient.js.map +1 -0
- package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +1 -1
- package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js.map +1 -0
- package/distr/Common/HttpClient/IHttpClient.js +1 -1
- package/distr/Common/HttpClient/IHttpClient.js.map +1 -0
- package/distr/Common/IndentString.js +1 -1
- package/distr/Common/IndentString.js.map +1 -0
- package/distr/Common/IntRangeUtils.js +1 -1
- package/distr/Common/IntRangeUtils.js.map +1 -0
- package/distr/Common/IterableUtils.js +1 -1
- package/distr/Common/IterableUtils.js.map +1 -0
- package/distr/Common/KCLangRuntimeUtils.js +1 -1
- package/distr/Common/KCLangRuntimeUtils.js.map +1 -0
- package/distr/Common/ModelPath/AbsoluteModelFieldPath.js +4 -2
- package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +1 -0
- package/distr/Common/ModelPath/BuildIterationSequence.js +1 -1
- package/distr/Common/ModelPath/BuildIterationSequence.js.map +1 -0
- package/distr/Common/ModelPath/EachCurrentCollision.js +2 -3
- package/distr/Common/ModelPath/EachCurrentCollision.js.map +1 -0
- package/distr/Common/ModelPath/IEquatable.js +1 -1
- package/distr/Common/ModelPath/IEquatable.js.map +1 -0
- package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js +1 -1
- package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js.map +1 -0
- package/distr/Common/ModelPath/Map/Map2.js +1 -1
- package/distr/Common/ModelPath/Map/Map2.js.map +1 -0
- package/distr/Common/ModelPath/Map/ModelPathMap.js +1 -1
- package/distr/Common/ModelPath/Map/ModelPathMap.js.map +1 -0
- package/distr/Common/ModelPath/ModelPath.js +1 -1
- package/distr/Common/ModelPath/ModelPath.js.map +1 -0
- package/distr/Common/ModelPath/ModelPathBuilder.js +1 -1
- package/distr/Common/ModelPath/ModelPathBuilder.js.map +1 -0
- package/distr/Common/ModelPath/ModelPathHelper.js +1 -1
- package/distr/Common/ModelPath/ModelPathHelper.js.map +1 -0
- package/distr/Common/ModelPath/PathMatcher.js +2 -3
- package/distr/Common/ModelPath/PathMatcher.js.map +1 -0
- package/distr/Common/ModelPath/PathSplitHelper.js +1 -1
- package/distr/Common/ModelPath/PathSplitHelper.js.map +1 -0
- package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js +1 -1
- package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js.map +1 -0
- package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js +1 -1
- package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js.map +1 -0
- package/distr/Common/ModelPath/Set/ModelPathSet.js +1 -1
- package/distr/Common/ModelPath/Set/ModelPathSet.js.map +1 -0
- package/distr/Common/ModelPath/Set/Set2.js +1 -1
- package/distr/Common/ModelPath/Set/Set2.js.map +1 -0
- package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +1 -1
- package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +1 -1
- package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +1 -1
- package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js.map +1 -0
- package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +1 -1
- package/distr/Common/NidusClient/Fakes/FakeNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +1 -1
- package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/INidusClient.js +1 -1
- package/distr/Common/NidusClient/INidusClient.js.map +1 -0
- package/distr/Common/NidusClient/NidusClientContext.js +3 -3
- package/distr/Common/NidusClient/NidusClientContext.js.map +1 -0
- package/distr/Common/NidusClient/NidusClientImpl.js +3 -3
- package/distr/Common/NidusClient/NidusClientImpl.js.map +1 -0
- package/distr/Common/PathConstants.js +4 -7
- package/distr/Common/PathConstants.js.map +1 -0
- package/distr/Common/PicklistApiClient/IPicklistApiClient.js +1 -1
- package/distr/Common/PicklistApiClient/IPicklistApiClient.js.map +1 -0
- package/distr/Common/PicklistApiClient/PicklistApiClient.js +1 -1
- package/distr/Common/PicklistApiClient/PicklistApiClient.js.map +1 -0
- package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js +1 -1
- package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js.map +1 -0
- package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js +1 -1
- package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js.map +1 -0
- package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js +1 -1
- package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js.map +1 -0
- package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js +1 -1
- package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js.map +1 -0
- package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js +1 -1
- package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js.map +1 -0
- package/distr/Common/RngSchemeTypes/types.js +1 -1
- package/distr/Common/RngSchemeTypes/types.js.map +1 -0
- package/distr/Common/StringArrayKey.js +1 -1
- package/distr/Common/StringArrayKey.js.map +1 -0
- package/distr/Common/TextExtractor/TextExtractorTypes.js +1 -1
- package/distr/Common/TextExtractor/TextExtractorTypes.js.map +1 -0
- package/distr/Common/TypingUtils.js +1 -1
- package/distr/Common/TypingUtils.js.map +1 -0
- package/distr/Common/UUID.js +1 -1
- package/distr/Common/UUID.js.map +1 -0
- package/distr/Common/UseAsyncEffect.js +3 -3
- package/distr/Common/UseAsyncEffect.js.map +1 -0
- package/distr/Common/UseShowOnce.js +1 -1
- package/distr/Common/UseShowOnce.js.map +1 -0
- package/distr/Common/UseTypedSelector.js +2 -3
- package/distr/Common/UseTypedSelector.js.map +1 -0
- package/distr/Common/WellKnownDirectories.js +1 -1
- package/distr/Common/WellKnownDirectories.js.map +1 -0
- package/distr/Common/getRngSchemaFilename.js +1 -1
- package/distr/Common/getRngSchemaFilename.js.map +1 -0
- package/distr/Common/hashUtils.js +1 -1
- package/distr/Common/hashUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +9 -4
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +6 -12
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +1 -1
- package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +3 -3
- package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +4 -3
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +1 -1
- package/distr/Tools/src/BuildTasks/Engine/EngineSource.js.map +1 -0
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +1 -1
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +1 -1
- package/distr/Tools/src/BuildTasks/EngineVersionUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/FSTask.js +1 -1
- package/distr/Tools/src/BuildTasks/FSTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js +3 -3
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +3 -3
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +1 -1
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +1 -1
- package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +3 -3
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +3 -3
- package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +4 -3
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +4 -4
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +1 -1
- package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +5 -5
- package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js.map +1 -0
- package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +3 -3
- package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ReadFormSource.js +1 -1
- package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +2 -3
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Version.js +3 -3
- package/distr/Tools/src/BuildTasks/Version.js.map +1 -0
- package/distr/Tools/src/BuildTasks/WriteFormMeta.js +1 -1
- package/distr/Tools/src/BuildTasks/WriteFormMeta.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +2 -3
- package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +2 -3
- package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +3 -3
- package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +3 -5
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +4 -5
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +5 -6
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +4 -5
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +2 -3
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +4 -5
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +4 -5
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +2 -3
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +4 -5
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +4 -5
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +4 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +3 -3
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js.map +1 -0
- package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +2 -3
- package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js.map +1 -0
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +3 -5
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js.map +1 -0
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +1 -1
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +2 -3
- package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -0
- package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +2 -3
- package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +2 -2
- package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js.map +1 -0
- package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +4 -5
- package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js +1 -1
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +2 -3
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +2 -3
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +2 -3
- package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +3 -3
- package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js.map +1 -0
- package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +2 -3
- package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +1 -1
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js.map +1 -0
- package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js +2 -3
- package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js +3 -3
- package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js.map +1 -0
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js +2 -3
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js.map +1 -0
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js +1 -1
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js.map +1 -0
- package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +3 -3
- package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js.map +1 -0
- package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +2 -3
- package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js.map +1 -0
- package/distr/Tools/src/CandyCLI.js +1 -1
- package/distr/Tools/src/CandyCLI.js.map +1 -0
- package/distr/Tools/src/CheckNodeJsVersion.js +2 -3
- package/distr/Tools/src/CheckNodeJsVersion.js.map +1 -0
- package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js +1 -1
- package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js.map +1 -0
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +3 -3
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js.map +1 -0
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +1 -1
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js.map +1 -0
- package/distr/Tools/src/Commons/ErrorUntyped.js +1 -1
- package/distr/Tools/src/Commons/ErrorUntyped.js.map +1 -0
- package/distr/Tools/src/Commons/EventObject.js +1 -1
- package/distr/Tools/src/Commons/EventObject.js.map +1 -0
- package/distr/Tools/src/Commons/ExecUtils.js +1 -1
- package/distr/Tools/src/Commons/ExecUtils.js.map +1 -0
- package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +1 -1
- package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js.map +1 -0
- package/distr/Tools/src/Commons/FormGlobsUtils.js +1 -1
- package/distr/Tools/src/Commons/FormGlobsUtils.js.map +1 -0
- package/distr/Tools/src/Commons/FormLocationInfo.js +1 -1
- package/distr/Tools/src/Commons/FormLocationInfo.js.map +1 -0
- package/distr/Tools/src/Commons/FsUtils.js +5 -7
- package/distr/Tools/src/Commons/FsUtils.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +2 -3
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +3 -3
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +2 -3
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +6 -6
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js.map +1 -0
- package/distr/Tools/src/Commons/Locks/Lock.js +1 -1
- package/distr/Tools/src/Commons/Locks/Lock.js.map +1 -0
- package/distr/Tools/src/Commons/Locks/LockHandle.js +1 -1
- package/distr/Tools/src/Commons/Locks/LockHandle.js.map +1 -0
- package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +1 -1
- package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/ELKLogger.js +2 -3
- package/distr/Tools/src/Commons/Logging/ELKLogger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/ILogger.js +1 -1
- package/distr/Tools/src/Commons/Logging/ILogger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +1 -1
- package/distr/Tools/src/Commons/Logging/InMemoryLogger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/Logger.js +1 -1
- package/distr/Tools/src/Commons/Logging/Logger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/StaticLogger.js +1 -1
- package/distr/Tools/src/Commons/Logging/StaticLogger.js.map +1 -0
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +1 -1
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js.map +1 -0
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +3 -3
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js.map +1 -0
- package/distr/Tools/src/Commons/PathPattern.js +1 -1
- package/distr/Tools/src/Commons/PathPattern.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/AggregatedError.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/BuildTask.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/BuildTask.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +5 -5
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +3 -3
- package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/Observe.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/Observe.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TimingUtils.js +1 -1
- package/distr/Tools/src/Commons/TimingUtils.js.map +1 -0
- package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +3 -3
- package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js.map +1 -0
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +2 -2
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js.map +1 -0
- package/distr/Tools/src/GenerateReadMe.js +1 -1
- package/distr/Tools/src/GenerateReadMe.js.map +1 -0
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.LICENSE.txt +5 -3
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.LICENSE.txt +5 -3
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
- package/distr/Tools/src/Options/CandyToolOptions.js +2 -3
- package/distr/Tools/src/Options/CandyToolOptions.js.map +1 -0
- package/distr/Tools/src/ReadFarmConfig.js +1 -1
- package/distr/Tools/src/ReadFarmConfig.js.map +1 -0
- package/distr/Tools/src/SelfUpdate.js +3 -3
- package/distr/Tools/src/SelfUpdate.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +681 -686
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +581 -866
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.LICENSE.txt +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +1 -1
- package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +1 -1
- package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +1 -1
- package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js.map +1 -0
- package/package.json +24 -24
- package/CHANGELOG.md +0 -1659
|
@@ -3325,4 +3325,4 @@
|
|
|
3325
3325
|
return window.$ === jQuery && (window.$ = _$), deep && window.jQuery === jQuery && (window.jQuery = _jQuery), jQuery;
|
|
3326
3326
|
}, typeof noGlobal === strundefined && (window.jQuery = window.$ = jQuery), jQuery;
|
|
3327
3327
|
});
|
|
3328
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnbG9iYWwiLCJmYWN0b3J5IiwibW9kdWxlIiwiZXhwb3J0cyIsImRvY3VtZW50IiwidyIsIkVycm9yIiwid2luZG93Iiwibm9HbG9iYWwiLCJpc0FycmF5bGlrZSIsIm9iaiIsImxlbmd0aCIsInR5cGUiLCJqUXVlcnkiLCJpc1dpbmRvdyIsIm5vZGVUeXBlIiwid2lubm93IiwiZWxlbWVudHMiLCJxdWFsaWZpZXIiLCJub3QiLCJpc0Z1bmN0aW9uIiwiZ3JlcCIsImVsZW0iLCJpIiwiY2FsbCIsInJpc1NpbXBsZSIsInRlc3QiLCJmaWx0ZXIiLCJpbkFycmF5Iiwic2libGluZyIsImN1ciIsImRpciIsImNyZWF0ZU9wdGlvbnMiLCJvcHRpb25zIiwib2JqZWN0Iiwib3B0aW9uc0NhY2hlIiwiZWFjaCIsIm1hdGNoIiwicm5vdHdoaXRlIiwiXyIsImZsYWciLCJkZXRhY2giLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNvbXBsZXRlZCIsImRldGFjaEV2ZW50IiwiZXZlbnQiLCJyZWFkeVN0YXRlIiwicmVhZHkiLCJkYXRhQXR0ciIsImtleSIsImRhdGEiLCJuYW1lIiwicmVwbGFjZSIsInJtdWx0aURhc2giLCJ0b0xvd2VyQ2FzZSIsImdldEF0dHJpYnV0ZSIsInJicmFjZSIsInBhcnNlSlNPTiIsImUiLCJpc0VtcHR5RGF0YU9iamVjdCIsImlzRW1wdHlPYmplY3QiLCJpbnRlcm5hbERhdGEiLCJwdnQiLCJhY2NlcHREYXRhIiwicmV0IiwidGhpc0NhY2hlIiwiaW50ZXJuYWxLZXkiLCJleHBhbmRvIiwiaXNOb2RlIiwiY2FjaGUiLCJpZCIsImRlbGV0ZWRJZHMiLCJwb3AiLCJndWlkIiwidG9KU09OIiwibm9vcCIsImV4dGVuZCIsImNhbWVsQ2FzZSIsImludGVybmFsUmVtb3ZlRGF0YSIsImlzQXJyYXkiLCJjb25jYXQiLCJtYXAiLCJzcGxpdCIsImNsZWFuRGF0YSIsInN1cHBvcnQiLCJkZWxldGVFeHBhbmRvIiwicmV0dXJuVHJ1ZSIsInJldHVybkZhbHNlIiwic2FmZUFjdGl2ZUVsZW1lbnQiLCJhY3RpdmVFbGVtZW50IiwiZXJyIiwiY3JlYXRlU2FmZUZyYWdtZW50IiwibGlzdCIsIm5vZGVOYW1lcyIsInNhZmVGcmFnIiwiY3JlYXRlRG9jdW1lbnRGcmFnbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJnZXRBbGwiLCJjb250ZXh0IiwidGFnIiwiZWxlbXMiLCJmb3VuZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwic3RydW5kZWZpbmVkIiwicXVlcnlTZWxlY3RvckFsbCIsImNoaWxkTm9kZXMiLCJub2RlTmFtZSIsInB1c2giLCJtZXJnZSIsImZpeERlZmF1bHRDaGVja2VkIiwicmNoZWNrYWJsZVR5cGUiLCJkZWZhdWx0Q2hlY2tlZCIsImNoZWNrZWQiLCJtYW5pcHVsYXRpb25UYXJnZXQiLCJjb250ZW50IiwiZmlyc3RDaGlsZCIsImFwcGVuZENoaWxkIiwib3duZXJEb2N1bWVudCIsImRpc2FibGVTY3JpcHQiLCJmaW5kIiwiYXR0ciIsInJlc3RvcmVTY3JpcHQiLCJyc2NyaXB0VHlwZU1hc2tlZCIsImV4ZWMiLCJyZW1vdmVBdHRyaWJ1dGUiLCJzZXRHbG9iYWxFdmFsIiwicmVmRWxlbWVudHMiLCJfZGF0YSIsImNsb25lQ29weUV2ZW50Iiwic3JjIiwiZGVzdCIsImhhc0RhdGEiLCJsIiwib2xkRGF0YSIsImN1ckRhdGEiLCJldmVudHMiLCJoYW5kbGUiLCJhZGQiLCJmaXhDbG9uZU5vZGVJc3N1ZXMiLCJub0Nsb25lRXZlbnQiLCJyZW1vdmVFdmVudCIsInRleHQiLCJwYXJlbnROb2RlIiwib3V0ZXJIVE1MIiwiaHRtbDVDbG9uZSIsImlubmVySFRNTCIsInRyaW0iLCJ2YWx1ZSIsImRlZmF1bHRTZWxlY3RlZCIsInNlbGVjdGVkIiwiZGVmYXVsdFZhbHVlIiwiYWN0dWFsRGlzcGxheSIsImRvYyIsInN0eWxlIiwiYXBwZW5kVG8iLCJib2R5IiwiZGlzcGxheSIsImdldERlZmF1bHRDb21wdXRlZFN0eWxlIiwiY3NzIiwiZGVmYXVsdERpc3BsYXkiLCJlbGVtZGlzcGxheSIsImlmcmFtZSIsImRvY3VtZW50RWxlbWVudCIsImNvbnRlbnRXaW5kb3ciLCJjb250ZW50RG9jdW1lbnQiLCJ3cml0ZSIsImNsb3NlIiwiYWRkR2V0SG9va0lmIiwiY29uZGl0aW9uRm4iLCJob29rRm4iLCJnZXQiLCJjb25kaXRpb24iLCJhcHBseSIsImFyZ3VtZW50cyIsInZlbmRvclByb3BOYW1lIiwiY2FwTmFtZSIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJvcmlnTmFtZSIsImNzc1ByZWZpeGVzIiwic2hvd0hpZGUiLCJzaG93IiwiaGlkZGVuIiwidmFsdWVzIiwiaW5kZXgiLCJpc0hpZGRlbiIsInNldFBvc2l0aXZlTnVtYmVyIiwic3VidHJhY3QiLCJtYXRjaGVzIiwicm51bXNwbGl0IiwiTWF0aCIsIm1heCIsImF1Z21lbnRXaWR0aE9ySGVpZ2h0IiwiZXh0cmEiLCJpc0JvcmRlckJveCIsInN0eWxlcyIsInZhbCIsImNzc0V4cGFuZCIsImdldFdpZHRoT3JIZWlnaHQiLCJ2YWx1ZUlzQm9yZGVyQm94Iiwib2Zmc2V0V2lkdGgiLCJvZmZzZXRIZWlnaHQiLCJnZXRTdHlsZXMiLCJib3hTaXppbmciLCJjdXJDU1MiLCJybnVtbm9ucHgiLCJib3hTaXppbmdSZWxpYWJsZSIsInBhcnNlRmxvYXQiLCJUd2VlbiIsInByb3AiLCJlbmQiLCJlYXNpbmciLCJwcm90b3R5cGUiLCJpbml0IiwiY3JlYXRlRnhOb3ciLCJzZXRUaW1lb3V0IiwiZnhOb3ciLCJub3ciLCJnZW5GeCIsImluY2x1ZGVXaWR0aCIsIndoaWNoIiwiYXR0cnMiLCJoZWlnaHQiLCJvcGFjaXR5Iiwid2lkdGgiLCJjcmVhdGVUd2VlbiIsImFuaW1hdGlvbiIsInR3ZWVuIiwiY29sbGVjdGlvbiIsInR3ZWVuZXJzIiwiZGVmYXVsdFByZWZpbHRlciIsInByb3BzIiwib3B0cyIsInRvZ2dsZSIsImhvb2tzIiwib2xkZmlyZSIsImNoZWNrRGlzcGxheSIsImFuaW0iLCJvcmlnIiwiZGF0YVNob3ciLCJxdWV1ZSIsIl9xdWV1ZUhvb2tzIiwidW5xdWV1ZWQiLCJlbXB0eSIsImZpcmUiLCJhbHdheXMiLCJvdmVyZmxvdyIsIm92ZXJmbG93WCIsIm92ZXJmbG93WSIsImlubGluZUJsb2NrTmVlZHNMYXlvdXQiLCJ6b29tIiwic2hyaW5rV3JhcEJsb2NrcyIsInJmeHR5cGVzIiwiZG9uZSIsImhpZGUiLCJfcmVtb3ZlRGF0YSIsInN0YXJ0IiwicHJvcEZpbHRlciIsInNwZWNpYWxFYXNpbmciLCJjc3NIb29rcyIsImV4cGFuZCIsIkFuaW1hdGlvbiIsInByb3BlcnRpZXMiLCJyZXN1bHQiLCJzdG9wcGVkIiwiYW5pbWF0aW9uUHJlZmlsdGVycyIsImRlZmVycmVkIiwiRGVmZXJyZWQiLCJ0aWNrIiwiY3VycmVudFRpbWUiLCJyZW1haW5pbmciLCJzdGFydFRpbWUiLCJkdXJhdGlvbiIsInRlbXAiLCJwZXJjZW50IiwidHdlZW5zIiwicnVuIiwibm90aWZ5V2l0aCIsInJlc29sdmVXaXRoIiwicHJvbWlzZSIsIm9yaWdpbmFsUHJvcGVydGllcyIsIm9yaWdpbmFsT3B0aW9ucyIsInN0b3AiLCJnb3RvRW5kIiwicmVqZWN0V2l0aCIsImZ4IiwidGltZXIiLCJwcm9ncmVzcyIsImNvbXBsZXRlIiwiZmFpbCIsImFkZFRvUHJlZmlsdGVyc09yVHJhbnNwb3J0cyIsInN0cnVjdHVyZSIsImRhdGFUeXBlRXhwcmVzc2lvbiIsImZ1bmMiLCJkYXRhVHlwZSIsImRhdGFUeXBlcyIsInVuc2hpZnQiLCJpbnNwZWN0UHJlZmlsdGVyc09yVHJhbnNwb3J0cyIsImpxWEhSIiwiaW5zcGVjdCIsImluc3BlY3RlZCIsInByZWZpbHRlck9yRmFjdG9yeSIsImRhdGFUeXBlT3JUcmFuc3BvcnQiLCJzZWVraW5nVHJhbnNwb3J0IiwidHJhbnNwb3J0cyIsImFqYXhFeHRlbmQiLCJ0YXJnZXQiLCJkZWVwIiwiZmxhdE9wdGlvbnMiLCJhamF4U2V0dGluZ3MiLCJhamF4SGFuZGxlUmVzcG9uc2VzIiwicyIsInJlc3BvbnNlcyIsImZpcnN0RGF0YVR5cGUiLCJjdCIsImZpbmFsRGF0YVR5cGUiLCJjb250ZW50cyIsInNoaWZ0IiwibWltZVR5cGUiLCJnZXRSZXNwb25zZUhlYWRlciIsImNvbnZlcnRlcnMiLCJhamF4Q29udmVydCIsInJlc3BvbnNlIiwiaXNTdWNjZXNzIiwiY29udjIiLCJjdXJyZW50IiwiY29udiIsInRtcCIsInByZXYiLCJyZXNwb25zZUZpZWxkcyIsImRhdGFGaWx0ZXIiLCJzdGF0ZSIsImVycm9yIiwiYnVpbGRQYXJhbXMiLCJwcmVmaXgiLCJ0cmFkaXRpb25hbCIsInYiLCJyYnJhY2tldCIsImNyZWF0ZVN0YW5kYXJkWEhSIiwiWE1MSHR0cFJlcXVlc3QiLCJjcmVhdGVBY3RpdmVYSFIiLCJBY3RpdmVYT2JqZWN0IiwiZ2V0V2luZG93IiwiZGVmYXVsdFZpZXciLCJwYXJlbnRXaW5kb3ciLCJpbmRleE9mIiwiY2xhc3MydHlwZSIsInRvU3RyaW5nIiwiaGFzT3duIiwiaGFzT3duUHJvcGVydHkiLCJ2ZXJzaW9uIiwic2VsZWN0b3IiLCJmbiIsInJ0cmltIiwicm1zUHJlZml4IiwicmRhc2hBbHBoYSIsImZjYW1lbENhc2UiLCJhbGwiLCJsZXR0ZXIiLCJqcXVlcnkiLCJjb25zdHJ1Y3RvciIsInRvQXJyYXkiLCJudW0iLCJwdXNoU3RhY2siLCJwcmV2T2JqZWN0IiwiY2FsbGJhY2siLCJhcmdzIiwiZmlyc3QiLCJlcSIsImxhc3QiLCJsZW4iLCJqIiwic29ydCIsInNwbGljZSIsImNvcHlJc0FycmF5IiwiY29weSIsImNsb25lIiwiaXNQbGFpbk9iamVjdCIsInJhbmRvbSIsImlzUmVhZHkiLCJtc2ciLCJBcnJheSIsImlzTnVtZXJpYyIsIm93bkxhc3QiLCJnbG9iYWxFdmFsIiwiZXhlY1NjcmlwdCIsImV2YWwiLCJzdHJpbmciLCJtYWtlQXJyYXkiLCJhcnIiLCJyZXN1bHRzIiwiT2JqZWN0Iiwic2Vjb25kIiwiaW52ZXJ0IiwiY2FsbGJhY2tJbnZlcnNlIiwiY2FsbGJhY2tFeHBlY3QiLCJhcmciLCJwcm94eSIsIkRhdGUiLCJTaXp6bGUiLCJzZWVkIiwibSIsImdyb3VwcyIsIm9sZCIsIm5pZCIsIm5ld0NvbnRleHQiLCJuZXdTZWxlY3RvciIsInByZWZlcnJlZERvYyIsInNldERvY3VtZW50IiwiZG9jdW1lbnRJc0hUTUwiLCJycXVpY2tFeHByIiwiZ2V0RWxlbWVudEJ5SWQiLCJjb250YWlucyIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJxc2EiLCJyYnVnZ3lRU0EiLCJ0b2tlbml6ZSIsInJlc2NhcGUiLCJzZXRBdHRyaWJ1dGUiLCJ0b1NlbGVjdG9yIiwicnNpYmxpbmciLCJ0ZXN0Q29udGV4dCIsImpvaW4iLCJxc2FFcnJvciIsInNlbGVjdCIsImNyZWF0ZUNhY2hlIiwia2V5cyIsIkV4cHIiLCJjYWNoZUxlbmd0aCIsIm1hcmtGdW5jdGlvbiIsImFzc2VydCIsImRpdiIsInJlbW92ZUNoaWxkIiwiYWRkSGFuZGxlIiwiaGFuZGxlciIsImF0dHJIYW5kbGUiLCJzaWJsaW5nQ2hlY2siLCJhIiwiYiIsImRpZmYiLCJzb3VyY2VJbmRleCIsIk1BWF9ORUdBVElWRSIsIm5leHRTaWJsaW5nIiwiY3JlYXRlSW5wdXRQc2V1ZG8iLCJjcmVhdGVCdXR0b25Qc2V1ZG8iLCJjcmVhdGVQb3NpdGlvbmFsUHNldWRvIiwiYXJndW1lbnQiLCJtYXRjaEluZGV4ZXMiLCJzZXRGaWx0ZXJzIiwidG9rZW5zIiwiYWRkQ29tYmluYXRvciIsIm1hdGNoZXIiLCJjb21iaW5hdG9yIiwiYmFzZSIsImNoZWNrTm9uRWxlbWVudHMiLCJkb25lTmFtZSIsInhtbCIsIm9sZENhY2hlIiwib3V0ZXJDYWNoZSIsIm5ld0NhY2hlIiwiZGlycnVucyIsImVsZW1lbnRNYXRjaGVyIiwibWF0Y2hlcnMiLCJtdWx0aXBsZUNvbnRleHRzIiwiY29udGV4dHMiLCJjb25kZW5zZSIsInVubWF0Y2hlZCIsIm5ld1VubWF0Y2hlZCIsIm1hcHBlZCIsInNldE1hdGNoZXIiLCJwcmVGaWx0ZXIiLCJwb3N0RmlsdGVyIiwicG9zdEZpbmRlciIsInBvc3RTZWxlY3RvciIsInByZU1hcCIsInBvc3RNYXAiLCJwcmVleGlzdGluZyIsIm1hdGNoZXJJbiIsIm1hdGNoZXJPdXQiLCJtYXRjaGVyRnJvbVRva2VucyIsImNoZWNrQ29udGV4dCIsImxlYWRpbmdSZWxhdGl2ZSIsInJlbGF0aXZlIiwiaW1wbGljaXRSZWxhdGl2ZSIsIm1hdGNoQ29udGV4dCIsIm1hdGNoQW55Q29udGV4dCIsIm91dGVybW9zdENvbnRleHQiLCJtYXRjaGVyRnJvbUdyb3VwTWF0Y2hlcnMiLCJlbGVtZW50TWF0Y2hlcnMiLCJzZXRNYXRjaGVycyIsImJ5U2V0IiwiYnlFbGVtZW50Iiwic3VwZXJNYXRjaGVyIiwib3V0ZXJtb3N0IiwibWF0Y2hlZENvdW50Iiwic2V0TWF0Y2hlZCIsImNvbnRleHRCYWNrdXAiLCJUQUciLCJkaXJydW5zVW5pcXVlIiwidW5pcXVlU29ydCIsImdldFRleHQiLCJpc1hNTCIsImNvbXBpbGUiLCJzb3J0SW5wdXQiLCJoYXNEdXBsaWNhdGUiLCJkb2NFbGVtIiwicmJ1Z2d5TWF0Y2hlcyIsImNsYXNzQ2FjaGUiLCJ0b2tlbkNhY2hlIiwiY29tcGlsZXJDYWNoZSIsInNvcnRPcmRlciIsInB1c2hfbmF0aXZlIiwiYm9vbGVhbnMiLCJ3aGl0ZXNwYWNlIiwiY2hhcmFjdGVyRW5jb2RpbmciLCJpZGVudGlmaWVyIiwiYXR0cmlidXRlcyIsInBzZXVkb3MiLCJyd2hpdGVzcGFjZSIsIlJlZ0V4cCIsInJjb21tYSIsInJjb21iaW5hdG9ycyIsInJhdHRyaWJ1dGVRdW90ZXMiLCJycHNldWRvIiwicmlkZW50aWZpZXIiLCJtYXRjaEV4cHIiLCJJRCIsIkNMQVNTIiwiQVRUUiIsIlBTRVVETyIsIkNISUxEIiwiYm9vbCIsIm5lZWRzQ29udGV4dCIsInJpbnB1dHMiLCJyaGVhZGVyIiwicm5hdGl2ZSIsInJ1bmVzY2FwZSIsImZ1bmVzY2FwZSIsImVzY2FwZWQiLCJlc2NhcGVkV2hpdGVzcGFjZSIsImhpZ2giLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJ1bmxvYWRIYW5kbGVyIiwiZWxzIiwibm9kZSIsImhhc0NvbXBhcmUiLCJwYXJlbnQiLCJ0b3AiLCJhdHRhY2hFdmVudCIsImNsYXNzTmFtZSIsImNyZWF0ZUNvbW1lbnQiLCJnZXRCeUlkIiwiZ2V0RWxlbWVudHNCeU5hbWUiLCJhdHRySWQiLCJnZXRBdHRyaWJ1dGVOb2RlIiwiaW5wdXQiLCJtYXRjaGVzU2VsZWN0b3IiLCJ3ZWJraXRNYXRjaGVzU2VsZWN0b3IiLCJtb3pNYXRjaGVzU2VsZWN0b3IiLCJvTWF0Y2hlc1NlbGVjdG9yIiwibXNNYXRjaGVzU2VsZWN0b3IiLCJkaXNjb25uZWN0ZWRNYXRjaCIsImNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIiwiYWRvd24iLCJidXAiLCJjb21wYXJlIiwic29ydERldGFjaGVkIiwiYXVwIiwiYXAiLCJicCIsImV4cHIiLCJzcGVjaWZpZWQiLCJkdXBsaWNhdGVzIiwiZGV0ZWN0RHVwbGljYXRlcyIsInNvcnRTdGFibGUiLCJ0ZXh0Q29udGVudCIsIm5vZGVWYWx1ZSIsInNlbGVjdG9ycyIsImNyZWF0ZVBzZXVkbyIsImV4Y2VzcyIsInVucXVvdGVkIiwibm9kZU5hbWVTZWxlY3RvciIsInBhdHRlcm4iLCJvcGVyYXRvciIsImNoZWNrIiwid2hhdCIsInNpbXBsZSIsImZvcndhcmQiLCJvZlR5cGUiLCJub2RlSW5kZXgiLCJ1c2VDYWNoZSIsImxhc3RDaGlsZCIsInBzZXVkbyIsImlkeCIsIm1hdGNoZWQiLCJoYXMiLCJpbm5lclRleHQiLCJsYW5nIiwiZWxlbUxhbmciLCJoYXNoIiwibG9jYXRpb24iLCJyb290IiwiZm9jdXMiLCJoYXNGb2N1cyIsImhyZWYiLCJ0YWJJbmRleCIsImVuYWJsZWQiLCJkaXNhYmxlZCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXIiLCJidXR0b24iLCJldmVuIiwib2RkIiwibHQiLCJndCIsIm50aCIsInJhZGlvIiwiY2hlY2tib3giLCJmaWxlIiwicGFzc3dvcmQiLCJpbWFnZSIsInN1Ym1pdCIsInJlc2V0IiwiZmlsdGVycyIsInBhcnNlT25seSIsInNvRmFyIiwicHJlRmlsdGVycyIsImNhY2hlZCIsInRva2VuIiwiY29tcGlsZWQiLCJkaXYxIiwidW5pcXVlIiwiaXNYTUxEb2MiLCJybmVlZHNDb250ZXh0IiwicnNpbmdsZVRhZyIsInNlbGYiLCJpcyIsInJvb3RqUXVlcnkiLCJwYXJzZUhUTUwiLCJycGFyZW50c3ByZXYiLCJndWFyYW50ZWVkVW5pcXVlIiwiY2hpbGRyZW4iLCJuZXh0IiwidW50aWwiLCJuIiwiciIsInRhcmdldHMiLCJjbG9zZXN0IiwicG9zIiwicHJldkFsbCIsImFkZEJhY2siLCJwYXJlbnRzIiwicGFyZW50c1VudGlsIiwibmV4dEFsbCIsIm5leHRVbnRpbCIsInByZXZVbnRpbCIsInNpYmxpbmdzIiwicmV2ZXJzZSIsIkNhbGxiYWNrcyIsImZpcmluZyIsIm1lbW9yeSIsImZpcmVkIiwiZmlyaW5nTGVuZ3RoIiwiZmlyaW5nSW5kZXgiLCJmaXJpbmdTdGFydCIsInN0YWNrIiwib25jZSIsInN0b3BPbkZhbHNlIiwiZGlzYWJsZSIsInJlbW92ZSIsImxvY2siLCJsb2NrZWQiLCJmaXJlV2l0aCIsInR1cGxlcyIsInRoZW4iLCJmbnMiLCJuZXdEZWZlciIsInR1cGxlIiwicmV0dXJuZWQiLCJyZXNvbHZlIiwicmVqZWN0Iiwibm90aWZ5IiwicGlwZSIsInN0YXRlU3RyaW5nIiwid2hlbiIsInN1Ym9yZGluYXRlIiwicHJvZ3Jlc3NWYWx1ZXMiLCJwcm9ncmVzc0NvbnRleHRzIiwicmVzb2x2ZUNvbnRleHRzIiwicmVzb2x2ZVZhbHVlcyIsInVwZGF0ZUZ1bmMiLCJyZWFkeUxpc3QiLCJyZWFkeVdhaXQiLCJob2xkUmVhZHkiLCJob2xkIiwid2FpdCIsInRyaWdnZXJIYW5kbGVyIiwib2ZmIiwiZnJhbWVFbGVtZW50IiwiZG9TY3JvbGwiLCJkb1Njcm9sbENoZWNrIiwiY29udGFpbmVyIiwiY3NzVGV4dCIsIm5vRGF0YSIsInJlbW92ZURhdGEiLCJkZXF1ZXVlIiwic3RhcnRMZW5ndGgiLCJzZXR0ZXIiLCJjbGVhclF1ZXVlIiwiY291bnQiLCJkZWZlciIsInBudW0iLCJzb3VyY2UiLCJlbCIsImFjY2VzcyIsImNoYWluYWJsZSIsImVtcHR5R2V0IiwicmF3IiwiYnVsayIsImZyYWdtZW50IiwibGVhZGluZ1doaXRlc3BhY2UiLCJ0Ym9keSIsImh0bWxTZXJpYWxpemUiLCJjbG9uZU5vZGUiLCJhcHBlbmRDaGVja2VkIiwibm9DbG9uZUNoZWNrZWQiLCJjaGVja0Nsb25lIiwiY2xpY2siLCJldmVudE5hbWUiLCJjaGFuZ2UiLCJmb2N1c2luIiwicmZvcm1FbGVtcyIsInJrZXlFdmVudCIsInJtb3VzZUV2ZW50IiwicmZvY3VzTW9ycGgiLCJydHlwZW5hbWVzcGFjZSIsInR5cGVzIiwidCIsImhhbmRsZU9iakluIiwic3BlY2lhbCIsImV2ZW50SGFuZGxlIiwiaGFuZGxlT2JqIiwiaGFuZGxlcnMiLCJuYW1lc3BhY2VzIiwib3JpZ1R5cGUiLCJlbGVtRGF0YSIsInRyaWdnZXJlZCIsImRpc3BhdGNoIiwiZGVsZWdhdGVUeXBlIiwiYmluZFR5cGUiLCJuYW1lc3BhY2UiLCJkZWxlZ2F0ZUNvdW50Iiwic2V0dXAiLCJtYXBwZWRUeXBlcyIsIm9yaWdDb3VudCIsInRlYXJkb3duIiwidHJpZ2dlciIsIm9ubHlIYW5kbGVycyIsIm9udHlwZSIsImJ1YmJsZVR5cGUiLCJldmVudFBhdGgiLCJFdmVudCIsImlzVHJpZ2dlciIsIm5hbWVzcGFjZV9yZSIsIm5vQnViYmxlIiwiaXNQcm9wYWdhdGlvblN0b3BwZWQiLCJwcmV2ZW50RGVmYXVsdCIsImlzRGVmYXVsdFByZXZlbnRlZCIsIl9kZWZhdWx0IiwiZml4IiwiaGFuZGxlclF1ZXVlIiwiZGVsZWdhdGVUYXJnZXQiLCJwcmVEaXNwYXRjaCIsImN1cnJlbnRUYXJnZXQiLCJpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCIsInN0b3BQcm9wYWdhdGlvbiIsInBvc3REaXNwYXRjaCIsInNlbCIsIm9yaWdpbmFsRXZlbnQiLCJmaXhIb29rIiwiZml4SG9va3MiLCJtb3VzZUhvb2tzIiwia2V5SG9va3MiLCJzcmNFbGVtZW50IiwibWV0YUtleSIsIm9yaWdpbmFsIiwiY2hhckNvZGUiLCJrZXlDb2RlIiwiZXZlbnREb2MiLCJmcm9tRWxlbWVudCIsInBhZ2VYIiwiY2xpZW50WCIsInNjcm9sbExlZnQiLCJjbGllbnRMZWZ0IiwicGFnZVkiLCJjbGllbnRZIiwic2Nyb2xsVG9wIiwiY2xpZW50VG9wIiwicmVsYXRlZFRhcmdldCIsInRvRWxlbWVudCIsImxvYWQiLCJibHVyIiwiYmVmb3JldW5sb2FkIiwicmV0dXJuVmFsdWUiLCJzaW11bGF0ZSIsImJ1YmJsZSIsImlzU2ltdWxhdGVkIiwiZGVmYXVsdFByZXZlbnRlZCIsInRpbWVTdGFtcCIsImNhbmNlbEJ1YmJsZSIsInN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiIsIm1vdXNlZW50ZXIiLCJtb3VzZWxlYXZlIiwicG9pbnRlcmVudGVyIiwicG9pbnRlcmxlYXZlIiwicmVsYXRlZCIsInN1Ym1pdEJ1YmJsZXMiLCJmb3JtIiwiX3N1Ym1pdF9idWJibGUiLCJjaGFuZ2VCdWJibGVzIiwicHJvcGVydHlOYW1lIiwiX2p1c3RfY2hhbmdlZCIsImZvY3VzaW5CdWJibGVzIiwiYXR0YWNoZXMiLCJvbiIsIm9uZSIsIm9yaWdGbiIsInJpbmxpbmVqUXVlcnkiLCJybm9zaGltY2FjaGUiLCJybGVhZGluZ1doaXRlc3BhY2UiLCJyeGh0bWxUYWciLCJydGFnTmFtZSIsInJ0Ym9keSIsInJodG1sIiwicm5vSW5uZXJodG1sIiwicmNoZWNrZWQiLCJyc2NyaXB0VHlwZSIsInJjbGVhblNjcmlwdCIsIndyYXBNYXAiLCJvcHRpb24iLCJsZWdlbmQiLCJhcmVhIiwicGFyYW0iLCJ0aGVhZCIsInRyIiwiY29sIiwidGQiLCJzYWZlRnJhZ21lbnQiLCJmcmFnbWVudERpdiIsIm9wdGdyb3VwIiwidGZvb3QiLCJjb2xncm91cCIsImNhcHRpb24iLCJ0aCIsImRhdGFBbmRFdmVudHMiLCJkZWVwRGF0YUFuZEV2ZW50cyIsImRlc3RFbGVtZW50cyIsInNyY0VsZW1lbnRzIiwiaW5QYWdlIiwiYnVpbGRGcmFnbWVudCIsInNjcmlwdHMiLCJzZWxlY3Rpb24iLCJ3cmFwIiwic2FmZSIsIm5vZGVzIiwiY3JlYXRlVGV4dE5vZGUiLCJhcHBlbmQiLCJkb21NYW5pcCIsInByZXBlbmQiLCJpbnNlcnRCZWZvcmUiLCJiZWZvcmUiLCJhZnRlciIsImtlZXBEYXRhIiwiaHRtbCIsInJlcGxhY2VXaXRoIiwicmVwbGFjZUNoaWxkIiwiaGFzU2NyaXB0cyIsInNldCIsImlOb0Nsb25lIiwiX2V2YWxVcmwiLCJwcmVwZW5kVG8iLCJpbnNlcnRBZnRlciIsInJlcGxhY2VBbGwiLCJpbnNlcnQiLCJzaHJpbmtXcmFwQmxvY2tzVmFsIiwicm1hcmdpbiIsInJwb3NpdGlvbiIsImdldENvbXB1dGVkU3R5bGUiLCJvcGVuZXIiLCJjb21wdXRlZCIsIm1pbldpZHRoIiwibWF4V2lkdGgiLCJnZXRQcm9wZXJ0eVZhbHVlIiwiY3VycmVudFN0eWxlIiwibGVmdCIsInJzIiwicnNMZWZ0IiwicnVudGltZVN0eWxlIiwicGl4ZWxMZWZ0IiwiY29tcHV0ZVN0eWxlVGVzdHMiLCJwaXhlbFBvc2l0aW9uVmFsIiwiYm94U2l6aW5nUmVsaWFibGVWYWwiLCJyZWxpYWJsZU1hcmdpblJpZ2h0VmFsIiwibWFyZ2luUmlnaHQiLCJyZWxpYWJsZUhpZGRlbk9mZnNldHNWYWwiLCJjc3NGbG9hdCIsImJhY2tncm91bmRDbGlwIiwiY2xlYXJDbG9uZVN0eWxlIiwiTW96Qm94U2l6aW5nIiwiV2Via2l0Qm94U2l6aW5nIiwicmVsaWFibGVIaWRkZW5PZmZzZXRzIiwicGl4ZWxQb3NpdGlvbiIsInJlbGlhYmxlTWFyZ2luUmlnaHQiLCJzd2FwIiwicmFscGhhIiwicm9wYWNpdHkiLCJyZGlzcGxheXN3YXAiLCJycmVsTnVtIiwiY3NzU2hvdyIsInBvc2l0aW9uIiwidmlzaWJpbGl0eSIsImNzc05vcm1hbFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJmb250V2VpZ2h0IiwiY3NzTnVtYmVyIiwiY29sdW1uQ291bnQiLCJmaWxsT3BhY2l0eSIsImZsZXhHcm93IiwiZmxleFNocmluayIsImxpbmVIZWlnaHQiLCJvcmRlciIsIm9ycGhhbnMiLCJ3aWRvd3MiLCJ6SW5kZXgiLCJjc3NQcm9wcyIsIiQxIiwibWFyZ2luIiwicGFkZGluZyIsImJvcmRlciIsInN1ZmZpeCIsImV4cGFuZGVkIiwicGFydHMiLCJ1bml0IiwicHJvcEhvb2tzIiwiZWFzZWQiLCJzdGVwIiwibGluZWFyIiwicCIsInN3aW5nIiwiY29zIiwiUEkiLCJ0aW1lcklkIiwicmZ4bnVtIiwicnJ1biIsInNjYWxlIiwibWF4SXRlcmF0aW9ucyIsInR3ZWVuZXIiLCJwcmVmaWx0ZXIiLCJzcGVlZCIsIm9wdCIsInNwZWVkcyIsImZhZGVUbyIsInRvIiwiYW5pbWF0ZSIsIm9wdGFsbCIsImRvQW5pbWF0aW9uIiwiZmluaXNoIiwic3RvcFF1ZXVlIiwidGltZXJzIiwiY3NzRm4iLCJzbGlkZURvd24iLCJzbGlkZVVwIiwic2xpZGVUb2dnbGUiLCJmYWRlSW4iLCJmYWRlT3V0IiwiZmFkZVRvZ2dsZSIsImludGVydmFsIiwic2V0SW50ZXJ2YWwiLCJjbGVhckludGVydmFsIiwic2xvdyIsImZhc3QiLCJkZWxheSIsInRpbWUiLCJ0aW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiZ2V0U2V0QXR0cmlidXRlIiwiaHJlZk5vcm1hbGl6ZWQiLCJjaGVja09uIiwib3B0U2VsZWN0ZWQiLCJlbmN0eXBlIiwib3B0RGlzYWJsZWQiLCJyYWRpb1ZhbHVlIiwicnJldHVybiIsInZhbEhvb2tzIiwib3B0aW9uU2V0Iiwic2Nyb2xsSGVpZ2h0Iiwibm9kZUhvb2siLCJib29sSG9vayIsInJ1c2VEZWZhdWx0IiwiZ2V0U2V0SW5wdXQiLCJyZW1vdmVBdHRyIiwiblR5cGUiLCJhdHRySG9va3MiLCJwcm9wTmFtZSIsImF0dHJOYW1lcyIsInByb3BGaXgiLCJnZXR0ZXIiLCJzZXRBdHRyaWJ1dGVOb2RlIiwiY3JlYXRlQXR0cmlidXRlIiwiY29vcmRzIiwiY29udGVudGVkaXRhYmxlIiwicmZvY3VzYWJsZSIsInJjbGlja2FibGUiLCJyZW1vdmVQcm9wIiwibm90eG1sIiwidGFiaW5kZXgiLCJwYXJzZUludCIsInJjbGFzcyIsImFkZENsYXNzIiwiY2xhc3NlcyIsImNsYXp6IiwiZmluYWxWYWx1ZSIsInByb2NlZWQiLCJyZW1vdmVDbGFzcyIsInRvZ2dsZUNsYXNzIiwic3RhdGVWYWwiLCJjbGFzc05hbWVzIiwiaGFzQ2xhc3MiLCJob3ZlciIsImZuT3ZlciIsImZuT3V0IiwiYmluZCIsInVuYmluZCIsImRlbGVnYXRlIiwidW5kZWxlZ2F0ZSIsIm5vbmNlIiwicnF1ZXJ5IiwicnZhbGlkdG9rZW5zIiwiSlNPTiIsInBhcnNlIiwicmVxdWlyZU5vbkNvbW1hIiwiZGVwdGgiLCJzdHIiLCJjb21tYSIsIm9wZW4iLCJGdW5jdGlvbiIsInBhcnNlWE1MIiwiRE9NUGFyc2VyIiwicGFyc2VGcm9tU3RyaW5nIiwiYXN5bmMiLCJsb2FkWE1MIiwiYWpheExvY1BhcnRzIiwiYWpheExvY2F0aW9uIiwicmhhc2giLCJydHMiLCJyaGVhZGVycyIsInJsb2NhbFByb3RvY29sIiwicm5vQ29udGVudCIsInJwcm90b2NvbCIsInJ1cmwiLCJwcmVmaWx0ZXJzIiwiYWxsVHlwZXMiLCJhY3RpdmUiLCJsYXN0TW9kaWZpZWQiLCJldGFnIiwidXJsIiwiaXNMb2NhbCIsInByb2Nlc3NEYXRhIiwiY29udGVudFR5cGUiLCJhY2NlcHRzIiwianNvbiIsImFqYXhTZXR1cCIsInNldHRpbmdzIiwiYWpheFByZWZpbHRlciIsImFqYXhUcmFuc3BvcnQiLCJhamF4Iiwic3RhdHVzIiwibmF0aXZlU3RhdHVzVGV4dCIsImhlYWRlcnMiLCJzdWNjZXNzIiwibW9kaWZpZWQiLCJzdGF0dXNUZXh0IiwidGltZW91dFRpbWVyIiwidHJhbnNwb3J0IiwicmVzcG9uc2VIZWFkZXJzU3RyaW5nIiwiaWZNb2RpZmllZCIsImNhY2hlVVJMIiwiY2FsbGJhY2tDb250ZXh0Iiwic3RhdHVzQ29kZSIsImZpcmVHbG9iYWxzIiwiZ2xvYmFsRXZlbnRDb250ZXh0IiwiY29tcGxldGVEZWZlcnJlZCIsInJlc3BvbnNlSGVhZGVycyIsInJlcXVlc3RIZWFkZXJzIiwicmVxdWVzdEhlYWRlcnNOYW1lcyIsInN0ckFib3J0IiwiZ2V0QWxsUmVzcG9uc2VIZWFkZXJzIiwic2V0UmVxdWVzdEhlYWRlciIsImxuYW1lIiwib3ZlcnJpZGVNaW1lVHlwZSIsImNvZGUiLCJhYm9ydCIsImZpbmFsVGV4dCIsIm1ldGhvZCIsImNyb3NzRG9tYWluIiwiaGFzQ29udGVudCIsImJlZm9yZVNlbmQiLCJzZW5kIiwiZ2V0SlNPTiIsImdldFNjcmlwdCIsIndyYXBBbGwiLCJ3cmFwSW5uZXIiLCJ1bndyYXAiLCJ2aXNpYmxlIiwicjIwIiwickNSTEYiLCJyc3VibWl0dGVyVHlwZXMiLCJyc3VibWl0dGFibGUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJzZXJpYWxpemUiLCJzZXJpYWxpemVBcnJheSIsInhociIsInhocklkIiwieGhyQ2FsbGJhY2tzIiwieGhyU3VwcG9ydGVkIiwiY29ycyIsInVzZXJuYW1lIiwieGhyRmllbGRzIiwiaXNBYm9ydCIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsInJlc3BvbnNlVGV4dCIsInNjcmlwdCIsInRleHQgc2NyaXB0IiwiaGVhZCIsInNjcmlwdENoYXJzZXQiLCJjaGFyc2V0Iiwib25sb2FkIiwib2xkQ2FsbGJhY2tzIiwicmpzb25wIiwianNvbnAiLCJqc29ucENhbGxiYWNrIiwib3JpZ2luYWxTZXR0aW5ncyIsImNhbGxiYWNrTmFtZSIsIm92ZXJ3cml0dGVuIiwicmVzcG9uc2VDb250YWluZXIiLCJqc29uUHJvcCIsImtlZXBTY3JpcHRzIiwicGFyc2VkIiwiX2xvYWQiLCJwYXJhbXMiLCJhbmltYXRlZCIsIm9mZnNldCIsInNldE9mZnNldCIsImN1clBvc2l0aW9uIiwiY3VyTGVmdCIsImN1ckNTU1RvcCIsImN1clRvcCIsImN1ck9mZnNldCIsImN1ckNTU0xlZnQiLCJjYWxjdWxhdGVQb3NpdGlvbiIsImN1ckVsZW0iLCJ1c2luZyIsIndpbiIsImJveCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInBhZ2VZT2Zmc2V0IiwicGFnZVhPZmZzZXQiLCJvZmZzZXRQYXJlbnQiLCJwYXJlbnRPZmZzZXQiLCJzY3JvbGxUbyIsIkhlaWdodCIsIldpZHRoIiwiZGVmYXVsdEV4dHJhIiwiZnVuY05hbWUiLCJzaXplIiwiYW5kU2VsZiIsImRlZmluZSIsImFtZCIsIl9qUXVlcnkiLCJfJCIsIiQiLCJub0NvbmZsaWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1N0YXRpY0ZpbGVzRm9yUHJvZHVjdGlvblJlc291cmNlc0Rpci9qcXVlcnktMS4xMS4zLm1pbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIhZnVuY3Rpb24oZ2xvYmFsLGZhY3Rvcnkpe1wib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGUmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1nbG9iYWwuZG9jdW1lbnQ/ZmFjdG9yeShnbG9iYWwsITApOmZ1bmN0aW9uKHcpe2lmKCF3LmRvY3VtZW50KXRocm93IG5ldyBFcnJvcihcImpRdWVyeSByZXF1aXJlcyBhIHdpbmRvdyB3aXRoIGEgZG9jdW1lbnRcIik7cmV0dXJuIGZhY3Rvcnkodyl9OmZhY3RvcnkoZ2xvYmFsKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbih3aW5kb3csbm9HbG9iYWwpe2Z1bmN0aW9uIGlzQXJyYXlsaWtlKG9iail7dmFyIGxlbmd0aD1cImxlbmd0aFwiaW4gb2JqJiZvYmoubGVuZ3RoLHR5cGU9alF1ZXJ5LnR5cGUob2JqKTtyZXR1cm5cImZ1bmN0aW9uXCI9PT10eXBlfHxqUXVlcnkuaXNXaW5kb3cob2JqKT8hMToxPT09b2JqLm5vZGVUeXBlJiZsZW5ndGg/ITA6XCJhcnJheVwiPT09dHlwZXx8MD09PWxlbmd0aHx8XCJudW1iZXJcIj09dHlwZW9mIGxlbmd0aCYmbGVuZ3RoPjAmJmxlbmd0aC0xIGluIG9ian1mdW5jdGlvbiB3aW5ub3coZWxlbWVudHMscXVhbGlmaWVyLG5vdCl7aWYoalF1ZXJ5LmlzRnVuY3Rpb24ocXVhbGlmaWVyKSlyZXR1cm4galF1ZXJ5LmdyZXAoZWxlbWVudHMsZnVuY3Rpb24oZWxlbSxpKXtyZXR1cm4hIXF1YWxpZmllci5jYWxsKGVsZW0saSxlbGVtKSE9PW5vdH0pO2lmKHF1YWxpZmllci5ub2RlVHlwZSlyZXR1cm4galF1ZXJ5LmdyZXAoZWxlbWVudHMsZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW09PT1xdWFsaWZpZXIhPT1ub3R9KTtpZihcInN0cmluZ1wiPT10eXBlb2YgcXVhbGlmaWVyKXtpZihyaXNTaW1wbGUudGVzdChxdWFsaWZpZXIpKXJldHVybiBqUXVlcnkuZmlsdGVyKHF1YWxpZmllcixlbGVtZW50cyxub3QpO3F1YWxpZmllcj1qUXVlcnkuZmlsdGVyKHF1YWxpZmllcixlbGVtZW50cyl9cmV0dXJuIGpRdWVyeS5ncmVwKGVsZW1lbnRzLGZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkuaW5BcnJheShlbGVtLHF1YWxpZmllcik+PTAhPT1ub3R9KX1mdW5jdGlvbiBzaWJsaW5nKGN1cixkaXIpe2RvIGN1cj1jdXJbZGlyXTt3aGlsZShjdXImJjEhPT1jdXIubm9kZVR5cGUpO3JldHVybiBjdXJ9ZnVuY3Rpb24gY3JlYXRlT3B0aW9ucyhvcHRpb25zKXt2YXIgb2JqZWN0PW9wdGlvbnNDYWNoZVtvcHRpb25zXT17fTtyZXR1cm4galF1ZXJ5LmVhY2gob3B0aW9ucy5tYXRjaChybm90d2hpdGUpfHxbXSxmdW5jdGlvbihfLGZsYWcpe29iamVjdFtmbGFnXT0hMH0pLG9iamVjdH1mdW5jdGlvbiBkZXRhY2goKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyPyhkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLGNvbXBsZXRlZCwhMSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsY29tcGxldGVkLCExKSk6KGRvY3VtZW50LmRldGFjaEV2ZW50KFwib25yZWFkeXN0YXRlY2hhbmdlXCIsY29tcGxldGVkKSx3aW5kb3cuZGV0YWNoRXZlbnQoXCJvbmxvYWRcIixjb21wbGV0ZWQpKX1mdW5jdGlvbiBjb21wbGV0ZWQoKXsoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcnx8XCJsb2FkXCI9PT1ldmVudC50eXBlfHxcImNvbXBsZXRlXCI9PT1kb2N1bWVudC5yZWFkeVN0YXRlKSYmKGRldGFjaCgpLGpRdWVyeS5yZWFkeSgpKX1mdW5jdGlvbiBkYXRhQXR0cihlbGVtLGtleSxkYXRhKXtpZih2b2lkIDA9PT1kYXRhJiYxPT09ZWxlbS5ub2RlVHlwZSl7dmFyIG5hbWU9XCJkYXRhLVwiK2tleS5yZXBsYWNlKHJtdWx0aURhc2gsXCItJDFcIikudG9Mb3dlckNhc2UoKTtpZihkYXRhPWVsZW0uZ2V0QXR0cmlidXRlKG5hbWUpLFwic3RyaW5nXCI9PXR5cGVvZiBkYXRhKXt0cnl7ZGF0YT1cInRydWVcIj09PWRhdGE/ITA6XCJmYWxzZVwiPT09ZGF0YT8hMTpcIm51bGxcIj09PWRhdGE/bnVsbDorZGF0YStcIlwiPT09ZGF0YT8rZGF0YTpyYnJhY2UudGVzdChkYXRhKT9qUXVlcnkucGFyc2VKU09OKGRhdGEpOmRhdGF9Y2F0Y2goZSl7fWpRdWVyeS5kYXRhKGVsZW0sa2V5LGRhdGEpfWVsc2UgZGF0YT12b2lkIDB9cmV0dXJuIGRhdGF9ZnVuY3Rpb24gaXNFbXB0eURhdGFPYmplY3Qob2JqKXt2YXIgbmFtZTtmb3IobmFtZSBpbiBvYmopaWYoKFwiZGF0YVwiIT09bmFtZXx8IWpRdWVyeS5pc0VtcHR5T2JqZWN0KG9ialtuYW1lXSkpJiZcInRvSlNPTlwiIT09bmFtZSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBpbnRlcm5hbERhdGEoZWxlbSxuYW1lLGRhdGEscHZ0KXtpZihqUXVlcnkuYWNjZXB0RGF0YShlbGVtKSl7dmFyIHJldCx0aGlzQ2FjaGUsaW50ZXJuYWxLZXk9alF1ZXJ5LmV4cGFuZG8saXNOb2RlPWVsZW0ubm9kZVR5cGUsY2FjaGU9aXNOb2RlP2pRdWVyeS5jYWNoZTplbGVtLGlkPWlzTm9kZT9lbGVtW2ludGVybmFsS2V5XTplbGVtW2ludGVybmFsS2V5XSYmaW50ZXJuYWxLZXk7aWYoaWQmJmNhY2hlW2lkXSYmKHB2dHx8Y2FjaGVbaWRdLmRhdGEpfHx2b2lkIDAhPT1kYXRhfHxcInN0cmluZ1wiIT10eXBlb2YgbmFtZSlyZXR1cm4gaWR8fChpZD1pc05vZGU/ZWxlbVtpbnRlcm5hbEtleV09ZGVsZXRlZElkcy5wb3AoKXx8alF1ZXJ5Lmd1aWQrKzppbnRlcm5hbEtleSksY2FjaGVbaWRdfHwoY2FjaGVbaWRdPWlzTm9kZT97fTp7dG9KU09OOmpRdWVyeS5ub29wfSksKFwib2JqZWN0XCI9PXR5cGVvZiBuYW1lfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBuYW1lKSYmKHB2dD9jYWNoZVtpZF09alF1ZXJ5LmV4dGVuZChjYWNoZVtpZF0sbmFtZSk6Y2FjaGVbaWRdLmRhdGE9alF1ZXJ5LmV4dGVuZChjYWNoZVtpZF0uZGF0YSxuYW1lKSksdGhpc0NhY2hlPWNhY2hlW2lkXSxwdnR8fCh0aGlzQ2FjaGUuZGF0YXx8KHRoaXNDYWNoZS5kYXRhPXt9KSx0aGlzQ2FjaGU9dGhpc0NhY2hlLmRhdGEpLHZvaWQgMCE9PWRhdGEmJih0aGlzQ2FjaGVbalF1ZXJ5LmNhbWVsQ2FzZShuYW1lKV09ZGF0YSksXCJzdHJpbmdcIj09dHlwZW9mIG5hbWU/KHJldD10aGlzQ2FjaGVbbmFtZV0sbnVsbD09cmV0JiYocmV0PXRoaXNDYWNoZVtqUXVlcnkuY2FtZWxDYXNlKG5hbWUpXSkpOnJldD10aGlzQ2FjaGUscmV0fX1mdW5jdGlvbiBpbnRlcm5hbFJlbW92ZURhdGEoZWxlbSxuYW1lLHB2dCl7aWYoalF1ZXJ5LmFjY2VwdERhdGEoZWxlbSkpe3ZhciB0aGlzQ2FjaGUsaSxpc05vZGU9ZWxlbS5ub2RlVHlwZSxjYWNoZT1pc05vZGU/alF1ZXJ5LmNhY2hlOmVsZW0saWQ9aXNOb2RlP2VsZW1balF1ZXJ5LmV4cGFuZG9dOmpRdWVyeS5leHBhbmRvO2lmKGNhY2hlW2lkXSl7aWYobmFtZSYmKHRoaXNDYWNoZT1wdnQ/Y2FjaGVbaWRdOmNhY2hlW2lkXS5kYXRhKSl7alF1ZXJ5LmlzQXJyYXkobmFtZSk/bmFtZT1uYW1lLmNvbmNhdChqUXVlcnkubWFwKG5hbWUsalF1ZXJ5LmNhbWVsQ2FzZSkpOm5hbWUgaW4gdGhpc0NhY2hlP25hbWU9W25hbWVdOihuYW1lPWpRdWVyeS5jYW1lbENhc2UobmFtZSksbmFtZT1uYW1lIGluIHRoaXNDYWNoZT9bbmFtZV06bmFtZS5zcGxpdChcIiBcIikpLGk9bmFtZS5sZW5ndGg7Zm9yKDtpLS07KWRlbGV0ZSB0aGlzQ2FjaGVbbmFtZVtpXV07aWYocHZ0PyFpc0VtcHR5RGF0YU9iamVjdCh0aGlzQ2FjaGUpOiFqUXVlcnkuaXNFbXB0eU9iamVjdCh0aGlzQ2FjaGUpKXJldHVybn0ocHZ0fHwoZGVsZXRlIGNhY2hlW2lkXS5kYXRhLGlzRW1wdHlEYXRhT2JqZWN0KGNhY2hlW2lkXSkpKSYmKGlzTm9kZT9qUXVlcnkuY2xlYW5EYXRhKFtlbGVtXSwhMCk6c3VwcG9ydC5kZWxldGVFeHBhbmRvfHxjYWNoZSE9Y2FjaGUud2luZG93P2RlbGV0ZSBjYWNoZVtpZF06Y2FjaGVbaWRdPW51bGwpfX19ZnVuY3Rpb24gcmV0dXJuVHJ1ZSgpe3JldHVybiEwfWZ1bmN0aW9uIHJldHVybkZhbHNlKCl7cmV0dXJuITF9ZnVuY3Rpb24gc2FmZUFjdGl2ZUVsZW1lbnQoKXt0cnl7cmV0dXJuIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goZXJyKXt9fWZ1bmN0aW9uIGNyZWF0ZVNhZmVGcmFnbWVudChkb2N1bWVudCl7dmFyIGxpc3Q9bm9kZU5hbWVzLnNwbGl0KFwifFwiKSxzYWZlRnJhZz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYoc2FmZUZyYWcuY3JlYXRlRWxlbWVudClmb3IoO2xpc3QubGVuZ3RoOylzYWZlRnJhZy5jcmVhdGVFbGVtZW50KGxpc3QucG9wKCkpO3JldHVybiBzYWZlRnJhZ31mdW5jdGlvbiBnZXRBbGwoY29udGV4dCx0YWcpe3ZhciBlbGVtcyxlbGVtLGk9MCxmb3VuZD10eXBlb2YgY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSE9PXN0cnVuZGVmaW5lZD9jb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKHRhZ3x8XCIqXCIpOnR5cGVvZiBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwhPT1zdHJ1bmRlZmluZWQ/Y29udGV4dC5xdWVyeVNlbGVjdG9yQWxsKHRhZ3x8XCIqXCIpOnZvaWQgMDtpZighZm91bmQpZm9yKGZvdW5kPVtdLGVsZW1zPWNvbnRleHQuY2hpbGROb2Rlc3x8Y29udGV4dDtudWxsIT0oZWxlbT1lbGVtc1tpXSk7aSsrKSF0YWd8fGpRdWVyeS5ub2RlTmFtZShlbGVtLHRhZyk/Zm91bmQucHVzaChlbGVtKTpqUXVlcnkubWVyZ2UoZm91bmQsZ2V0QWxsKGVsZW0sdGFnKSk7cmV0dXJuIHZvaWQgMD09PXRhZ3x8dGFnJiZqUXVlcnkubm9kZU5hbWUoY29udGV4dCx0YWcpP2pRdWVyeS5tZXJnZShbY29udGV4dF0sZm91bmQpOmZvdW5kfWZ1bmN0aW9uIGZpeERlZmF1bHRDaGVja2VkKGVsZW0pe3JjaGVja2FibGVUeXBlLnRlc3QoZWxlbS50eXBlKSYmKGVsZW0uZGVmYXVsdENoZWNrZWQ9ZWxlbS5jaGVja2VkKX1mdW5jdGlvbiBtYW5pcHVsYXRpb25UYXJnZXQoZWxlbSxjb250ZW50KXtyZXR1cm4galF1ZXJ5Lm5vZGVOYW1lKGVsZW0sXCJ0YWJsZVwiKSYmalF1ZXJ5Lm5vZGVOYW1lKDExIT09Y29udGVudC5ub2RlVHlwZT9jb250ZW50OmNvbnRlbnQuZmlyc3RDaGlsZCxcInRyXCIpP2VsZW0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJ0Ym9keVwiKVswXXx8ZWxlbS5hcHBlbmRDaGlsZChlbGVtLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRib2R5XCIpKTplbGVtfWZ1bmN0aW9uIGRpc2FibGVTY3JpcHQoZWxlbSl7cmV0dXJuIGVsZW0udHlwZT0obnVsbCE9PWpRdWVyeS5maW5kLmF0dHIoZWxlbSxcInR5cGVcIikpK1wiL1wiK2VsZW0udHlwZSxlbGVtfWZ1bmN0aW9uIHJlc3RvcmVTY3JpcHQoZWxlbSl7dmFyIG1hdGNoPXJzY3JpcHRUeXBlTWFza2VkLmV4ZWMoZWxlbS50eXBlKTtyZXR1cm4gbWF0Y2g/ZWxlbS50eXBlPW1hdGNoWzFdOmVsZW0ucmVtb3ZlQXR0cmlidXRlKFwidHlwZVwiKSxlbGVtfWZ1bmN0aW9uIHNldEdsb2JhbEV2YWwoZWxlbXMscmVmRWxlbWVudHMpe2Zvcih2YXIgZWxlbSxpPTA7bnVsbCE9KGVsZW09ZWxlbXNbaV0pO2krKylqUXVlcnkuX2RhdGEoZWxlbSxcImdsb2JhbEV2YWxcIiwhcmVmRWxlbWVudHN8fGpRdWVyeS5fZGF0YShyZWZFbGVtZW50c1tpXSxcImdsb2JhbEV2YWxcIikpfWZ1bmN0aW9uIGNsb25lQ29weUV2ZW50KHNyYyxkZXN0KXtpZigxPT09ZGVzdC5ub2RlVHlwZSYmalF1ZXJ5Lmhhc0RhdGEoc3JjKSl7dmFyIHR5cGUsaSxsLG9sZERhdGE9alF1ZXJ5Ll9kYXRhKHNyYyksY3VyRGF0YT1qUXVlcnkuX2RhdGEoZGVzdCxvbGREYXRhKSxldmVudHM9b2xkRGF0YS5ldmVudHM7aWYoZXZlbnRzKXtkZWxldGUgY3VyRGF0YS5oYW5kbGUsY3VyRGF0YS5ldmVudHM9e307Zm9yKHR5cGUgaW4gZXZlbnRzKWZvcihpPTAsbD1ldmVudHNbdHlwZV0ubGVuZ3RoO2w+aTtpKyspalF1ZXJ5LmV2ZW50LmFkZChkZXN0LHR5cGUsZXZlbnRzW3R5cGVdW2ldKX1jdXJEYXRhLmRhdGEmJihjdXJEYXRhLmRhdGE9alF1ZXJ5LmV4dGVuZCh7fSxjdXJEYXRhLmRhdGEpKX19ZnVuY3Rpb24gZml4Q2xvbmVOb2RlSXNzdWVzKHNyYyxkZXN0KXt2YXIgbm9kZU5hbWUsZSxkYXRhO2lmKDE9PT1kZXN0Lm5vZGVUeXBlKXtpZihub2RlTmFtZT1kZXN0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIXN1cHBvcnQubm9DbG9uZUV2ZW50JiZkZXN0W2pRdWVyeS5leHBhbmRvXSl7ZGF0YT1qUXVlcnkuX2RhdGEoZGVzdCk7Zm9yKGUgaW4gZGF0YS5ldmVudHMpalF1ZXJ5LnJlbW92ZUV2ZW50KGRlc3QsZSxkYXRhLmhhbmRsZSk7ZGVzdC5yZW1vdmVBdHRyaWJ1dGUoalF1ZXJ5LmV4cGFuZG8pfVwic2NyaXB0XCI9PT1ub2RlTmFtZSYmZGVzdC50ZXh0IT09c3JjLnRleHQ/KGRpc2FibGVTY3JpcHQoZGVzdCkudGV4dD1zcmMudGV4dCxyZXN0b3JlU2NyaXB0KGRlc3QpKTpcIm9iamVjdFwiPT09bm9kZU5hbWU/KGRlc3QucGFyZW50Tm9kZSYmKGRlc3Qub3V0ZXJIVE1MPXNyYy5vdXRlckhUTUwpLHN1cHBvcnQuaHRtbDVDbG9uZSYmc3JjLmlubmVySFRNTCYmIWpRdWVyeS50cmltKGRlc3QuaW5uZXJIVE1MKSYmKGRlc3QuaW5uZXJIVE1MPXNyYy5pbm5lckhUTUwpKTpcImlucHV0XCI9PT1ub2RlTmFtZSYmcmNoZWNrYWJsZVR5cGUudGVzdChzcmMudHlwZSk/KGRlc3QuZGVmYXVsdENoZWNrZWQ9ZGVzdC5jaGVja2VkPXNyYy5jaGVja2VkLGRlc3QudmFsdWUhPT1zcmMudmFsdWUmJihkZXN0LnZhbHVlPXNyYy52YWx1ZSkpOlwib3B0aW9uXCI9PT1ub2RlTmFtZT9kZXN0LmRlZmF1bHRTZWxlY3RlZD1kZXN0LnNlbGVjdGVkPXNyYy5kZWZhdWx0U2VsZWN0ZWQ6KFwiaW5wdXRcIj09PW5vZGVOYW1lfHxcInRleHRhcmVhXCI9PT1ub2RlTmFtZSkmJihkZXN0LmRlZmF1bHRWYWx1ZT1zcmMuZGVmYXVsdFZhbHVlKX19ZnVuY3Rpb24gYWN0dWFsRGlzcGxheShuYW1lLGRvYyl7dmFyIHN0eWxlLGVsZW09alF1ZXJ5KGRvYy5jcmVhdGVFbGVtZW50KG5hbWUpKS5hcHBlbmRUbyhkb2MuYm9keSksZGlzcGxheT13aW5kb3cuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUmJihzdHlsZT13aW5kb3cuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUoZWxlbVswXSkpP3N0eWxlLmRpc3BsYXk6alF1ZXJ5LmNzcyhlbGVtWzBdLFwiZGlzcGxheVwiKTtyZXR1cm4gZWxlbS5kZXRhY2goKSxkaXNwbGF5fWZ1bmN0aW9uIGRlZmF1bHREaXNwbGF5KG5vZGVOYW1lKXt2YXIgZG9jPWRvY3VtZW50LGRpc3BsYXk9ZWxlbWRpc3BsYXlbbm9kZU5hbWVdO3JldHVybiBkaXNwbGF5fHwoZGlzcGxheT1hY3R1YWxEaXNwbGF5KG5vZGVOYW1lLGRvYyksXCJub25lXCIhPT1kaXNwbGF5JiZkaXNwbGF5fHwoaWZyYW1lPShpZnJhbWV8fGpRdWVyeShcIjxpZnJhbWUgZnJhbWVib3JkZXI9JzAnIHdpZHRoPScwJyBoZWlnaHQ9JzAnLz5cIikpLmFwcGVuZFRvKGRvYy5kb2N1bWVudEVsZW1lbnQpLGRvYz0oaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3d8fGlmcmFtZVswXS5jb250ZW50RG9jdW1lbnQpLmRvY3VtZW50LGRvYy53cml0ZSgpLGRvYy5jbG9zZSgpLGRpc3BsYXk9YWN0dWFsRGlzcGxheShub2RlTmFtZSxkb2MpLGlmcmFtZS5kZXRhY2goKSksZWxlbWRpc3BsYXlbbm9kZU5hbWVdPWRpc3BsYXkpLGRpc3BsYXl9ZnVuY3Rpb24gYWRkR2V0SG9va0lmKGNvbmRpdGlvbkZuLGhvb2tGbil7cmV0dXJue2dldDpmdW5jdGlvbigpe3ZhciBjb25kaXRpb249Y29uZGl0aW9uRm4oKTtpZihudWxsIT1jb25kaXRpb24pcmV0dXJuIGNvbmRpdGlvbj92b2lkIGRlbGV0ZSB0aGlzLmdldDoodGhpcy5nZXQ9aG9va0ZuKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX1mdW5jdGlvbiB2ZW5kb3JQcm9wTmFtZShzdHlsZSxuYW1lKXtpZihuYW1lIGluIHN0eWxlKXJldHVybiBuYW1lO2Zvcih2YXIgY2FwTmFtZT1uYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK25hbWUuc2xpY2UoMSksb3JpZ05hbWU9bmFtZSxpPWNzc1ByZWZpeGVzLmxlbmd0aDtpLS07KWlmKG5hbWU9Y3NzUHJlZml4ZXNbaV0rY2FwTmFtZSxuYW1lIGluIHN0eWxlKXJldHVybiBuYW1lO3JldHVybiBvcmlnTmFtZX1mdW5jdGlvbiBzaG93SGlkZShlbGVtZW50cyxzaG93KXtmb3IodmFyIGRpc3BsYXksZWxlbSxoaWRkZW4sdmFsdWVzPVtdLGluZGV4PTAsbGVuZ3RoPWVsZW1lbnRzLmxlbmd0aDtsZW5ndGg+aW5kZXg7aW5kZXgrKyllbGVtPWVsZW1lbnRzW2luZGV4XSxlbGVtLnN0eWxlJiYodmFsdWVzW2luZGV4XT1qUXVlcnkuX2RhdGEoZWxlbSxcIm9sZGRpc3BsYXlcIiksZGlzcGxheT1lbGVtLnN0eWxlLmRpc3BsYXksc2hvdz8odmFsdWVzW2luZGV4XXx8XCJub25lXCIhPT1kaXNwbGF5fHwoZWxlbS5zdHlsZS5kaXNwbGF5PVwiXCIpLFwiXCI9PT1lbGVtLnN0eWxlLmRpc3BsYXkmJmlzSGlkZGVuKGVsZW0pJiYodmFsdWVzW2luZGV4XT1qUXVlcnkuX2RhdGEoZWxlbSxcIm9sZGRpc3BsYXlcIixkZWZhdWx0RGlzcGxheShlbGVtLm5vZGVOYW1lKSkpKTooaGlkZGVuPWlzSGlkZGVuKGVsZW0pLChkaXNwbGF5JiZcIm5vbmVcIiE9PWRpc3BsYXl8fCFoaWRkZW4pJiZqUXVlcnkuX2RhdGEoZWxlbSxcIm9sZGRpc3BsYXlcIixoaWRkZW4/ZGlzcGxheTpqUXVlcnkuY3NzKGVsZW0sXCJkaXNwbGF5XCIpKSkpO2ZvcihpbmRleD0wO2xlbmd0aD5pbmRleDtpbmRleCsrKWVsZW09ZWxlbWVudHNbaW5kZXhdLGVsZW0uc3R5bGUmJihzaG93JiZcIm5vbmVcIiE9PWVsZW0uc3R5bGUuZGlzcGxheSYmXCJcIiE9PWVsZW0uc3R5bGUuZGlzcGxheXx8KGVsZW0uc3R5bGUuZGlzcGxheT1zaG93P3ZhbHVlc1tpbmRleF18fFwiXCI6XCJub25lXCIpKTtyZXR1cm4gZWxlbWVudHN9ZnVuY3Rpb24gc2V0UG9zaXRpdmVOdW1iZXIoZWxlbSx2YWx1ZSxzdWJ0cmFjdCl7dmFyIG1hdGNoZXM9cm51bXNwbGl0LmV4ZWModmFsdWUpO3JldHVybiBtYXRjaGVzP01hdGgubWF4KDAsbWF0Y2hlc1sxXS0oc3VidHJhY3R8fDApKSsobWF0Y2hlc1syXXx8XCJweFwiKTp2YWx1ZX1mdW5jdGlvbiBhdWdtZW50V2lkdGhPckhlaWdodChlbGVtLG5hbWUsZXh0cmEsaXNCb3JkZXJCb3gsc3R5bGVzKXtmb3IodmFyIGk9ZXh0cmE9PT0oaXNCb3JkZXJCb3g/XCJib3JkZXJcIjpcImNvbnRlbnRcIik/NDpcIndpZHRoXCI9PT1uYW1lPzE6MCx2YWw9MDs0Pmk7aSs9MilcIm1hcmdpblwiPT09ZXh0cmEmJih2YWwrPWpRdWVyeS5jc3MoZWxlbSxleHRyYStjc3NFeHBhbmRbaV0sITAsc3R5bGVzKSksaXNCb3JkZXJCb3g/KFwiY29udGVudFwiPT09ZXh0cmEmJih2YWwtPWpRdWVyeS5jc3MoZWxlbSxcInBhZGRpbmdcIitjc3NFeHBhbmRbaV0sITAsc3R5bGVzKSksXCJtYXJnaW5cIiE9PWV4dHJhJiYodmFsLT1qUXVlcnkuY3NzKGVsZW0sXCJib3JkZXJcIitjc3NFeHBhbmRbaV0rXCJXaWR0aFwiLCEwLHN0eWxlcykpKToodmFsKz1qUXVlcnkuY3NzKGVsZW0sXCJwYWRkaW5nXCIrY3NzRXhwYW5kW2ldLCEwLHN0eWxlcyksXCJwYWRkaW5nXCIhPT1leHRyYSYmKHZhbCs9alF1ZXJ5LmNzcyhlbGVtLFwiYm9yZGVyXCIrY3NzRXhwYW5kW2ldK1wiV2lkdGhcIiwhMCxzdHlsZXMpKSk7cmV0dXJuIHZhbH1mdW5jdGlvbiBnZXRXaWR0aE9ySGVpZ2h0KGVsZW0sbmFtZSxleHRyYSl7dmFyIHZhbHVlSXNCb3JkZXJCb3g9ITAsdmFsPVwid2lkdGhcIj09PW5hbWU/ZWxlbS5vZmZzZXRXaWR0aDplbGVtLm9mZnNldEhlaWdodCxzdHlsZXM9Z2V0U3R5bGVzKGVsZW0pLGlzQm9yZGVyQm94PXN1cHBvcnQuYm94U2l6aW5nJiZcImJvcmRlci1ib3hcIj09PWpRdWVyeS5jc3MoZWxlbSxcImJveFNpemluZ1wiLCExLHN0eWxlcyk7aWYoMD49dmFsfHxudWxsPT12YWwpe2lmKHZhbD1jdXJDU1MoZWxlbSxuYW1lLHN0eWxlcyksKDA+dmFsfHxudWxsPT12YWwpJiYodmFsPWVsZW0uc3R5bGVbbmFtZV0pLHJudW1ub25weC50ZXN0KHZhbCkpcmV0dXJuIHZhbDt2YWx1ZUlzQm9yZGVyQm94PWlzQm9yZGVyQm94JiYoc3VwcG9ydC5ib3hTaXppbmdSZWxpYWJsZSgpfHx2YWw9PT1lbGVtLnN0eWxlW25hbWVdKSx2YWw9cGFyc2VGbG9hdCh2YWwpfHwwfXJldHVybiB2YWwrYXVnbWVudFdpZHRoT3JIZWlnaHQoZWxlbSxuYW1lLGV4dHJhfHwoaXNCb3JkZXJCb3g/XCJib3JkZXJcIjpcImNvbnRlbnRcIiksdmFsdWVJc0JvcmRlckJveCxzdHlsZXMpK1wicHhcIn1mdW5jdGlvbiBUd2VlbihlbGVtLG9wdGlvbnMscHJvcCxlbmQsZWFzaW5nKXtyZXR1cm4gbmV3IFR3ZWVuLnByb3RvdHlwZS5pbml0KGVsZW0sb3B0aW9ucyxwcm9wLGVuZCxlYXNpbmcpfWZ1bmN0aW9uIGNyZWF0ZUZ4Tm93KCl7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtmeE5vdz12b2lkIDB9KSxmeE5vdz1qUXVlcnkubm93KCl9ZnVuY3Rpb24gZ2VuRngodHlwZSxpbmNsdWRlV2lkdGgpe3ZhciB3aGljaCxhdHRycz17aGVpZ2h0OnR5cGV9LGk9MDtmb3IoaW5jbHVkZVdpZHRoPWluY2x1ZGVXaWR0aD8xOjA7ND5pO2krPTItaW5jbHVkZVdpZHRoKXdoaWNoPWNzc0V4cGFuZFtpXSxhdHRyc1tcIm1hcmdpblwiK3doaWNoXT1hdHRyc1tcInBhZGRpbmdcIit3aGljaF09dHlwZTtyZXR1cm4gaW5jbHVkZVdpZHRoJiYoYXR0cnMub3BhY2l0eT1hdHRycy53aWR0aD10eXBlKSxhdHRyc31mdW5jdGlvbiBjcmVhdGVUd2Vlbih2YWx1ZSxwcm9wLGFuaW1hdGlvbil7Zm9yKHZhciB0d2Vlbixjb2xsZWN0aW9uPSh0d2VlbmVyc1twcm9wXXx8W10pLmNvbmNhdCh0d2VlbmVyc1tcIipcIl0pLGluZGV4PTAsbGVuZ3RoPWNvbGxlY3Rpb24ubGVuZ3RoO2xlbmd0aD5pbmRleDtpbmRleCsrKWlmKHR3ZWVuPWNvbGxlY3Rpb25baW5kZXhdLmNhbGwoYW5pbWF0aW9uLHByb3AsdmFsdWUpKXJldHVybiB0d2Vlbn1mdW5jdGlvbiBkZWZhdWx0UHJlZmlsdGVyKGVsZW0scHJvcHMsb3B0cyl7dmFyIHByb3AsdmFsdWUsdG9nZ2xlLHR3ZWVuLGhvb2tzLG9sZGZpcmUsZGlzcGxheSxjaGVja0Rpc3BsYXksYW5pbT10aGlzLG9yaWc9e30sc3R5bGU9ZWxlbS5zdHlsZSxoaWRkZW49ZWxlbS5ub2RlVHlwZSYmaXNIaWRkZW4oZWxlbSksZGF0YVNob3c9alF1ZXJ5Ll9kYXRhKGVsZW0sXCJmeHNob3dcIik7b3B0cy5xdWV1ZXx8KGhvb2tzPWpRdWVyeS5fcXVldWVIb29rcyhlbGVtLFwiZnhcIiksbnVsbD09aG9va3MudW5xdWV1ZWQmJihob29rcy51bnF1ZXVlZD0wLG9sZGZpcmU9aG9va3MuZW1wdHkuZmlyZSxob29rcy5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7aG9va3MudW5xdWV1ZWR8fG9sZGZpcmUoKX0pLGhvb2tzLnVucXVldWVkKyssYW5pbS5hbHdheXMoZnVuY3Rpb24oKXthbmltLmFsd2F5cyhmdW5jdGlvbigpe2hvb2tzLnVucXVldWVkLS0salF1ZXJ5LnF1ZXVlKGVsZW0sXCJmeFwiKS5sZW5ndGh8fGhvb2tzLmVtcHR5LmZpcmUoKX0pfSkpLDE9PT1lbGVtLm5vZGVUeXBlJiYoXCJoZWlnaHRcImluIHByb3BzfHxcIndpZHRoXCJpbiBwcm9wcykmJihvcHRzLm92ZXJmbG93PVtzdHlsZS5vdmVyZmxvdyxzdHlsZS5vdmVyZmxvd1gsc3R5bGUub3ZlcmZsb3dZXSxkaXNwbGF5PWpRdWVyeS5jc3MoZWxlbSxcImRpc3BsYXlcIiksY2hlY2tEaXNwbGF5PVwibm9uZVwiPT09ZGlzcGxheT9qUXVlcnkuX2RhdGEoZWxlbSxcIm9sZGRpc3BsYXlcIil8fGRlZmF1bHREaXNwbGF5KGVsZW0ubm9kZU5hbWUpOmRpc3BsYXksXCJpbmxpbmVcIj09PWNoZWNrRGlzcGxheSYmXCJub25lXCI9PT1qUXVlcnkuY3NzKGVsZW0sXCJmbG9hdFwiKSYmKHN1cHBvcnQuaW5saW5lQmxvY2tOZWVkc0xheW91dCYmXCJpbmxpbmVcIiE9PWRlZmF1bHREaXNwbGF5KGVsZW0ubm9kZU5hbWUpP3N0eWxlLnpvb209MTpzdHlsZS5kaXNwbGF5PVwiaW5saW5lLWJsb2NrXCIpKSxvcHRzLm92ZXJmbG93JiYoc3R5bGUub3ZlcmZsb3c9XCJoaWRkZW5cIixzdXBwb3J0LnNocmlua1dyYXBCbG9ja3MoKXx8YW5pbS5hbHdheXMoZnVuY3Rpb24oKXtzdHlsZS5vdmVyZmxvdz1vcHRzLm92ZXJmbG93WzBdLHN0eWxlLm92ZXJmbG93WD1vcHRzLm92ZXJmbG93WzFdLHN0eWxlLm92ZXJmbG93WT1vcHRzLm92ZXJmbG93WzJdfSkpO2Zvcihwcm9wIGluIHByb3BzKWlmKHZhbHVlPXByb3BzW3Byb3BdLHJmeHR5cGVzLmV4ZWModmFsdWUpKXtpZihkZWxldGUgcHJvcHNbcHJvcF0sdG9nZ2xlPXRvZ2dsZXx8XCJ0b2dnbGVcIj09PXZhbHVlLHZhbHVlPT09KGhpZGRlbj9cImhpZGVcIjpcInNob3dcIikpe2lmKFwic2hvd1wiIT09dmFsdWV8fCFkYXRhU2hvd3x8dm9pZCAwPT09ZGF0YVNob3dbcHJvcF0pY29udGludWU7aGlkZGVuPSEwfW9yaWdbcHJvcF09ZGF0YVNob3cmJmRhdGFTaG93W3Byb3BdfHxqUXVlcnkuc3R5bGUoZWxlbSxwcm9wKX1lbHNlIGRpc3BsYXk9dm9pZCAwO2lmKGpRdWVyeS5pc0VtcHR5T2JqZWN0KG9yaWcpKVwiaW5saW5lXCI9PT0oXCJub25lXCI9PT1kaXNwbGF5P2RlZmF1bHREaXNwbGF5KGVsZW0ubm9kZU5hbWUpOmRpc3BsYXkpJiYoc3R5bGUuZGlzcGxheT1kaXNwbGF5KTtlbHNle2RhdGFTaG93P1wiaGlkZGVuXCJpbiBkYXRhU2hvdyYmKGhpZGRlbj1kYXRhU2hvdy5oaWRkZW4pOmRhdGFTaG93PWpRdWVyeS5fZGF0YShlbGVtLFwiZnhzaG93XCIse30pLHRvZ2dsZSYmKGRhdGFTaG93LmhpZGRlbj0haGlkZGVuKSxoaWRkZW4/alF1ZXJ5KGVsZW0pLnNob3coKTphbmltLmRvbmUoZnVuY3Rpb24oKXtqUXVlcnkoZWxlbSkuaGlkZSgpfSksYW5pbS5kb25lKGZ1bmN0aW9uKCl7dmFyIHByb3A7alF1ZXJ5Ll9yZW1vdmVEYXRhKGVsZW0sXCJmeHNob3dcIik7Zm9yKHByb3AgaW4gb3JpZylqUXVlcnkuc3R5bGUoZWxlbSxwcm9wLG9yaWdbcHJvcF0pfSk7Zm9yKHByb3AgaW4gb3JpZyl0d2Vlbj1jcmVhdGVUd2VlbihoaWRkZW4/ZGF0YVNob3dbcHJvcF06MCxwcm9wLGFuaW0pLHByb3AgaW4gZGF0YVNob3d8fChkYXRhU2hvd1twcm9wXT10d2Vlbi5zdGFydCxoaWRkZW4mJih0d2Vlbi5lbmQ9dHdlZW4uc3RhcnQsdHdlZW4uc3RhcnQ9XCJ3aWR0aFwiPT09cHJvcHx8XCJoZWlnaHRcIj09PXByb3A/MTowKSl9fWZ1bmN0aW9uIHByb3BGaWx0ZXIocHJvcHMsc3BlY2lhbEVhc2luZyl7dmFyIGluZGV4LG5hbWUsZWFzaW5nLHZhbHVlLGhvb2tzO2ZvcihpbmRleCBpbiBwcm9wcylpZihuYW1lPWpRdWVyeS5jYW1lbENhc2UoaW5kZXgpLGVhc2luZz1zcGVjaWFsRWFzaW5nW25hbWVdLHZhbHVlPXByb3BzW2luZGV4XSxqUXVlcnkuaXNBcnJheSh2YWx1ZSkmJihlYXNpbmc9dmFsdWVbMV0sdmFsdWU9cHJvcHNbaW5kZXhdPXZhbHVlWzBdKSxpbmRleCE9PW5hbWUmJihwcm9wc1tuYW1lXT12YWx1ZSxkZWxldGUgcHJvcHNbaW5kZXhdKSxob29rcz1qUXVlcnkuY3NzSG9va3NbbmFtZV0saG9va3MmJlwiZXhwYW5kXCJpbiBob29rcyl7dmFsdWU9aG9va3MuZXhwYW5kKHZhbHVlKSxkZWxldGUgcHJvcHNbbmFtZV07Zm9yKGluZGV4IGluIHZhbHVlKWluZGV4IGluIHByb3BzfHwocHJvcHNbaW5kZXhdPXZhbHVlW2luZGV4XSxzcGVjaWFsRWFzaW5nW2luZGV4XT1lYXNpbmcpfWVsc2Ugc3BlY2lhbEVhc2luZ1tuYW1lXT1lYXNpbmd9ZnVuY3Rpb24gQW5pbWF0aW9uKGVsZW0scHJvcGVydGllcyxvcHRpb25zKXt2YXIgcmVzdWx0LHN0b3BwZWQsaW5kZXg9MCxsZW5ndGg9YW5pbWF0aW9uUHJlZmlsdGVycy5sZW5ndGgsZGVmZXJyZWQ9alF1ZXJ5LkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCl7ZGVsZXRlIHRpY2suZWxlbX0pLHRpY2s9ZnVuY3Rpb24oKXtpZihzdG9wcGVkKXJldHVybiExO2Zvcih2YXIgY3VycmVudFRpbWU9ZnhOb3d8fGNyZWF0ZUZ4Tm93KCkscmVtYWluaW5nPU1hdGgubWF4KDAsYW5pbWF0aW9uLnN0YXJ0VGltZSthbmltYXRpb24uZHVyYXRpb24tY3VycmVudFRpbWUpLHRlbXA9cmVtYWluaW5nL2FuaW1hdGlvbi5kdXJhdGlvbnx8MCxwZXJjZW50PTEtdGVtcCxpbmRleD0wLGxlbmd0aD1hbmltYXRpb24udHdlZW5zLmxlbmd0aDtsZW5ndGg+aW5kZXg7aW5kZXgrKylhbmltYXRpb24udHdlZW5zW2luZGV4XS5ydW4ocGVyY2VudCk7cmV0dXJuIGRlZmVycmVkLm5vdGlmeVdpdGgoZWxlbSxbYW5pbWF0aW9uLHBlcmNlbnQscmVtYWluaW5nXSksMT5wZXJjZW50JiZsZW5ndGg/cmVtYWluaW5nOihkZWZlcnJlZC5yZXNvbHZlV2l0aChlbGVtLFthbmltYXRpb25dKSwhMSl9LGFuaW1hdGlvbj1kZWZlcnJlZC5wcm9taXNlKHtlbGVtOmVsZW0scHJvcHM6alF1ZXJ5LmV4dGVuZCh7fSxwcm9wZXJ0aWVzKSxvcHRzOmpRdWVyeS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LG9wdGlvbnMpLG9yaWdpbmFsUHJvcGVydGllczpwcm9wZXJ0aWVzLG9yaWdpbmFsT3B0aW9uczpvcHRpb25zLHN0YXJ0VGltZTpmeE5vd3x8Y3JlYXRlRnhOb3coKSxkdXJhdGlvbjpvcHRpb25zLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihwcm9wLGVuZCl7dmFyIHR3ZWVuPWpRdWVyeS5Ud2VlbihlbGVtLGFuaW1hdGlvbi5vcHRzLHByb3AsZW5kLGFuaW1hdGlvbi5vcHRzLnNwZWNpYWxFYXNpbmdbcHJvcF18fGFuaW1hdGlvbi5vcHRzLmVhc2luZyk7cmV0dXJuIGFuaW1hdGlvbi50d2VlbnMucHVzaCh0d2VlbiksdHdlZW59LHN0b3A6ZnVuY3Rpb24oZ290b0VuZCl7dmFyIGluZGV4PTAsbGVuZ3RoPWdvdG9FbmQ/YW5pbWF0aW9uLnR3ZWVucy5sZW5ndGg6MDtpZihzdG9wcGVkKXJldHVybiB0aGlzO2ZvcihzdG9wcGVkPSEwO2xlbmd0aD5pbmRleDtpbmRleCsrKWFuaW1hdGlvbi50d2VlbnNbaW5kZXhdLnJ1bigxKTtyZXR1cm4gZ290b0VuZD9kZWZlcnJlZC5yZXNvbHZlV2l0aChlbGVtLFthbmltYXRpb24sZ290b0VuZF0pOmRlZmVycmVkLnJlamVjdFdpdGgoZWxlbSxbYW5pbWF0aW9uLGdvdG9FbmRdKSx0aGlzfX0pLHByb3BzPWFuaW1hdGlvbi5wcm9wcztmb3IocHJvcEZpbHRlcihwcm9wcyxhbmltYXRpb24ub3B0cy5zcGVjaWFsRWFzaW5nKTtsZW5ndGg+aW5kZXg7aW5kZXgrKylpZihyZXN1bHQ9YW5pbWF0aW9uUHJlZmlsdGVyc1tpbmRleF0uY2FsbChhbmltYXRpb24sZWxlbSxwcm9wcyxhbmltYXRpb24ub3B0cykpcmV0dXJuIHJlc3VsdDtyZXR1cm4galF1ZXJ5Lm1hcChwcm9wcyxjcmVhdGVUd2VlbixhbmltYXRpb24pLGpRdWVyeS5pc0Z1bmN0aW9uKGFuaW1hdGlvbi5vcHRzLnN0YXJ0KSYmYW5pbWF0aW9uLm9wdHMuc3RhcnQuY2FsbChlbGVtLGFuaW1hdGlvbiksalF1ZXJ5LmZ4LnRpbWVyKGpRdWVyeS5leHRlbmQodGljayx7ZWxlbTplbGVtLGFuaW06YW5pbWF0aW9uLHF1ZXVlOmFuaW1hdGlvbi5vcHRzLnF1ZXVlfSkpLGFuaW1hdGlvbi5wcm9ncmVzcyhhbmltYXRpb24ub3B0cy5wcm9ncmVzcykuZG9uZShhbmltYXRpb24ub3B0cy5kb25lLGFuaW1hdGlvbi5vcHRzLmNvbXBsZXRlKS5mYWlsKGFuaW1hdGlvbi5vcHRzLmZhaWwpLmFsd2F5cyhhbmltYXRpb24ub3B0cy5hbHdheXMpfWZ1bmN0aW9uIGFkZFRvUHJlZmlsdGVyc09yVHJhbnNwb3J0cyhzdHJ1Y3R1cmUpe3JldHVybiBmdW5jdGlvbihkYXRhVHlwZUV4cHJlc3Npb24sZnVuYyl7XCJzdHJpbmdcIiE9dHlwZW9mIGRhdGFUeXBlRXhwcmVzc2lvbiYmKGZ1bmM9ZGF0YVR5cGVFeHByZXNzaW9uLGRhdGFUeXBlRXhwcmVzc2lvbj1cIipcIik7dmFyIGRhdGFUeXBlLGk9MCxkYXRhVHlwZXM9ZGF0YVR5cGVFeHByZXNzaW9uLnRvTG93ZXJDYXNlKCkubWF0Y2gocm5vdHdoaXRlKXx8W107aWYoalF1ZXJ5LmlzRnVuY3Rpb24oZnVuYykpZm9yKDtkYXRhVHlwZT1kYXRhVHlwZXNbaSsrXTspXCIrXCI9PT1kYXRhVHlwZS5jaGFyQXQoMCk/KGRhdGFUeXBlPWRhdGFUeXBlLnNsaWNlKDEpfHxcIipcIiwoc3RydWN0dXJlW2RhdGFUeXBlXT1zdHJ1Y3R1cmVbZGF0YVR5cGVdfHxbXSkudW5zaGlmdChmdW5jKSk6KHN0cnVjdHVyZVtkYXRhVHlwZV09c3RydWN0dXJlW2RhdGFUeXBlXXx8W10pLnB1c2goZnVuYyl9fWZ1bmN0aW9uIGluc3BlY3RQcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKHN0cnVjdHVyZSxvcHRpb25zLG9yaWdpbmFsT3B0aW9ucyxqcVhIUil7ZnVuY3Rpb24gaW5zcGVjdChkYXRhVHlwZSl7dmFyIHNlbGVjdGVkO3JldHVybiBpbnNwZWN0ZWRbZGF0YVR5cGVdPSEwLGpRdWVyeS5lYWNoKHN0cnVjdHVyZVtkYXRhVHlwZV18fFtdLGZ1bmN0aW9uKF8scHJlZmlsdGVyT3JGYWN0b3J5KXt2YXIgZGF0YVR5cGVPclRyYW5zcG9ydD1wcmVmaWx0ZXJPckZhY3Rvcnkob3B0aW9ucyxvcmlnaW5hbE9wdGlvbnMsanFYSFIpO3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBkYXRhVHlwZU9yVHJhbnNwb3J0fHxzZWVraW5nVHJhbnNwb3J0fHxpbnNwZWN0ZWRbZGF0YVR5cGVPclRyYW5zcG9ydF0/c2Vla2luZ1RyYW5zcG9ydD8hKHNlbGVjdGVkPWRhdGFUeXBlT3JUcmFuc3BvcnQpOnZvaWQgMDoob3B0aW9ucy5kYXRhVHlwZXMudW5zaGlmdChkYXRhVHlwZU9yVHJhbnNwb3J0KSxpbnNwZWN0KGRhdGFUeXBlT3JUcmFuc3BvcnQpLCExKX0pLHNlbGVjdGVkfXZhciBpbnNwZWN0ZWQ9e30sc2Vla2luZ1RyYW5zcG9ydD1zdHJ1Y3R1cmU9PT10cmFuc3BvcnRzO3JldHVybiBpbnNwZWN0KG9wdGlvbnMuZGF0YVR5cGVzWzBdKXx8IWluc3BlY3RlZFtcIipcIl0mJmluc3BlY3QoXCIqXCIpfWZ1bmN0aW9uIGFqYXhFeHRlbmQodGFyZ2V0LHNyYyl7dmFyIGRlZXAsa2V5LGZsYXRPcHRpb25zPWpRdWVyeS5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihrZXkgaW4gc3JjKXZvaWQgMCE9PXNyY1trZXldJiYoKGZsYXRPcHRpb25zW2tleV0/dGFyZ2V0OmRlZXB8fChkZWVwPXt9KSlba2V5XT1zcmNba2V5XSk7cmV0dXJuIGRlZXAmJmpRdWVyeS5leHRlbmQoITAsdGFyZ2V0LGRlZXApLHRhcmdldH1mdW5jdGlvbiBhamF4SGFuZGxlUmVzcG9uc2VzKHMsanFYSFIscmVzcG9uc2VzKXtmb3IodmFyIGZpcnN0RGF0YVR5cGUsY3QsZmluYWxEYXRhVHlwZSx0eXBlLGNvbnRlbnRzPXMuY29udGVudHMsZGF0YVR5cGVzPXMuZGF0YVR5cGVzO1wiKlwiPT09ZGF0YVR5cGVzWzBdOylkYXRhVHlwZXMuc2hpZnQoKSx2b2lkIDA9PT1jdCYmKGN0PXMubWltZVR5cGV8fGpxWEhSLmdldFJlc3BvbnNlSGVhZGVyKFwiQ29udGVudC1UeXBlXCIpKTtpZihjdClmb3IodHlwZSBpbiBjb250ZW50cylpZihjb250ZW50c1t0eXBlXSYmY29udGVudHNbdHlwZV0udGVzdChjdCkpe2RhdGFUeXBlcy51bnNoaWZ0KHR5cGUpO2JyZWFrfWlmKGRhdGFUeXBlc1swXWluIHJlc3BvbnNlcylmaW5hbERhdGFUeXBlPWRhdGFUeXBlc1swXTtlbHNle2Zvcih0eXBlIGluIHJlc3BvbnNlcyl7aWYoIWRhdGFUeXBlc1swXXx8cy5jb252ZXJ0ZXJzW3R5cGUrXCIgXCIrZGF0YVR5cGVzWzBdXSl7ZmluYWxEYXRhVHlwZT10eXBlO2JyZWFrfWZpcnN0RGF0YVR5cGV8fChmaXJzdERhdGFUeXBlPXR5cGUpfWZpbmFsRGF0YVR5cGU9ZmluYWxEYXRhVHlwZXx8Zmlyc3REYXRhVHlwZX1yZXR1cm4gZmluYWxEYXRhVHlwZT8oZmluYWxEYXRhVHlwZSE9PWRhdGFUeXBlc1swXSYmZGF0YVR5cGVzLnVuc2hpZnQoZmluYWxEYXRhVHlwZSkscmVzcG9uc2VzW2ZpbmFsRGF0YVR5cGVdKTp2b2lkIDB9ZnVuY3Rpb24gYWpheENvbnZlcnQocyxyZXNwb25zZSxqcVhIUixpc1N1Y2Nlc3Mpe3ZhciBjb252MixjdXJyZW50LGNvbnYsdG1wLHByZXYsY29udmVydGVycz17fSxkYXRhVHlwZXM9cy5kYXRhVHlwZXMuc2xpY2UoKTtpZihkYXRhVHlwZXNbMV0pZm9yKGNvbnYgaW4gcy5jb252ZXJ0ZXJzKWNvbnZlcnRlcnNbY29udi50b0xvd2VyQ2FzZSgpXT1zLmNvbnZlcnRlcnNbY29udl07Zm9yKGN1cnJlbnQ9ZGF0YVR5cGVzLnNoaWZ0KCk7Y3VycmVudDspaWYocy5yZXNwb25zZUZpZWxkc1tjdXJyZW50XSYmKGpxWEhSW3MucmVzcG9uc2VGaWVsZHNbY3VycmVudF1dPXJlc3BvbnNlKSwhcHJldiYmaXNTdWNjZXNzJiZzLmRhdGFGaWx0ZXImJihyZXNwb25zZT1zLmRhdGFGaWx0ZXIocmVzcG9uc2Uscy5kYXRhVHlwZSkpLHByZXY9Y3VycmVudCxjdXJyZW50PWRhdGFUeXBlcy5zaGlmdCgpKWlmKFwiKlwiPT09Y3VycmVudCljdXJyZW50PXByZXY7ZWxzZSBpZihcIipcIiE9PXByZXYmJnByZXYhPT1jdXJyZW50KXtpZihjb252PWNvbnZlcnRlcnNbcHJlditcIiBcIitjdXJyZW50XXx8Y29udmVydGVyc1tcIiogXCIrY3VycmVudF0sIWNvbnYpZm9yKGNvbnYyIGluIGNvbnZlcnRlcnMpaWYodG1wPWNvbnYyLnNwbGl0KFwiIFwiKSx0bXBbMV09PT1jdXJyZW50JiYoY29udj1jb252ZXJ0ZXJzW3ByZXYrXCIgXCIrdG1wWzBdXXx8Y29udmVydGVyc1tcIiogXCIrdG1wWzBdXSkpe2NvbnY9PT0hMD9jb252PWNvbnZlcnRlcnNbY29udjJdOmNvbnZlcnRlcnNbY29udjJdIT09ITAmJihjdXJyZW50PXRtcFswXSxkYXRhVHlwZXMudW5zaGlmdCh0bXBbMV0pKTticmVha31pZihjb252IT09ITApaWYoY29udiYmc1tcInRocm93c1wiXSlyZXNwb25zZT1jb252KHJlc3BvbnNlKTtlbHNlIHRyeXtyZXNwb25zZT1jb252KHJlc3BvbnNlKX1jYXRjaChlKXtyZXR1cm57c3RhdGU6XCJwYXJzZXJlcnJvclwiLGVycm9yOmNvbnY/ZTpcIk5vIGNvbnZlcnNpb24gZnJvbSBcIitwcmV2K1wiIHRvIFwiK2N1cnJlbnR9fX1yZXR1cm57c3RhdGU6XCJzdWNjZXNzXCIsZGF0YTpyZXNwb25zZX19ZnVuY3Rpb24gYnVpbGRQYXJhbXMocHJlZml4LG9iaix0cmFkaXRpb25hbCxhZGQpe3ZhciBuYW1lO2lmKGpRdWVyeS5pc0FycmF5KG9iaikpalF1ZXJ5LmVhY2gob2JqLGZ1bmN0aW9uKGksdil7dHJhZGl0aW9uYWx8fHJicmFja2V0LnRlc3QocHJlZml4KT9hZGQocHJlZml4LHYpOmJ1aWxkUGFyYW1zKHByZWZpeCtcIltcIisoXCJvYmplY3RcIj09dHlwZW9mIHY/aTpcIlwiKStcIl1cIix2LHRyYWRpdGlvbmFsLGFkZCl9KTtlbHNlIGlmKHRyYWRpdGlvbmFsfHxcIm9iamVjdFwiIT09alF1ZXJ5LnR5cGUob2JqKSlhZGQocHJlZml4LG9iaik7ZWxzZSBmb3IobmFtZSBpbiBvYmopYnVpbGRQYXJhbXMocHJlZml4K1wiW1wiK25hbWUrXCJdXCIsb2JqW25hbWVdLHRyYWRpdGlvbmFsLGFkZCl9ZnVuY3Rpb24gY3JlYXRlU3RhbmRhcmRYSFIoKXt0cnl7cmV0dXJuIG5ldyB3aW5kb3cuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fX1mdW5jdGlvbiBjcmVhdGVBY3RpdmVYSFIoKXt0cnl7cmV0dXJuIG5ldyB3aW5kb3cuQWN0aXZlWE9iamVjdChcIk1pY3Jvc29mdC5YTUxIVFRQXCIpfWNhdGNoKGUpe319ZnVuY3Rpb24gZ2V0V2luZG93KGVsZW0pe3JldHVybiBqUXVlcnkuaXNXaW5kb3coZWxlbSk/ZWxlbTo5PT09ZWxlbS5ub2RlVHlwZT9lbGVtLmRlZmF1bHRWaWV3fHxlbGVtLnBhcmVudFdpbmRvdzohMX12YXIgZGVsZXRlZElkcz1bXSxzbGljZT1kZWxldGVkSWRzLnNsaWNlLGNvbmNhdD1kZWxldGVkSWRzLmNvbmNhdCxwdXNoPWRlbGV0ZWRJZHMucHVzaCxpbmRleE9mPWRlbGV0ZWRJZHMuaW5kZXhPZixjbGFzczJ0eXBlPXt9LHRvU3RyaW5nPWNsYXNzMnR5cGUudG9TdHJpbmcsaGFzT3duPWNsYXNzMnR5cGUuaGFzT3duUHJvcGVydHksc3VwcG9ydD17fSx2ZXJzaW9uPVwiMS4xMS4zXCIsalF1ZXJ5PWZ1bmN0aW9uKHNlbGVjdG9yLGNvbnRleHQpe3JldHVybiBuZXcgalF1ZXJ5LmZuLmluaXQoc2VsZWN0b3IsY29udGV4dCl9LHJ0cmltPS9eW1xcc1xcdUZFRkZcXHhBMF0rfFtcXHNcXHVGRUZGXFx4QTBdKyQvZyxybXNQcmVmaXg9L14tbXMtLyxyZGFzaEFscGhhPS8tKFtcXGRhLXpdKS9naSxmY2FtZWxDYXNlPWZ1bmN0aW9uKGFsbCxsZXR0ZXIpe3JldHVybiBsZXR0ZXIudG9VcHBlckNhc2UoKX07alF1ZXJ5LmZuPWpRdWVyeS5wcm90b3R5cGU9e2pxdWVyeTp2ZXJzaW9uLGNvbnN0cnVjdG9yOmpRdWVyeSxzZWxlY3RvcjpcIlwiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gc2xpY2UuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKG51bSl7cmV0dXJuIG51bGwhPW51bT8wPm51bT90aGlzW251bSt0aGlzLmxlbmd0aF06dGhpc1tudW1dOnNsaWNlLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihlbGVtcyl7dmFyIHJldD1qUXVlcnkubWVyZ2UodGhpcy5jb25zdHJ1Y3RvcigpLGVsZW1zKTtyZXR1cm4gcmV0LnByZXZPYmplY3Q9dGhpcyxyZXQuY29udGV4dD10aGlzLmNvbnRleHQscmV0fSxlYWNoOmZ1bmN0aW9uKGNhbGxiYWNrLGFyZ3Mpe3JldHVybiBqUXVlcnkuZWFjaCh0aGlzLGNhbGxiYWNrLGFyZ3MpfSxtYXA6ZnVuY3Rpb24oY2FsbGJhY2spe3JldHVybiB0aGlzLnB1c2hTdGFjayhqUXVlcnkubWFwKHRoaXMsZnVuY3Rpb24oZWxlbSxpKXtyZXR1cm4gY2FsbGJhY2suY2FsbChlbGVtLGksZWxlbSl9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHNsaWNlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGkpe3ZhciBsZW49dGhpcy5sZW5ndGgsaj0raSsoMD5pP2xlbjowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soaj49MCYmbGVuPmo/W3RoaXNbal1dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpwdXNoLHNvcnQ6ZGVsZXRlZElkcy5zb3J0LHNwbGljZTpkZWxldGVkSWRzLnNwbGljZX0salF1ZXJ5LmV4dGVuZD1qUXVlcnkuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIHNyYyxjb3B5SXNBcnJheSxjb3B5LG5hbWUsb3B0aW9ucyxjbG9uZSx0YXJnZXQ9YXJndW1lbnRzWzBdfHx7fSxpPTEsbGVuZ3RoPWFyZ3VtZW50cy5sZW5ndGgsZGVlcD0hMTtmb3IoXCJib29sZWFuXCI9PXR5cGVvZiB0YXJnZXQmJihkZWVwPXRhcmdldCx0YXJnZXQ9YXJndW1lbnRzW2ldfHx7fSxpKyspLFwib2JqZWN0XCI9PXR5cGVvZiB0YXJnZXR8fGpRdWVyeS5pc0Z1bmN0aW9uKHRhcmdldCl8fCh0YXJnZXQ9e30pLGk9PT1sZW5ndGgmJih0YXJnZXQ9dGhpcyxpLS0pO2xlbmd0aD5pO2krKylpZihudWxsIT0ob3B0aW9ucz1hcmd1bWVudHNbaV0pKWZvcihuYW1lIGluIG9wdGlvbnMpc3JjPXRhcmdldFtuYW1lXSxjb3B5PW9wdGlvbnNbbmFtZV0sdGFyZ2V0IT09Y29weSYmKGRlZXAmJmNvcHkmJihqUXVlcnkuaXNQbGFpbk9iamVjdChjb3B5KXx8KGNvcHlJc0FycmF5PWpRdWVyeS5pc0FycmF5KGNvcHkpKSk/KGNvcHlJc0FycmF5Pyhjb3B5SXNBcnJheT0hMSxjbG9uZT1zcmMmJmpRdWVyeS5pc0FycmF5KHNyYyk/c3JjOltdKTpjbG9uZT1zcmMmJmpRdWVyeS5pc1BsYWluT2JqZWN0KHNyYyk/c3JjOnt9LHRhcmdldFtuYW1lXT1qUXVlcnkuZXh0ZW5kKGRlZXAsY2xvbmUsY29weSkpOnZvaWQgMCE9PWNvcHkmJih0YXJnZXRbbmFtZV09Y29weSkpO3JldHVybiB0YXJnZXR9LGpRdWVyeS5leHRlbmQoe2V4cGFuZG86XCJqUXVlcnlcIisodmVyc2lvbitNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cXEQvZyxcIlwiKSxpc1JlYWR5OiEwLGVycm9yOmZ1bmN0aW9uKG1zZyl7dGhyb3cgbmV3IEVycm9yKG1zZyl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24ob2JqKXtyZXR1cm5cImZ1bmN0aW9uXCI9PT1qUXVlcnkudHlwZShvYmopfSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKG9iail7cmV0dXJuXCJhcnJheVwiPT09alF1ZXJ5LnR5cGUob2JqKX0saXNXaW5kb3c6ZnVuY3Rpb24ob2JqKXtyZXR1cm4gbnVsbCE9b2JqJiZvYmo9PW9iai53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihvYmope3JldHVybiFqUXVlcnkuaXNBcnJheShvYmopJiZvYmotcGFyc2VGbG9hdChvYmopKzE+PTB9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24ob2JqKXt2YXIgbmFtZTtmb3IobmFtZSBpbiBvYmopcmV0dXJuITE7cmV0dXJuITB9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24ob2JqKXt2YXIga2V5O2lmKCFvYmp8fFwib2JqZWN0XCIhPT1qUXVlcnkudHlwZShvYmopfHxvYmoubm9kZVR5cGV8fGpRdWVyeS5pc1dpbmRvdyhvYmopKXJldHVybiExO3RyeXtpZihvYmouY29uc3RydWN0b3ImJiFoYXNPd24uY2FsbChvYmosXCJjb25zdHJ1Y3RvclwiKSYmIWhhc093bi5jYWxsKG9iai5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsXCJpc1Byb3RvdHlwZU9mXCIpKXJldHVybiExfWNhdGNoKGUpe3JldHVybiExfWlmKHN1cHBvcnQub3duTGFzdClmb3Ioa2V5IGluIG9iailyZXR1cm4gaGFzT3duLmNhbGwob2JqLGtleSk7Zm9yKGtleSBpbiBvYmopO3JldHVybiB2b2lkIDA9PT1rZXl8fGhhc093bi5jYWxsKG9iaixrZXkpfSx0eXBlOmZ1bmN0aW9uKG9iail7cmV0dXJuIG51bGw9PW9iaj9vYmorXCJcIjpcIm9iamVjdFwiPT10eXBlb2Ygb2JqfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBvYmo/Y2xhc3MydHlwZVt0b1N0cmluZy5jYWxsKG9iaildfHxcIm9iamVjdFwiOnR5cGVvZiBvYmp9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oZGF0YSl7ZGF0YSYmalF1ZXJ5LnRyaW0oZGF0YSkmJih3aW5kb3cuZXhlY1NjcmlwdHx8ZnVuY3Rpb24oZGF0YSl7d2luZG93LmV2YWwuY2FsbCh3aW5kb3csZGF0YSl9KShkYXRhKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKHN0cmluZyl7cmV0dXJuIHN0cmluZy5yZXBsYWNlKHJtc1ByZWZpeCxcIm1zLVwiKS5yZXBsYWNlKHJkYXNoQWxwaGEsZmNhbWVsQ2FzZSl9LG5vZGVOYW1lOmZ1bmN0aW9uKGVsZW0sbmFtZSl7cmV0dXJuIGVsZW0ubm9kZU5hbWUmJmVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PW5hbWUudG9Mb3dlckNhc2UoKX0sZWFjaDpmdW5jdGlvbihvYmosY2FsbGJhY2ssYXJncyl7dmFyIHZhbHVlLGk9MCxsZW5ndGg9b2JqLmxlbmd0aCxpc0FycmF5PWlzQXJyYXlsaWtlKG9iaik7aWYoYXJncyl7aWYoaXNBcnJheSlmb3IoO2xlbmd0aD5pJiYodmFsdWU9Y2FsbGJhY2suYXBwbHkob2JqW2ldLGFyZ3MpLHZhbHVlIT09ITEpO2krKyk7ZWxzZSBmb3IoaSBpbiBvYmopaWYodmFsdWU9Y2FsbGJhY2suYXBwbHkob2JqW2ldLGFyZ3MpLHZhbHVlPT09ITEpYnJlYWt9ZWxzZSBpZihpc0FycmF5KWZvcig7bGVuZ3RoPmkmJih2YWx1ZT1jYWxsYmFjay5jYWxsKG9ialtpXSxpLG9ialtpXSksdmFsdWUhPT0hMSk7aSsrKTtlbHNlIGZvcihpIGluIG9iailpZih2YWx1ZT1jYWxsYmFjay5jYWxsKG9ialtpXSxpLG9ialtpXSksdmFsdWU9PT0hMSlicmVhaztyZXR1cm4gb2JqfSx0cmltOmZ1bmN0aW9uKHRleHQpe3JldHVybiBudWxsPT10ZXh0P1wiXCI6KHRleHQrXCJcIikucmVwbGFjZShydHJpbSxcIlwiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGFycixyZXN1bHRzKXt2YXIgcmV0PXJlc3VsdHN8fFtdO3JldHVybiBudWxsIT1hcnImJihpc0FycmF5bGlrZShPYmplY3QoYXJyKSk/alF1ZXJ5Lm1lcmdlKHJldCxcInN0cmluZ1wiPT10eXBlb2YgYXJyP1thcnJdOmFycik6cHVzaC5jYWxsKHJldCxhcnIpKSxyZXR9LGluQXJyYXk6ZnVuY3Rpb24oZWxlbSxhcnIsaSl7dmFyIGxlbjtpZihhcnIpe2lmKGluZGV4T2YpcmV0dXJuIGluZGV4T2YuY2FsbChhcnIsZWxlbSxpKTtmb3IobGVuPWFyci5sZW5ndGgsaT1pPzA+aT9NYXRoLm1heCgwLGxlbitpKTppOjA7bGVuPmk7aSsrKWlmKGkgaW4gYXJyJiZhcnJbaV09PT1lbGVtKXJldHVybiBpfXJldHVybi0xfSxtZXJnZTpmdW5jdGlvbihmaXJzdCxzZWNvbmQpe2Zvcih2YXIgbGVuPStzZWNvbmQubGVuZ3RoLGo9MCxpPWZpcnN0Lmxlbmd0aDtsZW4+ajspZmlyc3RbaSsrXT1zZWNvbmRbaisrXTtpZihsZW4hPT1sZW4pZm9yKDt2b2lkIDAhPT1zZWNvbmRbal07KWZpcnN0W2krK109c2Vjb25kW2orK107cmV0dXJuIGZpcnN0Lmxlbmd0aD1pLGZpcnN0fSxncmVwOmZ1bmN0aW9uKGVsZW1zLGNhbGxiYWNrLGludmVydCl7Zm9yKHZhciBjYWxsYmFja0ludmVyc2UsbWF0Y2hlcz1bXSxpPTAsbGVuZ3RoPWVsZW1zLmxlbmd0aCxjYWxsYmFja0V4cGVjdD0haW52ZXJ0O2xlbmd0aD5pO2krKyljYWxsYmFja0ludmVyc2U9IWNhbGxiYWNrKGVsZW1zW2ldLGkpLGNhbGxiYWNrSW52ZXJzZSE9PWNhbGxiYWNrRXhwZWN0JiZtYXRjaGVzLnB1c2goZWxlbXNbaV0pO3JldHVybiBtYXRjaGVzfSxtYXA6ZnVuY3Rpb24oZWxlbXMsY2FsbGJhY2ssYXJnKXt2YXIgdmFsdWUsaT0wLGxlbmd0aD1lbGVtcy5sZW5ndGgsaXNBcnJheT1pc0FycmF5bGlrZShlbGVtcykscmV0PVtdO2lmKGlzQXJyYXkpZm9yKDtsZW5ndGg+aTtpKyspdmFsdWU9Y2FsbGJhY2soZWxlbXNbaV0saSxhcmcpLG51bGwhPXZhbHVlJiZyZXQucHVzaCh2YWx1ZSk7ZWxzZSBmb3IoaSBpbiBlbGVtcyl2YWx1ZT1jYWxsYmFjayhlbGVtc1tpXSxpLGFyZyksbnVsbCE9dmFsdWUmJnJldC5wdXNoKHZhbHVlKTtyZXR1cm4gY29uY2F0LmFwcGx5KFtdLHJldCl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihmbixjb250ZXh0KXt2YXIgYXJncyxwcm94eSx0bXA7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIGNvbnRleHQmJih0bXA9Zm5bY29udGV4dF0sY29udGV4dD1mbixmbj10bXApLGpRdWVyeS5pc0Z1bmN0aW9uKGZuKT8oYXJncz1zbGljZS5jYWxsKGFyZ3VtZW50cywyKSxwcm94eT1mdW5jdGlvbigpe3JldHVybiBmbi5hcHBseShjb250ZXh0fHx0aGlzLGFyZ3MuY29uY2F0KHNsaWNlLmNhbGwoYXJndW1lbnRzKSkpfSxwcm94eS5ndWlkPWZuLmd1aWQ9Zm4uZ3VpZHx8alF1ZXJ5Lmd1aWQrKyxwcm94eSk6dm9pZCAwfSxub3c6ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9LHN1cHBvcnQ6c3VwcG9ydH0pLGpRdWVyeS5lYWNoKFwiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvclwiLnNwbGl0KFwiIFwiKSxmdW5jdGlvbihpLG5hbWUpe2NsYXNzMnR5cGVbXCJbb2JqZWN0IFwiK25hbWUrXCJdXCJdPW5hbWUudG9Mb3dlckNhc2UoKX0pO3ZhciBTaXp6bGU9ZnVuY3Rpb24od2luZG93KXtmdW5jdGlvbiBTaXp6bGUoc2VsZWN0b3IsY29udGV4dCxyZXN1bHRzLHNlZWQpe3ZhciBtYXRjaCxlbGVtLG0sbm9kZVR5cGUsaSxncm91cHMsb2xkLG5pZCxuZXdDb250ZXh0LG5ld1NlbGVjdG9yO2lmKChjb250ZXh0P2NvbnRleHQub3duZXJEb2N1bWVudHx8Y29udGV4dDpwcmVmZXJyZWREb2MpIT09ZG9jdW1lbnQmJnNldERvY3VtZW50KGNvbnRleHQpLGNvbnRleHQ9Y29udGV4dHx8ZG9jdW1lbnQscmVzdWx0cz1yZXN1bHRzfHxbXSxub2RlVHlwZT1jb250ZXh0Lm5vZGVUeXBlLFwic3RyaW5nXCIhPXR5cGVvZiBzZWxlY3Rvcnx8IXNlbGVjdG9yfHwxIT09bm9kZVR5cGUmJjkhPT1ub2RlVHlwZSYmMTEhPT1ub2RlVHlwZSlyZXR1cm4gcmVzdWx0cztpZighc2VlZCYmZG9jdW1lbnRJc0hUTUwpe2lmKDExIT09bm9kZVR5cGUmJihtYXRjaD1ycXVpY2tFeHByLmV4ZWMoc2VsZWN0b3IpKSlpZihtPW1hdGNoWzFdKXtpZig5PT09bm9kZVR5cGUpe2lmKGVsZW09Y29udGV4dC5nZXRFbGVtZW50QnlJZChtKSwhZWxlbXx8IWVsZW0ucGFyZW50Tm9kZSlyZXR1cm4gcmVzdWx0cztpZihlbGVtLmlkPT09bSlyZXR1cm4gcmVzdWx0cy5wdXNoKGVsZW0pLHJlc3VsdHN9ZWxzZSBpZihjb250ZXh0Lm93bmVyRG9jdW1lbnQmJihlbGVtPWNvbnRleHQub3duZXJEb2N1bWVudC5nZXRFbGVtZW50QnlJZChtKSkmJmNvbnRhaW5zKGNvbnRleHQsZWxlbSkmJmVsZW0uaWQ9PT1tKXJldHVybiByZXN1bHRzLnB1c2goZWxlbSkscmVzdWx0c31lbHNle2lmKG1hdGNoWzJdKXJldHVybiBwdXNoLmFwcGx5KHJlc3VsdHMsY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZShzZWxlY3RvcikpLHJlc3VsdHM7aWYoKG09bWF0Y2hbM10pJiZzdXBwb3J0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIHB1c2guYXBwbHkocmVzdWx0cyxjb250ZXh0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUobSkpLHJlc3VsdHN9aWYoc3VwcG9ydC5xc2EmJighcmJ1Z2d5UVNBfHwhcmJ1Z2d5UVNBLnRlc3Qoc2VsZWN0b3IpKSl7aWYobmlkPW9sZD1leHBhbmRvLG5ld0NvbnRleHQ9Y29udGV4dCxuZXdTZWxlY3Rvcj0xIT09bm9kZVR5cGUmJnNlbGVjdG9yLDE9PT1ub2RlVHlwZSYmXCJvYmplY3RcIiE9PWNvbnRleHQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7Zm9yKGdyb3Vwcz10b2tlbml6ZShzZWxlY3RvciksKG9sZD1jb250ZXh0LmdldEF0dHJpYnV0ZShcImlkXCIpKT9uaWQ9b2xkLnJlcGxhY2UocmVzY2FwZSxcIlxcXFwkJlwiKTpjb250ZXh0LnNldEF0dHJpYnV0ZShcImlkXCIsbmlkKSxuaWQ9XCJbaWQ9J1wiK25pZCtcIiddIFwiLGk9Z3JvdXBzLmxlbmd0aDtpLS07KWdyb3Vwc1tpXT1uaWQrdG9TZWxlY3Rvcihncm91cHNbaV0pO25ld0NvbnRleHQ9cnNpYmxpbmcudGVzdChzZWxlY3RvcikmJnRlc3RDb250ZXh0KGNvbnRleHQucGFyZW50Tm9kZSl8fGNvbnRleHQsbmV3U2VsZWN0b3I9Z3JvdXBzLmpvaW4oXCIsXCIpfWlmKG5ld1NlbGVjdG9yKXRyeXtyZXR1cm4gcHVzaC5hcHBseShyZXN1bHRzLG5ld0NvbnRleHQucXVlcnlTZWxlY3RvckFsbChuZXdTZWxlY3RvcikpLHJlc3VsdHN9Y2F0Y2gocXNhRXJyb3Ipe31maW5hbGx5e29sZHx8Y29udGV4dC5yZW1vdmVBdHRyaWJ1dGUoXCJpZFwiKX19fXJldHVybiBzZWxlY3Qoc2VsZWN0b3IucmVwbGFjZShydHJpbSxcIiQxXCIpLGNvbnRleHQscmVzdWx0cyxzZWVkKX1mdW5jdGlvbiBjcmVhdGVDYWNoZSgpe2Z1bmN0aW9uIGNhY2hlKGtleSx2YWx1ZSl7cmV0dXJuIGtleXMucHVzaChrZXkrXCIgXCIpPkV4cHIuY2FjaGVMZW5ndGgmJmRlbGV0ZSBjYWNoZVtrZXlzLnNoaWZ0KCldLGNhY2hlW2tleStcIiBcIl09dmFsdWV9dmFyIGtleXM9W107cmV0dXJuIGNhY2hlfWZ1bmN0aW9uIG1hcmtGdW5jdGlvbihmbil7cmV0dXJuIGZuW2V4cGFuZG9dPSEwLGZufWZ1bmN0aW9uIGFzc2VydChmbil7dmFyIGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3RyeXtyZXR1cm4hIWZuKGRpdil9Y2F0Y2goZSl7cmV0dXJuITF9ZmluYWxseXtkaXYucGFyZW50Tm9kZSYmZGl2LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZGl2KSxkaXY9bnVsbH19ZnVuY3Rpb24gYWRkSGFuZGxlKGF0dHJzLGhhbmRsZXIpe2Zvcih2YXIgYXJyPWF0dHJzLnNwbGl0KFwifFwiKSxpPWF0dHJzLmxlbmd0aDtpLS07KUV4cHIuYXR0ckhhbmRsZVthcnJbaV1dPWhhbmRsZXJ9ZnVuY3Rpb24gc2libGluZ0NoZWNrKGEsYil7dmFyIGN1cj1iJiZhLGRpZmY9Y3VyJiYxPT09YS5ub2RlVHlwZSYmMT09PWIubm9kZVR5cGUmJih+Yi5zb3VyY2VJbmRleHx8TUFYX05FR0FUSVZFKS0ofmEuc291cmNlSW5kZXh8fE1BWF9ORUdBVElWRSk7aWYoZGlmZilyZXR1cm4gZGlmZjtpZihjdXIpZm9yKDtjdXI9Y3VyLm5leHRTaWJsaW5nOylpZihjdXI9PT1iKXJldHVybi0xO3JldHVybiBhPzE6LTF9ZnVuY3Rpb24gY3JlYXRlSW5wdXRQc2V1ZG8odHlwZSl7cmV0dXJuIGZ1bmN0aW9uKGVsZW0pe3ZhciBuYW1lPWVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm5cImlucHV0XCI9PT1uYW1lJiZlbGVtLnR5cGU9PT10eXBlfX1mdW5jdGlvbiBjcmVhdGVCdXR0b25Qc2V1ZG8odHlwZSl7cmV0dXJuIGZ1bmN0aW9uKGVsZW0pe3ZhciBuYW1lPWVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oXCJpbnB1dFwiPT09bmFtZXx8XCJidXR0b25cIj09PW5hbWUpJiZlbGVtLnR5cGU9PT10eXBlfX1mdW5jdGlvbiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZuKXtyZXR1cm4gbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKGFyZ3VtZW50KXtyZXR1cm4gYXJndW1lbnQ9K2FyZ3VtZW50LG1hcmtGdW5jdGlvbihmdW5jdGlvbihzZWVkLG1hdGNoZXMpe2Zvcih2YXIgaixtYXRjaEluZGV4ZXM9Zm4oW10sc2VlZC5sZW5ndGgsYXJndW1lbnQpLGk9bWF0Y2hJbmRleGVzLmxlbmd0aDtpLS07KXNlZWRbaj1tYXRjaEluZGV4ZXNbaV1dJiYoc2VlZFtqXT0hKG1hdGNoZXNbal09c2VlZFtqXSkpfSl9KX1mdW5jdGlvbiB0ZXN0Q29udGV4dChjb250ZXh0KXtyZXR1cm4gY29udGV4dCYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJmNvbnRleHR9ZnVuY3Rpb24gc2V0RmlsdGVycygpe31mdW5jdGlvbiB0b1NlbGVjdG9yKHRva2Vucyl7Zm9yKHZhciBpPTAsbGVuPXRva2Vucy5sZW5ndGgsc2VsZWN0b3I9XCJcIjtsZW4+aTtpKyspc2VsZWN0b3IrPXRva2Vuc1tpXS52YWx1ZTtyZXR1cm4gc2VsZWN0b3J9ZnVuY3Rpb24gYWRkQ29tYmluYXRvcihtYXRjaGVyLGNvbWJpbmF0b3IsYmFzZSl7dmFyIGRpcj1jb21iaW5hdG9yLmRpcixjaGVja05vbkVsZW1lbnRzPWJhc2UmJlwicGFyZW50Tm9kZVwiPT09ZGlyLGRvbmVOYW1lPWRvbmUrKztyZXR1cm4gY29tYmluYXRvci5maXJzdD9mdW5jdGlvbihlbGVtLGNvbnRleHQseG1sKXtmb3IoO2VsZW09ZWxlbVtkaXJdOylpZigxPT09ZWxlbS5ub2RlVHlwZXx8Y2hlY2tOb25FbGVtZW50cylyZXR1cm4gbWF0Y2hlcihlbGVtLGNvbnRleHQseG1sKX06ZnVuY3Rpb24oZWxlbSxjb250ZXh0LHhtbCl7dmFyIG9sZENhY2hlLG91dGVyQ2FjaGUsbmV3Q2FjaGU9W2RpcnJ1bnMsZG9uZU5hbWVdO2lmKHhtbCl7Zm9yKDtlbGVtPWVsZW1bZGlyXTspaWYoKDE9PT1lbGVtLm5vZGVUeXBlfHxjaGVja05vbkVsZW1lbnRzKSYmbWF0Y2hlcihlbGVtLGNvbnRleHQseG1sKSlyZXR1cm4hMH1lbHNlIGZvcig7ZWxlbT1lbGVtW2Rpcl07KWlmKDE9PT1lbGVtLm5vZGVUeXBlfHxjaGVja05vbkVsZW1lbnRzKXtpZihvdXRlckNhY2hlPWVsZW1bZXhwYW5kb118fChlbGVtW2V4cGFuZG9dPXt9KSwob2xkQ2FjaGU9b3V0ZXJDYWNoZVtkaXJdKSYmb2xkQ2FjaGVbMF09PT1kaXJydW5zJiZvbGRDYWNoZVsxXT09PWRvbmVOYW1lKXJldHVybiBuZXdDYWNoZVsyXT1vbGRDYWNoZVsyXTtpZihvdXRlckNhY2hlW2Rpcl09bmV3Q2FjaGUsbmV3Q2FjaGVbMl09bWF0Y2hlcihlbGVtLGNvbnRleHQseG1sKSlyZXR1cm4hMH19fWZ1bmN0aW9uIGVsZW1lbnRNYXRjaGVyKG1hdGNoZXJzKXtyZXR1cm4gbWF0Y2hlcnMubGVuZ3RoPjE/ZnVuY3Rpb24oZWxlbSxjb250ZXh0LHhtbCl7Zm9yKHZhciBpPW1hdGNoZXJzLmxlbmd0aDtpLS07KWlmKCFtYXRjaGVyc1tpXShlbGVtLGNvbnRleHQseG1sKSlyZXR1cm4hMTtyZXR1cm4hMH06bWF0Y2hlcnNbMF19ZnVuY3Rpb24gbXVsdGlwbGVDb250ZXh0cyhzZWxlY3Rvcixjb250ZXh0cyxyZXN1bHRzKXtmb3IodmFyIGk9MCxsZW49Y29udGV4dHMubGVuZ3RoO2xlbj5pO2krKylTaXp6bGUoc2VsZWN0b3IsY29udGV4dHNbaV0scmVzdWx0cyk7cmV0dXJuIHJlc3VsdHN9ZnVuY3Rpb24gY29uZGVuc2UodW5tYXRjaGVkLG1hcCxmaWx0ZXIsY29udGV4dCx4bWwpe2Zvcih2YXIgZWxlbSxuZXdVbm1hdGNoZWQ9W10saT0wLGxlbj11bm1hdGNoZWQubGVuZ3RoLG1hcHBlZD1udWxsIT1tYXA7bGVuPmk7aSsrKShlbGVtPXVubWF0Y2hlZFtpXSkmJighZmlsdGVyfHxmaWx0ZXIoZWxlbSxjb250ZXh0LHhtbCkpJiYobmV3VW5tYXRjaGVkLnB1c2goZWxlbSksbWFwcGVkJiZtYXAucHVzaChpKSk7cmV0dXJuIG5ld1VubWF0Y2hlZH1mdW5jdGlvbiBzZXRNYXRjaGVyKHByZUZpbHRlcixzZWxlY3RvcixtYXRjaGVyLHBvc3RGaWx0ZXIscG9zdEZpbmRlcixwb3N0U2VsZWN0b3Ipe3JldHVybiBwb3N0RmlsdGVyJiYhcG9zdEZpbHRlcltleHBhbmRvXSYmKHBvc3RGaWx0ZXI9c2V0TWF0Y2hlcihwb3N0RmlsdGVyKSkscG9zdEZpbmRlciYmIXBvc3RGaW5kZXJbZXhwYW5kb10mJihwb3N0RmluZGVyPXNldE1hdGNoZXIocG9zdEZpbmRlcixwb3N0U2VsZWN0b3IpKSxtYXJrRnVuY3Rpb24oZnVuY3Rpb24oc2VlZCxyZXN1bHRzLGNvbnRleHQseG1sKXt2YXIgdGVtcCxpLGVsZW0scHJlTWFwPVtdLHBvc3RNYXA9W10scHJlZXhpc3Rpbmc9cmVzdWx0cy5sZW5ndGgsZWxlbXM9c2VlZHx8bXVsdGlwbGVDb250ZXh0cyhzZWxlY3Rvcnx8XCIqXCIsY29udGV4dC5ub2RlVHlwZT9bY29udGV4dF06Y29udGV4dCxbXSksbWF0Y2hlckluPSFwcmVGaWx0ZXJ8fCFzZWVkJiZzZWxlY3Rvcj9lbGVtczpjb25kZW5zZShlbGVtcyxwcmVNYXAscHJlRmlsdGVyLGNvbnRleHQseG1sKSxtYXRjaGVyT3V0PW1hdGNoZXI/cG9zdEZpbmRlcnx8KHNlZWQ/cHJlRmlsdGVyOnByZWV4aXN0aW5nfHxwb3N0RmlsdGVyKT9bXTpyZXN1bHRzOm1hdGNoZXJJbjtpZihtYXRjaGVyJiZtYXRjaGVyKG1hdGNoZXJJbixtYXRjaGVyT3V0LGNvbnRleHQseG1sKSxwb3N0RmlsdGVyKWZvcih0ZW1wPWNvbmRlbnNlKG1hdGNoZXJPdXQscG9zdE1hcCkscG9zdEZpbHRlcih0ZW1wLFtdLGNvbnRleHQseG1sKSxpPXRlbXAubGVuZ3RoO2ktLTspKGVsZW09dGVtcFtpXSkmJihtYXRjaGVyT3V0W3Bvc3RNYXBbaV1dPSEobWF0Y2hlckluW3Bvc3RNYXBbaV1dPWVsZW0pKTtpZihzZWVkKXtpZihwb3N0RmluZGVyfHxwcmVGaWx0ZXIpe2lmKHBvc3RGaW5kZXIpe2Zvcih0ZW1wPVtdLGk9bWF0Y2hlck91dC5sZW5ndGg7aS0tOykoZWxlbT1tYXRjaGVyT3V0W2ldKSYmdGVtcC5wdXNoKG1hdGNoZXJJbltpXT1lbGVtKTtwb3N0RmluZGVyKG51bGwsbWF0Y2hlck91dD1bXSx0ZW1wLHhtbCl9Zm9yKGk9bWF0Y2hlck91dC5sZW5ndGg7aS0tOykoZWxlbT1tYXRjaGVyT3V0W2ldKSYmKHRlbXA9cG9zdEZpbmRlcj9pbmRleE9mKHNlZWQsZWxlbSk6cHJlTWFwW2ldKT4tMSYmKHNlZWRbdGVtcF09IShyZXN1bHRzW3RlbXBdPWVsZW0pKX19ZWxzZSBtYXRjaGVyT3V0PWNvbmRlbnNlKG1hdGNoZXJPdXQ9PT1yZXN1bHRzP21hdGNoZXJPdXQuc3BsaWNlKHByZWV4aXN0aW5nLG1hdGNoZXJPdXQubGVuZ3RoKTptYXRjaGVyT3V0KSxwb3N0RmluZGVyP3Bvc3RGaW5kZXIobnVsbCxyZXN1bHRzLG1hdGNoZXJPdXQseG1sKTpwdXNoLmFwcGx5KHJlc3VsdHMsbWF0Y2hlck91dCl9KX1mdW5jdGlvbiBtYXRjaGVyRnJvbVRva2Vucyh0b2tlbnMpe2Zvcih2YXIgY2hlY2tDb250ZXh0LG1hdGNoZXIsaixsZW49dG9rZW5zLmxlbmd0aCxsZWFkaW5nUmVsYXRpdmU9RXhwci5yZWxhdGl2ZVt0b2tlbnNbMF0udHlwZV0saW1wbGljaXRSZWxhdGl2ZT1sZWFkaW5nUmVsYXRpdmV8fEV4cHIucmVsYXRpdmVbXCIgXCJdLGk9bGVhZGluZ1JlbGF0aXZlPzE6MCxtYXRjaENvbnRleHQ9YWRkQ29tYmluYXRvcihmdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbT09PWNoZWNrQ29udGV4dH0saW1wbGljaXRSZWxhdGl2ZSwhMCksbWF0Y2hBbnlDb250ZXh0PWFkZENvbWJpbmF0b3IoZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGluZGV4T2YoY2hlY2tDb250ZXh0LGVsZW0pPi0xfSxpbXBsaWNpdFJlbGF0aXZlLCEwKSxtYXRjaGVycz1bZnVuY3Rpb24oZWxlbSxjb250ZXh0LHhtbCl7dmFyIHJldD0hbGVhZGluZ1JlbGF0aXZlJiYoeG1sfHxjb250ZXh0IT09b3V0ZXJtb3N0Q29udGV4dCl8fCgoY2hlY2tDb250ZXh0PWNvbnRleHQpLm5vZGVUeXBlP21hdGNoQ29udGV4dChlbGVtLGNvbnRleHQseG1sKTptYXRjaEFueUNvbnRleHQoZWxlbSxjb250ZXh0LHhtbCkpO3JldHVybiBjaGVja0NvbnRleHQ9bnVsbCxyZXR9XTtsZW4+aTtpKyspaWYobWF0Y2hlcj1FeHByLnJlbGF0aXZlW3Rva2Vuc1tpXS50eXBlXSltYXRjaGVycz1bYWRkQ29tYmluYXRvcihlbGVtZW50TWF0Y2hlcihtYXRjaGVycyksbWF0Y2hlcildO2Vsc2V7aWYobWF0Y2hlcj1FeHByLmZpbHRlclt0b2tlbnNbaV0udHlwZV0uYXBwbHkobnVsbCx0b2tlbnNbaV0ubWF0Y2hlcyksbWF0Y2hlcltleHBhbmRvXSl7Zm9yKGo9KytpO2xlbj5qJiYhRXhwci5yZWxhdGl2ZVt0b2tlbnNbal0udHlwZV07aisrKTtyZXR1cm4gc2V0TWF0Y2hlcihpPjEmJmVsZW1lbnRNYXRjaGVyKG1hdGNoZXJzKSxpPjEmJnRvU2VsZWN0b3IodG9rZW5zLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOlwiIFwiPT09dG9rZW5zW2ktMl0udHlwZT9cIipcIjpcIlwifSkpLnJlcGxhY2UocnRyaW0sXCIkMVwiKSxtYXRjaGVyLGo+aSYmbWF0Y2hlckZyb21Ub2tlbnModG9rZW5zLnNsaWNlKGksaikpLGxlbj5qJiZtYXRjaGVyRnJvbVRva2Vucyh0b2tlbnM9dG9rZW5zLnNsaWNlKGopKSxsZW4+aiYmdG9TZWxlY3Rvcih0b2tlbnMpKX1tYXRjaGVycy5wdXNoKG1hdGNoZXIpfXJldHVybiBlbGVtZW50TWF0Y2hlcihtYXRjaGVycyl9ZnVuY3Rpb24gbWF0Y2hlckZyb21Hcm91cE1hdGNoZXJzKGVsZW1lbnRNYXRjaGVycyxzZXRNYXRjaGVycyl7dmFyIGJ5U2V0PXNldE1hdGNoZXJzLmxlbmd0aD4wLGJ5RWxlbWVudD1lbGVtZW50TWF0Y2hlcnMubGVuZ3RoPjAsc3VwZXJNYXRjaGVyPWZ1bmN0aW9uKHNlZWQsY29udGV4dCx4bWwscmVzdWx0cyxvdXRlcm1vc3Qpe3ZhciBlbGVtLGosbWF0Y2hlcixtYXRjaGVkQ291bnQ9MCxpPVwiMFwiLHVubWF0Y2hlZD1zZWVkJiZbXSxzZXRNYXRjaGVkPVtdLGNvbnRleHRCYWNrdXA9b3V0ZXJtb3N0Q29udGV4dCxlbGVtcz1zZWVkfHxieUVsZW1lbnQmJkV4cHIuZmluZC5UQUcoXCIqXCIsb3V0ZXJtb3N0KSxkaXJydW5zVW5pcXVlPWRpcnJ1bnMrPW51bGw9PWNvbnRleHRCYWNrdXA/MTpNYXRoLnJhbmRvbSgpfHwuMSxsZW49ZWxlbXMubGVuZ3RoO2ZvcihvdXRlcm1vc3QmJihvdXRlcm1vc3RDb250ZXh0PWNvbnRleHQhPT1kb2N1bWVudCYmY29udGV4dCk7aSE9PWxlbiYmbnVsbCE9KGVsZW09ZWxlbXNbaV0pO2krKyl7aWYoYnlFbGVtZW50JiZlbGVtKXtmb3Ioaj0wO21hdGNoZXI9ZWxlbWVudE1hdGNoZXJzW2orK107KWlmKG1hdGNoZXIoZWxlbSxjb250ZXh0LHhtbCkpe3Jlc3VsdHMucHVzaChlbGVtKTtcbmJyZWFrfW91dGVybW9zdCYmKGRpcnJ1bnM9ZGlycnVuc1VuaXF1ZSl9YnlTZXQmJigoZWxlbT0hbWF0Y2hlciYmZWxlbSkmJm1hdGNoZWRDb3VudC0tLHNlZWQmJnVubWF0Y2hlZC5wdXNoKGVsZW0pKX1pZihtYXRjaGVkQ291bnQrPWksYnlTZXQmJmkhPT1tYXRjaGVkQ291bnQpe2ZvcihqPTA7bWF0Y2hlcj1zZXRNYXRjaGVyc1tqKytdOyltYXRjaGVyKHVubWF0Y2hlZCxzZXRNYXRjaGVkLGNvbnRleHQseG1sKTtpZihzZWVkKXtpZihtYXRjaGVkQ291bnQ+MClmb3IoO2ktLTspdW5tYXRjaGVkW2ldfHxzZXRNYXRjaGVkW2ldfHwoc2V0TWF0Y2hlZFtpXT1wb3AuY2FsbChyZXN1bHRzKSk7c2V0TWF0Y2hlZD1jb25kZW5zZShzZXRNYXRjaGVkKX1wdXNoLmFwcGx5KHJlc3VsdHMsc2V0TWF0Y2hlZCksb3V0ZXJtb3N0JiYhc2VlZCYmc2V0TWF0Y2hlZC5sZW5ndGg+MCYmbWF0Y2hlZENvdW50K3NldE1hdGNoZXJzLmxlbmd0aD4xJiZTaXp6bGUudW5pcXVlU29ydChyZXN1bHRzKX1yZXR1cm4gb3V0ZXJtb3N0JiYoZGlycnVucz1kaXJydW5zVW5pcXVlLG91dGVybW9zdENvbnRleHQ9Y29udGV4dEJhY2t1cCksdW5tYXRjaGVkfTtyZXR1cm4gYnlTZXQ/bWFya0Z1bmN0aW9uKHN1cGVyTWF0Y2hlcik6c3VwZXJNYXRjaGVyfXZhciBpLHN1cHBvcnQsRXhwcixnZXRUZXh0LGlzWE1MLHRva2VuaXplLGNvbXBpbGUsc2VsZWN0LG91dGVybW9zdENvbnRleHQsc29ydElucHV0LGhhc0R1cGxpY2F0ZSxzZXREb2N1bWVudCxkb2N1bWVudCxkb2NFbGVtLGRvY3VtZW50SXNIVE1MLHJidWdneVFTQSxyYnVnZ3lNYXRjaGVzLG1hdGNoZXMsY29udGFpbnMsZXhwYW5kbz1cInNpenpsZVwiKzEqbmV3IERhdGUscHJlZmVycmVkRG9jPXdpbmRvdy5kb2N1bWVudCxkaXJydW5zPTAsZG9uZT0wLGNsYXNzQ2FjaGU9Y3JlYXRlQ2FjaGUoKSx0b2tlbkNhY2hlPWNyZWF0ZUNhY2hlKCksY29tcGlsZXJDYWNoZT1jcmVhdGVDYWNoZSgpLHNvcnRPcmRlcj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGhhc0R1cGxpY2F0ZT0hMCksMH0sTUFYX05FR0FUSVZFPTE8PDMxLGhhc093bj17fS5oYXNPd25Qcm9wZXJ0eSxhcnI9W10scG9wPWFyci5wb3AscHVzaF9uYXRpdmU9YXJyLnB1c2gscHVzaD1hcnIucHVzaCxzbGljZT1hcnIuc2xpY2UsaW5kZXhPZj1mdW5jdGlvbihsaXN0LGVsZW0pe2Zvcih2YXIgaT0wLGxlbj1saXN0Lmxlbmd0aDtsZW4+aTtpKyspaWYobGlzdFtpXT09PWVsZW0pcmV0dXJuIGk7cmV0dXJuLTF9LGJvb2xlYW5zPVwiY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWRcIix3aGl0ZXNwYWNlPVwiW1xcXFx4MjBcXFxcdFxcXFxyXFxcXG5cXFxcZl1cIixjaGFyYWN0ZXJFbmNvZGluZz1cIig/OlxcXFxcXFxcLnxbXFxcXHctXXxbXlxcXFx4MDAtXFxcXHhhMF0pK1wiLGlkZW50aWZpZXI9Y2hhcmFjdGVyRW5jb2RpbmcucmVwbGFjZShcIndcIixcIncjXCIpLGF0dHJpYnV0ZXM9XCJcXFxcW1wiK3doaXRlc3BhY2UrXCIqKFwiK2NoYXJhY3RlckVuY29kaW5nK1wiKSg/OlwiK3doaXRlc3BhY2UrXCIqKFsqXiR8IX5dPz0pXCIrd2hpdGVzcGFjZStcIiooPzonKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcJ10pKiknfFxcXCIoKD86XFxcXFxcXFwufFteXFxcXFxcXFxcXFwiXSkqKVxcXCJ8KFwiK2lkZW50aWZpZXIrXCIpKXwpXCIrd2hpdGVzcGFjZStcIipcXFxcXVwiLHBzZXVkb3M9XCI6KFwiK2NoYXJhY3RlckVuY29kaW5nK1wiKSg/OlxcXFwoKCgnKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcJ10pKiknfFxcXCIoKD86XFxcXFxcXFwufFteXFxcXFxcXFxcXFwiXSkqKVxcXCIpfCgoPzpcXFxcXFxcXC58W15cXFxcXFxcXCgpW1xcXFxdXXxcIithdHRyaWJ1dGVzK1wiKSopfC4qKVxcXFwpfClcIixyd2hpdGVzcGFjZT1uZXcgUmVnRXhwKHdoaXRlc3BhY2UrXCIrXCIsXCJnXCIpLHJ0cmltPW5ldyBSZWdFeHAoXCJeXCIrd2hpdGVzcGFjZStcIit8KCg/Ol58W15cXFxcXFxcXF0pKD86XFxcXFxcXFwuKSopXCIrd2hpdGVzcGFjZStcIiskXCIsXCJnXCIpLHJjb21tYT1uZXcgUmVnRXhwKFwiXlwiK3doaXRlc3BhY2UrXCIqLFwiK3doaXRlc3BhY2UrXCIqXCIpLHJjb21iaW5hdG9ycz1uZXcgUmVnRXhwKFwiXlwiK3doaXRlc3BhY2UrXCIqKFs+K35dfFwiK3doaXRlc3BhY2UrXCIpXCIrd2hpdGVzcGFjZStcIipcIikscmF0dHJpYnV0ZVF1b3Rlcz1uZXcgUmVnRXhwKFwiPVwiK3doaXRlc3BhY2UrXCIqKFteXFxcXF0nXFxcIl0qPylcIit3aGl0ZXNwYWNlK1wiKlxcXFxdXCIsXCJnXCIpLHJwc2V1ZG89bmV3IFJlZ0V4cChwc2V1ZG9zKSxyaWRlbnRpZmllcj1uZXcgUmVnRXhwKFwiXlwiK2lkZW50aWZpZXIrXCIkXCIpLG1hdGNoRXhwcj17SUQ6bmV3IFJlZ0V4cChcIl4jKFwiK2NoYXJhY3RlckVuY29kaW5nK1wiKVwiKSxDTEFTUzpuZXcgUmVnRXhwKFwiXlxcXFwuKFwiK2NoYXJhY3RlckVuY29kaW5nK1wiKVwiKSxUQUc6bmV3IFJlZ0V4cChcIl4oXCIrY2hhcmFjdGVyRW5jb2RpbmcucmVwbGFjZShcIndcIixcIncqXCIpK1wiKVwiKSxBVFRSOm5ldyBSZWdFeHAoXCJeXCIrYXR0cmlidXRlcyksUFNFVURPOm5ldyBSZWdFeHAoXCJeXCIrcHNldWRvcyksQ0hJTEQ6bmV3IFJlZ0V4cChcIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcXFwoXCIrd2hpdGVzcGFjZStcIiooZXZlbnxvZGR8KChbKy1dfCkoXFxcXGQqKW58KVwiK3doaXRlc3BhY2UrXCIqKD86KFsrLV18KVwiK3doaXRlc3BhY2UrXCIqKFxcXFxkKyl8KSlcIit3aGl0ZXNwYWNlK1wiKlxcXFwpfClcIixcImlcIiksYm9vbDpuZXcgUmVnRXhwKFwiXig/OlwiK2Jvb2xlYW5zK1wiKSRcIixcImlcIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoXCJeXCIrd2hpdGVzcGFjZStcIipbPit+XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcXFwoXCIrd2hpdGVzcGFjZStcIiooKD86LVxcXFxkKT9cXFxcZCopXCIrd2hpdGVzcGFjZStcIipcXFxcKXwpKD89W14tXXwkKVwiLFwiaVwiKX0scmlucHV0cz0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLHJoZWFkZXI9L15oXFxkJC9pLHJuYXRpdmU9L15bXntdK1xce1xccypcXFtuYXRpdmUgXFx3LyxycXVpY2tFeHByPS9eKD86IyhbXFx3LV0rKXwoXFx3Kyl8XFwuKFtcXHctXSspKSQvLHJzaWJsaW5nPS9bK35dLyxyZXNjYXBlPS8nfFxcXFwvZyxydW5lc2NhcGU9bmV3IFJlZ0V4cChcIlxcXFxcXFxcKFtcXFxcZGEtZl17MSw2fVwiK3doaXRlc3BhY2UrXCI/fChcIit3aGl0ZXNwYWNlK1wiKXwuKVwiLFwiaWdcIiksZnVuZXNjYXBlPWZ1bmN0aW9uKF8sZXNjYXBlZCxlc2NhcGVkV2hpdGVzcGFjZSl7dmFyIGhpZ2g9XCIweFwiK2VzY2FwZWQtNjU1MzY7cmV0dXJuIGhpZ2ghPT1oaWdofHxlc2NhcGVkV2hpdGVzcGFjZT9lc2NhcGVkOjA+aGlnaD9TdHJpbmcuZnJvbUNoYXJDb2RlKGhpZ2grNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoaGlnaD4+MTB8NTUyOTYsMTAyMyZoaWdofDU2MzIwKX0sdW5sb2FkSGFuZGxlcj1mdW5jdGlvbigpe3NldERvY3VtZW50KCl9O3RyeXtwdXNoLmFwcGx5KGFycj1zbGljZS5jYWxsKHByZWZlcnJlZERvYy5jaGlsZE5vZGVzKSxwcmVmZXJyZWREb2MuY2hpbGROb2RlcyksYXJyW3ByZWZlcnJlZERvYy5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZSl7cHVzaD17YXBwbHk6YXJyLmxlbmd0aD9mdW5jdGlvbih0YXJnZXQsZWxzKXtwdXNoX25hdGl2ZS5hcHBseSh0YXJnZXQsc2xpY2UuY2FsbChlbHMpKX06ZnVuY3Rpb24odGFyZ2V0LGVscyl7Zm9yKHZhciBqPXRhcmdldC5sZW5ndGgsaT0wO3RhcmdldFtqKytdPWVsc1tpKytdOyk7dGFyZ2V0Lmxlbmd0aD1qLTF9fX1zdXBwb3J0PVNpenpsZS5zdXBwb3J0PXt9LGlzWE1MPVNpenpsZS5pc1hNTD1mdW5jdGlvbihlbGVtKXt2YXIgZG9jdW1lbnRFbGVtZW50PWVsZW0mJihlbGVtLm93bmVyRG9jdW1lbnR8fGVsZW0pLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gZG9jdW1lbnRFbGVtZW50P1wiSFRNTFwiIT09ZG9jdW1lbnRFbGVtZW50Lm5vZGVOYW1lOiExfSxzZXREb2N1bWVudD1TaXp6bGUuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24obm9kZSl7dmFyIGhhc0NvbXBhcmUscGFyZW50LGRvYz1ub2RlP25vZGUub3duZXJEb2N1bWVudHx8bm9kZTpwcmVmZXJyZWREb2M7cmV0dXJuIGRvYyE9PWRvY3VtZW50JiY5PT09ZG9jLm5vZGVUeXBlJiZkb2MuZG9jdW1lbnRFbGVtZW50Pyhkb2N1bWVudD1kb2MsZG9jRWxlbT1kb2MuZG9jdW1lbnRFbGVtZW50LHBhcmVudD1kb2MuZGVmYXVsdFZpZXcscGFyZW50JiZwYXJlbnQhPT1wYXJlbnQudG9wJiYocGFyZW50LmFkZEV2ZW50TGlzdGVuZXI/cGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJ1bmxvYWRcIix1bmxvYWRIYW5kbGVyLCExKTpwYXJlbnQuYXR0YWNoRXZlbnQmJnBhcmVudC5hdHRhY2hFdmVudChcIm9udW5sb2FkXCIsdW5sb2FkSGFuZGxlcikpLGRvY3VtZW50SXNIVE1MPSFpc1hNTChkb2MpLHN1cHBvcnQuYXR0cmlidXRlcz1hc3NlcnQoZnVuY3Rpb24oZGl2KXtyZXR1cm4gZGl2LmNsYXNzTmFtZT1cImlcIiwhZGl2LmdldEF0dHJpYnV0ZShcImNsYXNzTmFtZVwiKX0pLHN1cHBvcnQuZ2V0RWxlbWVudHNCeVRhZ05hbWU9YXNzZXJ0KGZ1bmN0aW9uKGRpdil7cmV0dXJuIGRpdi5hcHBlbmRDaGlsZChkb2MuY3JlYXRlQ29tbWVudChcIlwiKSksIWRpdi5nZXRFbGVtZW50c0J5VGFnTmFtZShcIipcIikubGVuZ3RofSksc3VwcG9ydC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPXJuYXRpdmUudGVzdChkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSksc3VwcG9ydC5nZXRCeUlkPWFzc2VydChmdW5jdGlvbihkaXYpe3JldHVybiBkb2NFbGVtLmFwcGVuZENoaWxkKGRpdikuaWQ9ZXhwYW5kbywhZG9jLmdldEVsZW1lbnRzQnlOYW1lfHwhZG9jLmdldEVsZW1lbnRzQnlOYW1lKGV4cGFuZG8pLmxlbmd0aH0pLHN1cHBvcnQuZ2V0QnlJZD8oRXhwci5maW5kLklEPWZ1bmN0aW9uKGlkLGNvbnRleHQpe2lmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRCeUlkJiZkb2N1bWVudElzSFRNTCl7dmFyIG09Y29udGV4dC5nZXRFbGVtZW50QnlJZChpZCk7cmV0dXJuIG0mJm0ucGFyZW50Tm9kZT9bbV06W119fSxFeHByLmZpbHRlci5JRD1mdW5jdGlvbihpZCl7dmFyIGF0dHJJZD1pZC5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpO3JldHVybiBmdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUoXCJpZFwiKT09PWF0dHJJZH19KTooZGVsZXRlIEV4cHIuZmluZC5JRCxFeHByLmZpbHRlci5JRD1mdW5jdGlvbihpZCl7dmFyIGF0dHJJZD1pZC5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpO3JldHVybiBmdW5jdGlvbihlbGVtKXt2YXIgbm9kZT1cInVuZGVmaW5lZFwiIT10eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGVOb2RlJiZlbGVtLmdldEF0dHJpYnV0ZU5vZGUoXCJpZFwiKTtyZXR1cm4gbm9kZSYmbm9kZS52YWx1ZT09PWF0dHJJZH19KSxFeHByLmZpbmQuVEFHPXN1cHBvcnQuZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24odGFnLGNvbnRleHQpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lP2NvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUodGFnKTpzdXBwb3J0LnFzYT9jb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwodGFnKTp2b2lkIDB9OmZ1bmN0aW9uKHRhZyxjb250ZXh0KXt2YXIgZWxlbSx0bXA9W10saT0wLHJlc3VsdHM9Y29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSh0YWcpO2lmKFwiKlwiPT09dGFnKXtmb3IoO2VsZW09cmVzdWx0c1tpKytdOykxPT09ZWxlbS5ub2RlVHlwZSYmdG1wLnB1c2goZWxlbSk7cmV0dXJuIHRtcH1yZXR1cm4gcmVzdWx0c30sRXhwci5maW5kLkNMQVNTPXN1cHBvcnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oY2xhc3NOYW1lLGNvbnRleHQpe3JldHVybiBkb2N1bWVudElzSFRNTD9jb250ZXh0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY2xhc3NOYW1lKTp2b2lkIDB9LHJidWdneU1hdGNoZXM9W10scmJ1Z2d5UVNBPVtdLChzdXBwb3J0LnFzYT1ybmF0aXZlLnRlc3QoZG9jLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGFzc2VydChmdW5jdGlvbihkaXYpe2RvY0VsZW0uYXBwZW5kQ2hpbGQoZGl2KS5pbm5lckhUTUw9XCI8YSBpZD0nXCIrZXhwYW5kbytcIic+PC9hPjxzZWxlY3QgaWQ9J1wiK2V4cGFuZG8rXCItXFxmXScgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD5cIixkaXYucXVlcnlTZWxlY3RvckFsbChcIlttc2FsbG93Y2FwdHVyZV49JyddXCIpLmxlbmd0aCYmcmJ1Z2d5UVNBLnB1c2goXCJbKl4kXT1cIit3aGl0ZXNwYWNlK1wiKig/OicnfFxcXCJcXFwiKVwiKSxkaXYucXVlcnlTZWxlY3RvckFsbChcIltzZWxlY3RlZF1cIikubGVuZ3RofHxyYnVnZ3lRU0EucHVzaChcIlxcXFxbXCIrd2hpdGVzcGFjZStcIiooPzp2YWx1ZXxcIitib29sZWFucytcIilcIiksZGl2LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbaWR+PVwiK2V4cGFuZG8rXCItXVwiKS5sZW5ndGh8fHJidWdneVFTQS5wdXNoKFwifj1cIiksZGl2LnF1ZXJ5U2VsZWN0b3JBbGwoXCI6Y2hlY2tlZFwiKS5sZW5ndGh8fHJidWdneVFTQS5wdXNoKFwiOmNoZWNrZWRcIiksZGl2LnF1ZXJ5U2VsZWN0b3JBbGwoXCJhI1wiK2V4cGFuZG8rXCIrKlwiKS5sZW5ndGh8fHJidWdneVFTQS5wdXNoKFwiLiMuK1srfl1cIil9KSxhc3NlcnQoZnVuY3Rpb24oZGl2KXt2YXIgaW5wdXQ9ZG9jLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTtpbnB1dC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsXCJoaWRkZW5cIiksZGl2LmFwcGVuZENoaWxkKGlucHV0KS5zZXRBdHRyaWJ1dGUoXCJuYW1lXCIsXCJEXCIpLGRpdi5xdWVyeVNlbGVjdG9yQWxsKFwiW25hbWU9ZF1cIikubGVuZ3RoJiZyYnVnZ3lRU0EucHVzaChcIm5hbWVcIit3aGl0ZXNwYWNlK1wiKlsqXiR8IX5dPz1cIiksZGl2LnF1ZXJ5U2VsZWN0b3JBbGwoXCI6ZW5hYmxlZFwiKS5sZW5ndGh8fHJidWdneVFTQS5wdXNoKFwiOmVuYWJsZWRcIixcIjpkaXNhYmxlZFwiKSxkaXYucXVlcnlTZWxlY3RvckFsbChcIiosOnhcIikscmJ1Z2d5UVNBLnB1c2goXCIsLio6XCIpfSkpLChzdXBwb3J0Lm1hdGNoZXNTZWxlY3Rvcj1ybmF0aXZlLnRlc3QobWF0Y2hlcz1kb2NFbGVtLm1hdGNoZXN8fGRvY0VsZW0ud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxkb2NFbGVtLm1vek1hdGNoZXNTZWxlY3Rvcnx8ZG9jRWxlbS5vTWF0Y2hlc1NlbGVjdG9yfHxkb2NFbGVtLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmFzc2VydChmdW5jdGlvbihkaXYpe3N1cHBvcnQuZGlzY29ubmVjdGVkTWF0Y2g9bWF0Y2hlcy5jYWxsKGRpdixcImRpdlwiKSxtYXRjaGVzLmNhbGwoZGl2LFwiW3MhPScnXTp4XCIpLHJidWdneU1hdGNoZXMucHVzaChcIiE9XCIscHNldWRvcyl9KSxyYnVnZ3lRU0E9cmJ1Z2d5UVNBLmxlbmd0aCYmbmV3IFJlZ0V4cChyYnVnZ3lRU0Euam9pbihcInxcIikpLHJidWdneU1hdGNoZXM9cmJ1Z2d5TWF0Y2hlcy5sZW5ndGgmJm5ldyBSZWdFeHAocmJ1Z2d5TWF0Y2hlcy5qb2luKFwifFwiKSksaGFzQ29tcGFyZT1ybmF0aXZlLnRlc3QoZG9jRWxlbS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiksY29udGFpbnM9aGFzQ29tcGFyZXx8cm5hdGl2ZS50ZXN0KGRvY0VsZW0uY29udGFpbnMpP2Z1bmN0aW9uKGEsYil7dmFyIGFkb3duPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsYnVwPWImJmIucGFyZW50Tm9kZTtyZXR1cm4gYT09PWJ1cHx8ISghYnVwfHwxIT09YnVwLm5vZGVUeXBlfHwhKGFkb3duLmNvbnRhaW5zP2Fkb3duLmNvbnRhaW5zKGJ1cCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihidXApKSl9OmZ1bmN0aW9uKGEsYil7aWYoYilmb3IoO2I9Yi5wYXJlbnROb2RlOylpZihiPT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sc29ydE9yZGVyPWhhc0NvbXBhcmU/ZnVuY3Rpb24oYSxiKXtpZihhPT09YilyZXR1cm4gaGFzRHVwbGljYXRlPSEwLDA7dmFyIGNvbXBhcmU9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGNvbXBhcmU/Y29tcGFyZTooY29tcGFyZT0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmNvbXBhcmV8fCFzdXBwb3J0LnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWNvbXBhcmU/YT09PWRvY3x8YS5vd25lckRvY3VtZW50PT09cHJlZmVycmVkRG9jJiZjb250YWlucyhwcmVmZXJyZWREb2MsYSk/LTE6Yj09PWRvY3x8Yi5vd25lckRvY3VtZW50PT09cHJlZmVycmVkRG9jJiZjb250YWlucyhwcmVmZXJyZWREb2MsYik/MTpzb3J0SW5wdXQ/aW5kZXhPZihzb3J0SW5wdXQsYSktaW5kZXhPZihzb3J0SW5wdXQsYik6MDo0JmNvbXBhcmU/LTE6MSl9OmZ1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGhhc0R1cGxpY2F0ZT0hMCwwO3ZhciBjdXIsaT0wLGF1cD1hLnBhcmVudE5vZGUsYnVwPWIucGFyZW50Tm9kZSxhcD1bYV0sYnA9W2JdO2lmKCFhdXB8fCFidXApcmV0dXJuIGE9PT1kb2M/LTE6Yj09PWRvYz8xOmF1cD8tMTpidXA/MTpzb3J0SW5wdXQ/aW5kZXhPZihzb3J0SW5wdXQsYSktaW5kZXhPZihzb3J0SW5wdXQsYik6MDtpZihhdXA9PT1idXApcmV0dXJuIHNpYmxpbmdDaGVjayhhLGIpO2ZvcihjdXI9YTtjdXI9Y3VyLnBhcmVudE5vZGU7KWFwLnVuc2hpZnQoY3VyKTtmb3IoY3VyPWI7Y3VyPWN1ci5wYXJlbnROb2RlOylicC51bnNoaWZ0KGN1cik7Zm9yKDthcFtpXT09PWJwW2ldOylpKys7cmV0dXJuIGk/c2libGluZ0NoZWNrKGFwW2ldLGJwW2ldKTphcFtpXT09PXByZWZlcnJlZERvYz8tMTpicFtpXT09PXByZWZlcnJlZERvYz8xOjB9LGRvYyk6ZG9jdW1lbnR9LFNpenpsZS5tYXRjaGVzPWZ1bmN0aW9uKGV4cHIsZWxlbWVudHMpe3JldHVybiBTaXp6bGUoZXhwcixudWxsLG51bGwsZWxlbWVudHMpfSxTaXp6bGUubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGVsZW0sZXhwcil7aWYoKGVsZW0ub3duZXJEb2N1bWVudHx8ZWxlbSkhPT1kb2N1bWVudCYmc2V0RG9jdW1lbnQoZWxlbSksZXhwcj1leHByLnJlcGxhY2UocmF0dHJpYnV0ZVF1b3RlcyxcIj0nJDEnXVwiKSxzdXBwb3J0Lm1hdGNoZXNTZWxlY3RvciYmZG9jdW1lbnRJc0hUTUwmJighcmJ1Z2d5TWF0Y2hlc3x8IXJidWdneU1hdGNoZXMudGVzdChleHByKSkmJighcmJ1Z2d5UVNBfHwhcmJ1Z2d5UVNBLnRlc3QoZXhwcikpKXRyeXt2YXIgcmV0PW1hdGNoZXMuY2FsbChlbGVtLGV4cHIpO2lmKHJldHx8c3VwcG9ydC5kaXNjb25uZWN0ZWRNYXRjaHx8ZWxlbS5kb2N1bWVudCYmMTEhPT1lbGVtLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiByZXR9Y2F0Y2goZSl7fXJldHVybiBTaXp6bGUoZXhwcixkb2N1bWVudCxudWxsLFtlbGVtXSkubGVuZ3RoPjB9LFNpenpsZS5jb250YWlucz1mdW5jdGlvbihjb250ZXh0LGVsZW0pe3JldHVybihjb250ZXh0Lm93bmVyRG9jdW1lbnR8fGNvbnRleHQpIT09ZG9jdW1lbnQmJnNldERvY3VtZW50KGNvbnRleHQpLGNvbnRhaW5zKGNvbnRleHQsZWxlbSl9LFNpenpsZS5hdHRyPWZ1bmN0aW9uKGVsZW0sbmFtZSl7KGVsZW0ub3duZXJEb2N1bWVudHx8ZWxlbSkhPT1kb2N1bWVudCYmc2V0RG9jdW1lbnQoZWxlbSk7dmFyIGZuPUV4cHIuYXR0ckhhbmRsZVtuYW1lLnRvTG93ZXJDYXNlKCldLHZhbD1mbiYmaGFzT3duLmNhbGwoRXhwci5hdHRySGFuZGxlLG5hbWUudG9Mb3dlckNhc2UoKSk/Zm4oZWxlbSxuYW1lLCFkb2N1bWVudElzSFRNTCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT12YWw/dmFsOnN1cHBvcnQuYXR0cmlidXRlc3x8IWRvY3VtZW50SXNIVE1MP2VsZW0uZ2V0QXR0cmlidXRlKG5hbWUpOih2YWw9ZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKG5hbWUpKSYmdmFsLnNwZWNpZmllZD92YWwudmFsdWU6bnVsbH0sU2l6emxlLmVycm9yPWZ1bmN0aW9uKG1zZyl7dGhyb3cgbmV3IEVycm9yKFwiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogXCIrbXNnKX0sU2l6emxlLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24ocmVzdWx0cyl7dmFyIGVsZW0sZHVwbGljYXRlcz1bXSxqPTAsaT0wO2lmKGhhc0R1cGxpY2F0ZT0hc3VwcG9ydC5kZXRlY3REdXBsaWNhdGVzLHNvcnRJbnB1dD0hc3VwcG9ydC5zb3J0U3RhYmxlJiZyZXN1bHRzLnNsaWNlKDApLHJlc3VsdHMuc29ydChzb3J0T3JkZXIpLGhhc0R1cGxpY2F0ZSl7Zm9yKDtlbGVtPXJlc3VsdHNbaSsrXTspZWxlbT09PXJlc3VsdHNbaV0mJihqPWR1cGxpY2F0ZXMucHVzaChpKSk7Zm9yKDtqLS07KXJlc3VsdHMuc3BsaWNlKGR1cGxpY2F0ZXNbal0sMSl9cmV0dXJuIHNvcnRJbnB1dD1udWxsLHJlc3VsdHN9LGdldFRleHQ9U2l6emxlLmdldFRleHQ9ZnVuY3Rpb24oZWxlbSl7dmFyIG5vZGUscmV0PVwiXCIsaT0wLG5vZGVUeXBlPWVsZW0ubm9kZVR5cGU7aWYobm9kZVR5cGUpe2lmKDE9PT1ub2RlVHlwZXx8OT09PW5vZGVUeXBlfHwxMT09PW5vZGVUeXBlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZWxlbS50ZXh0Q29udGVudClyZXR1cm4gZWxlbS50ZXh0Q29udGVudDtmb3IoZWxlbT1lbGVtLmZpcnN0Q2hpbGQ7ZWxlbTtlbGVtPWVsZW0ubmV4dFNpYmxpbmcpcmV0Kz1nZXRUZXh0KGVsZW0pfWVsc2UgaWYoMz09PW5vZGVUeXBlfHw0PT09bm9kZVR5cGUpcmV0dXJuIGVsZW0ubm9kZVZhbHVlfWVsc2UgZm9yKDtub2RlPWVsZW1baSsrXTspcmV0Kz1nZXRUZXh0KG5vZGUpO3JldHVybiByZXR9LEV4cHI9U2l6emxlLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOm1hcmtGdW5jdGlvbixtYXRjaDptYXRjaEV4cHIsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOntcIj5cIjp7ZGlyOlwicGFyZW50Tm9kZVwiLGZpcnN0OiEwfSxcIiBcIjp7ZGlyOlwicGFyZW50Tm9kZVwifSxcIitcIjp7ZGlyOlwicHJldmlvdXNTaWJsaW5nXCIsZmlyc3Q6ITB9LFwiflwiOntkaXI6XCJwcmV2aW91c1NpYmxpbmdcIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihtYXRjaCl7cmV0dXJuIG1hdGNoWzFdPW1hdGNoWzFdLnJlcGxhY2UocnVuZXNjYXBlLGZ1bmVzY2FwZSksbWF0Y2hbM109KG1hdGNoWzNdfHxtYXRjaFs0XXx8bWF0Y2hbNV18fFwiXCIpLnJlcGxhY2UocnVuZXNjYXBlLGZ1bmVzY2FwZSksXCJ+PVwiPT09bWF0Y2hbMl0mJihtYXRjaFszXT1cIiBcIittYXRjaFszXStcIiBcIiksbWF0Y2guc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24obWF0Y2gpe3JldHVybiBtYXRjaFsxXT1tYXRjaFsxXS50b0xvd2VyQ2FzZSgpLFwibnRoXCI9PT1tYXRjaFsxXS5zbGljZSgwLDMpPyhtYXRjaFszXXx8U2l6emxlLmVycm9yKG1hdGNoWzBdKSxtYXRjaFs0XT0rKG1hdGNoWzRdP21hdGNoWzVdKyhtYXRjaFs2XXx8MSk6MiooXCJldmVuXCI9PT1tYXRjaFszXXx8XCJvZGRcIj09PW1hdGNoWzNdKSksbWF0Y2hbNV09KyhtYXRjaFs3XSttYXRjaFs4XXx8XCJvZGRcIj09PW1hdGNoWzNdKSk6bWF0Y2hbM10mJlNpenpsZS5lcnJvcihtYXRjaFswXSksbWF0Y2h9LFBTRVVETzpmdW5jdGlvbihtYXRjaCl7dmFyIGV4Y2Vzcyx1bnF1b3RlZD0hbWF0Y2hbNl0mJm1hdGNoWzJdO3JldHVybiBtYXRjaEV4cHIuQ0hJTEQudGVzdChtYXRjaFswXSk/bnVsbDoobWF0Y2hbM10/bWF0Y2hbMl09bWF0Y2hbNF18fG1hdGNoWzVdfHxcIlwiOnVucXVvdGVkJiZycHNldWRvLnRlc3QodW5xdW90ZWQpJiYoZXhjZXNzPXRva2VuaXplKHVucXVvdGVkLCEwKSkmJihleGNlc3M9dW5xdW90ZWQuaW5kZXhPZihcIilcIix1bnF1b3RlZC5sZW5ndGgtZXhjZXNzKS11bnF1b3RlZC5sZW5ndGgpJiYobWF0Y2hbMF09bWF0Y2hbMF0uc2xpY2UoMCxleGNlc3MpLG1hdGNoWzJdPXVucXVvdGVkLnNsaWNlKDAsZXhjZXNzKSksbWF0Y2guc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihub2RlTmFtZVNlbGVjdG9yKXt2YXIgbm9kZU5hbWU9bm9kZU5hbWVTZWxlY3Rvci5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCIqXCI9PT1ub2RlTmFtZVNlbGVjdG9yP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLm5vZGVOYW1lJiZlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ub2RlTmFtZX19LENMQVNTOmZ1bmN0aW9uKGNsYXNzTmFtZSl7dmFyIHBhdHRlcm49Y2xhc3NDYWNoZVtjbGFzc05hbWUrXCIgXCJdO3JldHVybiBwYXR0ZXJufHwocGF0dGVybj1uZXcgUmVnRXhwKFwiKF58XCIrd2hpdGVzcGFjZStcIilcIitjbGFzc05hbWUrXCIoXCIrd2hpdGVzcGFjZStcInwkKVwiKSkmJmNsYXNzQ2FjaGUoY2xhc3NOYW1lLGZ1bmN0aW9uKGVsZW0pe3JldHVybiBwYXR0ZXJuLnRlc3QoXCJzdHJpbmdcIj09dHlwZW9mIGVsZW0uY2xhc3NOYW1lJiZlbGVtLmNsYXNzTmFtZXx8XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGVsZW0uZ2V0QXR0cmlidXRlJiZlbGVtLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwiKX0pfSxBVFRSOmZ1bmN0aW9uKG5hbWUsb3BlcmF0b3IsY2hlY2spe3JldHVybiBmdW5jdGlvbihlbGVtKXt2YXIgcmVzdWx0PVNpenpsZS5hdHRyKGVsZW0sbmFtZSk7cmV0dXJuIG51bGw9PXJlc3VsdD9cIiE9XCI9PT1vcGVyYXRvcjpvcGVyYXRvcj8ocmVzdWx0Kz1cIlwiLFwiPVwiPT09b3BlcmF0b3I/cmVzdWx0PT09Y2hlY2s6XCIhPVwiPT09b3BlcmF0b3I/cmVzdWx0IT09Y2hlY2s6XCJePVwiPT09b3BlcmF0b3I/Y2hlY2smJjA9PT1yZXN1bHQuaW5kZXhPZihjaGVjayk6XCIqPVwiPT09b3BlcmF0b3I/Y2hlY2smJnJlc3VsdC5pbmRleE9mKGNoZWNrKT4tMTpcIiQ9XCI9PT1vcGVyYXRvcj9jaGVjayYmcmVzdWx0LnNsaWNlKC1jaGVjay5sZW5ndGgpPT09Y2hlY2s6XCJ+PVwiPT09b3BlcmF0b3I/KFwiIFwiK3Jlc3VsdC5yZXBsYWNlKHJ3aGl0ZXNwYWNlLFwiIFwiKStcIiBcIikuaW5kZXhPZihjaGVjayk+LTE6XCJ8PVwiPT09b3BlcmF0b3I/cmVzdWx0PT09Y2hlY2t8fHJlc3VsdC5zbGljZSgwLGNoZWNrLmxlbmd0aCsxKT09PWNoZWNrK1wiLVwiOiExKTohMH19LENISUxEOmZ1bmN0aW9uKHR5cGUsd2hhdCxhcmd1bWVudCxmaXJzdCxsYXN0KXt2YXIgc2ltcGxlPVwibnRoXCIhPT10eXBlLnNsaWNlKDAsMyksZm9yd2FyZD1cImxhc3RcIiE9PXR5cGUuc2xpY2UoLTQpLG9mVHlwZT1cIm9mLXR5cGVcIj09PXdoYXQ7cmV0dXJuIDE9PT1maXJzdCYmMD09PWxhc3Q/ZnVuY3Rpb24oZWxlbSl7cmV0dXJuISFlbGVtLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGVsZW0sY29udGV4dCx4bWwpe3ZhciBjYWNoZSxvdXRlckNhY2hlLG5vZGUsZGlmZixub2RlSW5kZXgsc3RhcnQsZGlyPXNpbXBsZSE9PWZvcndhcmQ/XCJuZXh0U2libGluZ1wiOlwicHJldmlvdXNTaWJsaW5nXCIscGFyZW50PWVsZW0ucGFyZW50Tm9kZSxuYW1lPW9mVHlwZSYmZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHVzZUNhY2hlPSF4bWwmJiFvZlR5cGU7aWYocGFyZW50KXtpZihzaW1wbGUpe2Zvcig7ZGlyOyl7Zm9yKG5vZGU9ZWxlbTtub2RlPW5vZGVbZGlyXTspaWYob2ZUeXBlP25vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PW5hbWU6MT09PW5vZGUubm9kZVR5cGUpcmV0dXJuITE7c3RhcnQ9ZGlyPVwib25seVwiPT09dHlwZSYmIXN0YXJ0JiZcIm5leHRTaWJsaW5nXCJ9cmV0dXJuITB9aWYoc3RhcnQ9W2ZvcndhcmQ/cGFyZW50LmZpcnN0Q2hpbGQ6cGFyZW50Lmxhc3RDaGlsZF0sZm9yd2FyZCYmdXNlQ2FjaGUpe2ZvcihvdXRlckNhY2hlPXBhcmVudFtleHBhbmRvXXx8KHBhcmVudFtleHBhbmRvXT17fSksY2FjaGU9b3V0ZXJDYWNoZVt0eXBlXXx8W10sbm9kZUluZGV4PWNhY2hlWzBdPT09ZGlycnVucyYmY2FjaGVbMV0sZGlmZj1jYWNoZVswXT09PWRpcnJ1bnMmJmNhY2hlWzJdLG5vZGU9bm9kZUluZGV4JiZwYXJlbnQuY2hpbGROb2Rlc1tub2RlSW5kZXhdO25vZGU9Kytub2RlSW5kZXgmJm5vZGUmJm5vZGVbZGlyXXx8KGRpZmY9bm9kZUluZGV4PTApfHxzdGFydC5wb3AoKTspaWYoMT09PW5vZGUubm9kZVR5cGUmJisrZGlmZiYmbm9kZT09PWVsZW0pe291dGVyQ2FjaGVbdHlwZV09W2RpcnJ1bnMsbm9kZUluZGV4LGRpZmZdO2JyZWFrfX1lbHNlIGlmKHVzZUNhY2hlJiYoY2FjaGU9KGVsZW1bZXhwYW5kb118fChlbGVtW2V4cGFuZG9dPXt9KSlbdHlwZV0pJiZjYWNoZVswXT09PWRpcnJ1bnMpZGlmZj1jYWNoZVsxXTtlbHNlIGZvcig7KG5vZGU9Kytub2RlSW5kZXgmJm5vZGUmJm5vZGVbZGlyXXx8KGRpZmY9bm9kZUluZGV4PTApfHxzdGFydC5wb3AoKSkmJigob2ZUeXBlP25vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PW5hbWU6MSE9PW5vZGUubm9kZVR5cGUpfHwhKytkaWZmfHwodXNlQ2FjaGUmJigobm9kZVtleHBhbmRvXXx8KG5vZGVbZXhwYW5kb109e30pKVt0eXBlXT1bZGlycnVucyxkaWZmXSksbm9kZSE9PWVsZW0pKTspO3JldHVybiBkaWZmLT1sYXN0LGRpZmY9PT1maXJzdHx8ZGlmZiVmaXJzdD09PTAmJmRpZmYvZmlyc3Q+PTB9fX0sUFNFVURPOmZ1bmN0aW9uKHBzZXVkbyxhcmd1bWVudCl7dmFyIGFyZ3MsZm49RXhwci5wc2V1ZG9zW3BzZXVkb118fEV4cHIuc2V0RmlsdGVyc1twc2V1ZG8udG9Mb3dlckNhc2UoKV18fFNpenpsZS5lcnJvcihcInVuc3VwcG9ydGVkIHBzZXVkbzogXCIrcHNldWRvKTtyZXR1cm4gZm5bZXhwYW5kb10/Zm4oYXJndW1lbnQpOmZuLmxlbmd0aD4xPyhhcmdzPVtwc2V1ZG8scHNldWRvLFwiXCIsYXJndW1lbnRdLEV4cHIuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eShwc2V1ZG8udG9Mb3dlckNhc2UoKSk/bWFya0Z1bmN0aW9uKGZ1bmN0aW9uKHNlZWQsbWF0Y2hlcyl7Zm9yKHZhciBpZHgsbWF0Y2hlZD1mbihzZWVkLGFyZ3VtZW50KSxpPW1hdGNoZWQubGVuZ3RoO2ktLTspaWR4PWluZGV4T2Yoc2VlZCxtYXRjaGVkW2ldKSxzZWVkW2lkeF09IShtYXRjaGVzW2lkeF09bWF0Y2hlZFtpXSl9KTpmdW5jdGlvbihlbGVtKXtyZXR1cm4gZm4oZWxlbSwwLGFyZ3MpfSk6Zm59fSxwc2V1ZG9zOntub3Q6bWFya0Z1bmN0aW9uKGZ1bmN0aW9uKHNlbGVjdG9yKXt2YXIgaW5wdXQ9W10scmVzdWx0cz1bXSxtYXRjaGVyPWNvbXBpbGUoc2VsZWN0b3IucmVwbGFjZShydHJpbSxcIiQxXCIpKTtyZXR1cm4gbWF0Y2hlcltleHBhbmRvXT9tYXJrRnVuY3Rpb24oZnVuY3Rpb24oc2VlZCxtYXRjaGVzLGNvbnRleHQseG1sKXtmb3IodmFyIGVsZW0sdW5tYXRjaGVkPW1hdGNoZXIoc2VlZCxudWxsLHhtbCxbXSksaT1zZWVkLmxlbmd0aDtpLS07KShlbGVtPXVubWF0Y2hlZFtpXSkmJihzZWVkW2ldPSEobWF0Y2hlc1tpXT1lbGVtKSl9KTpmdW5jdGlvbihlbGVtLGNvbnRleHQseG1sKXtyZXR1cm4gaW5wdXRbMF09ZWxlbSxtYXRjaGVyKGlucHV0LG51bGwseG1sLHJlc3VsdHMpLGlucHV0WzBdPW51bGwsIXJlc3VsdHMucG9wKCl9fSksaGFzOm1hcmtGdW5jdGlvbihmdW5jdGlvbihzZWxlY3Rvcil7cmV0dXJuIGZ1bmN0aW9uKGVsZW0pe3JldHVybiBTaXp6bGUoc2VsZWN0b3IsZWxlbSkubGVuZ3RoPjB9fSksY29udGFpbnM6bWFya0Z1bmN0aW9uKGZ1bmN0aW9uKHRleHQpe3JldHVybiB0ZXh0PXRleHQucmVwbGFjZShydW5lc2NhcGUsZnVuZXNjYXBlKSxmdW5jdGlvbihlbGVtKXtyZXR1cm4oZWxlbS50ZXh0Q29udGVudHx8ZWxlbS5pbm5lclRleHR8fGdldFRleHQoZWxlbSkpLmluZGV4T2YodGV4dCk+LTF9fSksbGFuZzptYXJrRnVuY3Rpb24oZnVuY3Rpb24obGFuZyl7cmV0dXJuIHJpZGVudGlmaWVyLnRlc3QobGFuZ3x8XCJcIil8fFNpenpsZS5lcnJvcihcInVuc3VwcG9ydGVkIGxhbmc6IFwiK2xhbmcpLGxhbmc9bGFuZy5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oZWxlbSl7dmFyIGVsZW1MYW5nO2RvIGlmKGVsZW1MYW5nPWRvY3VtZW50SXNIVE1MP2VsZW0ubGFuZzplbGVtLmdldEF0dHJpYnV0ZShcInhtbDpsYW5nXCIpfHxlbGVtLmdldEF0dHJpYnV0ZShcImxhbmdcIikpcmV0dXJuIGVsZW1MYW5nPWVsZW1MYW5nLnRvTG93ZXJDYXNlKCksZWxlbUxhbmc9PT1sYW5nfHwwPT09ZWxlbUxhbmcuaW5kZXhPZihsYW5nK1wiLVwiKTt3aGlsZSgoZWxlbT1lbGVtLnBhcmVudE5vZGUpJiYxPT09ZWxlbS5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGVsZW0pe3ZhciBoYXNoPXdpbmRvdy5sb2NhdGlvbiYmd2luZG93LmxvY2F0aW9uLmhhc2g7cmV0dXJuIGhhc2gmJmhhc2guc2xpY2UoMSk9PT1lbGVtLmlkfSxyb290OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtPT09ZG9jRWxlbX0sZm9jdXM6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW09PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiYoIWRvY3VtZW50Lmhhc0ZvY3VzfHxkb2N1bWVudC5oYXNGb2N1cygpKSYmISEoZWxlbS50eXBlfHxlbGVtLmhyZWZ8fH5lbGVtLnRhYkluZGV4KX0sZW5hYmxlZDpmdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5kaXNhYmxlZD09PSExfSxkaXNhYmxlZDpmdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5kaXNhYmxlZD09PSEwfSxjaGVja2VkOmZ1bmN0aW9uKGVsZW0pe3ZhciBub2RlTmFtZT1lbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCJpbnB1dFwiPT09bm9kZU5hbWUmJiEhZWxlbS5jaGVja2VkfHxcIm9wdGlvblwiPT09bm9kZU5hbWUmJiEhZWxlbS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW0ucGFyZW50Tm9kZSYmZWxlbS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsZWxlbS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihlbGVtKXtmb3IoZWxlbT1lbGVtLmZpcnN0Q2hpbGQ7ZWxlbTtlbGVtPWVsZW0ubmV4dFNpYmxpbmcpaWYoZWxlbS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIUV4cHIucHNldWRvcy5lbXB0eShlbGVtKX0saGVhZGVyOmZ1bmN0aW9uKGVsZW0pe3JldHVybiByaGVhZGVyLnRlc3QoZWxlbS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGVsZW0pe3JldHVybiByaW5wdXRzLnRlc3QoZWxlbS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihlbGVtKXt2YXIgbmFtZT1lbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCJpbnB1dFwiPT09bmFtZSYmXCJidXR0b25cIj09PWVsZW0udHlwZXx8XCJidXR0b25cIj09PW5hbWV9LHRleHQ6ZnVuY3Rpb24oZWxlbSl7dmFyIGF0dHI7cmV0dXJuXCJpbnB1dFwiPT09ZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiZcInRleHRcIj09PWVsZW0udHlwZSYmKG51bGw9PShhdHRyPWVsZW0uZ2V0QXR0cmlidXRlKFwidHlwZVwiKSl8fFwidGV4dFwiPT09YXR0ci50b0xvd2VyQ2FzZSgpKX0sZmlyc3Q6Y3JlYXRlUG9zaXRpb25hbFBzZXVkbyhmdW5jdGlvbigpe3JldHVyblswXX0pLGxhc3Q6Y3JlYXRlUG9zaXRpb25hbFBzZXVkbyhmdW5jdGlvbihtYXRjaEluZGV4ZXMsbGVuZ3RoKXtyZXR1cm5bbGVuZ3RoLTFdfSksZXE6Y3JlYXRlUG9zaXRpb25hbFBzZXVkbyhmdW5jdGlvbihtYXRjaEluZGV4ZXMsbGVuZ3RoLGFyZ3VtZW50KXtyZXR1cm5bMD5hcmd1bWVudD9hcmd1bWVudCtsZW5ndGg6YXJndW1lbnRdfSksZXZlbjpjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKG1hdGNoSW5kZXhlcyxsZW5ndGgpe2Zvcih2YXIgaT0wO2xlbmd0aD5pO2krPTIpbWF0Y2hJbmRleGVzLnB1c2goaSk7cmV0dXJuIG1hdGNoSW5kZXhlc30pLG9kZDpjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKG1hdGNoSW5kZXhlcyxsZW5ndGgpe2Zvcih2YXIgaT0xO2xlbmd0aD5pO2krPTIpbWF0Y2hJbmRleGVzLnB1c2goaSk7cmV0dXJuIG1hdGNoSW5kZXhlc30pLGx0OmNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24obWF0Y2hJbmRleGVzLGxlbmd0aCxhcmd1bWVudCl7Zm9yKHZhciBpPTA+YXJndW1lbnQ/YXJndW1lbnQrbGVuZ3RoOmFyZ3VtZW50Oy0taT49MDspbWF0Y2hJbmRleGVzLnB1c2goaSk7cmV0dXJuIG1hdGNoSW5kZXhlc30pLGd0OmNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24obWF0Y2hJbmRleGVzLGxlbmd0aCxhcmd1bWVudCl7Zm9yKHZhciBpPTA+YXJndW1lbnQ/YXJndW1lbnQrbGVuZ3RoOmFyZ3VtZW50OysraTxsZW5ndGg7KW1hdGNoSW5kZXhlcy5wdXNoKGkpO3JldHVybiBtYXRjaEluZGV4ZXN9KX19LEV4cHIucHNldWRvcy5udGg9RXhwci5wc2V1ZG9zLmVxO2ZvcihpIGlue3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KUV4cHIucHNldWRvc1tpXT1jcmVhdGVJbnB1dFBzZXVkbyhpKTtmb3IoaSBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KUV4cHIucHNldWRvc1tpXT1jcmVhdGVCdXR0b25Qc2V1ZG8oaSk7cmV0dXJuIHNldEZpbHRlcnMucHJvdG90eXBlPUV4cHIuZmlsdGVycz1FeHByLnBzZXVkb3MsRXhwci5zZXRGaWx0ZXJzPW5ldyBzZXRGaWx0ZXJzLHRva2VuaXplPVNpenpsZS50b2tlbml6ZT1mdW5jdGlvbihzZWxlY3RvcixwYXJzZU9ubHkpe3ZhciBtYXRjaGVkLG1hdGNoLHRva2Vucyx0eXBlLHNvRmFyLGdyb3VwcyxwcmVGaWx0ZXJzLGNhY2hlZD10b2tlbkNhY2hlW3NlbGVjdG9yK1wiIFwiXTtpZihjYWNoZWQpcmV0dXJuIHBhcnNlT25seT8wOmNhY2hlZC5zbGljZSgwKTtmb3Ioc29GYXI9c2VsZWN0b3IsZ3JvdXBzPVtdLHByZUZpbHRlcnM9RXhwci5wcmVGaWx0ZXI7c29GYXI7KXsoIW1hdGNoZWR8fChtYXRjaD1yY29tbWEuZXhlYyhzb0ZhcikpKSYmKG1hdGNoJiYoc29GYXI9c29GYXIuc2xpY2UobWF0Y2hbMF0ubGVuZ3RoKXx8c29GYXIpLGdyb3Vwcy5wdXNoKHRva2Vucz1bXSkpLG1hdGNoZWQ9ITEsKG1hdGNoPXJjb21iaW5hdG9ycy5leGVjKHNvRmFyKSkmJihtYXRjaGVkPW1hdGNoLnNoaWZ0KCksdG9rZW5zLnB1c2goe3ZhbHVlOm1hdGNoZWQsdHlwZTptYXRjaFswXS5yZXBsYWNlKHJ0cmltLFwiIFwiKX0pLHNvRmFyPXNvRmFyLnNsaWNlKG1hdGNoZWQubGVuZ3RoKSk7Zm9yKHR5cGUgaW4gRXhwci5maWx0ZXIpIShtYXRjaD1tYXRjaEV4cHJbdHlwZV0uZXhlYyhzb0ZhcikpfHxwcmVGaWx0ZXJzW3R5cGVdJiYhKG1hdGNoPXByZUZpbHRlcnNbdHlwZV0obWF0Y2gpKXx8KG1hdGNoZWQ9bWF0Y2guc2hpZnQoKSx0b2tlbnMucHVzaCh7dmFsdWU6bWF0Y2hlZCx0eXBlOnR5cGUsbWF0Y2hlczptYXRjaH0pLHNvRmFyPXNvRmFyLnNsaWNlKG1hdGNoZWQubGVuZ3RoKSk7aWYoIW1hdGNoZWQpYnJlYWt9cmV0dXJuIHBhcnNlT25seT9zb0Zhci5sZW5ndGg6c29GYXI/U2l6emxlLmVycm9yKHNlbGVjdG9yKTp0b2tlbkNhY2hlKHNlbGVjdG9yLGdyb3Vwcykuc2xpY2UoMCl9LGNvbXBpbGU9U2l6emxlLmNvbXBpbGU9ZnVuY3Rpb24oc2VsZWN0b3IsbWF0Y2gpe3ZhciBpLHNldE1hdGNoZXJzPVtdLGVsZW1lbnRNYXRjaGVycz1bXSxjYWNoZWQ9Y29tcGlsZXJDYWNoZVtzZWxlY3RvcitcIiBcIl07aWYoIWNhY2hlZCl7Zm9yKG1hdGNofHwobWF0Y2g9dG9rZW5pemUoc2VsZWN0b3IpKSxpPW1hdGNoLmxlbmd0aDtpLS07KWNhY2hlZD1tYXRjaGVyRnJvbVRva2VucyhtYXRjaFtpXSksY2FjaGVkW2V4cGFuZG9dP3NldE1hdGNoZXJzLnB1c2goY2FjaGVkKTplbGVtZW50TWF0Y2hlcnMucHVzaChjYWNoZWQpO2NhY2hlZD1jb21waWxlckNhY2hlKHNlbGVjdG9yLG1hdGNoZXJGcm9tR3JvdXBNYXRjaGVycyhlbGVtZW50TWF0Y2hlcnMsc2V0TWF0Y2hlcnMpKSxjYWNoZWQuc2VsZWN0b3I9c2VsZWN0b3J9cmV0dXJuIGNhY2hlZH0sc2VsZWN0PVNpenpsZS5zZWxlY3Q9ZnVuY3Rpb24oc2VsZWN0b3IsY29udGV4dCxyZXN1bHRzLHNlZWQpe3ZhciBpLHRva2Vucyx0b2tlbix0eXBlLGZpbmQsY29tcGlsZWQ9XCJmdW5jdGlvblwiPT10eXBlb2Ygc2VsZWN0b3ImJnNlbGVjdG9yLG1hdGNoPSFzZWVkJiZ0b2tlbml6ZShzZWxlY3Rvcj1jb21waWxlZC5zZWxlY3Rvcnx8c2VsZWN0b3IpO2lmKHJlc3VsdHM9cmVzdWx0c3x8W10sMT09PW1hdGNoLmxlbmd0aCl7aWYodG9rZW5zPW1hdGNoWzBdPW1hdGNoWzBdLnNsaWNlKDApLHRva2Vucy5sZW5ndGg+MiYmXCJJRFwiPT09KHRva2VuPXRva2Vuc1swXSkudHlwZSYmc3VwcG9ydC5nZXRCeUlkJiY5PT09Y29udGV4dC5ub2RlVHlwZSYmZG9jdW1lbnRJc0hUTUwmJkV4cHIucmVsYXRpdmVbdG9rZW5zWzFdLnR5cGVdKXtpZihjb250ZXh0PShFeHByLmZpbmQuSUQodG9rZW4ubWF0Y2hlc1swXS5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpLGNvbnRleHQpfHxbXSlbMF0sIWNvbnRleHQpcmV0dXJuIHJlc3VsdHM7Y29tcGlsZWQmJihjb250ZXh0PWNvbnRleHQucGFyZW50Tm9kZSksc2VsZWN0b3I9c2VsZWN0b3Iuc2xpY2UodG9rZW5zLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1mb3IoaT1tYXRjaEV4cHIubmVlZHNDb250ZXh0LnRlc3Qoc2VsZWN0b3IpPzA6dG9rZW5zLmxlbmd0aDtpLS0mJih0b2tlbj10b2tlbnNbaV0sIUV4cHIucmVsYXRpdmVbdHlwZT10b2tlbi50eXBlXSk7KWlmKChmaW5kPUV4cHIuZmluZFt0eXBlXSkmJihzZWVkPWZpbmQodG9rZW4ubWF0Y2hlc1swXS5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpLHJzaWJsaW5nLnRlc3QodG9rZW5zWzBdLnR5cGUpJiZ0ZXN0Q29udGV4dChjb250ZXh0LnBhcmVudE5vZGUpfHxjb250ZXh0KSkpe2lmKHRva2Vucy5zcGxpY2UoaSwxKSxzZWxlY3Rvcj1zZWVkLmxlbmd0aCYmdG9TZWxlY3Rvcih0b2tlbnMpLCFzZWxlY3RvcilyZXR1cm4gcHVzaC5hcHBseShyZXN1bHRzLHNlZWQpLHJlc3VsdHM7YnJlYWt9fXJldHVybihjb21waWxlZHx8Y29tcGlsZShzZWxlY3RvcixtYXRjaCkpKHNlZWQsY29udGV4dCwhZG9jdW1lbnRJc0hUTUwscmVzdWx0cyxyc2libGluZy50ZXN0KHNlbGVjdG9yKSYmdGVzdENvbnRleHQoY29udGV4dC5wYXJlbnROb2RlKXx8Y29udGV4dCkscmVzdWx0c30sc3VwcG9ydC5zb3J0U3RhYmxlPWV4cGFuZG8uc3BsaXQoXCJcIikuc29ydChzb3J0T3JkZXIpLmpvaW4oXCJcIik9PT1leHBhbmRvLHN1cHBvcnQuZGV0ZWN0RHVwbGljYXRlcz0hIWhhc0R1cGxpY2F0ZSxzZXREb2N1bWVudCgpLHN1cHBvcnQuc29ydERldGFjaGVkPWFzc2VydChmdW5jdGlvbihkaXYxKXtyZXR1cm4gMSZkaXYxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpfSksYXNzZXJ0KGZ1bmN0aW9uKGRpdil7cmV0dXJuIGRpdi5pbm5lckhUTUw9XCI8YSBocmVmPScjJz48L2E+XCIsXCIjXCI9PT1kaXYuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpfSl8fGFkZEhhbmRsZShcInR5cGV8aHJlZnxoZWlnaHR8d2lkdGhcIixmdW5jdGlvbihlbGVtLG5hbWUsaXNYTUwpe3JldHVybiBpc1hNTD92b2lkIDA6ZWxlbS5nZXRBdHRyaWJ1dGUobmFtZSxcInR5cGVcIj09PW5hbWUudG9Mb3dlckNhc2UoKT8xOjIpfSksc3VwcG9ydC5hdHRyaWJ1dGVzJiZhc3NlcnQoZnVuY3Rpb24oZGl2KXtyZXR1cm4gZGl2LmlubmVySFRNTD1cIjxpbnB1dC8+XCIsZGl2LmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKFwidmFsdWVcIixcIlwiKSxcIlwiPT09ZGl2LmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKFwidmFsdWVcIil9KXx8YWRkSGFuZGxlKFwidmFsdWVcIixmdW5jdGlvbihlbGVtLG5hbWUsaXNYTUwpe3JldHVybiBpc1hNTHx8XCJpbnB1dFwiIT09ZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpP3ZvaWQgMDplbGVtLmRlZmF1bHRWYWx1ZX0pLGFzc2VydChmdW5jdGlvbihkaXYpe3JldHVybiBudWxsPT1kaXYuZ2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIil9KXx8YWRkSGFuZGxlKGJvb2xlYW5zLGZ1bmN0aW9uKGVsZW0sbmFtZSxpc1hNTCl7dmFyIHZhbDtyZXR1cm4gaXNYTUw/dm9pZCAwOmVsZW1bbmFtZV09PT0hMD9uYW1lLnRvTG93ZXJDYXNlKCk6KHZhbD1lbGVtLmdldEF0dHJpYnV0ZU5vZGUobmFtZSkpJiZ2YWwuc3BlY2lmaWVkP3ZhbC52YWx1ZTpudWxsfSksU2l6emxlfSh3aW5kb3cpO2pRdWVyeS5maW5kPVNpenpsZSxqUXVlcnkuZXhwcj1TaXp6bGUuc2VsZWN0b3JzLGpRdWVyeS5leHByW1wiOlwiXT1qUXVlcnkuZXhwci5wc2V1ZG9zLGpRdWVyeS51bmlxdWU9U2l6emxlLnVuaXF1ZVNvcnQsalF1ZXJ5LnRleHQ9U2l6emxlLmdldFRleHQsalF1ZXJ5LmlzWE1MRG9jPVNpenpsZS5pc1hNTCxqUXVlcnkuY29udGFpbnM9U2l6emxlLmNvbnRhaW5zO3ZhciBybmVlZHNDb250ZXh0PWpRdWVyeS5leHByLm1hdGNoLm5lZWRzQ29udGV4dCxyc2luZ2xlVGFnPS9ePChcXHcrKVxccypcXC8/Pig/OjxcXC9cXDE+fCkkLyxyaXNTaW1wbGU9L14uW146I1xcW1xcLixdKiQvO2pRdWVyeS5maWx0ZXI9ZnVuY3Rpb24oZXhwcixlbGVtcyxub3Qpe3ZhciBlbGVtPWVsZW1zWzBdO3JldHVybiBub3QmJihleHByPVwiOm5vdChcIitleHByK1wiKVwiKSwxPT09ZWxlbXMubGVuZ3RoJiYxPT09ZWxlbS5ub2RlVHlwZT9qUXVlcnkuZmluZC5tYXRjaGVzU2VsZWN0b3IoZWxlbSxleHByKT9bZWxlbV06W106alF1ZXJ5LmZpbmQubWF0Y2hlcyhleHByLGpRdWVyeS5ncmVwKGVsZW1zLGZ1bmN0aW9uKGVsZW0pe3JldHVybiAxPT09ZWxlbS5ub2RlVHlwZX0pKX0salF1ZXJ5LmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihzZWxlY3Rvcil7dmFyIGkscmV0PVtdLHNlbGY9dGhpcyxsZW49c2VsZi5sZW5ndGg7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIHNlbGVjdG9yKXJldHVybiB0aGlzLnB1c2hTdGFjayhqUXVlcnkoc2VsZWN0b3IpLmZpbHRlcihmdW5jdGlvbigpe2ZvcihpPTA7bGVuPmk7aSsrKWlmKGpRdWVyeS5jb250YWlucyhzZWxmW2ldLHRoaXMpKXJldHVybiEwfSkpO2ZvcihpPTA7bGVuPmk7aSsrKWpRdWVyeS5maW5kKHNlbGVjdG9yLHNlbGZbaV0scmV0KTtyZXR1cm4gcmV0PXRoaXMucHVzaFN0YWNrKGxlbj4xP2pRdWVyeS51bmlxdWUocmV0KTpyZXQpLHJldC5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yP3RoaXMuc2VsZWN0b3IrXCIgXCIrc2VsZWN0b3I6c2VsZWN0b3IscmV0fSxmaWx0ZXI6ZnVuY3Rpb24oc2VsZWN0b3Ipe3JldHVybiB0aGlzLnB1c2hTdGFjayh3aW5ub3codGhpcyxzZWxlY3Rvcnx8W10sITEpKX0sbm90OmZ1bmN0aW9uKHNlbGVjdG9yKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sod2lubm93KHRoaXMsc2VsZWN0b3J8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKHNlbGVjdG9yKXtyZXR1cm4hIXdpbm5vdyh0aGlzLFwic3RyaW5nXCI9PXR5cGVvZiBzZWxlY3RvciYmcm5lZWRzQ29udGV4dC50ZXN0KHNlbGVjdG9yKT9qUXVlcnkoc2VsZWN0b3IpOnNlbGVjdG9yfHxbXSwhMSkubGVuZ3RofX0pO3ZhciByb290alF1ZXJ5LGRvY3VtZW50PXdpbmRvdy5kb2N1bWVudCxycXVpY2tFeHByPS9eKD86XFxzKig8W1xcd1xcV10rPilbXj5dKnwjKFtcXHctXSopKSQvLGluaXQ9alF1ZXJ5LmZuLmluaXQ9ZnVuY3Rpb24oc2VsZWN0b3IsY29udGV4dCl7dmFyIG1hdGNoLGVsZW07aWYoIXNlbGVjdG9yKXJldHVybiB0aGlzO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBzZWxlY3Rvcil7aWYobWF0Y2g9XCI8XCI9PT1zZWxlY3Rvci5jaGFyQXQoMCkmJlwiPlwiPT09c2VsZWN0b3IuY2hhckF0KHNlbGVjdG9yLmxlbmd0aC0xKSYmc2VsZWN0b3IubGVuZ3RoPj0zP1tudWxsLHNlbGVjdG9yLG51bGxdOnJxdWlja0V4cHIuZXhlYyhzZWxlY3RvciksIW1hdGNofHwhbWF0Y2hbMV0mJmNvbnRleHQpcmV0dXJuIWNvbnRleHR8fGNvbnRleHQuanF1ZXJ5Pyhjb250ZXh0fHxyb290alF1ZXJ5KS5maW5kKHNlbGVjdG9yKTp0aGlzLmNvbnN0cnVjdG9yKGNvbnRleHQpLmZpbmQoc2VsZWN0b3IpO2lmKG1hdGNoWzFdKXtpZihjb250ZXh0PWNvbnRleHQgaW5zdGFuY2VvZiBqUXVlcnk/Y29udGV4dFswXTpjb250ZXh0LGpRdWVyeS5tZXJnZSh0aGlzLGpRdWVyeS5wYXJzZUhUTUwobWF0Y2hbMV0sY29udGV4dCYmY29udGV4dC5ub2RlVHlwZT9jb250ZXh0Lm93bmVyRG9jdW1lbnR8fGNvbnRleHQ6ZG9jdW1lbnQsITApKSxyc2luZ2xlVGFnLnRlc3QobWF0Y2hbMV0pJiZqUXVlcnkuaXNQbGFpbk9iamVjdChjb250ZXh0KSlmb3IobWF0Y2ggaW4gY29udGV4dClqUXVlcnkuaXNGdW5jdGlvbih0aGlzW21hdGNoXSk/dGhpc1ttYXRjaF0oY29udGV4dFttYXRjaF0pOnRoaXMuYXR0cihtYXRjaCxjb250ZXh0W21hdGNoXSk7cmV0dXJuIHRoaXN9aWYoZWxlbT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChtYXRjaFsyXSksZWxlbSYmZWxlbS5wYXJlbnROb2RlKXtpZihlbGVtLmlkIT09bWF0Y2hbMl0pcmV0dXJuIHJvb3RqUXVlcnkuZmluZChzZWxlY3Rvcik7dGhpcy5sZW5ndGg9MSx0aGlzWzBdPWVsZW19cmV0dXJuIHRoaXMuY29udGV4dD1kb2N1bWVudCx0aGlzLnNlbGVjdG9yPXNlbGVjdG9yLHRoaXN9cmV0dXJuIHNlbGVjdG9yLm5vZGVUeXBlPyh0aGlzLmNvbnRleHQ9dGhpc1swXT1zZWxlY3Rvcix0aGlzLmxlbmd0aD0xLHRoaXMpOmpRdWVyeS5pc0Z1bmN0aW9uKHNlbGVjdG9yKT9cInVuZGVmaW5lZFwiIT10eXBlb2Ygcm9vdGpRdWVyeS5yZWFkeT9yb290alF1ZXJ5LnJlYWR5KHNlbGVjdG9yKTpzZWxlY3RvcihqUXVlcnkpOih2b2lkIDAhPT1zZWxlY3Rvci5zZWxlY3RvciYmKHRoaXMuc2VsZWN0b3I9c2VsZWN0b3Iuc2VsZWN0b3IsdGhpcy5jb250ZXh0PXNlbGVjdG9yLmNvbnRleHQpLGpRdWVyeS5tYWtlQXJyYXkoc2VsZWN0b3IsdGhpcykpfTtpbml0LnByb3RvdHlwZT1qUXVlcnkuZm4scm9vdGpRdWVyeT1qUXVlcnkoZG9jdW1lbnQpO3ZhciBycGFyZW50c3ByZXY9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sZ3VhcmFudGVlZFVuaXF1ZT17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtqUXVlcnkuZXh0ZW5kKHtkaXI6ZnVuY3Rpb24oZWxlbSxkaXIsdW50aWwpe2Zvcih2YXIgbWF0Y2hlZD1bXSxjdXI9ZWxlbVtkaXJdO2N1ciYmOSE9PWN1ci5ub2RlVHlwZSYmKHZvaWQgMD09PXVudGlsfHwxIT09Y3VyLm5vZGVUeXBlfHwhalF1ZXJ5KGN1cikuaXModW50aWwpKTspMT09PWN1ci5ub2RlVHlwZSYmbWF0Y2hlZC5wdXNoKGN1ciksY3VyPWN1cltkaXJdO3JldHVybiBtYXRjaGVkfSxzaWJsaW5nOmZ1bmN0aW9uKG4sZWxlbSl7Zm9yKHZhciByPVtdO247bj1uLm5leHRTaWJsaW5nKTE9PT1uLm5vZGVUeXBlJiZuIT09ZWxlbSYmci5wdXNoKG4pO3JldHVybiByfX0pLGpRdWVyeS5mbi5leHRlbmQoe2hhczpmdW5jdGlvbih0YXJnZXQpe3ZhciBpLHRhcmdldHM9alF1ZXJ5KHRhcmdldCx0aGlzKSxsZW49dGFyZ2V0cy5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKGk9MDtsZW4+aTtpKyspaWYoalF1ZXJ5LmNvbnRhaW5zKHRoaXMsdGFyZ2V0c1tpXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihzZWxlY3RvcnMsY29udGV4dCl7Zm9yKHZhciBjdXIsaT0wLGw9dGhpcy5sZW5ndGgsbWF0Y2hlZD1bXSxwb3M9cm5lZWRzQ29udGV4dC50ZXN0KHNlbGVjdG9ycyl8fFwic3RyaW5nXCIhPXR5cGVvZiBzZWxlY3RvcnM/alF1ZXJ5KHNlbGVjdG9ycyxjb250ZXh0fHx0aGlzLmNvbnRleHQpOjA7bD5pO2krKylmb3IoY3VyPXRoaXNbaV07Y3VyJiZjdXIhPT1jb250ZXh0O2N1cj1jdXIucGFyZW50Tm9kZSlpZihjdXIubm9kZVR5cGU8MTEmJihwb3M/cG9zLmluZGV4KGN1cik+LTE6MT09PWN1ci5ub2RlVHlwZSYmalF1ZXJ5LmZpbmQubWF0Y2hlc1NlbGVjdG9yKGN1cixzZWxlY3RvcnMpKSl7bWF0Y2hlZC5wdXNoKGN1cik7YnJlYWt9cmV0dXJuIHRoaXMucHVzaFN0YWNrKG1hdGNoZWQubGVuZ3RoPjE/alF1ZXJ5LnVuaXF1ZShtYXRjaGVkKTptYXRjaGVkKX0saW5kZXg6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW0/XCJzdHJpbmdcIj09dHlwZW9mIGVsZW0/alF1ZXJ5LmluQXJyYXkodGhpc1swXSxqUXVlcnkoZWxlbSkpOmpRdWVyeS5pbkFycmF5KGVsZW0uanF1ZXJ5P2VsZW1bMF06ZWxlbSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihzZWxlY3Rvcixjb250ZXh0KXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soalF1ZXJ5LnVuaXF1ZShqUXVlcnkubWVyZ2UodGhpcy5nZXQoKSxqUXVlcnkoc2VsZWN0b3IsY29udGV4dCkpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oc2VsZWN0b3Ipe3JldHVybiB0aGlzLmFkZChudWxsPT1zZWxlY3Rvcj90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihzZWxlY3RvcikpfX0pLGpRdWVyeS5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZWxlbSl7dmFyIHBhcmVudD1lbGVtLnBhcmVudE5vZGU7cmV0dXJuIHBhcmVudCYmMTEhPT1wYXJlbnQubm9kZVR5cGU/cGFyZW50Om51bGx9LHBhcmVudHM6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGpRdWVyeS5kaXIoZWxlbSxcInBhcmVudE5vZGVcIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlbGVtLGksdW50aWwpe3JldHVybiBqUXVlcnkuZGlyKGVsZW0sXCJwYXJlbnROb2RlXCIsdW50aWwpfSxuZXh0OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBzaWJsaW5nKGVsZW0sXCJuZXh0U2libGluZ1wiKX0scHJldjpmdW5jdGlvbihlbGVtKXtyZXR1cm4gc2libGluZyhlbGVtLFwicHJldmlvdXNTaWJsaW5nXCIpfSxuZXh0QWxsOmZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkuZGlyKGVsZW0sXCJuZXh0U2libGluZ1wiKX0scHJldkFsbDpmdW5jdGlvbihlbGVtKXtyZXR1cm4galF1ZXJ5LmRpcihlbGVtLFwicHJldmlvdXNTaWJsaW5nXCIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZWxlbSxpLHVudGlsKXtyZXR1cm4galF1ZXJ5LmRpcihlbGVtLFwibmV4dFNpYmxpbmdcIix1bnRpbCl9LHByZXZVbnRpbDpmdW5jdGlvbihlbGVtLGksdW50aWwpe3JldHVybiBqUXVlcnkuZGlyKGVsZW0sXCJwcmV2aW91c1NpYmxpbmdcIix1bnRpbCl9LHNpYmxpbmdzOmZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkuc2libGluZygoZWxlbS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxlbGVtKX0sY2hpbGRyZW46ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGpRdWVyeS5zaWJsaW5nKGVsZW0uZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkubm9kZU5hbWUoZWxlbSxcImlmcmFtZVwiKT9lbGVtLmNvbnRlbnREb2N1bWVudHx8ZWxlbS5jb250ZW50V2luZG93LmRvY3VtZW50OmpRdWVyeS5tZXJnZShbXSxlbGVtLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24obmFtZSxmbil7alF1ZXJ5LmZuW25hbWVdPWZ1bmN0aW9uKHVudGlsLHNlbGVjdG9yKXt2YXIgcmV0PWpRdWVyeS5tYXAodGhpcyxmbix1bnRpbCk7cmV0dXJuXCJVbnRpbFwiIT09bmFtZS5zbGljZSgtNSkmJihzZWxlY3Rvcj11bnRpbCksc2VsZWN0b3ImJlwic3RyaW5nXCI9PXR5cGVvZiBzZWxlY3RvciYmKHJldD1qUXVlcnkuZmlsdGVyKHNlbGVjdG9yLHJldCkpLHRoaXMubGVuZ3RoPjEmJihndWFyYW50ZWVkVW5pcXVlW25hbWVdfHwocmV0PWpRdWVyeS51bmlxdWUocmV0KSkscnBhcmVudHNwcmV2LnRlc3QobmFtZSkmJihyZXQ9cmV0LnJldmVyc2UoKSkpLHRoaXMucHVzaFN0YWNrKHJldCl9fSk7dmFyIHJub3R3aGl0ZT0vXFxTKy9nLG9wdGlvbnNDYWNoZT17fTtqUXVlcnkuQ2FsbGJhY2tzPWZ1bmN0aW9uKG9wdGlvbnMpe29wdGlvbnM9XCJzdHJpbmdcIj09dHlwZW9mIG9wdGlvbnM/b3B0aW9uc0NhY2hlW29wdGlvbnNdfHxjcmVhdGVPcHRpb25zKG9wdGlvbnMpOmpRdWVyeS5leHRlbmQoe30sb3B0aW9ucyk7dmFyIGZpcmluZyxtZW1vcnksZmlyZWQsZmlyaW5nTGVuZ3RoLGZpcmluZ0luZGV4LGZpcmluZ1N0YXJ0LGxpc3Q9W10sc3RhY2s9IW9wdGlvbnMub25jZSYmW10sZmlyZT1mdW5jdGlvbihkYXRhKXtmb3IobWVtb3J5PW9wdGlvbnMubWVtb3J5JiZkYXRhLGZpcmVkPSEwLGZpcmluZ0luZGV4PWZpcmluZ1N0YXJ0fHwwLGZpcmluZ1N0YXJ0PTAsZmlyaW5nTGVuZ3RoPWxpc3QubGVuZ3RoLGZpcmluZz0hMDtsaXN0JiZmaXJpbmdMZW5ndGg+ZmlyaW5nSW5kZXg7ZmlyaW5nSW5kZXgrKylpZihsaXN0W2ZpcmluZ0luZGV4XS5hcHBseShkYXRhWzBdLGRhdGFbMV0pPT09ITEmJm9wdGlvbnMuc3RvcE9uRmFsc2Upe21lbW9yeT0hMTticmVha31maXJpbmc9ITEsbGlzdCYmKHN0YWNrP3N0YWNrLmxlbmd0aCYmZmlyZShzdGFjay5zaGlmdCgpKTptZW1vcnk/bGlzdD1bXTpzZWxmLmRpc2FibGUoKSl9LHNlbGY9e2FkZDpmdW5jdGlvbigpe2lmKGxpc3Qpe3ZhciBzdGFydD1saXN0Lmxlbmd0aDshZnVuY3Rpb24gYWRkKGFyZ3Mpe2pRdWVyeS5lYWNoKGFyZ3MsZnVuY3Rpb24oXyxhcmcpe3ZhciB0eXBlPWpRdWVyeS50eXBlKGFyZyk7XCJmdW5jdGlvblwiPT09dHlwZT9vcHRpb25zLnVuaXF1ZSYmc2VsZi5oYXMoYXJnKXx8bGlzdC5wdXNoKGFyZyk6YXJnJiZhcmcubGVuZ3RoJiZcInN0cmluZ1wiIT09dHlwZSYmYWRkKGFyZyl9KX0oYXJndW1lbnRzKSxmaXJpbmc/ZmlyaW5nTGVuZ3RoPWxpc3QubGVuZ3RoOm1lbW9yeSYmKGZpcmluZ1N0YXJ0PXN0YXJ0LGZpcmUobWVtb3J5KSl9cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBsaXN0JiZqUXVlcnkuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oXyxhcmcpe2Zvcih2YXIgaW5kZXg7KGluZGV4PWpRdWVyeS5pbkFycmF5KGFyZyxsaXN0LGluZGV4KSk+LTE7KWxpc3Quc3BsaWNlKGluZGV4LDEpLGZpcmluZyYmKGZpcmluZ0xlbmd0aD49aW5kZXgmJmZpcmluZ0xlbmd0aC0tLGZpcmluZ0luZGV4Pj1pbmRleCYmZmlyaW5nSW5kZXgtLSl9KSx0aGlzfSxoYXM6ZnVuY3Rpb24oZm4pe3JldHVybiBmbj9qUXVlcnkuaW5BcnJheShmbixsaXN0KT4tMTohKCFsaXN0fHwhbGlzdC5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBsaXN0PVtdLGZpcmluZ0xlbmd0aD0wLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gbGlzdD1zdGFjaz1tZW1vcnk9dm9pZCAwLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIWxpc3R9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gc3RhY2s9dm9pZCAwLG1lbW9yeXx8c2VsZi5kaXNhYmxlKCksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuIXN0YWNrfSxmaXJlV2l0aDpmdW5jdGlvbihjb250ZXh0LGFyZ3Mpe3JldHVybiFsaXN0fHxmaXJlZCYmIXN0YWNrfHwoYXJncz1hcmdzfHxbXSxhcmdzPVtjb250ZXh0LGFyZ3Muc2xpY2U/YXJncy5zbGljZSgpOmFyZ3NdLGZpcmluZz9zdGFjay5wdXNoKGFyZ3MpOmZpcmUoYXJncykpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gc2VsZi5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWZpcmVkfX07cmV0dXJuIHNlbGZ9LGpRdWVyeS5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKGZ1bmMpe3ZhciB0dXBsZXM9W1tcInJlc29sdmVcIixcImRvbmVcIixqUXVlcnkuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksXCJyZXNvbHZlZFwiXSxbXCJyZWplY3RcIixcImZhaWxcIixqUXVlcnkuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksXCJyZWplY3RlZFwiXSxbXCJub3RpZnlcIixcInByb2dyZXNzXCIsalF1ZXJ5LkNhbGxiYWNrcyhcIm1lbW9yeVwiKV1dLHN0YXRlPVwicGVuZGluZ1wiLHByb21pc2U9e3N0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHN0YXRlfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gZGVmZXJyZWQuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSx0aGVuOmZ1bmN0aW9uKCl7dmFyIGZucz1hcmd1bWVudHM7cmV0dXJuIGpRdWVyeS5EZWZlcnJlZChmdW5jdGlvbihuZXdEZWZlcil7alF1ZXJ5LmVhY2godHVwbGVzLGZ1bmN0aW9uKGksdHVwbGUpe3ZhciBmbj1qUXVlcnkuaXNGdW5jdGlvbihmbnNbaV0pJiZmbnNbaV07ZGVmZXJyZWRbdHVwbGVbMV1dKGZ1bmN0aW9uKCl7dmFyIHJldHVybmVkPWZuJiZmbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuZWQmJmpRdWVyeS5pc0Z1bmN0aW9uKHJldHVybmVkLnByb21pc2UpP3JldHVybmVkLnByb21pc2UoKS5kb25lKG5ld0RlZmVyLnJlc29sdmUpLmZhaWwobmV3RGVmZXIucmVqZWN0KS5wcm9ncmVzcyhuZXdEZWZlci5ub3RpZnkpOm5ld0RlZmVyW3R1cGxlWzBdK1wiV2l0aFwiXSh0aGlzPT09cHJvbWlzZT9uZXdEZWZlci5wcm9taXNlKCk6dGhpcyxmbj9bcmV0dXJuZWRdOmFyZ3VtZW50cyl9KX0pLGZucz1udWxsfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKG9iail7cmV0dXJuIG51bGwhPW9iaj9qUXVlcnkuZXh0ZW5kKG9iaixwcm9taXNlKTpwcm9taXNlfX0sZGVmZXJyZWQ9e307cmV0dXJuIHByb21pc2UucGlwZT1wcm9taXNlLnRoZW4salF1ZXJ5LmVhY2godHVwbGVzLGZ1bmN0aW9uKGksdHVwbGUpe3ZhciBsaXN0PXR1cGxlWzJdLHN0YXRlU3RyaW5nPXR1cGxlWzNdO3Byb21pc2VbdHVwbGVbMV1dPWxpc3QuYWRkLHN0YXRlU3RyaW5nJiZsaXN0LmFkZChmdW5jdGlvbigpe3N0YXRlPXN0YXRlU3RyaW5nfSx0dXBsZXNbMV5pXVsyXS5kaXNhYmxlLHR1cGxlc1syXVsyXS5sb2NrKSxkZWZlcnJlZFt0dXBsZVswXV09ZnVuY3Rpb24oKXtyZXR1cm4gZGVmZXJyZWRbdHVwbGVbMF0rXCJXaXRoXCJdKHRoaXM9PT1kZWZlcnJlZD9wcm9taXNlOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxkZWZlcnJlZFt0dXBsZVswXStcIldpdGhcIl09bGlzdC5maXJlV2l0aH0pLHByb21pc2UucHJvbWlzZShkZWZlcnJlZCksZnVuYyYmZnVuYy5jYWxsKGRlZmVycmVkLGRlZmVycmVkKSxkZWZlcnJlZH0sd2hlbjpmdW5jdGlvbihzdWJvcmRpbmF0ZSl7dmFyIHByb2dyZXNzVmFsdWVzLHByb2dyZXNzQ29udGV4dHMscmVzb2x2ZUNvbnRleHRzLGk9MCxyZXNvbHZlVmFsdWVzPXNsaWNlLmNhbGwoYXJndW1lbnRzKSxsZW5ndGg9cmVzb2x2ZVZhbHVlcy5sZW5ndGgscmVtYWluaW5nPTEhPT1sZW5ndGh8fHN1Ym9yZGluYXRlJiZqUXVlcnkuaXNGdW5jdGlvbihzdWJvcmRpbmF0ZS5wcm9taXNlKT9sZW5ndGg6MCxkZWZlcnJlZD0xPT09cmVtYWluaW5nP3N1Ym9yZGluYXRlOmpRdWVyeS5EZWZlcnJlZCgpLHVwZGF0ZUZ1bmM9ZnVuY3Rpb24oaSxjb250ZXh0cyx2YWx1ZXMpe3JldHVybiBmdW5jdGlvbih2YWx1ZSl7Y29udGV4dHNbaV09dGhpcyx2YWx1ZXNbaV09YXJndW1lbnRzLmxlbmd0aD4xP3NsaWNlLmNhbGwoYXJndW1lbnRzKTp2YWx1ZSx2YWx1ZXM9PT1wcm9ncmVzc1ZhbHVlcz9kZWZlcnJlZC5ub3RpZnlXaXRoKGNvbnRleHRzLHZhbHVlcyk6LS1yZW1haW5pbmd8fGRlZmVycmVkLnJlc29sdmVXaXRoKGNvbnRleHRzLHZhbHVlcyl9fTtpZihsZW5ndGg+MSlmb3IocHJvZ3Jlc3NWYWx1ZXM9bmV3IEFycmF5KGxlbmd0aCkscHJvZ3Jlc3NDb250ZXh0cz1uZXcgQXJyYXkobGVuZ3RoKSxyZXNvbHZlQ29udGV4dHM9bmV3IEFycmF5KGxlbmd0aCk7bGVuZ3RoPmk7aSsrKXJlc29sdmVWYWx1ZXNbaV0mJmpRdWVyeS5pc0Z1bmN0aW9uKHJlc29sdmVWYWx1ZXNbaV0ucHJvbWlzZSk/cmVzb2x2ZVZhbHVlc1tpXS5wcm9taXNlKCkuZG9uZSh1cGRhdGVGdW5jKGkscmVzb2x2ZUNvbnRleHRzLHJlc29sdmVWYWx1ZXMpKS5mYWlsKGRlZmVycmVkLnJlamVjdCkucHJvZ3Jlc3ModXBkYXRlRnVuYyhpLHByb2dyZXNzQ29udGV4dHMscHJvZ3Jlc3NWYWx1ZXMpKTotLXJlbWFpbmluZztyZXR1cm4gcmVtYWluaW5nfHxkZWZlcnJlZC5yZXNvbHZlV2l0aChyZXNvbHZlQ29udGV4dHMscmVzb2x2ZVZhbHVlcyksZGVmZXJyZWQucHJvbWlzZSgpfX0pO3ZhciByZWFkeUxpc3Q7alF1ZXJ5LmZuLnJlYWR5PWZ1bmN0aW9uKGZuKXtyZXR1cm4galF1ZXJ5LnJlYWR5LnByb21pc2UoKS5kb25lKGZuKSx0aGlzfSxqUXVlcnkuZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihob2xkKXtob2xkP2pRdWVyeS5yZWFkeVdhaXQrKzpqUXVlcnkucmVhZHkoITApfSxyZWFkeTpmdW5jdGlvbih3YWl0KXtpZih3YWl0PT09ITA/IS0talF1ZXJ5LnJlYWR5V2FpdDohalF1ZXJ5LmlzUmVhZHkpe2lmKCFkb2N1bWVudC5ib2R5KXJldHVybiBzZXRUaW1lb3V0KGpRdWVyeS5yZWFkeSk7alF1ZXJ5LmlzUmVhZHk9ITAsd2FpdCE9PSEwJiYtLWpRdWVyeS5yZWFkeVdhaXQ+MHx8KHJlYWR5TGlzdC5yZXNvbHZlV2l0aChkb2N1bWVudCxbalF1ZXJ5XSksalF1ZXJ5LmZuLnRyaWdnZXJIYW5kbGVyJiYoalF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VySGFuZGxlcihcInJlYWR5XCIpLGpRdWVyeShkb2N1bWVudCkub2ZmKFwicmVhZHlcIikpKX19fSksalF1ZXJ5LnJlYWR5LnByb21pc2U9ZnVuY3Rpb24ob2JqKXtpZighcmVhZHlMaXN0KWlmKHJlYWR5TGlzdD1qUXVlcnkuRGVmZXJyZWQoKSxcImNvbXBsZXRlXCI9PT1kb2N1bWVudC5yZWFkeVN0YXRlKXNldFRpbWVvdXQoalF1ZXJ5LnJlYWR5KTtlbHNlIGlmKGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIpZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixjb21wbGV0ZWQsITEpLFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsY29tcGxldGVkLCExKTtlbHNle2RvY3VtZW50LmF0dGFjaEV2ZW50KFwib25yZWFkeXN0YXRlY2hhbmdlXCIsY29tcGxldGVkKSx3aW5kb3cuYXR0YWNoRXZlbnQoXCJvbmxvYWRcIixjb21wbGV0ZWQpO3ZhciB0b3A9ITE7dHJ5e3RvcD1udWxsPT13aW5kb3cuZnJhbWVFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR9Y2F0Y2goZSl7fXRvcCYmdG9wLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZG9TY3JvbGxDaGVjaygpe2lmKCFqUXVlcnkuaXNSZWFkeSl7dHJ5e3RvcC5kb1Njcm9sbChcImxlZnRcIil9Y2F0Y2goZSl7cmV0dXJuIHNldFRpbWVvdXQoZG9TY3JvbGxDaGVjayw1MCl9ZGV0YWNoKCksalF1ZXJ5LnJlYWR5KCl9fSgpfXJldHVybiByZWFkeUxpc3QucHJvbWlzZShvYmopfTt2YXIgaSxzdHJ1bmRlZmluZWQ9XCJ1bmRlZmluZWRcIjtmb3IoaSBpbiBqUXVlcnkoc3VwcG9ydCkpYnJlYWs7c3VwcG9ydC5vd25MYXN0PVwiMFwiIT09aSxzdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQ9ITEsalF1ZXJ5KGZ1bmN0aW9uKCl7dmFyIHZhbCxkaXYsYm9keSxjb250YWluZXI7Ym9keT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImJvZHlcIilbMF0sYm9keSYmYm9keS5zdHlsZSYmKGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGNvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGNvbnRhaW5lci5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHhcIixib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcikuYXBwZW5kQ2hpbGQoZGl2KSx0eXBlb2YgZGl2LnN0eWxlLnpvb20hPT1zdHJ1bmRlZmluZWQmJihkaXYuc3R5bGUuY3NzVGV4dD1cImRpc3BsYXk6aW5saW5lO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjFcIixzdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQ9dmFsPTM9PT1kaXYub2Zmc2V0V2lkdGgsdmFsJiYoYm9keS5zdHlsZS56b29tPTEpKSxib2R5LnJlbW92ZUNoaWxkKGNvbnRhaW5lcikpfSksZnVuY3Rpb24oKXt2YXIgZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7aWYobnVsbD09c3VwcG9ydC5kZWxldGVFeHBhbmRvKXtzdXBwb3J0LmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBkaXYudGVzdH1jYXRjaChlKXtzdXBwb3J0LmRlbGV0ZUV4cGFuZG89ITF9fWRpdj1udWxsfSgpLGpRdWVyeS5hY2NlcHREYXRhPWZ1bmN0aW9uKGVsZW0pe3ZhciBub0RhdGE9alF1ZXJ5Lm5vRGF0YVsoZWxlbS5ub2RlTmFtZStcIiBcIikudG9Mb3dlckNhc2UoKV0sbm9kZVR5cGU9K2VsZW0ubm9kZVR5cGV8fDE7cmV0dXJuIDEhPT1ub2RlVHlwZSYmOSE9PW5vZGVUeXBlPyExOiFub0RhdGF8fG5vRGF0YSE9PSEwJiZlbGVtLmdldEF0dHJpYnV0ZShcImNsYXNzaWRcIik9PT1ub0RhdGF9O3ZhciByYnJhY2U9L14oPzpcXHtbXFx3XFxXXSpcXH18XFxbW1xcd1xcV10qXFxdKSQvLHJtdWx0aURhc2g9LyhbQS1aXSkvZztqUXVlcnkuZXh0ZW5kKHtjYWNoZTp7fSxub0RhdGE6e1wiYXBwbGV0IFwiOiEwLFwiZW1iZWQgXCI6ITAsXCJvYmplY3QgXCI6XCJjbHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDBcIn0saGFzRGF0YTpmdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbT1lbGVtLm5vZGVUeXBlP2pRdWVyeS5jYWNoZVtlbGVtW2pRdWVyeS5leHBhbmRvXV06ZWxlbVtqUXVlcnkuZXhwYW5kb10sISFlbGVtJiYhaXNFbXB0eURhdGFPYmplY3QoZWxlbSl9LGRhdGE6ZnVuY3Rpb24oZWxlbSxuYW1lLGRhdGEpe3JldHVybiBpbnRlcm5hbERhdGEoZWxlbSxuYW1lLGRhdGEpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGVsZW0sbmFtZSl7cmV0dXJuIGludGVybmFsUmVtb3ZlRGF0YShlbGVtLG5hbWUpfSxfZGF0YTpmdW5jdGlvbihlbGVtLG5hbWUsZGF0YSl7cmV0dXJuIGludGVybmFsRGF0YShlbGVtLG5hbWUsZGF0YSwhMCl9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGVsZW0sbmFtZSl7cmV0dXJuIGludGVybmFsUmVtb3ZlRGF0YShlbGVtLG5hbWUsITApfX0pLGpRdWVyeS5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oa2V5LHZhbHVlKXt2YXIgaSxuYW1lLGRhdGEsZWxlbT10aGlzWzBdLGF0dHJzPWVsZW0mJmVsZW0uYXR0cmlidXRlcztpZih2b2lkIDA9PT1rZXkpe2lmKHRoaXMubGVuZ3RoJiYoZGF0YT1qUXVlcnkuZGF0YShlbGVtKSwxPT09ZWxlbS5ub2RlVHlwZSYmIWpRdWVyeS5fZGF0YShlbGVtLFwicGFyc2VkQXR0cnNcIikpKXtmb3IoaT1hdHRycy5sZW5ndGg7aS0tOylhdHRyc1tpXSYmKG5hbWU9YXR0cnNbaV0ubmFtZSwwPT09bmFtZS5pbmRleE9mKFwiZGF0YS1cIikmJihuYW1lPWpRdWVyeS5jYW1lbENhc2UobmFtZS5zbGljZSg1KSksZGF0YUF0dHIoZWxlbSxuYW1lLGRhdGFbbmFtZV0pKSk7alF1ZXJ5Ll9kYXRhKGVsZW0sXCJwYXJzZWRBdHRyc1wiLCEwKX1yZXR1cm4gZGF0YX1yZXR1cm5cIm9iamVjdFwiPT10eXBlb2Yga2V5P3RoaXMuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5kYXRhKHRoaXMsa2V5KX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkuZGF0YSh0aGlzLGtleSx2YWx1ZSl9KTplbGVtP2RhdGFBdHRyKGVsZW0sa2V5LGpRdWVyeS5kYXRhKGVsZW0sa2V5KSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGtleSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5yZW1vdmVEYXRhKHRoaXMsa2V5KX0pfX0pLGpRdWVyeS5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGVsZW0sdHlwZSxkYXRhKXt2YXIgcXVldWU7cmV0dXJuIGVsZW0/KHR5cGU9KHR5cGV8fFwiZnhcIikrXCJxdWV1ZVwiLHF1ZXVlPWpRdWVyeS5fZGF0YShlbGVtLHR5cGUpLGRhdGEmJighcXVldWV8fGpRdWVyeS5pc0FycmF5KGRhdGEpP3F1ZXVlPWpRdWVyeS5fZGF0YShlbGVtLHR5cGUsalF1ZXJ5Lm1ha2VBcnJheShkYXRhKSk6cXVldWUucHVzaChkYXRhKSkscXVldWV8fFtdKTp2b2lkIDB9LGRlcXVldWU6ZnVuY3Rpb24oZWxlbSx0eXBlKXt0eXBlPXR5cGV8fFwiZnhcIjt2YXIgcXVldWU9alF1ZXJ5LnF1ZXVlKGVsZW0sdHlwZSksc3RhcnRMZW5ndGg9cXVldWUubGVuZ3RoLGZuPXF1ZXVlLnNoaWZ0KCksaG9va3M9alF1ZXJ5Ll9xdWV1ZUhvb2tzKGVsZW0sdHlwZSksbmV4dD1mdW5jdGlvbigpe2pRdWVyeS5kZXF1ZXVlKGVsZW0sdHlwZSl9O1wiaW5wcm9ncmVzc1wiPT09Zm4mJihmbj1xdWV1ZS5zaGlmdCgpLHN0YXJ0TGVuZ3RoLS0pLGZuJiYoXCJmeFwiPT09dHlwZSYmcXVldWUudW5zaGlmdChcImlucHJvZ3Jlc3NcIiksZGVsZXRlIGhvb2tzLnN0b3AsZm4uY2FsbChlbGVtLG5leHQsaG9va3MpKSwhc3RhcnRMZW5ndGgmJmhvb2tzJiZob29rcy5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGVsZW0sdHlwZSl7dmFyIGtleT10eXBlK1wicXVldWVIb29rc1wiO3JldHVybiBqUXVlcnkuX2RhdGEoZWxlbSxrZXkpfHxqUXVlcnkuX2RhdGEoZWxlbSxrZXkse2VtcHR5OmpRdWVyeS5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKS5hZGQoZnVuY3Rpb24oKXtqUXVlcnkuX3JlbW92ZURhdGEoZWxlbSx0eXBlK1wicXVldWVcIiksalF1ZXJ5Ll9yZW1vdmVEYXRhKGVsZW0sa2V5KX0pfSl9fSksalF1ZXJ5LmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24odHlwZSxkYXRhKXt2YXIgc2V0dGVyPTI7cmV0dXJuXCJzdHJpbmdcIiE9dHlwZW9mIHR5cGUmJihkYXRhPXR5cGUsdHlwZT1cImZ4XCIsc2V0dGVyLS0pLGFyZ3VtZW50cy5sZW5ndGg8c2V0dGVyP2pRdWVyeS5xdWV1ZSh0aGlzWzBdLHR5cGUpOnZvaWQgMD09PWRhdGE/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgcXVldWU9alF1ZXJ5LnF1ZXVlKHRoaXMsdHlwZSxkYXRhKTtqUXVlcnkuX3F1ZXVlSG9va3ModGhpcyx0eXBlKSxcImZ4XCI9PT10eXBlJiZcImlucHJvZ3Jlc3NcIiE9PXF1ZXVlWzBdJiZqUXVlcnkuZGVxdWV1ZSh0aGlzLHR5cGUpfSl9LGRlcXVldWU6ZnVuY3Rpb24odHlwZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5kZXF1ZXVlKHRoaXMsdHlwZSl9KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbih0eXBlKXtyZXR1cm4gdGhpcy5xdWV1ZSh0eXBlfHxcImZ4XCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKHR5cGUsb2JqKXt2YXIgdG1wLGNvdW50PTEsZGVmZXI9alF1ZXJ5LkRlZmVycmVkKCksZWxlbWVudHM9dGhpcyxpPXRoaXMubGVuZ3RoLHJlc29sdmU9ZnVuY3Rpb24oKXstLWNvdW50fHxkZWZlci5yZXNvbHZlV2l0aChlbGVtZW50cyxbZWxlbWVudHNdKX07Zm9yKFwic3RyaW5nXCIhPXR5cGVvZiB0eXBlJiYob2JqPXR5cGUsdHlwZT12b2lkIDApLHR5cGU9dHlwZXx8XCJmeFwiO2ktLTspdG1wPWpRdWVyeS5fZGF0YShlbGVtZW50c1tpXSx0eXBlK1wicXVldWVIb29rc1wiKSx0bXAmJnRtcC5lbXB0eSYmKGNvdW50KyssdG1wLmVtcHR5LmFkZChyZXNvbHZlKSk7cmV0dXJuIHJlc29sdmUoKSxkZWZlci5wcm9taXNlKG9iail9fSk7dmFyIHBudW09L1srLV0/KD86XFxkKlxcLnwpXFxkKyg/OltlRV1bKy1dP1xcZCt8KS8uc291cmNlLGNzc0V4cGFuZD1bXCJUb3BcIixcIlJpZ2h0XCIsXCJCb3R0b21cIixcIkxlZnRcIl0saXNIaWRkZW49ZnVuY3Rpb24oZWxlbSxlbCl7cmV0dXJuIGVsZW09ZWx8fGVsZW0sXCJub25lXCI9PT1qUXVlcnkuY3NzKGVsZW0sXCJkaXNwbGF5XCIpfHwhalF1ZXJ5LmNvbnRhaW5zKGVsZW0ub3duZXJEb2N1bWVudCxlbGVtKX0sYWNjZXNzPWpRdWVyeS5hY2Nlc3M9ZnVuY3Rpb24oZWxlbXMsZm4sa2V5LHZhbHVlLGNoYWluYWJsZSxlbXB0eUdldCxyYXcpe3ZhciBpPTAsbGVuZ3RoPWVsZW1zLmxlbmd0aCxidWxrPW51bGw9PWtleTtpZihcIm9iamVjdFwiPT09alF1ZXJ5LnR5cGUoa2V5KSl7Y2hhaW5hYmxlPSEwO2ZvcihpIGluIGtleSlqUXVlcnkuYWNjZXNzKGVsZW1zLGZuLGksa2V5W2ldLCEwLGVtcHR5R2V0LHJhdyl9ZWxzZSBpZih2b2lkIDAhPT12YWx1ZSYmKGNoYWluYWJsZT0hMCxqUXVlcnkuaXNGdW5jdGlvbih2YWx1ZSl8fChyYXc9ITApLGJ1bGsmJihyYXc/KGZuLmNhbGwoZWxlbXMsdmFsdWUpLGZuPW51bGwpOihidWxrPWZuLGZuPWZ1bmN0aW9uKGVsZW0sa2V5LHZhbHVlKXtyZXR1cm4gYnVsay5jYWxsKGpRdWVyeShlbGVtKSx2YWx1ZSl9KSksZm4pKWZvcig7bGVuZ3RoPmk7aSsrKWZuKGVsZW1zW2ldLGtleSxyYXc/dmFsdWU6dmFsdWUuY2FsbChlbGVtc1tpXSxpLGZuKGVsZW1zW2ldLGtleSkpKTtyZXR1cm4gY2hhaW5hYmxlP2VsZW1zOmJ1bGs/Zm4uY2FsbChlbGVtcyk6bGVuZ3RoP2ZuKGVsZW1zWzBdLGtleSk6ZW1wdHlHZXR9LHJjaGVja2FibGVUeXBlPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pOyFmdW5jdGlvbigpe3ZhciBpbnB1dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiksZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksZnJhZ21lbnQ9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2lmKGRpdi5pbm5lckhUTUw9XCIgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYSc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz5cIixzdXBwb3J0LmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1kaXYuZmlyc3RDaGlsZC5ub2RlVHlwZSxzdXBwb3J0LnRib2R5PSFkaXYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJ0Ym9keVwiKS5sZW5ndGgsc3VwcG9ydC5odG1sU2VyaWFsaXplPSEhZGl2LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwibGlua1wiKS5sZW5ndGgsc3VwcG9ydC5odG1sNUNsb25lPVwiPDpuYXY+PC86bmF2PlwiIT09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIm5hdlwiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxpbnB1dC50eXBlPVwiY2hlY2tib3hcIixpbnB1dC5jaGVja2VkPSEwLGZyYWdtZW50LmFwcGVuZENoaWxkKGlucHV0KSxzdXBwb3J0LmFwcGVuZENoZWNrZWQ9aW5wdXQuY2hlY2tlZCxkaXYuaW5uZXJIVE1MPVwiPHRleHRhcmVhPng8L3RleHRhcmVhPlwiLHN1cHBvcnQubm9DbG9uZUNoZWNrZWQ9ISFkaXYuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlLGZyYWdtZW50LmFwcGVuZENoaWxkKGRpdiksZGl2LmlubmVySFRNTD1cIjxpbnB1dCB0eXBlPSdyYWRpbycgY2hlY2tlZD0nY2hlY2tlZCcgbmFtZT0ndCcvPlwiLHN1cHBvcnQuY2hlY2tDbG9uZT1kaXYuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLHN1cHBvcnQubm9DbG9uZUV2ZW50PSEwLGRpdi5hdHRhY2hFdmVudCYmKGRpdi5hdHRhY2hFdmVudChcIm9uY2xpY2tcIixmdW5jdGlvbigpe3N1cHBvcnQubm9DbG9uZUV2ZW50PSExfSksZGl2LmNsb25lTm9kZSghMCkuY2xpY2soKSksbnVsbD09c3VwcG9ydC5kZWxldGVFeHBhbmRvKXtzdXBwb3J0LmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBkaXYudGVzdH1jYXRjaChlKXtzdXBwb3J0LmRlbGV0ZUV4cGFuZG89ITF9fX0oKSxmdW5jdGlvbigpe3ZhciBpLGV2ZW50TmFtZSxkaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtmb3IoaSBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWV2ZW50TmFtZT1cIm9uXCIraSwoc3VwcG9ydFtpK1wiQnViYmxlc1wiXT1ldmVudE5hbWUgaW4gd2luZG93KXx8KGRpdi5zZXRBdHRyaWJ1dGUoZXZlbnROYW1lLFwidFwiKSxzdXBwb3J0W2krXCJCdWJibGVzXCJdPWRpdi5hdHRyaWJ1dGVzW2V2ZW50TmFtZV0uZXhwYW5kbz09PSExKTtkaXY9bnVsbH0oKTt2YXIgcmZvcm1FbGVtcz0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2kscmtleUV2ZW50PS9ea2V5LyxybW91c2VFdmVudD0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnUpfGNsaWNrLyxyZm9jdXNNb3JwaD0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8scnR5cGVuYW1lc3BhY2U9L14oW14uXSopKD86XFwuKC4rKXwpJC87alF1ZXJ5LmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGVsZW0sdHlwZXMsaGFuZGxlcixkYXRhLHNlbGVjdG9yKXt2YXIgdG1wLGV2ZW50cyx0LGhhbmRsZU9iakluLHNwZWNpYWwsZXZlbnRIYW5kbGUsaGFuZGxlT2JqLGhhbmRsZXJzLHR5cGUsbmFtZXNwYWNlcyxvcmlnVHlwZSxlbGVtRGF0YT1qUXVlcnkuX2RhdGEoZWxlbSk7aWYoZWxlbURhdGEpe2ZvcihoYW5kbGVyLmhhbmRsZXImJihoYW5kbGVPYmpJbj1oYW5kbGVyLGhhbmRsZXI9aGFuZGxlT2JqSW4uaGFuZGxlcixzZWxlY3Rvcj1oYW5kbGVPYmpJbi5zZWxlY3RvciksaGFuZGxlci5ndWlkfHwoaGFuZGxlci5ndWlkPWpRdWVyeS5ndWlkKyspLChldmVudHM9ZWxlbURhdGEuZXZlbnRzKXx8KGV2ZW50cz1lbGVtRGF0YS5ldmVudHM9e30pLChldmVudEhhbmRsZT1lbGVtRGF0YS5oYW5kbGUpfHwoZXZlbnRIYW5kbGU9ZWxlbURhdGEuaGFuZGxlPWZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgalF1ZXJ5PT09c3RydW5kZWZpbmVkfHxlJiZqUXVlcnkuZXZlbnQudHJpZ2dlcmVkPT09ZS50eXBlP3ZvaWQgMDpqUXVlcnkuZXZlbnQuZGlzcGF0Y2guYXBwbHkoZXZlbnRIYW5kbGUuZWxlbSxhcmd1bWVudHMpfSxldmVudEhhbmRsZS5lbGVtPWVsZW0pLHR5cGVzPSh0eXBlc3x8XCJcIikubWF0Y2gocm5vdHdoaXRlKXx8W1wiXCJdLHQ9dHlwZXMubGVuZ3RoO3QtLTspdG1wPXJ0eXBlbmFtZXNwYWNlLmV4ZWModHlwZXNbdF0pfHxbXSx0eXBlPW9yaWdUeXBlPXRtcFsxXSxuYW1lc3BhY2VzPSh0bXBbMl18fFwiXCIpLnNwbGl0KFwiLlwiKS5zb3J0KCksdHlwZSYmKHNwZWNpYWw9alF1ZXJ5LmV2ZW50LnNwZWNpYWxbdHlwZV18fHt9LHR5cGU9KHNlbGVjdG9yP3NwZWNpYWwuZGVsZWdhdGVUeXBlOnNwZWNpYWwuYmluZFR5cGUpfHx0eXBlLHNwZWNpYWw9alF1ZXJ5LmV2ZW50LnNwZWNpYWxbdHlwZV18fHt9LGhhbmRsZU9iaj1qUXVlcnkuZXh0ZW5kKHt0eXBlOnR5cGUsb3JpZ1R5cGU6b3JpZ1R5cGUsZGF0YTpkYXRhLGhhbmRsZXI6aGFuZGxlcixndWlkOmhhbmRsZXIuZ3VpZCxzZWxlY3RvcjpzZWxlY3RvcixuZWVkc0NvbnRleHQ6c2VsZWN0b3ImJmpRdWVyeS5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KHNlbGVjdG9yKSxuYW1lc3BhY2U6bmFtZXNwYWNlcy5qb2luKFwiLlwiKX0saGFuZGxlT2JqSW4pLChoYW5kbGVycz1ldmVudHNbdHlwZV0pfHwoaGFuZGxlcnM9ZXZlbnRzW3R5cGVdPVtdLGhhbmRsZXJzLmRlbGVnYXRlQ291bnQ9MCxzcGVjaWFsLnNldHVwJiZzcGVjaWFsLnNldHVwLmNhbGwoZWxlbSxkYXRhLG5hbWVzcGFjZXMsZXZlbnRIYW5kbGUpIT09ITF8fChlbGVtLmFkZEV2ZW50TGlzdGVuZXI/ZWxlbS5hZGRFdmVudExpc3RlbmVyKHR5cGUsZXZlbnRIYW5kbGUsITEpOmVsZW0uYXR0YWNoRXZlbnQmJmVsZW0uYXR0YWNoRXZlbnQoXCJvblwiK3R5cGUsZXZlbnRIYW5kbGUpKSksc3BlY2lhbC5hZGQmJihzcGVjaWFsLmFkZC5jYWxsKGVsZW0saGFuZGxlT2JqKSxoYW5kbGVPYmouaGFuZGxlci5ndWlkfHwoaGFuZGxlT2JqLmhhbmRsZXIuZ3VpZD1oYW5kbGVyLmd1aWQpKSxzZWxlY3Rvcj9oYW5kbGVycy5zcGxpY2UoaGFuZGxlcnMuZGVsZWdhdGVDb3VudCsrLDAsaGFuZGxlT2JqKTpoYW5kbGVycy5wdXNoKGhhbmRsZU9iaiksalF1ZXJ5LmV2ZW50Lmdsb2JhbFt0eXBlXT0hMCk7ZWxlbT1udWxsfX0scmVtb3ZlOmZ1bmN0aW9uKGVsZW0sdHlwZXMsaGFuZGxlcixzZWxlY3RvcixtYXBwZWRUeXBlcyl7dmFyIGosaGFuZGxlT2JqLHRtcCxvcmlnQ291bnQsdCxldmVudHMsc3BlY2lhbCxoYW5kbGVycyx0eXBlLG5hbWVzcGFjZXMsb3JpZ1R5cGUsZWxlbURhdGE9alF1ZXJ5Lmhhc0RhdGEoZWxlbSkmJmpRdWVyeS5fZGF0YShlbGVtKTtpZihlbGVtRGF0YSYmKGV2ZW50cz1lbGVtRGF0YS5ldmVudHMpKXtmb3IodHlwZXM9KHR5cGVzfHxcIlwiKS5tYXRjaChybm90d2hpdGUpfHxbXCJcIl0sdD10eXBlcy5sZW5ndGg7dC0tOylpZih0bXA9cnR5cGVuYW1lc3BhY2UuZXhlYyh0eXBlc1t0XSl8fFtdLHR5cGU9b3JpZ1R5cGU9dG1wWzFdLG5hbWVzcGFjZXM9KHRtcFsyXXx8XCJcIikuc3BsaXQoXCIuXCIpLnNvcnQoKSx0eXBlKXtmb3Ioc3BlY2lhbD1qUXVlcnkuZXZlbnQuc3BlY2lhbFt0eXBlXXx8e30sdHlwZT0oc2VsZWN0b3I/c3BlY2lhbC5kZWxlZ2F0ZVR5cGU6c3BlY2lhbC5iaW5kVHlwZSl8fHR5cGUsaGFuZGxlcnM9ZXZlbnRzW3R5cGVdfHxbXSx0bXA9dG1wWzJdJiZuZXcgUmVnRXhwKFwiKF58XFxcXC4pXCIrbmFtZXNwYWNlcy5qb2luKFwiXFxcXC4oPzouKlxcXFwufClcIikrXCIoXFxcXC58JClcIiksb3JpZ0NvdW50PWo9aGFuZGxlcnMubGVuZ3RoO2otLTspaGFuZGxlT2JqPWhhbmRsZXJzW2pdLCFtYXBwZWRUeXBlcyYmb3JpZ1R5cGUhPT1oYW5kbGVPYmoub3JpZ1R5cGV8fGhhbmRsZXImJmhhbmRsZXIuZ3VpZCE9PWhhbmRsZU9iai5ndWlkfHx0bXAmJiF0bXAudGVzdChoYW5kbGVPYmoubmFtZXNwYWNlKXx8c2VsZWN0b3ImJnNlbGVjdG9yIT09aGFuZGxlT2JqLnNlbGVjdG9yJiYoXCIqKlwiIT09c2VsZWN0b3J8fCFoYW5kbGVPYmouc2VsZWN0b3IpfHwoaGFuZGxlcnMuc3BsaWNlKGosMSksaGFuZGxlT2JqLnNlbGVjdG9yJiZoYW5kbGVycy5kZWxlZ2F0ZUNvdW50LS0sc3BlY2lhbC5yZW1vdmUmJnNwZWNpYWwucmVtb3ZlLmNhbGwoZWxlbSxoYW5kbGVPYmopKTtvcmlnQ291bnQmJiFoYW5kbGVycy5sZW5ndGgmJihzcGVjaWFsLnRlYXJkb3duJiZzcGVjaWFsLnRlYXJkb3duLmNhbGwoZWxlbSxuYW1lc3BhY2VzLGVsZW1EYXRhLmhhbmRsZSkhPT0hMXx8alF1ZXJ5LnJlbW92ZUV2ZW50KGVsZW0sdHlwZSxlbGVtRGF0YS5oYW5kbGUpLGRlbGV0ZSBldmVudHNbdHlwZV0pfWVsc2UgZm9yKHR5cGUgaW4gZXZlbnRzKWpRdWVyeS5ldmVudC5yZW1vdmUoZWxlbSx0eXBlK3R5cGVzW3RdLGhhbmRsZXIsc2VsZWN0b3IsITApO2pRdWVyeS5pc0VtcHR5T2JqZWN0KGV2ZW50cykmJihkZWxldGUgZWxlbURhdGEuaGFuZGxlLGpRdWVyeS5fcmVtb3ZlRGF0YShlbGVtLFwiZXZlbnRzXCIpKX19LHRyaWdnZXI6ZnVuY3Rpb24oZXZlbnQsZGF0YSxlbGVtLG9ubHlIYW5kbGVycyl7dmFyIGhhbmRsZSxvbnR5cGUsY3VyLGJ1YmJsZVR5cGUsc3BlY2lhbCx0bXAsaSxldmVudFBhdGg9W2VsZW18fGRvY3VtZW50XSx0eXBlPWhhc093bi5jYWxsKGV2ZW50LFwidHlwZVwiKT9ldmVudC50eXBlOmV2ZW50LG5hbWVzcGFjZXM9aGFzT3duLmNhbGwoZXZlbnQsXCJuYW1lc3BhY2VcIik/ZXZlbnQubmFtZXNwYWNlLnNwbGl0KFwiLlwiKTpbXTtpZihjdXI9dG1wPWVsZW09ZWxlbXx8ZG9jdW1lbnQsMyE9PWVsZW0ubm9kZVR5cGUmJjghPT1lbGVtLm5vZGVUeXBlJiYhcmZvY3VzTW9ycGgudGVzdCh0eXBlK2pRdWVyeS5ldmVudC50cmlnZ2VyZWQpJiYodHlwZS5pbmRleE9mKFwiLlwiKT49MCYmKG5hbWVzcGFjZXM9dHlwZS5zcGxpdChcIi5cIiksdHlwZT1uYW1lc3BhY2VzLnNoaWZ0KCksbmFtZXNwYWNlcy5zb3J0KCkpLG9udHlwZT10eXBlLmluZGV4T2YoXCI6XCIpPDAmJlwib25cIit0eXBlLGV2ZW50PWV2ZW50W2pRdWVyeS5leHBhbmRvXT9ldmVudDpuZXcgalF1ZXJ5LkV2ZW50KHR5cGUsXCJvYmplY3RcIj09dHlwZW9mIGV2ZW50JiZldmVudCksZXZlbnQuaXNUcmlnZ2VyPW9ubHlIYW5kbGVycz8yOjMsZXZlbnQubmFtZXNwYWNlPW5hbWVzcGFjZXMuam9pbihcIi5cIiksZXZlbnQubmFtZXNwYWNlX3JlPWV2ZW50Lm5hbWVzcGFjZT9uZXcgUmVnRXhwKFwiKF58XFxcXC4pXCIrbmFtZXNwYWNlcy5qb2luKFwiXFxcXC4oPzouKlxcXFwufClcIikrXCIoXFxcXC58JClcIik6bnVsbCxldmVudC5yZXN1bHQ9dm9pZCAwLGV2ZW50LnRhcmdldHx8KGV2ZW50LnRhcmdldD1lbGVtKSxkYXRhPW51bGw9PWRhdGE/W2V2ZW50XTpqUXVlcnkubWFrZUFycmF5KGRhdGEsW2V2ZW50XSksc3BlY2lhbD1qUXVlcnkuZXZlbnQuc3BlY2lhbFt0eXBlXXx8e30sb25seUhhbmRsZXJzfHwhc3BlY2lhbC50cmlnZ2VyfHxzcGVjaWFsLnRyaWdnZXIuYXBwbHkoZWxlbSxkYXRhKSE9PSExKSl7aWYoIW9ubHlIYW5kbGVycyYmIXNwZWNpYWwubm9CdWJibGUmJiFqUXVlcnkuaXNXaW5kb3coZWxlbSkpe2ZvcihidWJibGVUeXBlPXNwZWNpYWwuZGVsZWdhdGVUeXBlfHx0eXBlLHJmb2N1c01vcnBoLnRlc3QoYnViYmxlVHlwZSt0eXBlKXx8KGN1cj1jdXIucGFyZW50Tm9kZSk7Y3VyO2N1cj1jdXIucGFyZW50Tm9kZSlldmVudFBhdGgucHVzaChjdXIpLHRtcD1jdXI7dG1wPT09KGVsZW0ub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQpJiZldmVudFBhdGgucHVzaCh0bXAuZGVmYXVsdFZpZXd8fHRtcC5wYXJlbnRXaW5kb3d8fHdpbmRvdyl9Zm9yKGk9MDsoY3VyPWV2ZW50UGF0aFtpKytdKSYmIWV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7KWV2ZW50LnR5cGU9aT4xP2J1YmJsZVR5cGU6c3BlY2lhbC5iaW5kVHlwZXx8dHlwZSxoYW5kbGU9KGpRdWVyeS5fZGF0YShjdXIsXCJldmVudHNcIil8fHt9KVtldmVudC50eXBlXSYmalF1ZXJ5Ll9kYXRhKGN1cixcImhhbmRsZVwiKSxoYW5kbGUmJmhhbmRsZS5hcHBseShjdXIsZGF0YSksaGFuZGxlPW9udHlwZSYmY3VyW29udHlwZV0saGFuZGxlJiZoYW5kbGUuYXBwbHkmJmpRdWVyeS5hY2NlcHREYXRhKGN1cikmJihldmVudC5yZXN1bHQ9aGFuZGxlLmFwcGx5KGN1cixkYXRhKSxldmVudC5yZXN1bHQ9PT0hMSYmZXZlbnQucHJldmVudERlZmF1bHQoKSk7aWYoZXZlbnQudHlwZT10eXBlLCFvbmx5SGFuZGxlcnMmJiFldmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmKCFzcGVjaWFsLl9kZWZhdWx0fHxzcGVjaWFsLl9kZWZhdWx0LmFwcGx5KGV2ZW50UGF0aC5wb3AoKSxkYXRhKT09PSExKSYmalF1ZXJ5LmFjY2VwdERhdGEoZWxlbSkmJm9udHlwZSYmZWxlbVt0eXBlXSYmIWpRdWVyeS5pc1dpbmRvdyhlbGVtKSl7dG1wPWVsZW1bb250eXBlXSx0bXAmJihlbGVtW29udHlwZV09bnVsbCksalF1ZXJ5LmV2ZW50LnRyaWdnZXJlZD10eXBlO3RyeXtlbGVtW3R5cGVdKCl9Y2F0Y2goZSl7fWpRdWVyeS5ldmVudC50cmlnZ2VyZWQ9dm9pZCAwLHRtcCYmKGVsZW1bb250eXBlXT10bXApfXJldHVybiBldmVudC5yZXN1bHR9fSxkaXNwYXRjaDpmdW5jdGlvbihldmVudCl7ZXZlbnQ9alF1ZXJ5LmV2ZW50LmZpeChldmVudCk7dmFyIGkscmV0LGhhbmRsZU9iaixtYXRjaGVkLGosaGFuZGxlclF1ZXVlPVtdLGFyZ3M9c2xpY2UuY2FsbChhcmd1bWVudHMpLGhhbmRsZXJzPShqUXVlcnkuX2RhdGEodGhpcyxcImV2ZW50c1wiKXx8e30pW2V2ZW50LnR5cGVdfHxbXSxzcGVjaWFsPWpRdWVyeS5ldmVudC5zcGVjaWFsW2V2ZW50LnR5cGVdfHx7fTtpZihhcmdzWzBdPWV2ZW50LGV2ZW50LmRlbGVnYXRlVGFyZ2V0PXRoaXMsIXNwZWNpYWwucHJlRGlzcGF0Y2h8fHNwZWNpYWwucHJlRGlzcGF0Y2guY2FsbCh0aGlzLGV2ZW50KSE9PSExKXtmb3IoaGFuZGxlclF1ZXVlPWpRdWVyeS5ldmVudC5oYW5kbGVycy5jYWxsKHRoaXMsZXZlbnQsaGFuZGxlcnMpLGk9MDsobWF0Y2hlZD1oYW5kbGVyUXVldWVbaSsrXSkmJiFldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylmb3IoZXZlbnQuY3VycmVudFRhcmdldD1tYXRjaGVkLmVsZW0saj0wOyhoYW5kbGVPYmo9bWF0Y2hlZC5oYW5kbGVyc1tqKytdKSYmIWV2ZW50LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCk7KSghZXZlbnQubmFtZXNwYWNlX3JlfHxldmVudC5uYW1lc3BhY2VfcmUudGVzdChoYW5kbGVPYmoubmFtZXNwYWNlKSkmJihldmVudC5oYW5kbGVPYmo9aGFuZGxlT2JqLGV2ZW50LmRhdGE9aGFuZGxlT2JqLmRhdGEscmV0PSgoalF1ZXJ5LmV2ZW50LnNwZWNpYWxbaGFuZGxlT2JqLm9yaWdUeXBlXXx8e30pLmhhbmRsZXx8aGFuZGxlT2JqLmhhbmRsZXIpLmFwcGx5KG1hdGNoZWQuZWxlbSxhcmdzKSx2b2lkIDAhPT1yZXQmJihldmVudC5yZXN1bHQ9cmV0KT09PSExJiYoZXZlbnQucHJldmVudERlZmF1bHQoKSxldmVudC5zdG9wUHJvcGFnYXRpb24oKSkpO3JldHVybiBzcGVjaWFsLnBvc3REaXNwYXRjaCYmc3BlY2lhbC5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLGV2ZW50KSxldmVudC5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihldmVudCxoYW5kbGVycyl7dmFyIHNlbCxoYW5kbGVPYmosbWF0Y2hlcyxpLGhhbmRsZXJRdWV1ZT1bXSxkZWxlZ2F0ZUNvdW50PWhhbmRsZXJzLmRlbGVnYXRlQ291bnQsY3VyPWV2ZW50LnRhcmdldDtpZihkZWxlZ2F0ZUNvdW50JiZjdXIubm9kZVR5cGUmJighZXZlbnQuYnV0dG9ufHxcImNsaWNrXCIhPT1ldmVudC50eXBlKSlmb3IoO2N1ciE9dGhpcztjdXI9Y3VyLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWN1ci5ub2RlVHlwZSYmKGN1ci5kaXNhYmxlZCE9PSEwfHxcImNsaWNrXCIhPT1ldmVudC50eXBlKSl7Zm9yKG1hdGNoZXM9W10saT0wO2RlbGVnYXRlQ291bnQ+aTtpKyspaGFuZGxlT2JqPWhhbmRsZXJzW2ldLHNlbD1oYW5kbGVPYmouc2VsZWN0b3IrXCIgXCIsdm9pZCAwPT09bWF0Y2hlc1tzZWxdJiYobWF0Y2hlc1tzZWxdPWhhbmRsZU9iai5uZWVkc0NvbnRleHQ/alF1ZXJ5KHNlbCx0aGlzKS5pbmRleChjdXIpPj0wOmpRdWVyeS5maW5kKHNlbCx0aGlzLG51bGwsW2N1cl0pLmxlbmd0aCksbWF0Y2hlc1tzZWxdJiZtYXRjaGVzLnB1c2goaGFuZGxlT2JqKTttYXRjaGVzLmxlbmd0aCYmaGFuZGxlclF1ZXVlLnB1c2goe2VsZW06Y3VyLGhhbmRsZXJzOm1hdGNoZXN9KX1yZXR1cm4gZGVsZWdhdGVDb3VudDxoYW5kbGVycy5sZW5ndGgmJmhhbmRsZXJRdWV1ZS5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6aGFuZGxlcnMuc2xpY2UoZGVsZWdhdGVDb3VudCl9KSxoYW5kbGVyUXVldWV9LGZpeDpmdW5jdGlvbihldmVudCl7aWYoZXZlbnRbalF1ZXJ5LmV4cGFuZG9dKXJldHVybiBldmVudDt2YXIgaSxwcm9wLGNvcHksdHlwZT1ldmVudC50eXBlLG9yaWdpbmFsRXZlbnQ9ZXZlbnQsZml4SG9vaz10aGlzLmZpeEhvb2tzW3R5cGVdO2ZvcihmaXhIb29rfHwodGhpcy5maXhIb29rc1t0eXBlXT1maXhIb29rPXJtb3VzZUV2ZW50LnRlc3QodHlwZSk/dGhpcy5tb3VzZUhvb2tzOnJrZXlFdmVudC50ZXN0KHR5cGUpP3RoaXMua2V5SG9va3M6e30pLGNvcHk9Zml4SG9vay5wcm9wcz90aGlzLnByb3BzLmNvbmNhdChmaXhIb29rLnByb3BzKTp0aGlzLnByb3BzLGV2ZW50PW5ldyBqUXVlcnkuRXZlbnQob3JpZ2luYWxFdmVudCksaT1jb3B5Lmxlbmd0aDtpLS07KXByb3A9Y29weVtpXSxldmVudFtwcm9wXT1vcmlnaW5hbEV2ZW50W3Byb3BdO3JldHVybiBldmVudC50YXJnZXR8fChldmVudC50YXJnZXQ9b3JpZ2luYWxFdmVudC5zcmNFbGVtZW50fHxkb2N1bWVudCksMz09PWV2ZW50LnRhcmdldC5ub2RlVHlwZSYmKGV2ZW50LnRhcmdldD1ldmVudC50YXJnZXQucGFyZW50Tm9kZSksZXZlbnQubWV0YUtleT0hIWV2ZW50Lm1ldGFLZXksZml4SG9vay5maWx0ZXI/Zml4SG9vay5maWx0ZXIoZXZlbnQsb3JpZ2luYWxFdmVudCk6ZXZlbnR9LHByb3BzOlwiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoXCIuc3BsaXQoXCIgXCIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczpcImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGVcIi5zcGxpdChcIiBcIiksZmlsdGVyOmZ1bmN0aW9uKGV2ZW50LG9yaWdpbmFsKXtyZXR1cm4gbnVsbD09ZXZlbnQud2hpY2gmJihldmVudC53aGljaD1udWxsIT1vcmlnaW5hbC5jaGFyQ29kZT9vcmlnaW5hbC5jaGFyQ29kZTpvcmlnaW5hbC5rZXlDb2RlKSxldmVudH19LG1vdXNlSG9va3M6e3Byb3BzOlwiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50XCIuc3BsaXQoXCIgXCIpLGZpbHRlcjpmdW5jdGlvbihldmVudCxvcmlnaW5hbCl7dmFyIGJvZHksZXZlbnREb2MsZG9jLGJ1dHRvbj1vcmlnaW5hbC5idXR0b24sZnJvbUVsZW1lbnQ9b3JpZ2luYWwuZnJvbUVsZW1lbnQ7cmV0dXJuIG51bGw9PWV2ZW50LnBhZ2VYJiZudWxsIT1vcmlnaW5hbC5jbGllbnRYJiYoZXZlbnREb2M9ZXZlbnQudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fGRvY3VtZW50LGRvYz1ldmVudERvYy5kb2N1bWVudEVsZW1lbnQsYm9keT1ldmVudERvYy5ib2R5LGV2ZW50LnBhZ2VYPW9yaWdpbmFsLmNsaWVudFgrKGRvYyYmZG9jLnNjcm9sbExlZnR8fGJvZHkmJmJvZHkuc2Nyb2xsTGVmdHx8MCktKGRvYyYmZG9jLmNsaWVudExlZnR8fGJvZHkmJmJvZHkuY2xpZW50TGVmdHx8MCksZXZlbnQucGFnZVk9b3JpZ2luYWwuY2xpZW50WSsoZG9jJiZkb2Muc2Nyb2xsVG9wfHxib2R5JiZib2R5LnNjcm9sbFRvcHx8MCktKGRvYyYmZG9jLmNsaWVudFRvcHx8Ym9keSYmYm9keS5jbGllbnRUb3B8fDApKSwhZXZlbnQucmVsYXRlZFRhcmdldCYmZnJvbUVsZW1lbnQmJihldmVudC5yZWxhdGVkVGFyZ2V0PWZyb21FbGVtZW50PT09ZXZlbnQudGFyZ2V0P29yaWdpbmFsLnRvRWxlbWVudDpmcm9tRWxlbWVudCksZXZlbnQud2hpY2h8fHZvaWQgMD09PWJ1dHRvbnx8KGV2ZW50LndoaWNoPTEmYnV0dG9uPzE6MiZidXR0b24/Mzo0JmJ1dHRvbj8yOjApLGV2ZW50fX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7aWYodGhpcyE9PXNhZmVBY3RpdmVFbGVtZW50KCkmJnRoaXMuZm9jdXMpdHJ5e3JldHVybiB0aGlzLmZvY3VzKCksITF9Y2F0Y2goZSl7fX0sZGVsZWdhdGVUeXBlOlwiZm9jdXNpblwifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1zYWZlQWN0aXZlRWxlbWVudCgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZTpcImZvY3Vzb3V0XCJ9LGNsaWNrOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeS5ub2RlTmFtZSh0aGlzLFwiaW5wdXRcIikmJlwiY2hlY2tib3hcIj09PXRoaXMudHlwZSYmdGhpcy5jbGljaz8odGhpcy5jbGljaygpLCExKTp2b2lkIDB9LF9kZWZhdWx0OmZ1bmN0aW9uKGV2ZW50KXtyZXR1cm4galF1ZXJ5Lm5vZGVOYW1lKGV2ZW50LnRhcmdldCxcImFcIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihldmVudCl7dm9pZCAwIT09ZXZlbnQucmVzdWx0JiZldmVudC5vcmlnaW5hbEV2ZW50JiYoZXZlbnQub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1ldmVudC5yZXN1bHQpfX19LHNpbXVsYXRlOmZ1bmN0aW9uKHR5cGUsZWxlbSxldmVudCxidWJibGUpe3ZhciBlPWpRdWVyeS5leHRlbmQobmV3IGpRdWVyeS5FdmVudCxldmVudCx7dHlwZTp0eXBlLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtidWJibGU/alF1ZXJ5LmV2ZW50LnRyaWdnZXIoZSxudWxsLGVsZW0pOmpRdWVyeS5ldmVudC5kaXNwYXRjaC5jYWxsKGVsZW0sZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmZXZlbnQucHJldmVudERlZmF1bHQoKX19LGpRdWVyeS5yZW1vdmVFdmVudD1kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyP2Z1bmN0aW9uKGVsZW0sdHlwZSxoYW5kbGUpe2VsZW0ucmVtb3ZlRXZlbnRMaXN0ZW5lciYmZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsaGFuZGxlLCExKX06ZnVuY3Rpb24oZWxlbSx0eXBlLGhhbmRsZSl7dmFyIG5hbWU9XCJvblwiK3R5cGU7ZWxlbS5kZXRhY2hFdmVudCYmKHR5cGVvZiBlbGVtW25hbWVdPT09c3RydW5kZWZpbmVkJiYoZWxlbVtuYW1lXT1udWxsKSxlbGVtLmRldGFjaEV2ZW50KG5hbWUsaGFuZGxlKSl9LGpRdWVyeS5FdmVudD1mdW5jdGlvbihzcmMscHJvcHMpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgalF1ZXJ5LkV2ZW50PyhzcmMmJnNyYy50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9c3JjLHRoaXMudHlwZT1zcmMudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1zcmMuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09c3JjLmRlZmF1bHRQcmV2ZW50ZWQmJnNyYy5yZXR1cm5WYWx1ZT09PSExP3JldHVyblRydWU6cmV0dXJuRmFsc2UpOnRoaXMudHlwZT1zcmMscHJvcHMmJmpRdWVyeS5leHRlbmQodGhpcyxwcm9wcyksdGhpcy50aW1lU3RhbXA9c3JjJiZzcmMudGltZVN0YW1wfHxqUXVlcnkubm93KCksdm9pZCh0aGlzW2pRdWVyeS5leHBhbmRvXT0hMCkpOm5ldyBqUXVlcnkuRXZlbnQoc3JjLHByb3BzKX0salF1ZXJ5LkV2ZW50LnByb3RvdHlwZT17aXNEZWZhdWx0UHJldmVudGVkOnJldHVybkZhbHNlLGlzUHJvcGFnYXRpb25TdG9wcGVkOnJldHVybkZhbHNlLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOnJldHVybkZhbHNlLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPXJldHVyblRydWUsZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOmUucmV0dXJuVmFsdWU9ITEpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1yZXR1cm5UcnVlLGUmJihlLnN0b3BQcm9wYWdhdGlvbiYmZS5zdG9wUHJvcGFnYXRpb24oKSxlLmNhbmNlbEJ1YmJsZT0hMCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPXJldHVyblRydWUsZSYmZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LGpRdWVyeS5lYWNoKHttb3VzZWVudGVyOlwibW91c2VvdmVyXCIsbW91c2VsZWF2ZTpcIm1vdXNlb3V0XCIscG9pbnRlcmVudGVyOlwicG9pbnRlcm92ZXJcIixwb2ludGVybGVhdmU6XCJwb2ludGVyb3V0XCJ9LGZ1bmN0aW9uKG9yaWcsZml4KXtqUXVlcnkuZXZlbnQuc3BlY2lhbFtvcmlnXT17ZGVsZWdhdGVUeXBlOmZpeCxiaW5kVHlwZTpmaXgsaGFuZGxlOmZ1bmN0aW9uKGV2ZW50KXt2YXIgcmV0LHRhcmdldD10aGlzLHJlbGF0ZWQ9ZXZlbnQucmVsYXRlZFRhcmdldCxoYW5kbGVPYmo9ZXZlbnQuaGFuZGxlT2JqO3JldHVybighcmVsYXRlZHx8cmVsYXRlZCE9PXRhcmdldCYmIWpRdWVyeS5jb250YWlucyh0YXJnZXQscmVsYXRlZCkpJiYoZXZlbnQudHlwZT1oYW5kbGVPYmoub3JpZ1R5cGUscmV0PWhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxldmVudC50eXBlPWZpeCkscmV0fX19KSxzdXBwb3J0LnN1Ym1pdEJ1YmJsZXN8fChqUXVlcnkuZXZlbnQuc3BlY2lhbC5zdWJtaXQ9e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeS5ub2RlTmFtZSh0aGlzLFwiZm9ybVwiKT8hMTp2b2lkIGpRdWVyeS5ldmVudC5hZGQodGhpcyxcImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdFwiLGZ1bmN0aW9uKGUpe3ZhciBlbGVtPWUudGFyZ2V0LGZvcm09alF1ZXJ5Lm5vZGVOYW1lKGVsZW0sXCJpbnB1dFwiKXx8alF1ZXJ5Lm5vZGVOYW1lKGVsZW0sXCJidXR0b25cIik/ZWxlbS5mb3JtOnZvaWQgMDtmb3JtJiYhalF1ZXJ5Ll9kYXRhKGZvcm0sXCJzdWJtaXRCdWJibGVzXCIpJiYoalF1ZXJ5LmV2ZW50LmFkZChmb3JtLFwic3VibWl0Ll9zdWJtaXRcIixmdW5jdGlvbihldmVudCl7ZXZlbnQuX3N1Ym1pdF9idWJibGU9ITB9KSxqUXVlcnkuX2RhdGEoZm9ybSxcInN1Ym1pdEJ1YmJsZXNcIiwhMCkpfSl9LHBvc3REaXNwYXRjaDpmdW5jdGlvbihldmVudCl7ZXZlbnQuX3N1Ym1pdF9idWJibGUmJihkZWxldGUgZXZlbnQuX3N1Ym1pdF9idWJibGUsdGhpcy5wYXJlbnROb2RlJiYhZXZlbnQuaXNUcmlnZ2VyJiZqUXVlcnkuZXZlbnQuc2ltdWxhdGUoXCJzdWJtaXRcIix0aGlzLnBhcmVudE5vZGUsZXZlbnQsITApKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtyZXR1cm4galF1ZXJ5Lm5vZGVOYW1lKHRoaXMsXCJmb3JtXCIpPyExOnZvaWQgalF1ZXJ5LmV2ZW50LnJlbW92ZSh0aGlzLFwiLl9zdWJtaXRcIil9fSksc3VwcG9ydC5jaGFuZ2VCdWJibGVzfHwoalF1ZXJ5LmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiByZm9ybUVsZW1zLnRlc3QodGhpcy5ub2RlTmFtZSk/KChcImNoZWNrYm94XCI9PT10aGlzLnR5cGV8fFwicmFkaW9cIj09PXRoaXMudHlwZSkmJihqUXVlcnkuZXZlbnQuYWRkKHRoaXMsXCJwcm9wZXJ0eWNoYW5nZS5fY2hhbmdlXCIsZnVuY3Rpb24oZXZlbnQpe1wiY2hlY2tlZFwiPT09ZXZlbnQub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksalF1ZXJ5LmV2ZW50LmFkZCh0aGlzLFwiY2xpY2suX2NoYW5nZVwiLGZ1bmN0aW9uKGV2ZW50KXt0aGlzLl9qdXN0X2NoYW5nZWQmJiFldmVudC5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLGpRdWVyeS5ldmVudC5zaW11bGF0ZShcImNoYW5nZVwiLHRoaXMsZXZlbnQsITApfSkpLCExKTp2b2lkIGpRdWVyeS5ldmVudC5hZGQodGhpcyxcImJlZm9yZWFjdGl2YXRlLl9jaGFuZ2VcIixmdW5jdGlvbihlKXt2YXIgZWxlbT1lLnRhcmdldDtyZm9ybUVsZW1zLnRlc3QoZWxlbS5ub2RlTmFtZSkmJiFqUXVlcnkuX2RhdGEoZWxlbSxcImNoYW5nZUJ1YmJsZXNcIikmJihqUXVlcnkuZXZlbnQuYWRkKGVsZW0sXCJjaGFuZ2UuX2NoYW5nZVwiLGZ1bmN0aW9uKGV2ZW50KXshdGhpcy5wYXJlbnROb2RlfHxldmVudC5pc1NpbXVsYXRlZHx8ZXZlbnQuaXNUcmlnZ2VyfHxqUXVlcnkuZXZlbnQuc2ltdWxhdGUoXCJjaGFuZ2VcIix0aGlzLnBhcmVudE5vZGUsZXZlbnQsITApfSksalF1ZXJ5Ll9kYXRhKGVsZW0sXCJjaGFuZ2VCdWJibGVzXCIsITApKX0pfSxoYW5kbGU6ZnVuY3Rpb24oZXZlbnQpe3ZhciBlbGVtPWV2ZW50LnRhcmdldDtyZXR1cm4gdGhpcyE9PWVsZW18fGV2ZW50LmlzU2ltdWxhdGVkfHxldmVudC5pc1RyaWdnZXJ8fFwicmFkaW9cIiE9PWVsZW0udHlwZSYmXCJjaGVja2JveFwiIT09ZWxlbS50eXBlP2V2ZW50LmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp2b2lkIDB9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeS5ldmVudC5yZW1vdmUodGhpcyxcIi5fY2hhbmdlXCIpLCFyZm9ybUVsZW1zLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksc3VwcG9ydC5mb2N1c2luQnViYmxlc3x8alF1ZXJ5LmVhY2goe2ZvY3VzOlwiZm9jdXNpblwiLGJsdXI6XCJmb2N1c291dFwifSxmdW5jdGlvbihvcmlnLGZpeCl7dmFyIGhhbmRsZXI9ZnVuY3Rpb24oZXZlbnQpe2pRdWVyeS5ldmVudC5zaW11bGF0ZShmaXgsZXZlbnQudGFyZ2V0LGpRdWVyeS5ldmVudC5maXgoZXZlbnQpLCEwKX07alF1ZXJ5LmV2ZW50LnNwZWNpYWxbZml4XT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZG9jPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxhdHRhY2hlcz1qUXVlcnkuX2RhdGEoZG9jLGZpeCk7YXR0YWNoZXN8fGRvYy5hZGRFdmVudExpc3RlbmVyKG9yaWcsaGFuZGxlciwhMCksalF1ZXJ5Ll9kYXRhKGRvYyxmaXgsKGF0dGFjaGVzfHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgZG9jPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxhdHRhY2hlcz1qUXVlcnkuX2RhdGEoZG9jLGZpeCktMTthdHRhY2hlcz9qUXVlcnkuX2RhdGEoZG9jLGZpeCxhdHRhY2hlcyk6KGRvYy5yZW1vdmVFdmVudExpc3RlbmVyKG9yaWcsaGFuZGxlciwhMCksalF1ZXJ5Ll9yZW1vdmVEYXRhKGRvYyxmaXgpKX19fSksalF1ZXJ5LmZuLmV4dGVuZCh7b246ZnVuY3Rpb24odHlwZXMsc2VsZWN0b3IsZGF0YSxmbixvbmUpe3ZhciB0eXBlLG9yaWdGbjtpZihcIm9iamVjdFwiPT10eXBlb2YgdHlwZXMpe1wic3RyaW5nXCIhPXR5cGVvZiBzZWxlY3RvciYmKGRhdGE9ZGF0YXx8c2VsZWN0b3Isc2VsZWN0b3I9dm9pZCAwKTtmb3IodHlwZSBpbiB0eXBlcyl0aGlzLm9uKHR5cGUsc2VsZWN0b3IsZGF0YSx0eXBlc1t0eXBlXSxvbmUpO3JldHVybiB0aGlzfWlmKG51bGw9PWRhdGEmJm51bGw9PWZuPyhmbj1zZWxlY3RvcixkYXRhPXNlbGVjdG9yPXZvaWQgMCk6bnVsbD09Zm4mJihcInN0cmluZ1wiPT10eXBlb2Ygc2VsZWN0b3I/KGZuPWRhdGEsZGF0YT12b2lkIDApOihmbj1kYXRhLGRhdGE9c2VsZWN0b3Isc2VsZWN0b3I9dm9pZCAwKSksZm49PT0hMSlmbj1yZXR1cm5GYWxzZTtlbHNlIGlmKCFmbilyZXR1cm4gdGhpcztyZXR1cm4gMT09PW9uZSYmKG9yaWdGbj1mbixmbj1mdW5jdGlvbihldmVudCl7cmV0dXJuIGpRdWVyeSgpLm9mZihldmVudCksb3JpZ0ZuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZm4uZ3VpZD1vcmlnRm4uZ3VpZHx8KG9yaWdGbi5ndWlkPWpRdWVyeS5ndWlkKyspKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkuZXZlbnQuYWRkKHRoaXMsdHlwZXMsZm4sZGF0YSxzZWxlY3Rvcil9KX0sb25lOmZ1bmN0aW9uKHR5cGVzLHNlbGVjdG9yLGRhdGEsZm4pe3JldHVybiB0aGlzLm9uKHR5cGVzLHNlbGVjdG9yLGRhdGEsZm4sMSl9LG9mZjpmdW5jdGlvbih0eXBlcyxzZWxlY3Rvcixmbil7dmFyIGhhbmRsZU9iaix0eXBlO2lmKHR5cGVzJiZ0eXBlcy5wcmV2ZW50RGVmYXVsdCYmdHlwZXMuaGFuZGxlT2JqKXJldHVybiBoYW5kbGVPYmo9dHlwZXMuaGFuZGxlT2JqLGpRdWVyeSh0eXBlcy5kZWxlZ2F0ZVRhcmdldCkub2ZmKGhhbmRsZU9iai5uYW1lc3BhY2U/aGFuZGxlT2JqLm9yaWdUeXBlK1wiLlwiK2hhbmRsZU9iai5uYW1lc3BhY2U6aGFuZGxlT2JqLm9yaWdUeXBlLGhhbmRsZU9iai5zZWxlY3RvcixoYW5kbGVPYmouaGFuZGxlciksdGhpcztpZihcIm9iamVjdFwiPT10eXBlb2YgdHlwZXMpe2Zvcih0eXBlIGluIHR5cGVzKXRoaXMub2ZmKHR5cGUsc2VsZWN0b3IsdHlwZXNbdHlwZV0pO3JldHVybiB0aGlzfXJldHVybihzZWxlY3Rvcj09PSExfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBzZWxlY3RvcikmJihmbj1zZWxlY3RvcixzZWxlY3Rvcj12b2lkIDApLGZuPT09ITEmJihmbj1yZXR1cm5GYWxzZSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5LmV2ZW50LnJlbW92ZSh0aGlzLHR5cGVzLGZuLHNlbGVjdG9yKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKHR5cGUsZGF0YSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5ldmVudC50cmlnZ2VyKHR5cGUsZGF0YSx0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbih0eXBlLGRhdGEpe3ZhciBlbGVtPXRoaXNbMF07cmV0dXJuIGVsZW0/alF1ZXJ5LmV2ZW50LnRyaWdnZXIodHlwZSxkYXRhLGVsZW0sITApOnZvaWQgMH19KTt2YXIgbm9kZU5hbWVzPVwiYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlb1wiLHJpbmxpbmVqUXVlcnk9LyBqUXVlcnlcXGQrPVwiKD86bnVsbHxcXGQrKVwiL2cscm5vc2hpbWNhY2hlPW5ldyBSZWdFeHAoXCI8KD86XCIrbm9kZU5hbWVzK1wiKVtcXFxccy8+XVwiLFwiaVwiKSxybGVhZGluZ1doaXRlc3BhY2U9L15cXHMrLyxyeGh0bWxUYWc9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW1xcdzpdKylbXj5dKilcXC8+L2dpLHJ0YWdOYW1lPS88KFtcXHc6XSspLyxydGJvZHk9Lzx0Ym9keS9pLHJodG1sPS88fCYjP1xcdys7Lyxybm9Jbm5lcmh0bWw9LzwoPzpzY3JpcHR8c3R5bGV8bGluaykvaSxyY2hlY2tlZD0vY2hlY2tlZFxccyooPzpbXj1dfD1cXHMqLmNoZWNrZWQuKS9pLHJzY3JpcHRUeXBlPS9eJHxcXC8oPzpqYXZhfGVjbWEpc2NyaXB0L2kscnNjcmlwdFR5cGVNYXNrZWQ9L150cnVlXFwvKC4qKS8scmNsZWFuU2NyaXB0PS9eXFxzKjwhKD86XFxbQ0RBVEFcXFt8LS0pfCg/OlxcXVxcXXwtLSk+XFxzKiQvZyx3cmFwTWFwPXtvcHRpb246WzEsXCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+XCIsXCI8L3NlbGVjdD5cIl0sbGVnZW5kOlsxLFwiPGZpZWxkc2V0PlwiLFwiPC9maWVsZHNldD5cIl0sYXJlYTpbMSxcIjxtYXA+XCIsXCI8L21hcD5cIl0scGFyYW06WzEsXCI8b2JqZWN0PlwiLFwiPC9vYmplY3Q+XCJdLHRoZWFkOlsxLFwiPHRhYmxlPlwiLFwiPC90YWJsZT5cIl0sdHI6WzIsXCI8dGFibGU+PHRib2R5PlwiLFwiPC90Ym9keT48L3RhYmxlPlwiXSxjb2w6WzIsXCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPlwiLFwiPC9jb2xncm91cD48L3RhYmxlPlwiXSx0ZDpbMyxcIjx0YWJsZT48dGJvZHk+PHRyPlwiLFwiPC90cj48L3Rib2R5PjwvdGFibGU+XCJdLF9kZWZhdWx0OnN1cHBvcnQuaHRtbFNlcmlhbGl6ZT9bMCxcIlwiLFwiXCJdOlsxLFwiWDxkaXY+XCIsXCI8L2Rpdj5cIl19LHNhZmVGcmFnbWVudD1jcmVhdGVTYWZlRnJhZ21lbnQoZG9jdW1lbnQpLGZyYWdtZW50RGl2PXNhZmVGcmFnbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKTt3cmFwTWFwLm9wdGdyb3VwPXdyYXBNYXAub3B0aW9uLHdyYXBNYXAudGJvZHk9d3JhcE1hcC50Zm9vdD13cmFwTWFwLmNvbGdyb3VwPXdyYXBNYXAuY2FwdGlvbj13cmFwTWFwLnRoZWFkLHdyYXBNYXAudGg9d3JhcE1hcC50ZCxqUXVlcnkuZXh0ZW5kKHtjbG9uZTpmdW5jdGlvbihlbGVtLGRhdGFBbmRFdmVudHMsZGVlcERhdGFBbmRFdmVudHMpe3ZhciBkZXN0RWxlbWVudHMsbm9kZSxjbG9uZSxpLHNyY0VsZW1lbnRzLGluUGFnZT1qUXVlcnkuY29udGFpbnMoZWxlbS5vd25lckRvY3VtZW50LGVsZW0pO2lmKHN1cHBvcnQuaHRtbDVDbG9uZXx8alF1ZXJ5LmlzWE1MRG9jKGVsZW0pfHwhcm5vc2hpbWNhY2hlLnRlc3QoXCI8XCIrZWxlbS5ub2RlTmFtZStcIj5cIik/Y2xvbmU9ZWxlbS5jbG9uZU5vZGUoITApOihmcmFnbWVudERpdi5pbm5lckhUTUw9ZWxlbS5vdXRlckhUTUwsZnJhZ21lbnREaXYucmVtb3ZlQ2hpbGQoY2xvbmU9ZnJhZ21lbnREaXYuZmlyc3RDaGlsZCkpLCEoc3VwcG9ydC5ub0Nsb25lRXZlbnQmJnN1cHBvcnQubm9DbG9uZUNoZWNrZWR8fDEhPT1lbGVtLm5vZGVUeXBlJiYxMSE9PWVsZW0ubm9kZVR5cGV8fGpRdWVyeS5pc1hNTERvYyhlbGVtKSkpZm9yKGRlc3RFbGVtZW50cz1nZXRBbGwoY2xvbmUpLHNyY0VsZW1lbnRzPWdldEFsbChlbGVtKSxpPTA7bnVsbCE9KG5vZGU9c3JjRWxlbWVudHNbaV0pOysraSlkZXN0RWxlbWVudHNbaV0mJmZpeENsb25lTm9kZUlzc3Vlcyhub2RlLGRlc3RFbGVtZW50c1tpXSk7aWYoZGF0YUFuZEV2ZW50cylpZihkZWVwRGF0YUFuZEV2ZW50cylmb3Ioc3JjRWxlbWVudHM9c3JjRWxlbWVudHN8fGdldEFsbChlbGVtKSxkZXN0RWxlbWVudHM9ZGVzdEVsZW1lbnRzfHxnZXRBbGwoY2xvbmUpLGk9MDtudWxsIT0obm9kZT1zcmNFbGVtZW50c1tpXSk7aSsrKWNsb25lQ29weUV2ZW50KG5vZGUsZGVzdEVsZW1lbnRzW2ldKTtlbHNlIGNsb25lQ29weUV2ZW50KGVsZW0sY2xvbmUpO3JldHVybiBkZXN0RWxlbWVudHM9Z2V0QWxsKGNsb25lLFwic2NyaXB0XCIpLGRlc3RFbGVtZW50cy5sZW5ndGg+MCYmc2V0R2xvYmFsRXZhbChkZXN0RWxlbWVudHMsIWluUGFnZSYmZ2V0QWxsKGVsZW0sXCJzY3JpcHRcIikpLGRlc3RFbGVtZW50cz1zcmNFbGVtZW50cz1ub2RlPW51bGwsY2xvbmV9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oZWxlbXMsY29udGV4dCxzY3JpcHRzLHNlbGVjdGlvbil7Zm9yKHZhciBqLGVsZW0sY29udGFpbnMsdG1wLHRhZyx0Ym9keSx3cmFwLGw9ZWxlbXMubGVuZ3RoLHNhZmU9Y3JlYXRlU2FmZUZyYWdtZW50KGNvbnRleHQpLG5vZGVzPVtdLGk9MDtsPmk7aSsrKWlmKGVsZW09ZWxlbXNbaV0sZWxlbXx8MD09PWVsZW0paWYoXCJvYmplY3RcIj09PWpRdWVyeS50eXBlKGVsZW0pKWpRdWVyeS5tZXJnZShub2RlcyxlbGVtLm5vZGVUeXBlP1tlbGVtXTplbGVtKTtlbHNlIGlmKHJodG1sLnRlc3QoZWxlbSkpe2Zvcih0bXA9dG1wfHxzYWZlLmFwcGVuZENoaWxkKGNvbnRleHQuY3JlYXRlRWxlbWVudChcImRpdlwiKSksdGFnPShydGFnTmFtZS5leGVjKGVsZW0pfHxbXCJcIixcIlwiXSlbMV0udG9Mb3dlckNhc2UoKSx3cmFwPXdyYXBNYXBbdGFnXXx8d3JhcE1hcC5fZGVmYXVsdCx0bXAuaW5uZXJIVE1MPXdyYXBbMV0rZWxlbS5yZXBsYWNlKHJ4aHRtbFRhZyxcIjwkMT48LyQyPlwiKSt3cmFwWzJdLGo9d3JhcFswXTtqLS07KXRtcD10bXAubGFzdENoaWxkO2lmKCFzdXBwb3J0LmxlYWRpbmdXaGl0ZXNwYWNlJiZybGVhZGluZ1doaXRlc3BhY2UudGVzdChlbGVtKSYmbm9kZXMucHVzaChjb250ZXh0LmNyZWF0ZVRleHROb2RlKHJsZWFkaW5nV2hpdGVzcGFjZS5leGVjKGVsZW0pWzBdKSksIXN1cHBvcnQudGJvZHkpZm9yKGVsZW09XCJ0YWJsZVwiIT09dGFnfHxydGJvZHkudGVzdChlbGVtKT9cIjx0YWJsZT5cIiE9PXdyYXBbMV18fHJ0Ym9keS50ZXN0KGVsZW0pPzA6dG1wOnRtcC5maXJzdENoaWxkLGo9ZWxlbSYmZWxlbS5jaGlsZE5vZGVzLmxlbmd0aDtqLS07KWpRdWVyeS5ub2RlTmFtZSh0Ym9keT1lbGVtLmNoaWxkTm9kZXNbal0sXCJ0Ym9keVwiKSYmIXRib2R5LmNoaWxkTm9kZXMubGVuZ3RoJiZlbGVtLnJlbW92ZUNoaWxkKHRib2R5KTtmb3IoalF1ZXJ5Lm1lcmdlKG5vZGVzLHRtcC5jaGlsZE5vZGVzKSx0bXAudGV4dENvbnRlbnQ9XCJcIjt0bXAuZmlyc3RDaGlsZDspdG1wLnJlbW92ZUNoaWxkKHRtcC5maXJzdENoaWxkKTt0bXA9c2FmZS5sYXN0Q2hpbGR9ZWxzZSBub2Rlcy5wdXNoKGNvbnRleHQuY3JlYXRlVGV4dE5vZGUoZWxlbSkpO2Zvcih0bXAmJnNhZmUucmVtb3ZlQ2hpbGQodG1wKSxzdXBwb3J0LmFwcGVuZENoZWNrZWR8fGpRdWVyeS5ncmVwKGdldEFsbChub2RlcyxcImlucHV0XCIpLGZpeERlZmF1bHRDaGVja2VkKSxpPTA7ZWxlbT1ub2Rlc1tpKytdOylpZigoIXNlbGVjdGlvbnx8LTE9PT1qUXVlcnkuaW5BcnJheShlbGVtLHNlbGVjdGlvbikpJiYoY29udGFpbnM9alF1ZXJ5LmNvbnRhaW5zKGVsZW0ub3duZXJEb2N1bWVudCxlbGVtKSx0bXA9Z2V0QWxsKHNhZmUuYXBwZW5kQ2hpbGQoZWxlbSksXCJzY3JpcHRcIiksY29udGFpbnMmJnNldEdsb2JhbEV2YWwodG1wKSxzY3JpcHRzKSlmb3Ioaj0wO2VsZW09dG1wW2orK107KXJzY3JpcHRUeXBlLnRlc3QoZWxlbS50eXBlfHxcIlwiKSYmc2NyaXB0cy5wdXNoKGVsZW0pO3JldHVybiB0bXA9bnVsbCxzYWZlfSxjbGVhbkRhdGE6ZnVuY3Rpb24oZWxlbXMsYWNjZXB0RGF0YSl7Zm9yKHZhciBlbGVtLHR5cGUsaWQsZGF0YSxpPTAsaW50ZXJuYWxLZXk9alF1ZXJ5LmV4cGFuZG8sY2FjaGU9alF1ZXJ5LmNhY2hlLGRlbGV0ZUV4cGFuZG89c3VwcG9ydC5kZWxldGVFeHBhbmRvLHNwZWNpYWw9alF1ZXJ5LmV2ZW50LnNwZWNpYWw7bnVsbCE9KGVsZW09ZWxlbXNbaV0pO2krKylpZigoYWNjZXB0RGF0YXx8alF1ZXJ5LmFjY2VwdERhdGEoZWxlbSkpJiYoaWQ9ZWxlbVtpbnRlcm5hbEtleV0sZGF0YT1pZCYmY2FjaGVbaWRdKSl7aWYoZGF0YS5ldmVudHMpZm9yKHR5cGUgaW4gZGF0YS5ldmVudHMpc3BlY2lhbFt0eXBlXT9qUXVlcnkuZXZlbnQucmVtb3ZlKGVsZW0sdHlwZSk6alF1ZXJ5LnJlbW92ZUV2ZW50KGVsZW0sdHlwZSxkYXRhLmhhbmRsZSk7Y2FjaGVbaWRdJiYoZGVsZXRlIGNhY2hlW2lkXSxkZWxldGVFeHBhbmRvP2RlbGV0ZSBlbGVtW2ludGVybmFsS2V5XTp0eXBlb2YgZWxlbS5yZW1vdmVBdHRyaWJ1dGUhPT1zdHJ1bmRlZmluZWQ/ZWxlbS5yZW1vdmVBdHRyaWJ1dGUoaW50ZXJuYWxLZXkpOmVsZW1baW50ZXJuYWxLZXldPW51bGwsZGVsZXRlZElkcy5wdXNoKGlkKSl9fX0pLGpRdWVyeS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24odmFsdWUpe3JldHVybiBhY2Nlc3ModGhpcyxmdW5jdGlvbih2YWx1ZSl7cmV0dXJuIHZvaWQgMD09PXZhbHVlP2pRdWVyeS50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5hcHBlbmQoKHRoaXNbMF0mJnRoaXNbMF0ub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQpLmNyZWF0ZVRleHROb2RlKHZhbHVlKSl9LG51bGwsdmFsdWUsYXJndW1lbnRzLmxlbmd0aCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyxmdW5jdGlvbihlbGVtKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIHRhcmdldD1tYW5pcHVsYXRpb25UYXJnZXQodGhpcyxlbGVtKTt0YXJnZXQuYXBwZW5kQ2hpbGQoZWxlbSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oZWxlbSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciB0YXJnZXQ9bWFuaXB1bGF0aW9uVGFyZ2V0KHRoaXMsZWxlbSk7dGFyZ2V0Lmluc2VydEJlZm9yZShlbGVtLHRhcmdldC5maXJzdENoaWxkKX19KX0sYmVmb3JlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGVsZW0pe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlbGVtLHRoaXMpfSl9LGFmdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGVsZW0pe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlbGVtLHRoaXMubmV4dFNpYmxpbmcpfSl9LHJlbW92ZTpmdW5jdGlvbihzZWxlY3RvcixrZWVwRGF0YSl7Zm9yKHZhciBlbGVtLGVsZW1zPXNlbGVjdG9yP2pRdWVyeS5maWx0ZXIoc2VsZWN0b3IsdGhpcyk6dGhpcyxpPTA7bnVsbCE9KGVsZW09ZWxlbXNbaV0pO2krKylrZWVwRGF0YXx8MSE9PWVsZW0ubm9kZVR5cGV8fGpRdWVyeS5jbGVhbkRhdGEoZ2V0QWxsKGVsZW0pKSxlbGVtLnBhcmVudE5vZGUmJihrZWVwRGF0YSYmalF1ZXJ5LmNvbnRhaW5zKGVsZW0ub3duZXJEb2N1bWVudCxlbGVtKSYmc2V0R2xvYmFsRXZhbChnZXRBbGwoZWxlbSxcInNjcmlwdFwiKSksZWxlbS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW0pKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGVsZW0saT0wO251bGwhPShlbGVtPXRoaXNbaV0pO2krKyl7Zm9yKDE9PT1lbGVtLm5vZGVUeXBlJiZqUXVlcnkuY2xlYW5EYXRhKGdldEFsbChlbGVtLCExKSk7ZWxlbS5maXJzdENoaWxkOyllbGVtLnJlbW92ZUNoaWxkKGVsZW0uZmlyc3RDaGlsZCk7ZWxlbS5vcHRpb25zJiZqUXVlcnkubm9kZU5hbWUoZWxlbSxcInNlbGVjdFwiKSYmKGVsZW0ub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGRhdGFBbmRFdmVudHMsZGVlcERhdGFBbmRFdmVudHMpe3JldHVybiBkYXRhQW5kRXZlbnRzPW51bGw9PWRhdGFBbmRFdmVudHM/ITE6ZGF0YUFuZEV2ZW50cyxkZWVwRGF0YUFuZEV2ZW50cz1udWxsPT1kZWVwRGF0YUFuZEV2ZW50cz9kYXRhQW5kRXZlbnRzOmRlZXBEYXRhQW5kRXZlbnRzLHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeS5jbG9uZSh0aGlzLGRhdGFBbmRFdmVudHMsZGVlcERhdGFBbmRFdmVudHMpfSl9LGh0bWw6ZnVuY3Rpb24odmFsdWUpe3JldHVybiBhY2Nlc3ModGhpcyxmdW5jdGlvbih2YWx1ZSl7dmFyIGVsZW09dGhpc1swXXx8e30saT0wLGw9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09dmFsdWUpcmV0dXJuIDE9PT1lbGVtLm5vZGVUeXBlP2VsZW0uaW5uZXJIVE1MLnJlcGxhY2UocmlubGluZWpRdWVyeSxcIlwiKTp2b2lkIDA7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHZhbHVlJiYhcm5vSW5uZXJodG1sLnRlc3QodmFsdWUpJiYoc3VwcG9ydC5odG1sU2VyaWFsaXplfHwhcm5vc2hpbWNhY2hlLnRlc3QodmFsdWUpKSYmKHN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2V8fCFybGVhZGluZ1doaXRlc3BhY2UudGVzdCh2YWx1ZSkpJiYhd3JhcE1hcFsocnRhZ05hbWUuZXhlYyh2YWx1ZSl8fFtcIlwiLFwiXCJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7dmFsdWU9dmFsdWUucmVwbGFjZShyeGh0bWxUYWcsXCI8JDE+PC8kMj5cIik7dHJ5e2Zvcig7bD5pO2krKyllbGVtPXRoaXNbaV18fHt9LDE9PT1lbGVtLm5vZGVUeXBlJiYoalF1ZXJ5LmNsZWFuRGF0YShnZXRBbGwoZWxlbSwhMSkpLGVsZW0uaW5uZXJIVE1MPXZhbHVlKTtlbGVtPTB9Y2F0Y2goZSl7fX1lbGVtJiZ0aGlzLmVtcHR5KCkuYXBwZW5kKHZhbHVlKX0sbnVsbCx2YWx1ZSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oKXt2YXIgYXJnPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oZWxlbSl7YXJnPXRoaXMucGFyZW50Tm9kZSxqUXVlcnkuY2xlYW5EYXRhKGdldEFsbCh0aGlzKSksYXJnJiZhcmcucmVwbGFjZUNoaWxkKGVsZW0sdGhpcyl9KSxhcmcmJihhcmcubGVuZ3RofHxhcmcubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKHNlbGVjdG9yKXtyZXR1cm4gdGhpcy5yZW1vdmUoc2VsZWN0b3IsITApfSxkb21NYW5pcDpmdW5jdGlvbihhcmdzLGNhbGxiYWNrKXthcmdzPWNvbmNhdC5hcHBseShbXSxhcmdzKTt2YXIgZmlyc3Qsbm9kZSxoYXNTY3JpcHRzLHNjcmlwdHMsZG9jLGZyYWdtZW50LGk9MCxsPXRoaXMubGVuZ3RoLHNldD10aGlzLGlOb0Nsb25lPWwtMSx2YWx1ZT1hcmdzWzBdLGlzRnVuY3Rpb249alF1ZXJ5LmlzRnVuY3Rpb24odmFsdWUpO2lmKGlzRnVuY3Rpb258fGw+MSYmXCJzdHJpbmdcIj09dHlwZW9mIHZhbHVlJiYhc3VwcG9ydC5jaGVja0Nsb25lJiZyY2hlY2tlZC50ZXN0KHZhbHVlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGluZGV4KXt2YXIgc2VsZj1zZXQuZXEoaW5kZXgpO2lzRnVuY3Rpb24mJihhcmdzWzBdPXZhbHVlLmNhbGwodGhpcyxpbmRleCxzZWxmLmh0bWwoKSkpLHNlbGYuZG9tTWFuaXAoYXJncyxjYWxsYmFjayl9KTtpZihsJiYoZnJhZ21lbnQ9alF1ZXJ5LmJ1aWxkRnJhZ21lbnQoYXJncyx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksZmlyc3Q9ZnJhZ21lbnQuZmlyc3RDaGlsZCwxPT09ZnJhZ21lbnQuY2hpbGROb2Rlcy5sZW5ndGgmJihmcmFnbWVudD1maXJzdCksZmlyc3QpKXtmb3Ioc2NyaXB0cz1qUXVlcnkubWFwKGdldEFsbChmcmFnbWVudCxcInNjcmlwdFwiKSxkaXNhYmxlU2NyaXB0KSxoYXNTY3JpcHRzPXNjcmlwdHMubGVuZ3RoO2w+aTtpKyspbm9kZT1mcmFnbWVudCxpIT09aU5vQ2xvbmUmJihub2RlPWpRdWVyeS5jbG9uZShub2RlLCEwLCEwKSxoYXNTY3JpcHRzJiZqUXVlcnkubWVyZ2Uoc2NyaXB0cyxnZXRBbGwobm9kZSxcInNjcmlwdFwiKSkpLGNhbGxiYWNrLmNhbGwodGhpc1tpXSxub2RlLGkpO2lmKGhhc1NjcmlwdHMpZm9yKGRvYz1zY3JpcHRzW3NjcmlwdHMubGVuZ3RoLTFdLm93bmVyRG9jdW1lbnQsalF1ZXJ5Lm1hcChzY3JpcHRzLHJlc3RvcmVTY3JpcHQpLGk9MDtoYXNTY3JpcHRzPmk7aSsrKW5vZGU9c2NyaXB0c1tpXSxyc2NyaXB0VHlwZS50ZXN0KG5vZGUudHlwZXx8XCJcIikmJiFqUXVlcnkuX2RhdGEobm9kZSxcImdsb2JhbEV2YWxcIikmJmpRdWVyeS5jb250YWlucyhkb2Msbm9kZSkmJihub2RlLnNyYz9qUXVlcnkuX2V2YWxVcmwmJmpRdWVyeS5fZXZhbFVybChub2RlLnNyYyk6alF1ZXJ5Lmdsb2JhbEV2YWwoKG5vZGUudGV4dHx8bm9kZS50ZXh0Q29udGVudHx8bm9kZS5pbm5lckhUTUx8fFwiXCIpLnJlcGxhY2UocmNsZWFuU2NyaXB0LFwiXCIpKSk7ZnJhZ21lbnQ9Zmlyc3Q9bnVsbH1yZXR1cm4gdGhpc319KSxqUXVlcnkuZWFjaCh7YXBwZW5kVG86XCJhcHBlbmRcIixwcmVwZW5kVG86XCJwcmVwZW5kXCIsaW5zZXJ0QmVmb3JlOlwiYmVmb3JlXCIsaW5zZXJ0QWZ0ZXI6XCJhZnRlclwiLHJlcGxhY2VBbGw6XCJyZXBsYWNlV2l0aFwifSxmdW5jdGlvbihuYW1lLG9yaWdpbmFsKXtqUXVlcnkuZm5bbmFtZV09ZnVuY3Rpb24oc2VsZWN0b3Ipe2Zvcih2YXIgZWxlbXMsaT0wLHJldD1bXSxpbnNlcnQ9alF1ZXJ5KHNlbGVjdG9yKSxsYXN0PWluc2VydC5sZW5ndGgtMTtsYXN0Pj1pO2krKyllbGVtcz1pPT09bGFzdD90aGlzOnRoaXMuY2xvbmUoITApLGpRdWVyeShpbnNlcnRbaV0pW29yaWdpbmFsXShlbGVtcykscHVzaC5hcHBseShyZXQsZWxlbXMuZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhyZXQpfX0pO3ZhciBpZnJhbWUsZWxlbWRpc3BsYXk9e307IWZ1bmN0aW9uKCl7dmFyIHNocmlua1dyYXBCbG9ja3NWYWw7c3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzPWZ1bmN0aW9uKCl7aWYobnVsbCE9c2hyaW5rV3JhcEJsb2Nrc1ZhbClyZXR1cm4gc2hyaW5rV3JhcEJsb2Nrc1ZhbDtzaHJpbmtXcmFwQmxvY2tzVmFsPSExO3ZhciBkaXYsYm9keSxjb250YWluZXI7cmV0dXJuIGJvZHk9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJib2R5XCIpWzBdLGJvZHkmJmJvZHkuc3R5bGU/KGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGNvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGNvbnRhaW5lci5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHhcIixib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcikuYXBwZW5kQ2hpbGQoZGl2KSx0eXBlb2YgZGl2LnN0eWxlLnpvb20hPT1zdHJ1bmRlZmluZWQmJihkaXYuc3R5bGUuY3NzVGV4dD1cIi13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjFcIixkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSkuc3R5bGUud2lkdGg9XCI1cHhcIixzaHJpbmtXcmFwQmxvY2tzVmFsPTMhPT1kaXYub2Zmc2V0V2lkdGgpLGJvZHkucmVtb3ZlQ2hpbGQoY29udGFpbmVyKSxzaHJpbmtXcmFwQmxvY2tzVmFsKTp2b2lkIDB9fSgpO3ZhciBnZXRTdHlsZXMsY3VyQ1NTLHJtYXJnaW49L15tYXJnaW4vLHJudW1ub25weD1uZXcgUmVnRXhwKFwiXihcIitwbnVtK1wiKSg/IXB4KVthLXolXSskXCIsXCJpXCIpLHJwb3NpdGlvbj0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87d2luZG93LmdldENvbXB1dGVkU3R5bGU/KGdldFN0eWxlcz1mdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Lm9wZW5lcj9lbGVtLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtLG51bGwpOndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW0sbnVsbCk7XG59LGN1ckNTUz1mdW5jdGlvbihlbGVtLG5hbWUsY29tcHV0ZWQpe3ZhciB3aWR0aCxtaW5XaWR0aCxtYXhXaWR0aCxyZXQsc3R5bGU9ZWxlbS5zdHlsZTtyZXR1cm4gY29tcHV0ZWQ9Y29tcHV0ZWR8fGdldFN0eWxlcyhlbGVtKSxyZXQ9Y29tcHV0ZWQ/Y29tcHV0ZWQuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKXx8Y29tcHV0ZWRbbmFtZV06dm9pZCAwLGNvbXB1dGVkJiYoXCJcIiE9PXJldHx8alF1ZXJ5LmNvbnRhaW5zKGVsZW0ub3duZXJEb2N1bWVudCxlbGVtKXx8KHJldD1qUXVlcnkuc3R5bGUoZWxlbSxuYW1lKSkscm51bW5vbnB4LnRlc3QocmV0KSYmcm1hcmdpbi50ZXN0KG5hbWUpJiYod2lkdGg9c3R5bGUud2lkdGgsbWluV2lkdGg9c3R5bGUubWluV2lkdGgsbWF4V2lkdGg9c3R5bGUubWF4V2lkdGgsc3R5bGUubWluV2lkdGg9c3R5bGUubWF4V2lkdGg9c3R5bGUud2lkdGg9cmV0LHJldD1jb21wdXRlZC53aWR0aCxzdHlsZS53aWR0aD13aWR0aCxzdHlsZS5taW5XaWR0aD1taW5XaWR0aCxzdHlsZS5tYXhXaWR0aD1tYXhXaWR0aCkpLHZvaWQgMD09PXJldD9yZXQ6cmV0K1wiXCJ9KTpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoZ2V0U3R5bGVzPWZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLmN1cnJlbnRTdHlsZX0sY3VyQ1NTPWZ1bmN0aW9uKGVsZW0sbmFtZSxjb21wdXRlZCl7dmFyIGxlZnQscnMscnNMZWZ0LHJldCxzdHlsZT1lbGVtLnN0eWxlO3JldHVybiBjb21wdXRlZD1jb21wdXRlZHx8Z2V0U3R5bGVzKGVsZW0pLHJldD1jb21wdXRlZD9jb21wdXRlZFtuYW1lXTp2b2lkIDAsbnVsbD09cmV0JiZzdHlsZSYmc3R5bGVbbmFtZV0mJihyZXQ9c3R5bGVbbmFtZV0pLHJudW1ub25weC50ZXN0KHJldCkmJiFycG9zaXRpb24udGVzdChuYW1lKSYmKGxlZnQ9c3R5bGUubGVmdCxycz1lbGVtLnJ1bnRpbWVTdHlsZSxyc0xlZnQ9cnMmJnJzLmxlZnQscnNMZWZ0JiYocnMubGVmdD1lbGVtLmN1cnJlbnRTdHlsZS5sZWZ0KSxzdHlsZS5sZWZ0PVwiZm9udFNpemVcIj09PW5hbWU/XCIxZW1cIjpyZXQscmV0PXN0eWxlLnBpeGVsTGVmdCtcInB4XCIsc3R5bGUubGVmdD1sZWZ0LHJzTGVmdCYmKHJzLmxlZnQ9cnNMZWZ0KSksdm9pZCAwPT09cmV0P3JldDpyZXQrXCJcInx8XCJhdXRvXCJ9KSxmdW5jdGlvbigpe2Z1bmN0aW9uIGNvbXB1dGVTdHlsZVRlc3RzKCl7dmFyIGRpdixib2R5LGNvbnRhaW5lcixjb250ZW50cztib2R5PWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYm9keVwiKVswXSxib2R5JiZib2R5LnN0eWxlJiYoZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksY29udGFpbmVyLnN0eWxlLmNzc1RleHQ9XCJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweFwiLGJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKS5hcHBlbmRDaGlsZChkaXYpLGRpdi5zdHlsZS5jc3NUZXh0PVwiLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxJTt0b3A6MSU7Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo0cHg7cG9zaXRpb246YWJzb2x1dGVcIixwaXhlbFBvc2l0aW9uVmFsPWJveFNpemluZ1JlbGlhYmxlVmFsPSExLHJlbGlhYmxlTWFyZ2luUmlnaHRWYWw9ITAsd2luZG93LmdldENvbXB1dGVkU3R5bGUmJihwaXhlbFBvc2l0aW9uVmFsPVwiMSVcIiE9PSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkaXYsbnVsbCl8fHt9KS50b3AsYm94U2l6aW5nUmVsaWFibGVWYWw9XCI0cHhcIj09PSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkaXYsbnVsbCl8fHt3aWR0aDpcIjRweFwifSkud2lkdGgsY29udGVudHM9ZGl2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpLGNvbnRlbnRzLnN0eWxlLmNzc1RleHQ9ZGl2LnN0eWxlLmNzc1RleHQ9XCItd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7ZGlzcGxheTpibG9jazttYXJnaW46MDtib3JkZXI6MDtwYWRkaW5nOjBcIixjb250ZW50cy5zdHlsZS5tYXJnaW5SaWdodD1jb250ZW50cy5zdHlsZS53aWR0aD1cIjBcIixkaXYuc3R5bGUud2lkdGg9XCIxcHhcIixyZWxpYWJsZU1hcmdpblJpZ2h0VmFsPSFwYXJzZUZsb2F0KCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjb250ZW50cyxudWxsKXx8e30pLm1hcmdpblJpZ2h0KSxkaXYucmVtb3ZlQ2hpbGQoY29udGVudHMpKSxkaXYuaW5uZXJIVE1MPVwiPHRhYmxlPjx0cj48dGQ+PC90ZD48dGQ+dDwvdGQ+PC90cj48L3RhYmxlPlwiLGNvbnRlbnRzPWRpdi5nZXRFbGVtZW50c0J5VGFnTmFtZShcInRkXCIpLGNvbnRlbnRzWzBdLnN0eWxlLmNzc1RleHQ9XCJtYXJnaW46MDtib3JkZXI6MDtwYWRkaW5nOjA7ZGlzcGxheTpub25lXCIscmVsaWFibGVIaWRkZW5PZmZzZXRzVmFsPTA9PT1jb250ZW50c1swXS5vZmZzZXRIZWlnaHQscmVsaWFibGVIaWRkZW5PZmZzZXRzVmFsJiYoY29udGVudHNbMF0uc3R5bGUuZGlzcGxheT1cIlwiLGNvbnRlbnRzWzFdLnN0eWxlLmRpc3BsYXk9XCJub25lXCIscmVsaWFibGVIaWRkZW5PZmZzZXRzVmFsPTA9PT1jb250ZW50c1swXS5vZmZzZXRIZWlnaHQpLGJvZHkucmVtb3ZlQ2hpbGQoY29udGFpbmVyKSl9dmFyIGRpdixzdHlsZSxhLHBpeGVsUG9zaXRpb25WYWwsYm94U2l6aW5nUmVsaWFibGVWYWwscmVsaWFibGVIaWRkZW5PZmZzZXRzVmFsLHJlbGlhYmxlTWFyZ2luUmlnaHRWYWw7ZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksZGl2LmlubmVySFRNTD1cIiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPlwiLGE9ZGl2LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYVwiKVswXSxzdHlsZT1hJiZhLnN0eWxlLHN0eWxlJiYoc3R5bGUuY3NzVGV4dD1cImZsb2F0OmxlZnQ7b3BhY2l0eTouNVwiLHN1cHBvcnQub3BhY2l0eT1cIjAuNVwiPT09c3R5bGUub3BhY2l0eSxzdXBwb3J0LmNzc0Zsb2F0PSEhc3R5bGUuY3NzRmxvYXQsZGl2LnN0eWxlLmJhY2tncm91bmRDbGlwPVwiY29udGVudC1ib3hcIixkaXYuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD1cIlwiLHN1cHBvcnQuY2xlYXJDbG9uZVN0eWxlPVwiY29udGVudC1ib3hcIj09PWRpdi5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCxzdXBwb3J0LmJveFNpemluZz1cIlwiPT09c3R5bGUuYm94U2l6aW5nfHxcIlwiPT09c3R5bGUuTW96Qm94U2l6aW5nfHxcIlwiPT09c3R5bGUuV2Via2l0Qm94U2l6aW5nLGpRdWVyeS5leHRlbmQoc3VwcG9ydCx7cmVsaWFibGVIaWRkZW5PZmZzZXRzOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PXJlbGlhYmxlSGlkZGVuT2Zmc2V0c1ZhbCYmY29tcHV0ZVN0eWxlVGVzdHMoKSxyZWxpYWJsZUhpZGRlbk9mZnNldHNWYWx9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWJveFNpemluZ1JlbGlhYmxlVmFsJiZjb21wdXRlU3R5bGVUZXN0cygpLGJveFNpemluZ1JlbGlhYmxlVmFsfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PXBpeGVsUG9zaXRpb25WYWwmJmNvbXB1dGVTdHlsZVRlc3RzKCkscGl4ZWxQb3NpdGlvblZhbH0scmVsaWFibGVNYXJnaW5SaWdodDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1yZWxpYWJsZU1hcmdpblJpZ2h0VmFsJiZjb21wdXRlU3R5bGVUZXN0cygpLHJlbGlhYmxlTWFyZ2luUmlnaHRWYWx9fSkpfSgpLGpRdWVyeS5zd2FwPWZ1bmN0aW9uKGVsZW0sb3B0aW9ucyxjYWxsYmFjayxhcmdzKXt2YXIgcmV0LG5hbWUsb2xkPXt9O2ZvcihuYW1lIGluIG9wdGlvbnMpb2xkW25hbWVdPWVsZW0uc3R5bGVbbmFtZV0sZWxlbS5zdHlsZVtuYW1lXT1vcHRpb25zW25hbWVdO3JldD1jYWxsYmFjay5hcHBseShlbGVtLGFyZ3N8fFtdKTtmb3IobmFtZSBpbiBvcHRpb25zKWVsZW0uc3R5bGVbbmFtZV09b2xkW25hbWVdO3JldHVybiByZXR9O3ZhciByYWxwaGE9L2FscGhhXFwoW14pXSpcXCkvaSxyb3BhY2l0eT0vb3BhY2l0eVxccyo9XFxzKihbXildKikvLHJkaXNwbGF5c3dhcD0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8scm51bXNwbGl0PW5ldyBSZWdFeHAoXCJeKFwiK3BudW0rXCIpKC4qKSRcIixcImlcIikscnJlbE51bT1uZXcgUmVnRXhwKFwiXihbKy1dKT0oXCIrcG51bStcIilcIixcImlcIiksY3NzU2hvdz17cG9zaXRpb246XCJhYnNvbHV0ZVwiLHZpc2liaWxpdHk6XCJoaWRkZW5cIixkaXNwbGF5OlwiYmxvY2tcIn0sY3NzTm9ybWFsVHJhbnNmb3JtPXtsZXR0ZXJTcGFjaW5nOlwiMFwiLGZvbnRXZWlnaHQ6XCI0MDBcIn0sY3NzUHJlZml4ZXM9W1wiV2Via2l0XCIsXCJPXCIsXCJNb3pcIixcIm1zXCJdO2pRdWVyeS5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oZWxlbSxjb21wdXRlZCl7aWYoY29tcHV0ZWQpe3ZhciByZXQ9Y3VyQ1NTKGVsZW0sXCJvcGFjaXR5XCIpO3JldHVyblwiXCI9PT1yZXQ/XCIxXCI6cmV0fX19fSxjc3NOdW1iZXI6e2NvbHVtbkNvdW50OiEwLGZpbGxPcGFjaXR5OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOntcImZsb2F0XCI6c3VwcG9ydC5jc3NGbG9hdD9cImNzc0Zsb2F0XCI6XCJzdHlsZUZsb2F0XCJ9LHN0eWxlOmZ1bmN0aW9uKGVsZW0sbmFtZSx2YWx1ZSxleHRyYSl7aWYoZWxlbSYmMyE9PWVsZW0ubm9kZVR5cGUmJjghPT1lbGVtLm5vZGVUeXBlJiZlbGVtLnN0eWxlKXt2YXIgcmV0LHR5cGUsaG9va3Msb3JpZ05hbWU9alF1ZXJ5LmNhbWVsQ2FzZShuYW1lKSxzdHlsZT1lbGVtLnN0eWxlO2lmKG5hbWU9alF1ZXJ5LmNzc1Byb3BzW29yaWdOYW1lXXx8KGpRdWVyeS5jc3NQcm9wc1tvcmlnTmFtZV09dmVuZG9yUHJvcE5hbWUoc3R5bGUsb3JpZ05hbWUpKSxob29rcz1qUXVlcnkuY3NzSG9va3NbbmFtZV18fGpRdWVyeS5jc3NIb29rc1tvcmlnTmFtZV0sdm9pZCAwPT09dmFsdWUpcmV0dXJuIGhvb2tzJiZcImdldFwiaW4gaG9va3MmJnZvaWQgMCE9PShyZXQ9aG9va3MuZ2V0KGVsZW0sITEsZXh0cmEpKT9yZXQ6c3R5bGVbbmFtZV07aWYodHlwZT10eXBlb2YgdmFsdWUsXCJzdHJpbmdcIj09PXR5cGUmJihyZXQ9cnJlbE51bS5leGVjKHZhbHVlKSkmJih2YWx1ZT0ocmV0WzFdKzEpKnJldFsyXStwYXJzZUZsb2F0KGpRdWVyeS5jc3MoZWxlbSxuYW1lKSksdHlwZT1cIm51bWJlclwiKSxudWxsIT12YWx1ZSYmdmFsdWU9PT12YWx1ZSYmKFwibnVtYmVyXCIhPT10eXBlfHxqUXVlcnkuY3NzTnVtYmVyW29yaWdOYW1lXXx8KHZhbHVlKz1cInB4XCIpLHN1cHBvcnQuY2xlYXJDbG9uZVN0eWxlfHxcIlwiIT09dmFsdWV8fDAhPT1uYW1lLmluZGV4T2YoXCJiYWNrZ3JvdW5kXCIpfHwoc3R5bGVbbmFtZV09XCJpbmhlcml0XCIpLCEoaG9va3MmJlwic2V0XCJpbiBob29rcyYmdm9pZCAwPT09KHZhbHVlPWhvb2tzLnNldChlbGVtLHZhbHVlLGV4dHJhKSkpKSl0cnl7c3R5bGVbbmFtZV09dmFsdWV9Y2F0Y2goZSl7fX19LGNzczpmdW5jdGlvbihlbGVtLG5hbWUsZXh0cmEsc3R5bGVzKXt2YXIgbnVtLHZhbCxob29rcyxvcmlnTmFtZT1qUXVlcnkuY2FtZWxDYXNlKG5hbWUpO3JldHVybiBuYW1lPWpRdWVyeS5jc3NQcm9wc1tvcmlnTmFtZV18fChqUXVlcnkuY3NzUHJvcHNbb3JpZ05hbWVdPXZlbmRvclByb3BOYW1lKGVsZW0uc3R5bGUsb3JpZ05hbWUpKSxob29rcz1qUXVlcnkuY3NzSG9va3NbbmFtZV18fGpRdWVyeS5jc3NIb29rc1tvcmlnTmFtZV0saG9va3MmJlwiZ2V0XCJpbiBob29rcyYmKHZhbD1ob29rcy5nZXQoZWxlbSwhMCxleHRyYSkpLHZvaWQgMD09PXZhbCYmKHZhbD1jdXJDU1MoZWxlbSxuYW1lLHN0eWxlcykpLFwibm9ybWFsXCI9PT12YWwmJm5hbWUgaW4gY3NzTm9ybWFsVHJhbnNmb3JtJiYodmFsPWNzc05vcm1hbFRyYW5zZm9ybVtuYW1lXSksXCJcIj09PWV4dHJhfHxleHRyYT8obnVtPXBhcnNlRmxvYXQodmFsKSxleHRyYT09PSEwfHxqUXVlcnkuaXNOdW1lcmljKG51bSk/bnVtfHwwOnZhbCk6dmFsfX0pLGpRdWVyeS5lYWNoKFtcImhlaWdodFwiLFwid2lkdGhcIl0sZnVuY3Rpb24oaSxuYW1lKXtqUXVlcnkuY3NzSG9va3NbbmFtZV09e2dldDpmdW5jdGlvbihlbGVtLGNvbXB1dGVkLGV4dHJhKXtyZXR1cm4gY29tcHV0ZWQ/cmRpc3BsYXlzd2FwLnRlc3QoalF1ZXJ5LmNzcyhlbGVtLFwiZGlzcGxheVwiKSkmJjA9PT1lbGVtLm9mZnNldFdpZHRoP2pRdWVyeS5zd2FwKGVsZW0sY3NzU2hvdyxmdW5jdGlvbigpe3JldHVybiBnZXRXaWR0aE9ySGVpZ2h0KGVsZW0sbmFtZSxleHRyYSl9KTpnZXRXaWR0aE9ySGVpZ2h0KGVsZW0sbmFtZSxleHRyYSk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oZWxlbSx2YWx1ZSxleHRyYSl7dmFyIHN0eWxlcz1leHRyYSYmZ2V0U3R5bGVzKGVsZW0pO3JldHVybiBzZXRQb3NpdGl2ZU51bWJlcihlbGVtLHZhbHVlLGV4dHJhP2F1Z21lbnRXaWR0aE9ySGVpZ2h0KGVsZW0sbmFtZSxleHRyYSxzdXBwb3J0LmJveFNpemluZyYmXCJib3JkZXItYm94XCI9PT1qUXVlcnkuY3NzKGVsZW0sXCJib3hTaXppbmdcIiwhMSxzdHlsZXMpLHN0eWxlcyk6MCl9fX0pLHN1cHBvcnQub3BhY2l0eXx8KGpRdWVyeS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oZWxlbSxjb21wdXRlZCl7cmV0dXJuIHJvcGFjaXR5LnRlc3QoKGNvbXB1dGVkJiZlbGVtLmN1cnJlbnRTdHlsZT9lbGVtLmN1cnJlbnRTdHlsZS5maWx0ZXI6ZWxlbS5zdHlsZS5maWx0ZXIpfHxcIlwiKT8uMDEqcGFyc2VGbG9hdChSZWdFeHAuJDEpK1wiXCI6Y29tcHV0ZWQ/XCIxXCI6XCJcIn0sc2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUpe3ZhciBzdHlsZT1lbGVtLnN0eWxlLGN1cnJlbnRTdHlsZT1lbGVtLmN1cnJlbnRTdHlsZSxvcGFjaXR5PWpRdWVyeS5pc051bWVyaWModmFsdWUpP1wiYWxwaGEob3BhY2l0eT1cIisxMDAqdmFsdWUrXCIpXCI6XCJcIixmaWx0ZXI9Y3VycmVudFN0eWxlJiZjdXJyZW50U3R5bGUuZmlsdGVyfHxzdHlsZS5maWx0ZXJ8fFwiXCI7c3R5bGUuem9vbT0xLCh2YWx1ZT49MXx8XCJcIj09PXZhbHVlKSYmXCJcIj09PWpRdWVyeS50cmltKGZpbHRlci5yZXBsYWNlKHJhbHBoYSxcIlwiKSkmJnN0eWxlLnJlbW92ZUF0dHJpYnV0ZSYmKHN0eWxlLnJlbW92ZUF0dHJpYnV0ZShcImZpbHRlclwiKSxcIlwiPT09dmFsdWV8fGN1cnJlbnRTdHlsZSYmIWN1cnJlbnRTdHlsZS5maWx0ZXIpfHwoc3R5bGUuZmlsdGVyPXJhbHBoYS50ZXN0KGZpbHRlcik/ZmlsdGVyLnJlcGxhY2UocmFscGhhLG9wYWNpdHkpOmZpbHRlcitcIiBcIitvcGFjaXR5KX19KSxqUXVlcnkuY3NzSG9va3MubWFyZ2luUmlnaHQ9YWRkR2V0SG9va0lmKHN1cHBvcnQucmVsaWFibGVNYXJnaW5SaWdodCxmdW5jdGlvbihlbGVtLGNvbXB1dGVkKXtyZXR1cm4gY29tcHV0ZWQ/alF1ZXJ5LnN3YXAoZWxlbSx7ZGlzcGxheTpcImlubGluZS1ibG9ja1wifSxjdXJDU1MsW2VsZW0sXCJtYXJnaW5SaWdodFwiXSk6dm9pZCAwfSksalF1ZXJ5LmVhY2goe21hcmdpbjpcIlwiLHBhZGRpbmc6XCJcIixib3JkZXI6XCJXaWR0aFwifSxmdW5jdGlvbihwcmVmaXgsc3VmZml4KXtqUXVlcnkuY3NzSG9va3NbcHJlZml4K3N1ZmZpeF09e2V4cGFuZDpmdW5jdGlvbih2YWx1ZSl7Zm9yKHZhciBpPTAsZXhwYW5kZWQ9e30scGFydHM9XCJzdHJpbmdcIj09dHlwZW9mIHZhbHVlP3ZhbHVlLnNwbGl0KFwiIFwiKTpbdmFsdWVdOzQ+aTtpKyspZXhwYW5kZWRbcHJlZml4K2Nzc0V4cGFuZFtpXStzdWZmaXhdPXBhcnRzW2ldfHxwYXJ0c1tpLTJdfHxwYXJ0c1swXTtyZXR1cm4gZXhwYW5kZWR9fSxybWFyZ2luLnRlc3QocHJlZml4KXx8KGpRdWVyeS5jc3NIb29rc1twcmVmaXgrc3VmZml4XS5zZXQ9c2V0UG9zaXRpdmVOdW1iZXIpfSksalF1ZXJ5LmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKG5hbWUsdmFsdWUpe3JldHVybiBhY2Nlc3ModGhpcyxmdW5jdGlvbihlbGVtLG5hbWUsdmFsdWUpe3ZhciBzdHlsZXMsbGVuLG1hcD17fSxpPTA7aWYoalF1ZXJ5LmlzQXJyYXkobmFtZSkpe2ZvcihzdHlsZXM9Z2V0U3R5bGVzKGVsZW0pLGxlbj1uYW1lLmxlbmd0aDtsZW4+aTtpKyspbWFwW25hbWVbaV1dPWpRdWVyeS5jc3MoZWxlbSxuYW1lW2ldLCExLHN0eWxlcyk7cmV0dXJuIG1hcH1yZXR1cm4gdm9pZCAwIT09dmFsdWU/alF1ZXJ5LnN0eWxlKGVsZW0sbmFtZSx2YWx1ZSk6alF1ZXJ5LmNzcyhlbGVtLG5hbWUpfSxuYW1lLHZhbHVlLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHNob3c6ZnVuY3Rpb24oKXtyZXR1cm4gc2hvd0hpZGUodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gc2hvd0hpZGUodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihzdGF0ZSl7cmV0dXJuXCJib29sZWFuXCI9PXR5cGVvZiBzdGF0ZT9zdGF0ZT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtpc0hpZGRlbih0aGlzKT9qUXVlcnkodGhpcykuc2hvdygpOmpRdWVyeSh0aGlzKS5oaWRlKCl9KX19KSxqUXVlcnkuVHdlZW49VHdlZW4sVHdlZW4ucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpUd2Vlbixpbml0OmZ1bmN0aW9uKGVsZW0sb3B0aW9ucyxwcm9wLGVuZCxlYXNpbmcsdW5pdCl7dGhpcy5lbGVtPWVsZW0sdGhpcy5wcm9wPXByb3AsdGhpcy5lYXNpbmc9ZWFzaW5nfHxcInN3aW5nXCIsdGhpcy5vcHRpb25zPW9wdGlvbnMsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWVuZCx0aGlzLnVuaXQ9dW5pdHx8KGpRdWVyeS5jc3NOdW1iZXJbcHJvcF0/XCJcIjpcInB4XCIpfSxjdXI6ZnVuY3Rpb24oKXt2YXIgaG9va3M9VHdlZW4ucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGhvb2tzJiZob29rcy5nZXQ/aG9va3MuZ2V0KHRoaXMpOlR3ZWVuLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihwZXJjZW50KXt2YXIgZWFzZWQsaG9va3M9VHdlZW4ucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMub3B0aW9ucy5kdXJhdGlvbj90aGlzLnBvcz1lYXNlZD1qUXVlcnkuZWFzaW5nW3RoaXMuZWFzaW5nXShwZXJjZW50LHRoaXMub3B0aW9ucy5kdXJhdGlvbipwZXJjZW50LDAsMSx0aGlzLm9wdGlvbnMuZHVyYXRpb24pOnRoaXMucG9zPWVhc2VkPXBlcmNlbnQsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmVhc2VkK3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLGhvb2tzJiZob29rcy5zZXQ/aG9va3Muc2V0KHRoaXMpOlR3ZWVuLnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LFR3ZWVuLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1Ud2Vlbi5wcm90b3R5cGUsVHdlZW4ucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKHR3ZWVuKXt2YXIgcmVzdWx0O3JldHVybiBudWxsPT10d2Vlbi5lbGVtW3R3ZWVuLnByb3BdfHx0d2Vlbi5lbGVtLnN0eWxlJiZudWxsIT10d2Vlbi5lbGVtLnN0eWxlW3R3ZWVuLnByb3BdPyhyZXN1bHQ9alF1ZXJ5LmNzcyh0d2Vlbi5lbGVtLHR3ZWVuLnByb3AsXCJcIikscmVzdWx0JiZcImF1dG9cIiE9PXJlc3VsdD9yZXN1bHQ6MCk6dHdlZW4uZWxlbVt0d2Vlbi5wcm9wXX0sc2V0OmZ1bmN0aW9uKHR3ZWVuKXtqUXVlcnkuZnguc3RlcFt0d2Vlbi5wcm9wXT9qUXVlcnkuZnguc3RlcFt0d2Vlbi5wcm9wXSh0d2Vlbik6dHdlZW4uZWxlbS5zdHlsZSYmKG51bGwhPXR3ZWVuLmVsZW0uc3R5bGVbalF1ZXJ5LmNzc1Byb3BzW3R3ZWVuLnByb3BdXXx8alF1ZXJ5LmNzc0hvb2tzW3R3ZWVuLnByb3BdKT9qUXVlcnkuc3R5bGUodHdlZW4uZWxlbSx0d2Vlbi5wcm9wLHR3ZWVuLm5vdyt0d2Vlbi51bml0KTp0d2Vlbi5lbGVtW3R3ZWVuLnByb3BdPXR3ZWVuLm5vd319fSxUd2Vlbi5wcm9wSG9va3Muc2Nyb2xsVG9wPVR3ZWVuLnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24odHdlZW4pe3R3ZWVuLmVsZW0ubm9kZVR5cGUmJnR3ZWVuLmVsZW0ucGFyZW50Tm9kZSYmKHR3ZWVuLmVsZW1bdHdlZW4ucHJvcF09dHdlZW4ubm93KX19LGpRdWVyeS5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihwKXtyZXR1cm4gcH0sc3dpbmc6ZnVuY3Rpb24ocCl7cmV0dXJuLjUtTWF0aC5jb3MocCpNYXRoLlBJKS8yfX0salF1ZXJ5LmZ4PVR3ZWVuLnByb3RvdHlwZS5pbml0LGpRdWVyeS5meC5zdGVwPXt9O3ZhciBmeE5vdyx0aW1lcklkLHJmeHR5cGVzPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxyZnhudW09bmV3IFJlZ0V4cChcIl4oPzooWystXSk9fCkoXCIrcG51bStcIikoW2EteiVdKikkXCIsXCJpXCIpLHJydW49L3F1ZXVlSG9va3MkLyxhbmltYXRpb25QcmVmaWx0ZXJzPVtkZWZhdWx0UHJlZmlsdGVyXSx0d2VlbmVycz17XCIqXCI6W2Z1bmN0aW9uKHByb3AsdmFsdWUpe3ZhciB0d2Vlbj10aGlzLmNyZWF0ZVR3ZWVuKHByb3AsdmFsdWUpLHRhcmdldD10d2Vlbi5jdXIoKSxwYXJ0cz1yZnhudW0uZXhlYyh2YWx1ZSksdW5pdD1wYXJ0cyYmcGFydHNbM118fChqUXVlcnkuY3NzTnVtYmVyW3Byb3BdP1wiXCI6XCJweFwiKSxzdGFydD0oalF1ZXJ5LmNzc051bWJlcltwcm9wXXx8XCJweFwiIT09dW5pdCYmK3RhcmdldCkmJnJmeG51bS5leGVjKGpRdWVyeS5jc3ModHdlZW4uZWxlbSxwcm9wKSksc2NhbGU9MSxtYXhJdGVyYXRpb25zPTIwO2lmKHN0YXJ0JiZzdGFydFszXSE9PXVuaXQpe3VuaXQ9dW5pdHx8c3RhcnRbM10scGFydHM9cGFydHN8fFtdLHN0YXJ0PSt0YXJnZXR8fDE7ZG8gc2NhbGU9c2NhbGV8fFwiLjVcIixzdGFydC89c2NhbGUsalF1ZXJ5LnN0eWxlKHR3ZWVuLmVsZW0scHJvcCxzdGFydCt1bml0KTt3aGlsZShzY2FsZSE9PShzY2FsZT10d2Vlbi5jdXIoKS90YXJnZXQpJiYxIT09c2NhbGUmJi0tbWF4SXRlcmF0aW9ucyl9cmV0dXJuIHBhcnRzJiYoc3RhcnQ9dHdlZW4uc3RhcnQ9K3N0YXJ0fHwrdGFyZ2V0fHwwLHR3ZWVuLnVuaXQ9dW5pdCx0d2Vlbi5lbmQ9cGFydHNbMV0/c3RhcnQrKHBhcnRzWzFdKzEpKnBhcnRzWzJdOitwYXJ0c1syXSksdHdlZW59XX07alF1ZXJ5LkFuaW1hdGlvbj1qUXVlcnkuZXh0ZW5kKEFuaW1hdGlvbix7dHdlZW5lcjpmdW5jdGlvbihwcm9wcyxjYWxsYmFjayl7alF1ZXJ5LmlzRnVuY3Rpb24ocHJvcHMpPyhjYWxsYmFjaz1wcm9wcyxwcm9wcz1bXCIqXCJdKTpwcm9wcz1wcm9wcy5zcGxpdChcIiBcIik7Zm9yKHZhciBwcm9wLGluZGV4PTAsbGVuZ3RoPXByb3BzLmxlbmd0aDtsZW5ndGg+aW5kZXg7aW5kZXgrKylwcm9wPXByb3BzW2luZGV4XSx0d2VlbmVyc1twcm9wXT10d2VlbmVyc1twcm9wXXx8W10sdHdlZW5lcnNbcHJvcF0udW5zaGlmdChjYWxsYmFjayl9LHByZWZpbHRlcjpmdW5jdGlvbihjYWxsYmFjayxwcmVwZW5kKXtwcmVwZW5kP2FuaW1hdGlvblByZWZpbHRlcnMudW5zaGlmdChjYWxsYmFjayk6YW5pbWF0aW9uUHJlZmlsdGVycy5wdXNoKGNhbGxiYWNrKX19KSxqUXVlcnkuc3BlZWQ9ZnVuY3Rpb24oc3BlZWQsZWFzaW5nLGZuKXt2YXIgb3B0PXNwZWVkJiZcIm9iamVjdFwiPT10eXBlb2Ygc3BlZWQ/alF1ZXJ5LmV4dGVuZCh7fSxzcGVlZCk6e2NvbXBsZXRlOmZufHwhZm4mJmVhc2luZ3x8alF1ZXJ5LmlzRnVuY3Rpb24oc3BlZWQpJiZzcGVlZCxkdXJhdGlvbjpzcGVlZCxlYXNpbmc6Zm4mJmVhc2luZ3x8ZWFzaW5nJiYhalF1ZXJ5LmlzRnVuY3Rpb24oZWFzaW5nKSYmZWFzaW5nfTtyZXR1cm4gb3B0LmR1cmF0aW9uPWpRdWVyeS5meC5vZmY/MDpcIm51bWJlclwiPT10eXBlb2Ygb3B0LmR1cmF0aW9uP29wdC5kdXJhdGlvbjpvcHQuZHVyYXRpb24gaW4galF1ZXJ5LmZ4LnNwZWVkcz9qUXVlcnkuZnguc3BlZWRzW29wdC5kdXJhdGlvbl06alF1ZXJ5LmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09b3B0LnF1ZXVlfHxvcHQucXVldWU9PT0hMCkmJihvcHQucXVldWU9XCJmeFwiKSxvcHQub2xkPW9wdC5jb21wbGV0ZSxvcHQuY29tcGxldGU9ZnVuY3Rpb24oKXtqUXVlcnkuaXNGdW5jdGlvbihvcHQub2xkKSYmb3B0Lm9sZC5jYWxsKHRoaXMpLG9wdC5xdWV1ZSYmalF1ZXJ5LmRlcXVldWUodGhpcyxvcHQucXVldWUpfSxvcHR9LGpRdWVyeS5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihzcGVlZCx0byxlYXNpbmcsY2FsbGJhY2spe3JldHVybiB0aGlzLmZpbHRlcihpc0hpZGRlbikuY3NzKFwib3BhY2l0eVwiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OnRvfSxzcGVlZCxlYXNpbmcsY2FsbGJhY2spfSxhbmltYXRlOmZ1bmN0aW9uKHByb3Asc3BlZWQsZWFzaW5nLGNhbGxiYWNrKXt2YXIgZW1wdHk9alF1ZXJ5LmlzRW1wdHlPYmplY3QocHJvcCksb3B0YWxsPWpRdWVyeS5zcGVlZChzcGVlZCxlYXNpbmcsY2FsbGJhY2spLGRvQW5pbWF0aW9uPWZ1bmN0aW9uKCl7dmFyIGFuaW09QW5pbWF0aW9uKHRoaXMsalF1ZXJ5LmV4dGVuZCh7fSxwcm9wKSxvcHRhbGwpOyhlbXB0eXx8alF1ZXJ5Ll9kYXRhKHRoaXMsXCJmaW5pc2hcIikpJiZhbmltLnN0b3AoITApfTtyZXR1cm4gZG9BbmltYXRpb24uZmluaXNoPWRvQW5pbWF0aW9uLGVtcHR5fHxvcHRhbGwucXVldWU9PT0hMT90aGlzLmVhY2goZG9BbmltYXRpb24pOnRoaXMucXVldWUob3B0YWxsLnF1ZXVlLGRvQW5pbWF0aW9uKX0sc3RvcDpmdW5jdGlvbih0eXBlLGNsZWFyUXVldWUsZ290b0VuZCl7dmFyIHN0b3BRdWV1ZT1mdW5jdGlvbihob29rcyl7dmFyIHN0b3A9aG9va3Muc3RvcDtkZWxldGUgaG9va3Muc3RvcCxzdG9wKGdvdG9FbmQpfTtyZXR1cm5cInN0cmluZ1wiIT10eXBlb2YgdHlwZSYmKGdvdG9FbmQ9Y2xlYXJRdWV1ZSxjbGVhclF1ZXVlPXR5cGUsdHlwZT12b2lkIDApLGNsZWFyUXVldWUmJnR5cGUhPT0hMSYmdGhpcy5xdWV1ZSh0eXBlfHxcImZ4XCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkZXF1ZXVlPSEwLGluZGV4PW51bGwhPXR5cGUmJnR5cGUrXCJxdWV1ZUhvb2tzXCIsdGltZXJzPWpRdWVyeS50aW1lcnMsZGF0YT1qUXVlcnkuX2RhdGEodGhpcyk7aWYoaW5kZXgpZGF0YVtpbmRleF0mJmRhdGFbaW5kZXhdLnN0b3AmJnN0b3BRdWV1ZShkYXRhW2luZGV4XSk7ZWxzZSBmb3IoaW5kZXggaW4gZGF0YSlkYXRhW2luZGV4XSYmZGF0YVtpbmRleF0uc3RvcCYmcnJ1bi50ZXN0KGluZGV4KSYmc3RvcFF1ZXVlKGRhdGFbaW5kZXhdKTtmb3IoaW5kZXg9dGltZXJzLmxlbmd0aDtpbmRleC0tOyl0aW1lcnNbaW5kZXhdLmVsZW0hPT10aGlzfHxudWxsIT10eXBlJiZ0aW1lcnNbaW5kZXhdLnF1ZXVlIT09dHlwZXx8KHRpbWVyc1tpbmRleF0uYW5pbS5zdG9wKGdvdG9FbmQpLGRlcXVldWU9ITEsdGltZXJzLnNwbGljZShpbmRleCwxKSk7KGRlcXVldWV8fCFnb3RvRW5kKSYmalF1ZXJ5LmRlcXVldWUodGhpcyx0eXBlKX0pfSxmaW5pc2g6ZnVuY3Rpb24odHlwZSl7cmV0dXJuIHR5cGUhPT0hMSYmKHR5cGU9dHlwZXx8XCJmeFwiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaW5kZXgsZGF0YT1qUXVlcnkuX2RhdGEodGhpcykscXVldWU9ZGF0YVt0eXBlK1wicXVldWVcIl0saG9va3M9ZGF0YVt0eXBlK1wicXVldWVIb29rc1wiXSx0aW1lcnM9alF1ZXJ5LnRpbWVycyxsZW5ndGg9cXVldWU/cXVldWUubGVuZ3RoOjA7Zm9yKGRhdGEuZmluaXNoPSEwLGpRdWVyeS5xdWV1ZSh0aGlzLHR5cGUsW10pLGhvb2tzJiZob29rcy5zdG9wJiZob29rcy5zdG9wLmNhbGwodGhpcywhMCksaW5kZXg9dGltZXJzLmxlbmd0aDtpbmRleC0tOyl0aW1lcnNbaW5kZXhdLmVsZW09PT10aGlzJiZ0aW1lcnNbaW5kZXhdLnF1ZXVlPT09dHlwZSYmKHRpbWVyc1tpbmRleF0uYW5pbS5zdG9wKCEwKSx0aW1lcnMuc3BsaWNlKGluZGV4LDEpKTtmb3IoaW5kZXg9MDtsZW5ndGg+aW5kZXg7aW5kZXgrKylxdWV1ZVtpbmRleF0mJnF1ZXVlW2luZGV4XS5maW5pc2gmJnF1ZXVlW2luZGV4XS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgZGF0YS5maW5pc2h9KX19KSxqUXVlcnkuZWFjaChbXCJ0b2dnbGVcIixcInNob3dcIixcImhpZGVcIl0sZnVuY3Rpb24oaSxuYW1lKXt2YXIgY3NzRm49alF1ZXJ5LmZuW25hbWVdO2pRdWVyeS5mbltuYW1lXT1mdW5jdGlvbihzcGVlZCxlYXNpbmcsY2FsbGJhY2spe3JldHVybiBudWxsPT1zcGVlZHx8XCJib29sZWFuXCI9PXR5cGVvZiBzcGVlZD9jc3NGbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hbmltYXRlKGdlbkZ4KG5hbWUsITApLHNwZWVkLGVhc2luZyxjYWxsYmFjayl9fSksalF1ZXJ5LmVhY2goe3NsaWRlRG93bjpnZW5GeChcInNob3dcIiksc2xpZGVVcDpnZW5GeChcImhpZGVcIiksc2xpZGVUb2dnbGU6Z2VuRngoXCJ0b2dnbGVcIiksZmFkZUluOntvcGFjaXR5Olwic2hvd1wifSxmYWRlT3V0OntvcGFjaXR5OlwiaGlkZVwifSxmYWRlVG9nZ2xlOntvcGFjaXR5OlwidG9nZ2xlXCJ9fSxmdW5jdGlvbihuYW1lLHByb3BzKXtqUXVlcnkuZm5bbmFtZV09ZnVuY3Rpb24oc3BlZWQsZWFzaW5nLGNhbGxiYWNrKXtyZXR1cm4gdGhpcy5hbmltYXRlKHByb3BzLHNwZWVkLGVhc2luZyxjYWxsYmFjayl9fSksalF1ZXJ5LnRpbWVycz1bXSxqUXVlcnkuZngudGljaz1mdW5jdGlvbigpe3ZhciB0aW1lcix0aW1lcnM9alF1ZXJ5LnRpbWVycyxpPTA7Zm9yKGZ4Tm93PWpRdWVyeS5ub3coKTtpPHRpbWVycy5sZW5ndGg7aSsrKXRpbWVyPXRpbWVyc1tpXSx0aW1lcigpfHx0aW1lcnNbaV0hPT10aW1lcnx8dGltZXJzLnNwbGljZShpLS0sMSk7dGltZXJzLmxlbmd0aHx8alF1ZXJ5LmZ4LnN0b3AoKSxmeE5vdz12b2lkIDB9LGpRdWVyeS5meC50aW1lcj1mdW5jdGlvbih0aW1lcil7alF1ZXJ5LnRpbWVycy5wdXNoKHRpbWVyKSx0aW1lcigpP2pRdWVyeS5meC5zdGFydCgpOmpRdWVyeS50aW1lcnMucG9wKCl9LGpRdWVyeS5meC5pbnRlcnZhbD0xMyxqUXVlcnkuZnguc3RhcnQ9ZnVuY3Rpb24oKXt0aW1lcklkfHwodGltZXJJZD1zZXRJbnRlcnZhbChqUXVlcnkuZngudGljayxqUXVlcnkuZnguaW50ZXJ2YWwpKX0salF1ZXJ5LmZ4LnN0b3A9ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKHRpbWVySWQpLHRpbWVySWQ9bnVsbH0salF1ZXJ5LmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxqUXVlcnkuZm4uZGVsYXk9ZnVuY3Rpb24odGltZSx0eXBlKXtyZXR1cm4gdGltZT1qUXVlcnkuZng/alF1ZXJ5LmZ4LnNwZWVkc1t0aW1lXXx8dGltZTp0aW1lLHR5cGU9dHlwZXx8XCJmeFwiLHRoaXMucXVldWUodHlwZSxmdW5jdGlvbihuZXh0LGhvb2tzKXt2YXIgdGltZW91dD1zZXRUaW1lb3V0KG5leHQsdGltZSk7aG9va3Muc3RvcD1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aW1lb3V0KX19KX0sZnVuY3Rpb24oKXt2YXIgaW5wdXQsZGl2LHNlbGVjdCxhLG9wdDtkaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSxkaXYuc2V0QXR0cmlidXRlKFwiY2xhc3NOYW1lXCIsXCJ0XCIpLGRpdi5pbm5lckhUTUw9XCIgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYSc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz5cIixhPWRpdi5nZXRFbGVtZW50c0J5VGFnTmFtZShcImFcIilbMF0sc2VsZWN0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzZWxlY3RcIiksb3B0PXNlbGVjdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwib3B0aW9uXCIpKSxpbnB1dD1kaXYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJpbnB1dFwiKVswXSxhLnN0eWxlLmNzc1RleHQ9XCJ0b3A6MXB4XCIsc3VwcG9ydC5nZXRTZXRBdHRyaWJ1dGU9XCJ0XCIhPT1kaXYuY2xhc3NOYW1lLHN1cHBvcnQuc3R5bGU9L3RvcC8udGVzdChhLmdldEF0dHJpYnV0ZShcInN0eWxlXCIpKSxzdXBwb3J0LmhyZWZOb3JtYWxpemVkPVwiL2FcIj09PWEuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKSxzdXBwb3J0LmNoZWNrT249ISFpbnB1dC52YWx1ZSxzdXBwb3J0Lm9wdFNlbGVjdGVkPW9wdC5zZWxlY3RlZCxzdXBwb3J0LmVuY3R5cGU9ISFkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZm9ybVwiKS5lbmN0eXBlLHNlbGVjdC5kaXNhYmxlZD0hMCxzdXBwb3J0Lm9wdERpc2FibGVkPSFvcHQuZGlzYWJsZWQsaW5wdXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpLGlucHV0LnNldEF0dHJpYnV0ZShcInZhbHVlXCIsXCJcIiksc3VwcG9ydC5pbnB1dD1cIlwiPT09aW5wdXQuZ2V0QXR0cmlidXRlKFwidmFsdWVcIiksaW5wdXQudmFsdWU9XCJ0XCIsaW5wdXQuc2V0QXR0cmlidXRlKFwidHlwZVwiLFwicmFkaW9cIiksc3VwcG9ydC5yYWRpb1ZhbHVlPVwidFwiPT09aW5wdXQudmFsdWV9KCk7dmFyIHJyZXR1cm49L1xcci9nO2pRdWVyeS5mbi5leHRlbmQoe3ZhbDpmdW5jdGlvbih2YWx1ZSl7dmFyIGhvb2tzLHJldCxpc0Z1bmN0aW9uLGVsZW09dGhpc1swXTt7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gaXNGdW5jdGlvbj1qUXVlcnkuaXNGdW5jdGlvbih2YWx1ZSksdGhpcy5lYWNoKGZ1bmN0aW9uKGkpe3ZhciB2YWw7MT09PXRoaXMubm9kZVR5cGUmJih2YWw9aXNGdW5jdGlvbj92YWx1ZS5jYWxsKHRoaXMsaSxqUXVlcnkodGhpcykudmFsKCkpOnZhbHVlLG51bGw9PXZhbD92YWw9XCJcIjpcIm51bWJlclwiPT10eXBlb2YgdmFsP3ZhbCs9XCJcIjpqUXVlcnkuaXNBcnJheSh2YWwpJiYodmFsPWpRdWVyeS5tYXAodmFsLGZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4gbnVsbD09dmFsdWU/XCJcIjp2YWx1ZStcIlwifSkpLGhvb2tzPWpRdWVyeS52YWxIb29rc1t0aGlzLnR5cGVdfHxqUXVlcnkudmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxob29rcyYmXCJzZXRcImluIGhvb2tzJiZ2b2lkIDAhPT1ob29rcy5zZXQodGhpcyx2YWwsXCJ2YWx1ZVwiKXx8KHRoaXMudmFsdWU9dmFsKSl9KTtpZihlbGVtKXJldHVybiBob29rcz1qUXVlcnkudmFsSG9va3NbZWxlbS50eXBlXXx8alF1ZXJ5LnZhbEhvb2tzW2VsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0saG9va3MmJlwiZ2V0XCJpbiBob29rcyYmdm9pZCAwIT09KHJldD1ob29rcy5nZXQoZWxlbSxcInZhbHVlXCIpKT9yZXQ6KHJldD1lbGVtLnZhbHVlLFwic3RyaW5nXCI9PXR5cGVvZiByZXQ/cmV0LnJlcGxhY2UocnJldHVybixcIlwiKTpudWxsPT1yZXQ/XCJcIjpyZXQpfX19KSxqUXVlcnkuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oZWxlbSl7dmFyIHZhbD1qUXVlcnkuZmluZC5hdHRyKGVsZW0sXCJ2YWx1ZVwiKTtyZXR1cm4gbnVsbCE9dmFsP3ZhbDpqUXVlcnkudHJpbShqUXVlcnkudGV4dChlbGVtKSl9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihlbGVtKXtmb3IodmFyIHZhbHVlLG9wdGlvbixvcHRpb25zPWVsZW0ub3B0aW9ucyxpbmRleD1lbGVtLnNlbGVjdGVkSW5kZXgsb25lPVwic2VsZWN0LW9uZVwiPT09ZWxlbS50eXBlfHwwPmluZGV4LHZhbHVlcz1vbmU/bnVsbDpbXSxtYXg9b25lP2luZGV4KzE6b3B0aW9ucy5sZW5ndGgsaT0wPmluZGV4P21heDpvbmU/aW5kZXg6MDttYXg+aTtpKyspaWYob3B0aW9uPW9wdGlvbnNbaV0sKG9wdGlvbi5zZWxlY3RlZHx8aT09PWluZGV4KSYmKHN1cHBvcnQub3B0RGlzYWJsZWQ/IW9wdGlvbi5kaXNhYmxlZDpudWxsPT09b3B0aW9uLmdldEF0dHJpYnV0ZShcImRpc2FibGVkXCIpKSYmKCFvcHRpb24ucGFyZW50Tm9kZS5kaXNhYmxlZHx8IWpRdWVyeS5ub2RlTmFtZShvcHRpb24ucGFyZW50Tm9kZSxcIm9wdGdyb3VwXCIpKSl7aWYodmFsdWU9alF1ZXJ5KG9wdGlvbikudmFsKCksb25lKXJldHVybiB2YWx1ZTt2YWx1ZXMucHVzaCh2YWx1ZSl9cmV0dXJuIHZhbHVlc30sc2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUpe2Zvcih2YXIgb3B0aW9uU2V0LG9wdGlvbixvcHRpb25zPWVsZW0ub3B0aW9ucyx2YWx1ZXM9alF1ZXJ5Lm1ha2VBcnJheSh2YWx1ZSksaT1vcHRpb25zLmxlbmd0aDtpLS07KWlmKG9wdGlvbj1vcHRpb25zW2ldLGpRdWVyeS5pbkFycmF5KGpRdWVyeS52YWxIb29rcy5vcHRpb24uZ2V0KG9wdGlvbiksdmFsdWVzKT49MCl0cnl7b3B0aW9uLnNlbGVjdGVkPW9wdGlvblNldD0hMH1jYXRjaChfKXtvcHRpb24uc2Nyb2xsSGVpZ2h0fWVsc2Ugb3B0aW9uLnNlbGVjdGVkPSExO3JldHVybiBvcHRpb25TZXR8fChlbGVtLnNlbGVjdGVkSW5kZXg9LTEpLG9wdGlvbnN9fX19KSxqUXVlcnkuZWFjaChbXCJyYWRpb1wiLFwiY2hlY2tib3hcIl0sZnVuY3Rpb24oKXtqUXVlcnkudmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihlbGVtLHZhbHVlKXtyZXR1cm4galF1ZXJ5LmlzQXJyYXkodmFsdWUpP2VsZW0uY2hlY2tlZD1qUXVlcnkuaW5BcnJheShqUXVlcnkoZWxlbSkudmFsKCksdmFsdWUpPj0wOnZvaWQgMH19LHN1cHBvcnQuY2hlY2tPbnx8KGpRdWVyeS52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIG51bGw9PT1lbGVtLmdldEF0dHJpYnV0ZShcInZhbHVlXCIpP1wib25cIjplbGVtLnZhbHVlfSl9KTt2YXIgbm9kZUhvb2ssYm9vbEhvb2ssYXR0ckhhbmRsZT1qUXVlcnkuZXhwci5hdHRySGFuZGxlLHJ1c2VEZWZhdWx0PS9eKD86Y2hlY2tlZHxzZWxlY3RlZCkkL2ksZ2V0U2V0QXR0cmlidXRlPXN1cHBvcnQuZ2V0U2V0QXR0cmlidXRlLGdldFNldElucHV0PXN1cHBvcnQuaW5wdXQ7alF1ZXJ5LmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihuYW1lLHZhbHVlKXtyZXR1cm4gYWNjZXNzKHRoaXMsalF1ZXJ5LmF0dHIsbmFtZSx2YWx1ZSxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKG5hbWUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkucmVtb3ZlQXR0cih0aGlzLG5hbWUpfSl9fSksalF1ZXJ5LmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlbGVtLG5hbWUsdmFsdWUpe3ZhciBob29rcyxyZXQsblR5cGU9ZWxlbS5ub2RlVHlwZTtpZihlbGVtJiYzIT09blR5cGUmJjghPT1uVHlwZSYmMiE9PW5UeXBlKXJldHVybiB0eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGU9PT1zdHJ1bmRlZmluZWQ/alF1ZXJ5LnByb3AoZWxlbSxuYW1lLHZhbHVlKTooMT09PW5UeXBlJiZqUXVlcnkuaXNYTUxEb2MoZWxlbSl8fChuYW1lPW5hbWUudG9Mb3dlckNhc2UoKSxob29rcz1qUXVlcnkuYXR0ckhvb2tzW25hbWVdfHwoalF1ZXJ5LmV4cHIubWF0Y2guYm9vbC50ZXN0KG5hbWUpP2Jvb2xIb29rOm5vZGVIb29rKSksdm9pZCAwPT09dmFsdWU/aG9va3MmJlwiZ2V0XCJpbiBob29rcyYmbnVsbCE9PShyZXQ9aG9va3MuZ2V0KGVsZW0sbmFtZSkpP3JldDoocmV0PWpRdWVyeS5maW5kLmF0dHIoZWxlbSxuYW1lKSxudWxsPT1yZXQ/dm9pZCAwOnJldCk6bnVsbCE9PXZhbHVlP2hvb2tzJiZcInNldFwiaW4gaG9va3MmJnZvaWQgMCE9PShyZXQ9aG9va3Muc2V0KGVsZW0sdmFsdWUsbmFtZSkpP3JldDooZWxlbS5zZXRBdHRyaWJ1dGUobmFtZSx2YWx1ZStcIlwiKSx2YWx1ZSk6dm9pZCBqUXVlcnkucmVtb3ZlQXR0cihlbGVtLG5hbWUpKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlbGVtLHZhbHVlKXt2YXIgbmFtZSxwcm9wTmFtZSxpPTAsYXR0ck5hbWVzPXZhbHVlJiZ2YWx1ZS5tYXRjaChybm90d2hpdGUpO2lmKGF0dHJOYW1lcyYmMT09PWVsZW0ubm9kZVR5cGUpZm9yKDtuYW1lPWF0dHJOYW1lc1tpKytdOylwcm9wTmFtZT1qUXVlcnkucHJvcEZpeFtuYW1lXXx8bmFtZSxqUXVlcnkuZXhwci5tYXRjaC5ib29sLnRlc3QobmFtZSk/Z2V0U2V0SW5wdXQmJmdldFNldEF0dHJpYnV0ZXx8IXJ1c2VEZWZhdWx0LnRlc3QobmFtZSk/ZWxlbVtwcm9wTmFtZV09ITE6ZWxlbVtqUXVlcnkuY2FtZWxDYXNlKFwiZGVmYXVsdC1cIituYW1lKV09ZWxlbVtwcm9wTmFtZV09ITE6alF1ZXJ5LmF0dHIoZWxlbSxuYW1lLFwiXCIpLGVsZW0ucmVtb3ZlQXR0cmlidXRlKGdldFNldEF0dHJpYnV0ZT9uYW1lOnByb3BOYW1lKX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oZWxlbSx2YWx1ZSl7aWYoIXN1cHBvcnQucmFkaW9WYWx1ZSYmXCJyYWRpb1wiPT09dmFsdWUmJmpRdWVyeS5ub2RlTmFtZShlbGVtLFwiaW5wdXRcIikpe3ZhciB2YWw9ZWxlbS52YWx1ZTtyZXR1cm4gZWxlbS5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsdmFsdWUpLHZhbCYmKGVsZW0udmFsdWU9dmFsKSx2YWx1ZX19fX19KSxib29sSG9vaz17c2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUsbmFtZSl7cmV0dXJuIHZhbHVlPT09ITE/alF1ZXJ5LnJlbW92ZUF0dHIoZWxlbSxuYW1lKTpnZXRTZXRJbnB1dCYmZ2V0U2V0QXR0cmlidXRlfHwhcnVzZURlZmF1bHQudGVzdChuYW1lKT9lbGVtLnNldEF0dHJpYnV0ZSghZ2V0U2V0QXR0cmlidXRlJiZqUXVlcnkucHJvcEZpeFtuYW1lXXx8bmFtZSxuYW1lKTplbGVtW2pRdWVyeS5jYW1lbENhc2UoXCJkZWZhdWx0LVwiK25hbWUpXT1lbGVtW25hbWVdPSEwLG5hbWV9fSxqUXVlcnkuZWFjaChqUXVlcnkuZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXFx3Ky9nKSxmdW5jdGlvbihpLG5hbWUpe3ZhciBnZXR0ZXI9YXR0ckhhbmRsZVtuYW1lXXx8alF1ZXJ5LmZpbmQuYXR0cjthdHRySGFuZGxlW25hbWVdPWdldFNldElucHV0JiZnZXRTZXRBdHRyaWJ1dGV8fCFydXNlRGVmYXVsdC50ZXN0KG5hbWUpP2Z1bmN0aW9uKGVsZW0sbmFtZSxpc1hNTCl7dmFyIHJldCxoYW5kbGU7cmV0dXJuIGlzWE1MfHwoaGFuZGxlPWF0dHJIYW5kbGVbbmFtZV0sYXR0ckhhbmRsZVtuYW1lXT1yZXQscmV0PW51bGwhPWdldHRlcihlbGVtLG5hbWUsaXNYTUwpP25hbWUudG9Mb3dlckNhc2UoKTpudWxsLGF0dHJIYW5kbGVbbmFtZV09aGFuZGxlKSxyZXR9OmZ1bmN0aW9uKGVsZW0sbmFtZSxpc1hNTCl7cmV0dXJuIGlzWE1MP3ZvaWQgMDplbGVtW2pRdWVyeS5jYW1lbENhc2UoXCJkZWZhdWx0LVwiK25hbWUpXT9uYW1lLnRvTG93ZXJDYXNlKCk6bnVsbH19KSxnZXRTZXRJbnB1dCYmZ2V0U2V0QXR0cmlidXRlfHwoalF1ZXJ5LmF0dHJIb29rcy52YWx1ZT17c2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUsbmFtZSl7cmV0dXJuIGpRdWVyeS5ub2RlTmFtZShlbGVtLFwiaW5wdXRcIik/dm9pZChlbGVtLmRlZmF1bHRWYWx1ZT12YWx1ZSk6bm9kZUhvb2smJm5vZGVIb29rLnNldChlbGVtLHZhbHVlLG5hbWUpfX0pLGdldFNldEF0dHJpYnV0ZXx8KG5vZGVIb29rPXtzZXQ6ZnVuY3Rpb24oZWxlbSx2YWx1ZSxuYW1lKXt2YXIgcmV0PWVsZW0uZ2V0QXR0cmlidXRlTm9kZShuYW1lKTtyZXR1cm4gcmV0fHxlbGVtLnNldEF0dHJpYnV0ZU5vZGUocmV0PWVsZW0ub3duZXJEb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUobmFtZSkpLHJldC52YWx1ZT12YWx1ZSs9XCJcIixcInZhbHVlXCI9PT1uYW1lfHx2YWx1ZT09PWVsZW0uZ2V0QXR0cmlidXRlKG5hbWUpP3ZhbHVlOnZvaWQgMH19LGF0dHJIYW5kbGUuaWQ9YXR0ckhhbmRsZS5uYW1lPWF0dHJIYW5kbGUuY29vcmRzPWZ1bmN0aW9uKGVsZW0sbmFtZSxpc1hNTCl7dmFyIHJldDtyZXR1cm4gaXNYTUw/dm9pZCAwOihyZXQ9ZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKG5hbWUpKSYmXCJcIiE9PXJldC52YWx1ZT9yZXQudmFsdWU6bnVsbH0salF1ZXJ5LnZhbEhvb2tzLmJ1dHRvbj17Z2V0OmZ1bmN0aW9uKGVsZW0sbmFtZSl7dmFyIHJldD1lbGVtLmdldEF0dHJpYnV0ZU5vZGUobmFtZSk7cmV0dXJuIHJldCYmcmV0LnNwZWNpZmllZD9yZXQudmFsdWU6dm9pZCAwfSxzZXQ6bm9kZUhvb2suc2V0fSxqUXVlcnkuYXR0ckhvb2tzLmNvbnRlbnRlZGl0YWJsZT17c2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUsbmFtZSl7bm9kZUhvb2suc2V0KGVsZW0sXCJcIj09PXZhbHVlPyExOnZhbHVlLG5hbWUpfX0salF1ZXJ5LmVhY2goW1wid2lkdGhcIixcImhlaWdodFwiXSxmdW5jdGlvbihpLG5hbWUpe2pRdWVyeS5hdHRySG9va3NbbmFtZV09e3NldDpmdW5jdGlvbihlbGVtLHZhbHVlKXtyZXR1cm5cIlwiPT09dmFsdWU/KGVsZW0uc2V0QXR0cmlidXRlKG5hbWUsXCJhdXRvXCIpLHZhbHVlKTp2b2lkIDB9fX0pKSxzdXBwb3J0LnN0eWxlfHwoalF1ZXJ5LmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLnN0eWxlLmNzc1RleHR8fHZvaWQgMH0sc2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUpe3JldHVybiBlbGVtLnN0eWxlLmNzc1RleHQ9dmFsdWUrXCJcIn19KTt2YXIgcmZvY3VzYWJsZT0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSxyY2xpY2thYmxlPS9eKD86YXxhcmVhKSQvaTtqUXVlcnkuZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKG5hbWUsdmFsdWUpe3JldHVybiBhY2Nlc3ModGhpcyxqUXVlcnkucHJvcCxuYW1lLHZhbHVlLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24obmFtZSl7cmV0dXJuIG5hbWU9alF1ZXJ5LnByb3BGaXhbbmFtZV18fG5hbWUsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbbmFtZV09dm9pZCAwLGRlbGV0ZSB0aGlzW25hbWVdfWNhdGNoKGUpe319KX19KSxqUXVlcnkuZXh0ZW5kKHtwcm9wRml4OntcImZvclwiOlwiaHRtbEZvclwiLFwiY2xhc3NcIjpcImNsYXNzTmFtZVwifSxwcm9wOmZ1bmN0aW9uKGVsZW0sbmFtZSx2YWx1ZSl7dmFyIHJldCxob29rcyxub3R4bWwsblR5cGU9ZWxlbS5ub2RlVHlwZTtpZihlbGVtJiYzIT09blR5cGUmJjghPT1uVHlwZSYmMiE9PW5UeXBlKXJldHVybiBub3R4bWw9MSE9PW5UeXBlfHwhalF1ZXJ5LmlzWE1MRG9jKGVsZW0pLG5vdHhtbCYmKG5hbWU9alF1ZXJ5LnByb3BGaXhbbmFtZV18fG5hbWUsaG9va3M9alF1ZXJ5LnByb3BIb29rc1tuYW1lXSksdm9pZCAwIT09dmFsdWU/aG9va3MmJlwic2V0XCJpbiBob29rcyYmdm9pZCAwIT09KHJldD1ob29rcy5zZXQoZWxlbSx2YWx1ZSxuYW1lKSk/cmV0OmVsZW1bbmFtZV09dmFsdWU6aG9va3MmJlwiZ2V0XCJpbiBob29rcyYmbnVsbCE9PShyZXQ9aG9va3MuZ2V0KGVsZW0sbmFtZSkpP3JldDplbGVtW25hbWVdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oZWxlbSl7dmFyIHRhYmluZGV4PWpRdWVyeS5maW5kLmF0dHIoZWxlbSxcInRhYmluZGV4XCIpO3JldHVybiB0YWJpbmRleD9wYXJzZUludCh0YWJpbmRleCwxMCk6cmZvY3VzYWJsZS50ZXN0KGVsZW0ubm9kZU5hbWUpfHxyY2xpY2thYmxlLnRlc3QoZWxlbS5ub2RlTmFtZSkmJmVsZW0uaHJlZj8wOi0xfX19fSksc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8alF1ZXJ5LmVhY2goW1wiaHJlZlwiLFwic3JjXCJdLGZ1bmN0aW9uKGksbmFtZSl7alF1ZXJ5LnByb3BIb29rc1tuYW1lXT17Z2V0OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLmdldEF0dHJpYnV0ZShuYW1lLDQpfX19KSxzdXBwb3J0Lm9wdFNlbGVjdGVkfHwoalF1ZXJ5LnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGVsZW0pe3ZhciBwYXJlbnQ9ZWxlbS5wYXJlbnROb2RlO3JldHVybiBwYXJlbnQmJihwYXJlbnQuc2VsZWN0ZWRJbmRleCxwYXJlbnQucGFyZW50Tm9kZSYmcGFyZW50LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSxqUXVlcnkuZWFjaChbXCJ0YWJJbmRleFwiLFwicmVhZE9ubHlcIixcIm1heExlbmd0aFwiLFwiY2VsbFNwYWNpbmdcIixcImNlbGxQYWRkaW5nXCIsXCJyb3dTcGFuXCIsXCJjb2xTcGFuXCIsXCJ1c2VNYXBcIixcImZyYW1lQm9yZGVyXCIsXCJjb250ZW50RWRpdGFibGVcIl0sZnVuY3Rpb24oKXtqUXVlcnkucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxzdXBwb3J0LmVuY3R5cGV8fChqUXVlcnkucHJvcEZpeC5lbmN0eXBlPVwiZW5jb2RpbmdcIik7dmFyIHJjbGFzcz0vW1xcdFxcclxcblxcZl0vZztqUXVlcnkuZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbih2YWx1ZSl7dmFyIGNsYXNzZXMsZWxlbSxjdXIsY2xhenosaixmaW5hbFZhbHVlLGk9MCxsZW49dGhpcy5sZW5ndGgscHJvY2VlZD1cInN0cmluZ1wiPT10eXBlb2YgdmFsdWUmJnZhbHVlO2lmKGpRdWVyeS5pc0Z1bmN0aW9uKHZhbHVlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGope2pRdWVyeSh0aGlzKS5hZGRDbGFzcyh2YWx1ZS5jYWxsKHRoaXMsaix0aGlzLmNsYXNzTmFtZSkpfSk7aWYocHJvY2VlZClmb3IoY2xhc3Nlcz0odmFsdWV8fFwiXCIpLm1hdGNoKHJub3R3aGl0ZSl8fFtdO2xlbj5pO2krKylpZihlbGVtPXRoaXNbaV0sY3VyPTE9PT1lbGVtLm5vZGVUeXBlJiYoZWxlbS5jbGFzc05hbWU/KFwiIFwiK2VsZW0uY2xhc3NOYW1lK1wiIFwiKS5yZXBsYWNlKHJjbGFzcyxcIiBcIik6XCIgXCIpKXtmb3Ioaj0wO2NsYXp6PWNsYXNzZXNbaisrXTspY3VyLmluZGV4T2YoXCIgXCIrY2xhenorXCIgXCIpPDAmJihjdXIrPWNsYXp6K1wiIFwiKTtmaW5hbFZhbHVlPWpRdWVyeS50cmltKGN1ciksZWxlbS5jbGFzc05hbWUhPT1maW5hbFZhbHVlJiYoZWxlbS5jbGFzc05hbWU9ZmluYWxWYWx1ZSl9cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKHZhbHVlKXt2YXIgY2xhc3NlcyxlbGVtLGN1cixjbGF6eixqLGZpbmFsVmFsdWUsaT0wLGxlbj10aGlzLmxlbmd0aCxwcm9jZWVkPTA9PT1hcmd1bWVudHMubGVuZ3RofHxcInN0cmluZ1wiPT10eXBlb2YgdmFsdWUmJnZhbHVlO2lmKGpRdWVyeS5pc0Z1bmN0aW9uKHZhbHVlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGope2pRdWVyeSh0aGlzKS5yZW1vdmVDbGFzcyh2YWx1ZS5jYWxsKHRoaXMsaix0aGlzLmNsYXNzTmFtZSkpfSk7aWYocHJvY2VlZClmb3IoY2xhc3Nlcz0odmFsdWV8fFwiXCIpLm1hdGNoKHJub3R3aGl0ZSl8fFtdO2xlbj5pO2krKylpZihlbGVtPXRoaXNbaV0sY3VyPTE9PT1lbGVtLm5vZGVUeXBlJiYoZWxlbS5jbGFzc05hbWU/KFwiIFwiK2VsZW0uY2xhc3NOYW1lK1wiIFwiKS5yZXBsYWNlKHJjbGFzcyxcIiBcIik6XCJcIikpe2ZvcihqPTA7Y2xheno9Y2xhc3Nlc1tqKytdOylmb3IoO2N1ci5pbmRleE9mKFwiIFwiK2NsYXp6K1wiIFwiKT49MDspY3VyPWN1ci5yZXBsYWNlKFwiIFwiK2NsYXp6K1wiIFwiLFwiIFwiKTtmaW5hbFZhbHVlPXZhbHVlP2pRdWVyeS50cmltKGN1cik6XCJcIixlbGVtLmNsYXNzTmFtZSE9PWZpbmFsVmFsdWUmJihlbGVtLmNsYXNzTmFtZT1maW5hbFZhbHVlKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24odmFsdWUsc3RhdGVWYWwpe3ZhciB0eXBlPXR5cGVvZiB2YWx1ZTtyZXR1cm5cImJvb2xlYW5cIj09dHlwZW9mIHN0YXRlVmFsJiZcInN0cmluZ1wiPT09dHlwZT9zdGF0ZVZhbD90aGlzLmFkZENsYXNzKHZhbHVlKTp0aGlzLnJlbW92ZUNsYXNzKHZhbHVlKTpqUXVlcnkuaXNGdW5jdGlvbih2YWx1ZSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVyeSh0aGlzKS50b2dnbGVDbGFzcyh2YWx1ZS5jYWxsKHRoaXMsaSx0aGlzLmNsYXNzTmFtZSxzdGF0ZVZhbCksc3RhdGVWYWwpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoXCJzdHJpbmdcIj09PXR5cGUpZm9yKHZhciBjbGFzc05hbWUsaT0wLHNlbGY9alF1ZXJ5KHRoaXMpLGNsYXNzTmFtZXM9dmFsdWUubWF0Y2gocm5vdHdoaXRlKXx8W107Y2xhc3NOYW1lPWNsYXNzTmFtZXNbaSsrXTspc2VsZi5oYXNDbGFzcyhjbGFzc05hbWUpP3NlbGYucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKTpzZWxmLmFkZENsYXNzKGNsYXNzTmFtZSk7ZWxzZSh0eXBlPT09c3RydW5kZWZpbmVkfHxcImJvb2xlYW5cIj09PXR5cGUpJiYodGhpcy5jbGFzc05hbWUmJmpRdWVyeS5fZGF0YSh0aGlzLFwiX19jbGFzc05hbWVfX1wiLHRoaXMuY2xhc3NOYW1lKSx0aGlzLmNsYXNzTmFtZT10aGlzLmNsYXNzTmFtZXx8dmFsdWU9PT0hMT9cIlwiOmpRdWVyeS5fZGF0YSh0aGlzLFwiX19jbGFzc05hbWVfX1wiKXx8XCJcIil9KX0saGFzQ2xhc3M6ZnVuY3Rpb24oc2VsZWN0b3Ipe2Zvcih2YXIgY2xhc3NOYW1lPVwiIFwiK3NlbGVjdG9yK1wiIFwiLGk9MCxsPXRoaXMubGVuZ3RoO2w+aTtpKyspaWYoMT09PXRoaXNbaV0ubm9kZVR5cGUmJihcIiBcIit0aGlzW2ldLmNsYXNzTmFtZStcIiBcIikucmVwbGFjZShyY2xhc3MsXCIgXCIpLmluZGV4T2YoY2xhc3NOYW1lKT49MClyZXR1cm4hMDtyZXR1cm4hMX19KSxqUXVlcnkuZWFjaChcImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnVcIi5zcGxpdChcIiBcIiksZnVuY3Rpb24oaSxuYW1lKXtqUXVlcnkuZm5bbmFtZV09ZnVuY3Rpb24oZGF0YSxmbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKG5hbWUsbnVsbCxkYXRhLGZuKTp0aGlzLnRyaWdnZXIobmFtZSl9fSksalF1ZXJ5LmZuLmV4dGVuZCh7aG92ZXI6ZnVuY3Rpb24oZm5PdmVyLGZuT3V0KXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGZuT3ZlcikubW91c2VsZWF2ZShmbk91dHx8Zm5PdmVyKX0sYmluZDpmdW5jdGlvbih0eXBlcyxkYXRhLGZuKXtyZXR1cm4gdGhpcy5vbih0eXBlcyxudWxsLGRhdGEsZm4pfSx1bmJpbmQ6ZnVuY3Rpb24odHlwZXMsZm4pe3JldHVybiB0aGlzLm9mZih0eXBlcyxudWxsLGZuKX0sZGVsZWdhdGU6ZnVuY3Rpb24oc2VsZWN0b3IsdHlwZXMsZGF0YSxmbil7cmV0dXJuIHRoaXMub24odHlwZXMsc2VsZWN0b3IsZGF0YSxmbil9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oc2VsZWN0b3IsdHlwZXMsZm4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihzZWxlY3RvcixcIioqXCIpOnRoaXMub2ZmKHR5cGVzLHNlbGVjdG9yfHxcIioqXCIsZm4pfX0pO3ZhciBub25jZT1qUXVlcnkubm93KCkscnF1ZXJ5PS9cXD8vLHJ2YWxpZHRva2Vucz0vKCwpfChcXFt8eyl8KH18XSl8XCIoPzpbXlwiXFxcXFxcclxcbl18XFxcXFtcIlxcXFxcXC9iZm5ydF18XFxcXHVbXFxkYS1mQS1GXXs0fSkqXCJcXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxcZClcXGQrKD86XFwuXFxkK3wpKD86W2VFXVsrLV0/XFxkK3wpL2c7alF1ZXJ5LnBhcnNlSlNPTj1mdW5jdGlvbihkYXRhKXtpZih3aW5kb3cuSlNPTiYmd2luZG93LkpTT04ucGFyc2UpcmV0dXJuIHdpbmRvdy5KU09OLnBhcnNlKGRhdGErXCJcIik7dmFyIHJlcXVpcmVOb25Db21tYSxkZXB0aD1udWxsLHN0cj1qUXVlcnkudHJpbShkYXRhK1wiXCIpO3JldHVybiBzdHImJiFqUXVlcnkudHJpbShzdHIucmVwbGFjZShydmFsaWR0b2tlbnMsZnVuY3Rpb24odG9rZW4sY29tbWEsb3BlbixjbG9zZSl7cmV0dXJuIHJlcXVpcmVOb25Db21tYSYmY29tbWEmJihkZXB0aD0wKSwwPT09ZGVwdGg/dG9rZW46KHJlcXVpcmVOb25Db21tYT1vcGVufHxjb21tYSxkZXB0aCs9IWNsb3NlLSFvcGVuLFwiXCIpfSkpP0Z1bmN0aW9uKFwicmV0dXJuIFwiK3N0cikoKTpqUXVlcnkuZXJyb3IoXCJJbnZhbGlkIEpTT046IFwiK2RhdGEpfSxqUXVlcnkucGFyc2VYTUw9ZnVuY3Rpb24oZGF0YSl7dmFyIHhtbCx0bXA7aWYoIWRhdGF8fFwic3RyaW5nXCIhPXR5cGVvZiBkYXRhKXJldHVybiBudWxsO3RyeXt3aW5kb3cuRE9NUGFyc2VyPyh0bXA9bmV3IERPTVBhcnNlcix4bWw9dG1wLnBhcnNlRnJvbVN0cmluZyhkYXRhLFwidGV4dC94bWxcIikpOih4bWw9bmV3IEFjdGl2ZVhPYmplY3QoXCJNaWNyb3NvZnQuWE1MRE9NXCIpLHhtbC5hc3luYz1cImZhbHNlXCIseG1sLmxvYWRYTUwoZGF0YSkpfWNhdGNoKGUpe3htbD12b2lkIDB9cmV0dXJuIHhtbCYmeG1sLmRvY3VtZW50RWxlbWVudCYmIXhtbC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInBhcnNlcmVycm9yXCIpLmxlbmd0aHx8alF1ZXJ5LmVycm9yKFwiSW52YWxpZCBYTUw6IFwiK2RhdGEpLHhtbH07dmFyIGFqYXhMb2NQYXJ0cyxhamF4TG9jYXRpb24scmhhc2g9LyMuKiQvLHJ0cz0vKFs/Jl0pXz1bXiZdKi8scmhlYWRlcnM9L14oLio/KTpbIFxcdF0qKFteXFxyXFxuXSopXFxyPyQvZ20scmxvY2FsUHJvdG9jb2w9L14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8scm5vQ29udGVudD0vXig/OkdFVHxIRUFEKSQvLHJwcm90b2NvbD0vXlxcL1xcLy8scnVybD0vXihbXFx3ListXSs6KSg/OlxcL1xcLyg/OlteXFwvPyNdKkB8KShbXlxcLz8jOl0qKSg/OjooXFxkKyl8KXwpLyxwcmVmaWx0ZXJzPXt9LHRyYW5zcG9ydHM9e30sYWxsVHlwZXM9XCIqL1wiLmNvbmNhdChcIipcIik7dHJ5e2FqYXhMb2NhdGlvbj1sb2NhdGlvbi5ocmVmfWNhdGNoKGUpe2FqYXhMb2NhdGlvbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKSxhamF4TG9jYXRpb24uaHJlZj1cIlwiLGFqYXhMb2NhdGlvbj1hamF4TG9jYXRpb24uaHJlZn1hamF4TG9jUGFydHM9cnVybC5leGVjKGFqYXhMb2NhdGlvbi50b0xvd2VyQ2FzZSgpKXx8W10salF1ZXJ5LmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6YWpheExvY2F0aW9uLHR5cGU6XCJHRVRcIixpc0xvY2FsOnJsb2NhbFByb3RvY29sLnRlc3QoYWpheExvY1BhcnRzWzFdKSxnbG9iYWw6ITAscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsY29udGVudFR5cGU6XCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLThcIixhY2NlcHRzOntcIipcIjphbGxUeXBlcyx0ZXh0OlwidGV4dC9wbGFpblwiLGh0bWw6XCJ0ZXh0L2h0bWxcIix4bWw6XCJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sXCIsanNvbjpcImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdFwifSxjb250ZW50czp7eG1sOi94bWwvLGh0bWw6L2h0bWwvLGpzb246L2pzb24vfSxyZXNwb25zZUZpZWxkczp7eG1sOlwicmVzcG9uc2VYTUxcIix0ZXh0OlwicmVzcG9uc2VUZXh0XCIsanNvbjpcInJlc3BvbnNlSlNPTlwifSxjb252ZXJ0ZXJzOntcIiogdGV4dFwiOlN0cmluZyxcInRleHQgaHRtbFwiOiEwLFwidGV4dCBqc29uXCI6alF1ZXJ5LnBhcnNlSlNPTixcInRleHQgeG1sXCI6alF1ZXJ5LnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24odGFyZ2V0LHNldHRpbmdzKXtyZXR1cm4gc2V0dGluZ3M/YWpheEV4dGVuZChhamF4RXh0ZW5kKHRhcmdldCxqUXVlcnkuYWpheFNldHRpbmdzKSxzZXR0aW5ncyk6YWpheEV4dGVuZChqUXVlcnkuYWpheFNldHRpbmdzLHRhcmdldCl9LGFqYXhQcmVmaWx0ZXI6YWRkVG9QcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKHByZWZpbHRlcnMpLGFqYXhUcmFuc3BvcnQ6YWRkVG9QcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKHRyYW5zcG9ydHMpLGFqYXg6ZnVuY3Rpb24odXJsLG9wdGlvbnMpe2Z1bmN0aW9uIGRvbmUoc3RhdHVzLG5hdGl2ZVN0YXR1c1RleHQscmVzcG9uc2VzLGhlYWRlcnMpe3ZhciBpc1N1Y2Nlc3Msc3VjY2VzcyxlcnJvcixyZXNwb25zZSxtb2RpZmllZCxzdGF0dXNUZXh0PW5hdGl2ZVN0YXR1c1RleHQ7MiE9PXN0YXRlJiYoc3RhdGU9Mix0aW1lb3V0VGltZXImJmNsZWFyVGltZW91dCh0aW1lb3V0VGltZXIpLHRyYW5zcG9ydD12b2lkIDAscmVzcG9uc2VIZWFkZXJzU3RyaW5nPWhlYWRlcnN8fFwiXCIsanFYSFIucmVhZHlTdGF0ZT1zdGF0dXM+MD80OjAsaXNTdWNjZXNzPXN0YXR1cz49MjAwJiYzMDA+c3RhdHVzfHwzMDQ9PT1zdGF0dXMscmVzcG9uc2VzJiYocmVzcG9uc2U9YWpheEhhbmRsZVJlc3BvbnNlcyhzLGpxWEhSLHJlc3BvbnNlcykpLHJlc3BvbnNlPWFqYXhDb252ZXJ0KHMscmVzcG9uc2UsanFYSFIsaXNTdWNjZXNzKSxpc1N1Y2Nlc3M/KHMuaWZNb2RpZmllZCYmKG1vZGlmaWVkPWpxWEhSLmdldFJlc3BvbnNlSGVhZGVyKFwiTGFzdC1Nb2RpZmllZFwiKSxtb2RpZmllZCYmKGpRdWVyeS5sYXN0TW9kaWZpZWRbY2FjaGVVUkxdPW1vZGlmaWVkKSxtb2RpZmllZD1qcVhIUi5nZXRSZXNwb25zZUhlYWRlcihcImV0YWdcIiksbW9kaWZpZWQmJihqUXVlcnkuZXRhZ1tjYWNoZVVSTF09bW9kaWZpZWQpKSwyMDQ9PT1zdGF0dXN8fFwiSEVBRFwiPT09cy50eXBlP3N0YXR1c1RleHQ9XCJub2NvbnRlbnRcIjozMDQ9PT1zdGF0dXM/c3RhdHVzVGV4dD1cIm5vdG1vZGlmaWVkXCI6KHN0YXR1c1RleHQ9cmVzcG9uc2Uuc3RhdGUsc3VjY2Vzcz1yZXNwb25zZS5kYXRhLGVycm9yPXJlc3BvbnNlLmVycm9yLGlzU3VjY2Vzcz0hZXJyb3IpKTooZXJyb3I9c3RhdHVzVGV4dCwoc3RhdHVzfHwhc3RhdHVzVGV4dCkmJihzdGF0dXNUZXh0PVwiZXJyb3JcIiwwPnN0YXR1cyYmKHN0YXR1cz0wKSkpLGpxWEhSLnN0YXR1cz1zdGF0dXMsanFYSFIuc3RhdHVzVGV4dD0obmF0aXZlU3RhdHVzVGV4dHx8c3RhdHVzVGV4dCkrXCJcIixpc1N1Y2Nlc3M/ZGVmZXJyZWQucmVzb2x2ZVdpdGgoY2FsbGJhY2tDb250ZXh0LFtzdWNjZXNzLHN0YXR1c1RleHQsanFYSFJdKTpkZWZlcnJlZC5yZWplY3RXaXRoKGNhbGxiYWNrQ29udGV4dCxbanFYSFIsc3RhdHVzVGV4dCxlcnJvcl0pLGpxWEhSLnN0YXR1c0NvZGUoc3RhdHVzQ29kZSksc3RhdHVzQ29kZT12b2lkIDAsZmlyZUdsb2JhbHMmJmdsb2JhbEV2ZW50Q29udGV4dC50cmlnZ2VyKGlzU3VjY2Vzcz9cImFqYXhTdWNjZXNzXCI6XCJhamF4RXJyb3JcIixbanFYSFIscyxpc1N1Y2Nlc3M/c3VjY2VzczplcnJvcl0pLGNvbXBsZXRlRGVmZXJyZWQuZmlyZVdpdGgoY2FsbGJhY2tDb250ZXh0LFtqcVhIUixzdGF0dXNUZXh0XSksZmlyZUdsb2JhbHMmJihnbG9iYWxFdmVudENvbnRleHQudHJpZ2dlcihcImFqYXhDb21wbGV0ZVwiLFtqcVhIUixzXSksLS1qUXVlcnkuYWN0aXZlfHxqUXVlcnkuZXZlbnQudHJpZ2dlcihcImFqYXhTdG9wXCIpKSl9XCJvYmplY3RcIj09dHlwZW9mIHVybCYmKG9wdGlvbnM9dXJsLHVybD12b2lkIDApLG9wdGlvbnM9b3B0aW9uc3x8e307dmFyIHBhcnRzLGksY2FjaGVVUkwscmVzcG9uc2VIZWFkZXJzU3RyaW5nLHRpbWVvdXRUaW1lcixmaXJlR2xvYmFscyx0cmFuc3BvcnQscmVzcG9uc2VIZWFkZXJzLHM9alF1ZXJ5LmFqYXhTZXR1cCh7fSxvcHRpb25zKSxjYWxsYmFja0NvbnRleHQ9cy5jb250ZXh0fHxzLGdsb2JhbEV2ZW50Q29udGV4dD1zLmNvbnRleHQmJihjYWxsYmFja0NvbnRleHQubm9kZVR5cGV8fGNhbGxiYWNrQ29udGV4dC5qcXVlcnkpP2pRdWVyeShjYWxsYmFja0NvbnRleHQpOmpRdWVyeS5ldmVudCxkZWZlcnJlZD1qUXVlcnkuRGVmZXJyZWQoKSxjb21wbGV0ZURlZmVycmVkPWpRdWVyeS5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSxzdGF0dXNDb2RlPXMuc3RhdHVzQ29kZXx8e30scmVxdWVzdEhlYWRlcnM9e30scmVxdWVzdEhlYWRlcnNOYW1lcz17fSxzdGF0ZT0wLHN0ckFib3J0PVwiY2FuY2VsZWRcIixqcVhIUj17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGtleSl7dmFyIG1hdGNoO2lmKDI9PT1zdGF0ZSl7aWYoIXJlc3BvbnNlSGVhZGVycylmb3IocmVzcG9uc2VIZWFkZXJzPXt9O21hdGNoPXJoZWFkZXJzLmV4ZWMocmVzcG9uc2VIZWFkZXJzU3RyaW5nKTspcmVzcG9uc2VIZWFkZXJzW21hdGNoWzFdLnRvTG93ZXJDYXNlKCldPW1hdGNoWzJdO21hdGNoPXJlc3BvbnNlSGVhZGVyc1trZXkudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PW1hdGNoP251bGw6bWF0Y2h9LGdldEFsbFJlc3BvbnNlSGVhZGVyczpmdW5jdGlvbigpe3JldHVybiAyPT09c3RhdGU/cmVzcG9uc2VIZWFkZXJzU3RyaW5nOm51bGx9LHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24obmFtZSx2YWx1ZSl7dmFyIGxuYW1lPW5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gc3RhdGV8fChuYW1lPXJlcXVlc3RIZWFkZXJzTmFtZXNbbG5hbWVdPXJlcXVlc3RIZWFkZXJzTmFtZXNbbG5hbWVdfHxuYW1lLHJlcXVlc3RIZWFkZXJzW25hbWVdPXZhbHVlKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKHR5cGUpe3JldHVybiBzdGF0ZXx8KHMubWltZVR5cGU9dHlwZSksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbihtYXApe3ZhciBjb2RlO2lmKG1hcClpZigyPnN0YXRlKWZvcihjb2RlIGluIG1hcClzdGF0dXNDb2RlW2NvZGVdPVtzdGF0dXNDb2RlW2NvZGVdLG1hcFtjb2RlXV07ZWxzZSBqcVhIUi5hbHdheXMobWFwW2pxWEhSLnN0YXR1c10pO3JldHVybiB0aGlzfSxhYm9ydDpmdW5jdGlvbihzdGF0dXNUZXh0KXt2YXIgZmluYWxUZXh0PXN0YXR1c1RleHR8fHN0ckFib3J0O3JldHVybiB0cmFuc3BvcnQmJnRyYW5zcG9ydC5hYm9ydChmaW5hbFRleHQpLGRvbmUoMCxmaW5hbFRleHQpLHRoaXN9fTtpZihkZWZlcnJlZC5wcm9taXNlKGpxWEhSKS5jb21wbGV0ZT1jb21wbGV0ZURlZmVycmVkLmFkZCxqcVhIUi5zdWNjZXNzPWpxWEhSLmRvbmUsanFYSFIuZXJyb3I9anFYSFIuZmFpbCxzLnVybD0oKHVybHx8cy51cmx8fGFqYXhMb2NhdGlvbikrXCJcIikucmVwbGFjZShyaGFzaCxcIlwiKS5yZXBsYWNlKHJwcm90b2NvbCxhamF4TG9jUGFydHNbMV0rXCIvL1wiKSxzLnR5cGU9b3B0aW9ucy5tZXRob2R8fG9wdGlvbnMudHlwZXx8cy5tZXRob2R8fHMudHlwZSxzLmRhdGFUeXBlcz1qUXVlcnkudHJpbShzLmRhdGFUeXBlfHxcIipcIikudG9Mb3dlckNhc2UoKS5tYXRjaChybm90d2hpdGUpfHxbXCJcIl0sXG5udWxsPT1zLmNyb3NzRG9tYWluJiYocGFydHM9cnVybC5leGVjKHMudXJsLnRvTG93ZXJDYXNlKCkpLHMuY3Jvc3NEb21haW49ISghcGFydHN8fHBhcnRzWzFdPT09YWpheExvY1BhcnRzWzFdJiZwYXJ0c1syXT09PWFqYXhMb2NQYXJ0c1syXSYmKHBhcnRzWzNdfHwoXCJodHRwOlwiPT09cGFydHNbMV0/XCI4MFwiOlwiNDQzXCIpKT09PShhamF4TG9jUGFydHNbM118fChcImh0dHA6XCI9PT1hamF4TG9jUGFydHNbMV0/XCI4MFwiOlwiNDQzXCIpKSkpLHMuZGF0YSYmcy5wcm9jZXNzRGF0YSYmXCJzdHJpbmdcIiE9dHlwZW9mIHMuZGF0YSYmKHMuZGF0YT1qUXVlcnkucGFyYW0ocy5kYXRhLHMudHJhZGl0aW9uYWwpKSxpbnNwZWN0UHJlZmlsdGVyc09yVHJhbnNwb3J0cyhwcmVmaWx0ZXJzLHMsb3B0aW9ucyxqcVhIUiksMj09PXN0YXRlKXJldHVybiBqcVhIUjtmaXJlR2xvYmFscz1qUXVlcnkuZXZlbnQmJnMuZ2xvYmFsLGZpcmVHbG9iYWxzJiYwPT09alF1ZXJ5LmFjdGl2ZSsrJiZqUXVlcnkuZXZlbnQudHJpZ2dlcihcImFqYXhTdGFydFwiKSxzLnR5cGU9cy50eXBlLnRvVXBwZXJDYXNlKCkscy5oYXNDb250ZW50PSFybm9Db250ZW50LnRlc3Qocy50eXBlKSxjYWNoZVVSTD1zLnVybCxzLmhhc0NvbnRlbnR8fChzLmRhdGEmJihjYWNoZVVSTD1zLnVybCs9KHJxdWVyeS50ZXN0KGNhY2hlVVJMKT9cIiZcIjpcIj9cIikrcy5kYXRhLGRlbGV0ZSBzLmRhdGEpLHMuY2FjaGU9PT0hMSYmKHMudXJsPXJ0cy50ZXN0KGNhY2hlVVJMKT9jYWNoZVVSTC5yZXBsYWNlKHJ0cyxcIiQxXz1cIitub25jZSsrKTpjYWNoZVVSTCsocnF1ZXJ5LnRlc3QoY2FjaGVVUkwpP1wiJlwiOlwiP1wiKStcIl89XCIrbm9uY2UrKykpLHMuaWZNb2RpZmllZCYmKGpRdWVyeS5sYXN0TW9kaWZpZWRbY2FjaGVVUkxdJiZqcVhIUi5zZXRSZXF1ZXN0SGVhZGVyKFwiSWYtTW9kaWZpZWQtU2luY2VcIixqUXVlcnkubGFzdE1vZGlmaWVkW2NhY2hlVVJMXSksalF1ZXJ5LmV0YWdbY2FjaGVVUkxdJiZqcVhIUi5zZXRSZXF1ZXN0SGVhZGVyKFwiSWYtTm9uZS1NYXRjaFwiLGpRdWVyeS5ldGFnW2NhY2hlVVJMXSkpLChzLmRhdGEmJnMuaGFzQ29udGVudCYmcy5jb250ZW50VHlwZSE9PSExfHxvcHRpb25zLmNvbnRlbnRUeXBlKSYmanFYSFIuc2V0UmVxdWVzdEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLHMuY29udGVudFR5cGUpLGpxWEhSLnNldFJlcXVlc3RIZWFkZXIoXCJBY2NlcHRcIixzLmRhdGFUeXBlc1swXSYmcy5hY2NlcHRzW3MuZGF0YVR5cGVzWzBdXT9zLmFjY2VwdHNbcy5kYXRhVHlwZXNbMF1dKyhcIipcIiE9PXMuZGF0YVR5cGVzWzBdP1wiLCBcIithbGxUeXBlcytcIjsgcT0wLjAxXCI6XCJcIik6cy5hY2NlcHRzW1wiKlwiXSk7Zm9yKGkgaW4gcy5oZWFkZXJzKWpxWEhSLnNldFJlcXVlc3RIZWFkZXIoaSxzLmhlYWRlcnNbaV0pO2lmKHMuYmVmb3JlU2VuZCYmKHMuYmVmb3JlU2VuZC5jYWxsKGNhbGxiYWNrQ29udGV4dCxqcVhIUixzKT09PSExfHwyPT09c3RhdGUpKXJldHVybiBqcVhIUi5hYm9ydCgpO3N0ckFib3J0PVwiYWJvcnRcIjtmb3IoaSBpbntzdWNjZXNzOjEsZXJyb3I6MSxjb21wbGV0ZToxfSlqcVhIUltpXShzW2ldKTtpZih0cmFuc3BvcnQ9aW5zcGVjdFByZWZpbHRlcnNPclRyYW5zcG9ydHModHJhbnNwb3J0cyxzLG9wdGlvbnMsanFYSFIpKXtqcVhIUi5yZWFkeVN0YXRlPTEsZmlyZUdsb2JhbHMmJmdsb2JhbEV2ZW50Q29udGV4dC50cmlnZ2VyKFwiYWpheFNlbmRcIixbanFYSFIsc10pLHMuYXN5bmMmJnMudGltZW91dD4wJiYodGltZW91dFRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtqcVhIUi5hYm9ydChcInRpbWVvdXRcIil9LHMudGltZW91dCkpO3RyeXtzdGF0ZT0xLHRyYW5zcG9ydC5zZW5kKHJlcXVlc3RIZWFkZXJzLGRvbmUpfWNhdGNoKGUpe2lmKCEoMj5zdGF0ZSkpdGhyb3cgZTtkb25lKC0xLGUpfX1lbHNlIGRvbmUoLTEsXCJObyBUcmFuc3BvcnRcIik7cmV0dXJuIGpxWEhSfSxnZXRKU09OOmZ1bmN0aW9uKHVybCxkYXRhLGNhbGxiYWNrKXtyZXR1cm4galF1ZXJ5LmdldCh1cmwsZGF0YSxjYWxsYmFjayxcImpzb25cIil9LGdldFNjcmlwdDpmdW5jdGlvbih1cmwsY2FsbGJhY2spe3JldHVybiBqUXVlcnkuZ2V0KHVybCx2b2lkIDAsY2FsbGJhY2ssXCJzY3JpcHRcIil9fSksalF1ZXJ5LmVhY2goW1wiZ2V0XCIsXCJwb3N0XCJdLGZ1bmN0aW9uKGksbWV0aG9kKXtqUXVlcnlbbWV0aG9kXT1mdW5jdGlvbih1cmwsZGF0YSxjYWxsYmFjayx0eXBlKXtyZXR1cm4galF1ZXJ5LmlzRnVuY3Rpb24oZGF0YSkmJih0eXBlPXR5cGV8fGNhbGxiYWNrLGNhbGxiYWNrPWRhdGEsZGF0YT12b2lkIDApLGpRdWVyeS5hamF4KHt1cmw6dXJsLHR5cGU6bWV0aG9kLGRhdGFUeXBlOnR5cGUsZGF0YTpkYXRhLHN1Y2Nlc3M6Y2FsbGJhY2t9KX19KSxqUXVlcnkuX2V2YWxVcmw9ZnVuY3Rpb24odXJsKXtyZXR1cm4galF1ZXJ5LmFqYXgoe3VybDp1cmwsdHlwZTpcIkdFVFwiLGRhdGFUeXBlOlwic2NyaXB0XCIsYXN5bmM6ITEsZ2xvYmFsOiExLFwidGhyb3dzXCI6ITB9KX0salF1ZXJ5LmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihodG1sKXtpZihqUXVlcnkuaXNGdW5jdGlvbihodG1sKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVyeSh0aGlzKS53cmFwQWxsKGh0bWwuY2FsbCh0aGlzLGkpKX0pO2lmKHRoaXNbMF0pe3ZhciB3cmFwPWpRdWVyeShodG1sLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApO3RoaXNbMF0ucGFyZW50Tm9kZSYmd3JhcC5pbnNlcnRCZWZvcmUodGhpc1swXSksd3JhcC5tYXAoZnVuY3Rpb24oKXtmb3IodmFyIGVsZW09dGhpcztlbGVtLmZpcnN0Q2hpbGQmJjE9PT1lbGVtLmZpcnN0Q2hpbGQubm9kZVR5cGU7KWVsZW09ZWxlbS5maXJzdENoaWxkO3JldHVybiBlbGVtfSkuYXBwZW5kKHRoaXMpfXJldHVybiB0aGlzfSx3cmFwSW5uZXI6ZnVuY3Rpb24oaHRtbCl7cmV0dXJuIGpRdWVyeS5pc0Z1bmN0aW9uKGh0bWwpP3RoaXMuZWFjaChmdW5jdGlvbihpKXtqUXVlcnkodGhpcykud3JhcElubmVyKGh0bWwuY2FsbCh0aGlzLGkpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBzZWxmPWpRdWVyeSh0aGlzKSxjb250ZW50cz1zZWxmLmNvbnRlbnRzKCk7Y29udGVudHMubGVuZ3RoP2NvbnRlbnRzLndyYXBBbGwoaHRtbCk6c2VsZi5hcHBlbmQoaHRtbCl9KX0sd3JhcDpmdW5jdGlvbihodG1sKXt2YXIgaXNGdW5jdGlvbj1qUXVlcnkuaXNGdW5jdGlvbihodG1sKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVyeSh0aGlzKS53cmFwQWxsKGlzRnVuY3Rpb24/aHRtbC5jYWxsKHRoaXMsaSk6aHRtbCl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5ub2RlTmFtZSh0aGlzLFwiYm9keVwiKXx8alF1ZXJ5KHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5lbmQoKX19KSxqUXVlcnkuZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5vZmZzZXRXaWR0aDw9MCYmZWxlbS5vZmZzZXRIZWlnaHQ8PTB8fCFzdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpJiZcIm5vbmVcIj09PShlbGVtLnN0eWxlJiZlbGVtLnN0eWxlLmRpc3BsYXl8fGpRdWVyeS5jc3MoZWxlbSxcImRpc3BsYXlcIikpfSxqUXVlcnkuZXhwci5maWx0ZXJzLnZpc2libGU9ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIWpRdWVyeS5leHByLmZpbHRlcnMuaGlkZGVuKGVsZW0pfTt2YXIgcjIwPS8lMjAvZyxyYnJhY2tldD0vXFxbXFxdJC8sckNSTEY9L1xccj9cXG4vZyxyc3VibWl0dGVyVHlwZXM9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLHJzdWJtaXR0YWJsZT0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxrZXlnZW4pL2k7alF1ZXJ5LnBhcmFtPWZ1bmN0aW9uKGEsdHJhZGl0aW9uYWwpe3ZhciBwcmVmaXgscz1bXSxhZGQ9ZnVuY3Rpb24oa2V5LHZhbHVlKXt2YWx1ZT1qUXVlcnkuaXNGdW5jdGlvbih2YWx1ZSk/dmFsdWUoKTpudWxsPT12YWx1ZT9cIlwiOnZhbHVlLHNbcy5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChrZXkpK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSl9O2lmKHZvaWQgMD09PXRyYWRpdGlvbmFsJiYodHJhZGl0aW9uYWw9alF1ZXJ5LmFqYXhTZXR0aW5ncyYmalF1ZXJ5LmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksalF1ZXJ5LmlzQXJyYXkoYSl8fGEuanF1ZXJ5JiYhalF1ZXJ5LmlzUGxhaW5PYmplY3QoYSkpalF1ZXJ5LmVhY2goYSxmdW5jdGlvbigpe2FkZCh0aGlzLm5hbWUsdGhpcy52YWx1ZSl9KTtlbHNlIGZvcihwcmVmaXggaW4gYSlidWlsZFBhcmFtcyhwcmVmaXgsYVtwcmVmaXhdLHRyYWRpdGlvbmFsLGFkZCk7cmV0dXJuIHMuam9pbihcIiZcIikucmVwbGFjZShyMjAsXCIrXCIpfSxqUXVlcnkuZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4galF1ZXJ5LnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGVsZW1lbnRzPWpRdWVyeS5wcm9wKHRoaXMsXCJlbGVtZW50c1wiKTtyZXR1cm4gZWxlbWVudHM/alF1ZXJ5Lm1ha2VBcnJheShlbGVtZW50cyk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3ZhciB0eXBlPXRoaXMudHlwZTtyZXR1cm4gdGhpcy5uYW1lJiYhalF1ZXJ5KHRoaXMpLmlzKFwiOmRpc2FibGVkXCIpJiZyc3VibWl0dGFibGUudGVzdCh0aGlzLm5vZGVOYW1lKSYmIXJzdWJtaXR0ZXJUeXBlcy50ZXN0KHR5cGUpJiYodGhpcy5jaGVja2VkfHwhcmNoZWNrYWJsZVR5cGUudGVzdCh0eXBlKSl9KS5tYXAoZnVuY3Rpb24oaSxlbGVtKXt2YXIgdmFsPWpRdWVyeSh0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09dmFsP251bGw6alF1ZXJ5LmlzQXJyYXkodmFsKT9qUXVlcnkubWFwKHZhbCxmdW5jdGlvbih2YWwpe3JldHVybntuYW1lOmVsZW0ubmFtZSx2YWx1ZTp2YWwucmVwbGFjZShyQ1JMRixcIlxcclxcblwiKX19KTp7bmFtZTplbGVtLm5hbWUsdmFsdWU6dmFsLnJlcGxhY2UockNSTEYsXCJcXHJcXG5cIil9fSkuZ2V0KCl9fSksalF1ZXJ5LmFqYXhTZXR0aW5ncy54aHI9dm9pZCAwIT09d2luZG93LkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0xvY2FsJiYvXihnZXR8cG9zdHxoZWFkfHB1dHxkZWxldGV8b3B0aW9ucykkL2kudGVzdCh0aGlzLnR5cGUpJiZjcmVhdGVTdGFuZGFyZFhIUigpfHxjcmVhdGVBY3RpdmVYSFIoKX06Y3JlYXRlU3RhbmRhcmRYSFI7dmFyIHhocklkPTAseGhyQ2FsbGJhY2tzPXt9LHhoclN1cHBvcnRlZD1qUXVlcnkuYWpheFNldHRpbmdzLnhocigpO3dpbmRvdy5hdHRhY2hFdmVudCYmd2luZG93LmF0dGFjaEV2ZW50KFwib251bmxvYWRcIixmdW5jdGlvbigpe2Zvcih2YXIga2V5IGluIHhockNhbGxiYWNrcyl4aHJDYWxsYmFja3Nba2V5XSh2b2lkIDAsITApfSksc3VwcG9ydC5jb3JzPSEheGhyU3VwcG9ydGVkJiZcIndpdGhDcmVkZW50aWFsc1wiaW4geGhyU3VwcG9ydGVkLHhoclN1cHBvcnRlZD1zdXBwb3J0LmFqYXg9ISF4aHJTdXBwb3J0ZWQseGhyU3VwcG9ydGVkJiZqUXVlcnkuYWpheFRyYW5zcG9ydChmdW5jdGlvbihvcHRpb25zKXtpZighb3B0aW9ucy5jcm9zc0RvbWFpbnx8c3VwcG9ydC5jb3JzKXt2YXIgY2FsbGJhY2s7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oaGVhZGVycyxjb21wbGV0ZSl7dmFyIGkseGhyPW9wdGlvbnMueGhyKCksaWQ9Kyt4aHJJZDtpZih4aHIub3BlbihvcHRpb25zLnR5cGUsb3B0aW9ucy51cmwsb3B0aW9ucy5hc3luYyxvcHRpb25zLnVzZXJuYW1lLG9wdGlvbnMucGFzc3dvcmQpLG9wdGlvbnMueGhyRmllbGRzKWZvcihpIGluIG9wdGlvbnMueGhyRmllbGRzKXhocltpXT1vcHRpb25zLnhockZpZWxkc1tpXTtvcHRpb25zLm1pbWVUeXBlJiZ4aHIub3ZlcnJpZGVNaW1lVHlwZSYmeGhyLm92ZXJyaWRlTWltZVR5cGUob3B0aW9ucy5taW1lVHlwZSksb3B0aW9ucy5jcm9zc0RvbWFpbnx8aGVhZGVyc1tcIlgtUmVxdWVzdGVkLVdpdGhcIl18fChoZWFkZXJzW1wiWC1SZXF1ZXN0ZWQtV2l0aFwiXT1cIlhNTEh0dHBSZXF1ZXN0XCIpO2ZvcihpIGluIGhlYWRlcnMpdm9pZCAwIT09aGVhZGVyc1tpXSYmeGhyLnNldFJlcXVlc3RIZWFkZXIoaSxoZWFkZXJzW2ldK1wiXCIpO3hoci5zZW5kKG9wdGlvbnMuaGFzQ29udGVudCYmb3B0aW9ucy5kYXRhfHxudWxsKSxjYWxsYmFjaz1mdW5jdGlvbihfLGlzQWJvcnQpe3ZhciBzdGF0dXMsc3RhdHVzVGV4dCxyZXNwb25zZXM7aWYoY2FsbGJhY2smJihpc0Fib3J0fHw0PT09eGhyLnJlYWR5U3RhdGUpKWlmKGRlbGV0ZSB4aHJDYWxsYmFja3NbaWRdLGNhbGxiYWNrPXZvaWQgMCx4aHIub25yZWFkeXN0YXRlY2hhbmdlPWpRdWVyeS5ub29wLGlzQWJvcnQpNCE9PXhoci5yZWFkeVN0YXRlJiZ4aHIuYWJvcnQoKTtlbHNle3Jlc3BvbnNlcz17fSxzdGF0dXM9eGhyLnN0YXR1cyxcInN0cmluZ1wiPT10eXBlb2YgeGhyLnJlc3BvbnNlVGV4dCYmKHJlc3BvbnNlcy50ZXh0PXhoci5yZXNwb25zZVRleHQpO3RyeXtzdGF0dXNUZXh0PXhoci5zdGF0dXNUZXh0fWNhdGNoKGUpe3N0YXR1c1RleHQ9XCJcIn1zdGF0dXN8fCFvcHRpb25zLmlzTG9jYWx8fG9wdGlvbnMuY3Jvc3NEb21haW4/MTIyMz09PXN0YXR1cyYmKHN0YXR1cz0yMDQpOnN0YXR1cz1yZXNwb25zZXMudGV4dD8yMDA6NDA0fXJlc3BvbnNlcyYmY29tcGxldGUoc3RhdHVzLHN0YXR1c1RleHQscmVzcG9uc2VzLHhoci5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSl9LG9wdGlvbnMuYXN5bmM/ND09PXhoci5yZWFkeVN0YXRlP3NldFRpbWVvdXQoY2FsbGJhY2spOnhoci5vbnJlYWR5c3RhdGVjaGFuZ2U9eGhyQ2FsbGJhY2tzW2lkXT1jYWxsYmFjazpjYWxsYmFjaygpfSxhYm9ydDpmdW5jdGlvbigpe2NhbGxiYWNrJiZjYWxsYmFjayh2b2lkIDAsITApfX19fSksalF1ZXJ5LmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OlwidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHRcIn0sY29udGVudHM6e3NjcmlwdDovKD86amF2YXxlY21hKXNjcmlwdC99LGNvbnZlcnRlcnM6e1widGV4dCBzY3JpcHRcIjpmdW5jdGlvbih0ZXh0KXtyZXR1cm4galF1ZXJ5Lmdsb2JhbEV2YWwodGV4dCksdGV4dH19fSksalF1ZXJ5LmFqYXhQcmVmaWx0ZXIoXCJzY3JpcHRcIixmdW5jdGlvbihzKXt2b2lkIDA9PT1zLmNhY2hlJiYocy5jYWNoZT0hMSkscy5jcm9zc0RvbWFpbiYmKHMudHlwZT1cIkdFVFwiLHMuZ2xvYmFsPSExKX0pLGpRdWVyeS5hamF4VHJhbnNwb3J0KFwic2NyaXB0XCIsZnVuY3Rpb24ocyl7aWYocy5jcm9zc0RvbWFpbil7dmFyIHNjcmlwdCxoZWFkPWRvY3VtZW50LmhlYWR8fGpRdWVyeShcImhlYWRcIilbMF18fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihfLGNhbGxiYWNrKXtzY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKSxzY3JpcHQuYXN5bmM9ITAscy5zY3JpcHRDaGFyc2V0JiYoc2NyaXB0LmNoYXJzZXQ9cy5zY3JpcHRDaGFyc2V0KSxzY3JpcHQuc3JjPXMudXJsLHNjcmlwdC5vbmxvYWQ9c2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbihfLGlzQWJvcnQpeyhpc0Fib3J0fHwhc2NyaXB0LnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3Qoc2NyaXB0LnJlYWR5U3RhdGUpKSYmKHNjcmlwdC5vbmxvYWQ9c2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLHNjcmlwdC5wYXJlbnROb2RlJiZzY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzY3JpcHQpLHNjcmlwdD1udWxsLGlzQWJvcnR8fGNhbGxiYWNrKDIwMCxcInN1Y2Nlc3NcIikpfSxoZWFkLmluc2VydEJlZm9yZShzY3JpcHQsaGVhZC5maXJzdENoaWxkKX0sYWJvcnQ6ZnVuY3Rpb24oKXtzY3JpcHQmJnNjcmlwdC5vbmxvYWQodm9pZCAwLCEwKX19fX0pO3ZhciBvbGRDYWxsYmFja3M9W10scmpzb25wPS8oPSlcXD8oPz0mfCQpfFxcP1xcPy87alF1ZXJ5LmFqYXhTZXR1cCh7anNvbnA6XCJjYWxsYmFja1wiLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgY2FsbGJhY2s9b2xkQ2FsbGJhY2tzLnBvcCgpfHxqUXVlcnkuZXhwYW5kbytcIl9cIitub25jZSsrO3JldHVybiB0aGlzW2NhbGxiYWNrXT0hMCxjYWxsYmFja319KSxqUXVlcnkuYWpheFByZWZpbHRlcihcImpzb24ganNvbnBcIixmdW5jdGlvbihzLG9yaWdpbmFsU2V0dGluZ3MsanFYSFIpe3ZhciBjYWxsYmFja05hbWUsb3ZlcndyaXR0ZW4scmVzcG9uc2VDb250YWluZXIsanNvblByb3A9cy5qc29ucCE9PSExJiYocmpzb25wLnRlc3Qocy51cmwpP1widXJsXCI6XCJzdHJpbmdcIj09dHlwZW9mIHMuZGF0YSYmIShzLmNvbnRlbnRUeXBlfHxcIlwiKS5pbmRleE9mKFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIpJiZyanNvbnAudGVzdChzLmRhdGEpJiZcImRhdGFcIik7cmV0dXJuIGpzb25Qcm9wfHxcImpzb25wXCI9PT1zLmRhdGFUeXBlc1swXT8oY2FsbGJhY2tOYW1lPXMuanNvbnBDYWxsYmFjaz1qUXVlcnkuaXNGdW5jdGlvbihzLmpzb25wQ2FsbGJhY2spP3MuanNvbnBDYWxsYmFjaygpOnMuanNvbnBDYWxsYmFjayxqc29uUHJvcD9zW2pzb25Qcm9wXT1zW2pzb25Qcm9wXS5yZXBsYWNlKHJqc29ucCxcIiQxXCIrY2FsbGJhY2tOYW1lKTpzLmpzb25wIT09ITEmJihzLnVybCs9KHJxdWVyeS50ZXN0KHMudXJsKT9cIiZcIjpcIj9cIikrcy5qc29ucCtcIj1cIitjYWxsYmFja05hbWUpLHMuY29udmVydGVyc1tcInNjcmlwdCBqc29uXCJdPWZ1bmN0aW9uKCl7cmV0dXJuIHJlc3BvbnNlQ29udGFpbmVyfHxqUXVlcnkuZXJyb3IoY2FsbGJhY2tOYW1lK1wiIHdhcyBub3QgY2FsbGVkXCIpLHJlc3BvbnNlQ29udGFpbmVyWzBdfSxzLmRhdGFUeXBlc1swXT1cImpzb25cIixvdmVyd3JpdHRlbj13aW5kb3dbY2FsbGJhY2tOYW1lXSx3aW5kb3dbY2FsbGJhY2tOYW1lXT1mdW5jdGlvbigpe3Jlc3BvbnNlQ29udGFpbmVyPWFyZ3VtZW50c30sanFYSFIuYWx3YXlzKGZ1bmN0aW9uKCl7d2luZG93W2NhbGxiYWNrTmFtZV09b3ZlcndyaXR0ZW4sc1tjYWxsYmFja05hbWVdJiYocy5qc29ucENhbGxiYWNrPW9yaWdpbmFsU2V0dGluZ3MuanNvbnBDYWxsYmFjayxvbGRDYWxsYmFja3MucHVzaChjYWxsYmFja05hbWUpKSxyZXNwb25zZUNvbnRhaW5lciYmalF1ZXJ5LmlzRnVuY3Rpb24ob3ZlcndyaXR0ZW4pJiZvdmVyd3JpdHRlbihyZXNwb25zZUNvbnRhaW5lclswXSkscmVzcG9uc2VDb250YWluZXI9b3ZlcndyaXR0ZW49dm9pZCAwfSksXCJzY3JpcHRcIik6dm9pZCAwfSksalF1ZXJ5LnBhcnNlSFRNTD1mdW5jdGlvbihkYXRhLGNvbnRleHQsa2VlcFNjcmlwdHMpe2lmKCFkYXRhfHxcInN0cmluZ1wiIT10eXBlb2YgZGF0YSlyZXR1cm4gbnVsbDtcImJvb2xlYW5cIj09dHlwZW9mIGNvbnRleHQmJihrZWVwU2NyaXB0cz1jb250ZXh0LGNvbnRleHQ9ITEpLGNvbnRleHQ9Y29udGV4dHx8ZG9jdW1lbnQ7dmFyIHBhcnNlZD1yc2luZ2xlVGFnLmV4ZWMoZGF0YSksc2NyaXB0cz0ha2VlcFNjcmlwdHMmJltdO3JldHVybiBwYXJzZWQ/W2NvbnRleHQuY3JlYXRlRWxlbWVudChwYXJzZWRbMV0pXToocGFyc2VkPWpRdWVyeS5idWlsZEZyYWdtZW50KFtkYXRhXSxjb250ZXh0LHNjcmlwdHMpLHNjcmlwdHMmJnNjcmlwdHMubGVuZ3RoJiZqUXVlcnkoc2NyaXB0cykucmVtb3ZlKCksalF1ZXJ5Lm1lcmdlKFtdLHBhcnNlZC5jaGlsZE5vZGVzKSl9O3ZhciBfbG9hZD1qUXVlcnkuZm4ubG9hZDtqUXVlcnkuZm4ubG9hZD1mdW5jdGlvbih1cmwscGFyYW1zLGNhbGxiYWNrKXtpZihcInN0cmluZ1wiIT10eXBlb2YgdXJsJiZfbG9hZClyZXR1cm4gX2xvYWQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBzZWxlY3RvcixyZXNwb25zZSx0eXBlLHNlbGY9dGhpcyxvZmY9dXJsLmluZGV4T2YoXCIgXCIpO3JldHVybiBvZmY+PTAmJihzZWxlY3Rvcj1qUXVlcnkudHJpbSh1cmwuc2xpY2Uob2ZmLHVybC5sZW5ndGgpKSx1cmw9dXJsLnNsaWNlKDAsb2ZmKSksalF1ZXJ5LmlzRnVuY3Rpb24ocGFyYW1zKT8oY2FsbGJhY2s9cGFyYW1zLHBhcmFtcz12b2lkIDApOnBhcmFtcyYmXCJvYmplY3RcIj09dHlwZW9mIHBhcmFtcyYmKHR5cGU9XCJQT1NUXCIpLHNlbGYubGVuZ3RoPjAmJmpRdWVyeS5hamF4KHt1cmw6dXJsLHR5cGU6dHlwZSxkYXRhVHlwZTpcImh0bWxcIixkYXRhOnBhcmFtc30pLmRvbmUoZnVuY3Rpb24ocmVzcG9uc2VUZXh0KXtyZXNwb25zZT1hcmd1bWVudHMsc2VsZi5odG1sKHNlbGVjdG9yP2pRdWVyeShcIjxkaXY+XCIpLmFwcGVuZChqUXVlcnkucGFyc2VIVE1MKHJlc3BvbnNlVGV4dCkpLmZpbmQoc2VsZWN0b3IpOnJlc3BvbnNlVGV4dCl9KS5jb21wbGV0ZShjYWxsYmFjayYmZnVuY3Rpb24oanFYSFIsc3RhdHVzKXtzZWxmLmVhY2goY2FsbGJhY2sscmVzcG9uc2V8fFtqcVhIUi5yZXNwb25zZVRleHQsc3RhdHVzLGpxWEhSXSl9KSx0aGlzfSxqUXVlcnkuZWFjaChbXCJhamF4U3RhcnRcIixcImFqYXhTdG9wXCIsXCJhamF4Q29tcGxldGVcIixcImFqYXhFcnJvclwiLFwiYWpheFN1Y2Nlc3NcIixcImFqYXhTZW5kXCJdLGZ1bmN0aW9uKGksdHlwZSl7alF1ZXJ5LmZuW3R5cGVdPWZ1bmN0aW9uKGZuKXtyZXR1cm4gdGhpcy5vbih0eXBlLGZuKX19KSxqUXVlcnkuZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkuZ3JlcChqUXVlcnkudGltZXJzLGZ1bmN0aW9uKGZuKXtyZXR1cm4gZWxlbT09PWZuLmVsZW19KS5sZW5ndGh9O3ZhciBkb2NFbGVtPXdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7alF1ZXJ5Lm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGVsZW0sb3B0aW9ucyxpKXt2YXIgY3VyUG9zaXRpb24sY3VyTGVmdCxjdXJDU1NUb3AsY3VyVG9wLGN1ck9mZnNldCxjdXJDU1NMZWZ0LGNhbGN1bGF0ZVBvc2l0aW9uLHBvc2l0aW9uPWpRdWVyeS5jc3MoZWxlbSxcInBvc2l0aW9uXCIpLGN1ckVsZW09alF1ZXJ5KGVsZW0pLHByb3BzPXt9O1wic3RhdGljXCI9PT1wb3NpdGlvbiYmKGVsZW0uc3R5bGUucG9zaXRpb249XCJyZWxhdGl2ZVwiKSxjdXJPZmZzZXQ9Y3VyRWxlbS5vZmZzZXQoKSxjdXJDU1NUb3A9alF1ZXJ5LmNzcyhlbGVtLFwidG9wXCIpLGN1ckNTU0xlZnQ9alF1ZXJ5LmNzcyhlbGVtLFwibGVmdFwiKSxjYWxjdWxhdGVQb3NpdGlvbj0oXCJhYnNvbHV0ZVwiPT09cG9zaXRpb258fFwiZml4ZWRcIj09PXBvc2l0aW9uKSYmalF1ZXJ5LmluQXJyYXkoXCJhdXRvXCIsW2N1ckNTU1RvcCxjdXJDU1NMZWZ0XSk+LTEsY2FsY3VsYXRlUG9zaXRpb24/KGN1clBvc2l0aW9uPWN1ckVsZW0ucG9zaXRpb24oKSxjdXJUb3A9Y3VyUG9zaXRpb24udG9wLGN1ckxlZnQ9Y3VyUG9zaXRpb24ubGVmdCk6KGN1clRvcD1wYXJzZUZsb2F0KGN1ckNTU1RvcCl8fDAsY3VyTGVmdD1wYXJzZUZsb2F0KGN1ckNTU0xlZnQpfHwwKSxqUXVlcnkuaXNGdW5jdGlvbihvcHRpb25zKSYmKG9wdGlvbnM9b3B0aW9ucy5jYWxsKGVsZW0saSxjdXJPZmZzZXQpKSxudWxsIT1vcHRpb25zLnRvcCYmKHByb3BzLnRvcD1vcHRpb25zLnRvcC1jdXJPZmZzZXQudG9wK2N1clRvcCksbnVsbCE9b3B0aW9ucy5sZWZ0JiYocHJvcHMubGVmdD1vcHRpb25zLmxlZnQtY3VyT2Zmc2V0LmxlZnQrY3VyTGVmdCksXCJ1c2luZ1wiaW4gb3B0aW9ucz9vcHRpb25zLnVzaW5nLmNhbGwoZWxlbSxwcm9wcyk6Y3VyRWxlbS5jc3MocHJvcHMpfX0salF1ZXJ5LmZuLmV4dGVuZCh7b2Zmc2V0OmZ1bmN0aW9uKG9wdGlvbnMpe2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PW9wdGlvbnM/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oaSl7alF1ZXJ5Lm9mZnNldC5zZXRPZmZzZXQodGhpcyxvcHRpb25zLGkpfSk7dmFyIGRvY0VsZW0sd2luLGJveD17dG9wOjAsbGVmdDowfSxlbGVtPXRoaXNbMF0sZG9jPWVsZW0mJmVsZW0ub3duZXJEb2N1bWVudDtpZihkb2MpcmV0dXJuIGRvY0VsZW09ZG9jLmRvY3VtZW50RWxlbWVudCxqUXVlcnkuY29udGFpbnMoZG9jRWxlbSxlbGVtKT8odHlwZW9mIGVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0IT09c3RydW5kZWZpbmVkJiYoYm94PWVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLHdpbj1nZXRXaW5kb3coZG9jKSx7dG9wOmJveC50b3ArKHdpbi5wYWdlWU9mZnNldHx8ZG9jRWxlbS5zY3JvbGxUb3ApLShkb2NFbGVtLmNsaWVudFRvcHx8MCksbGVmdDpib3gubGVmdCsod2luLnBhZ2VYT2Zmc2V0fHxkb2NFbGVtLnNjcm9sbExlZnQpLShkb2NFbGVtLmNsaWVudExlZnR8fDApfSk6Ym94fSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBvZmZzZXRQYXJlbnQsb2Zmc2V0LHBhcmVudE9mZnNldD17dG9wOjAsbGVmdDowfSxlbGVtPXRoaXNbMF07cmV0dXJuXCJmaXhlZFwiPT09alF1ZXJ5LmNzcyhlbGVtLFwicG9zaXRpb25cIik/b2Zmc2V0PWVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6KG9mZnNldFBhcmVudD10aGlzLm9mZnNldFBhcmVudCgpLG9mZnNldD10aGlzLm9mZnNldCgpLGpRdWVyeS5ub2RlTmFtZShvZmZzZXRQYXJlbnRbMF0sXCJodG1sXCIpfHwocGFyZW50T2Zmc2V0PW9mZnNldFBhcmVudC5vZmZzZXQoKSkscGFyZW50T2Zmc2V0LnRvcCs9alF1ZXJ5LmNzcyhvZmZzZXRQYXJlbnRbMF0sXCJib3JkZXJUb3BXaWR0aFwiLCEwKSxwYXJlbnRPZmZzZXQubGVmdCs9alF1ZXJ5LmNzcyhvZmZzZXRQYXJlbnRbMF0sXCJib3JkZXJMZWZ0V2lkdGhcIiwhMCkpLHt0b3A6b2Zmc2V0LnRvcC1wYXJlbnRPZmZzZXQudG9wLWpRdWVyeS5jc3MoZWxlbSxcIm1hcmdpblRvcFwiLCEwKSxsZWZ0Om9mZnNldC5sZWZ0LXBhcmVudE9mZnNldC5sZWZ0LWpRdWVyeS5jc3MoZWxlbSxcIm1hcmdpbkxlZnRcIiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBvZmZzZXRQYXJlbnQ9dGhpcy5vZmZzZXRQYXJlbnR8fGRvY0VsZW07b2Zmc2V0UGFyZW50JiYhalF1ZXJ5Lm5vZGVOYW1lKG9mZnNldFBhcmVudCxcImh0bWxcIikmJlwic3RhdGljXCI9PT1qUXVlcnkuY3NzKG9mZnNldFBhcmVudCxcInBvc2l0aW9uXCIpOylvZmZzZXRQYXJlbnQ9b2Zmc2V0UGFyZW50Lm9mZnNldFBhcmVudDtyZXR1cm4gb2Zmc2V0UGFyZW50fHxkb2NFbGVtfSl9fSksalF1ZXJ5LmVhY2goe3Njcm9sbExlZnQ6XCJwYWdlWE9mZnNldFwiLHNjcm9sbFRvcDpcInBhZ2VZT2Zmc2V0XCJ9LGZ1bmN0aW9uKG1ldGhvZCxwcm9wKXt2YXIgdG9wPS9ZLy50ZXN0KHByb3ApO2pRdWVyeS5mblttZXRob2RdPWZ1bmN0aW9uKHZhbCl7cmV0dXJuIGFjY2Vzcyh0aGlzLGZ1bmN0aW9uKGVsZW0sbWV0aG9kLHZhbCl7dmFyIHdpbj1nZXRXaW5kb3coZWxlbSk7cmV0dXJuIHZvaWQgMD09PXZhbD93aW4/cHJvcCBpbiB3aW4/d2luW3Byb3BdOndpbi5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbbWV0aG9kXTplbGVtW21ldGhvZF06dm9pZCh3aW4/d2luLnNjcm9sbFRvKHRvcD9qUXVlcnkod2luKS5zY3JvbGxMZWZ0KCk6dmFsLHRvcD92YWw6alF1ZXJ5KHdpbikuc2Nyb2xsVG9wKCkpOmVsZW1bbWV0aG9kXT12YWwpfSxtZXRob2QsdmFsLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksalF1ZXJ5LmVhY2goW1widG9wXCIsXCJsZWZ0XCJdLGZ1bmN0aW9uKGkscHJvcCl7alF1ZXJ5LmNzc0hvb2tzW3Byb3BdPWFkZEdldEhvb2tJZihzdXBwb3J0LnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oZWxlbSxjb21wdXRlZCl7cmV0dXJuIGNvbXB1dGVkPyhjb21wdXRlZD1jdXJDU1MoZWxlbSxwcm9wKSxybnVtbm9ucHgudGVzdChjb21wdXRlZCk/alF1ZXJ5KGVsZW0pLnBvc2l0aW9uKClbcHJvcF0rXCJweFwiOmNvbXB1dGVkKTp2b2lkIDB9KX0pLGpRdWVyeS5lYWNoKHtIZWlnaHQ6XCJoZWlnaHRcIixXaWR0aDpcIndpZHRoXCJ9LGZ1bmN0aW9uKG5hbWUsdHlwZSl7alF1ZXJ5LmVhY2goe3BhZGRpbmc6XCJpbm5lclwiK25hbWUsY29udGVudDp0eXBlLFwiXCI6XCJvdXRlclwiK25hbWV9LGZ1bmN0aW9uKGRlZmF1bHRFeHRyYSxmdW5jTmFtZSl7alF1ZXJ5LmZuW2Z1bmNOYW1lXT1mdW5jdGlvbihtYXJnaW4sdmFsdWUpe3ZhciBjaGFpbmFibGU9YXJndW1lbnRzLmxlbmd0aCYmKGRlZmF1bHRFeHRyYXx8XCJib29sZWFuXCIhPXR5cGVvZiBtYXJnaW4pLGV4dHJhPWRlZmF1bHRFeHRyYXx8KG1hcmdpbj09PSEwfHx2YWx1ZT09PSEwP1wibWFyZ2luXCI6XCJib3JkZXJcIik7cmV0dXJuIGFjY2Vzcyh0aGlzLGZ1bmN0aW9uKGVsZW0sdHlwZSx2YWx1ZSl7dmFyIGRvYztyZXR1cm4galF1ZXJ5LmlzV2luZG93KGVsZW0pP2VsZW0uZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50W1wiY2xpZW50XCIrbmFtZV06OT09PWVsZW0ubm9kZVR5cGU/KGRvYz1lbGVtLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChlbGVtLmJvZHlbXCJzY3JvbGxcIituYW1lXSxkb2NbXCJzY3JvbGxcIituYW1lXSxlbGVtLmJvZHlbXCJvZmZzZXRcIituYW1lXSxkb2NbXCJvZmZzZXRcIituYW1lXSxkb2NbXCJjbGllbnRcIituYW1lXSkpOnZvaWQgMD09PXZhbHVlP2pRdWVyeS5jc3MoZWxlbSx0eXBlLGV4dHJhKTpqUXVlcnkuc3R5bGUoZWxlbSx0eXBlLHZhbHVlLGV4dHJhKX0sdHlwZSxjaGFpbmFibGU/bWFyZ2luOnZvaWQgMCxjaGFpbmFibGUsbnVsbCl9fSl9KSxqUXVlcnkuZm4uc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0salF1ZXJ5LmZuLmFuZFNlbGY9alF1ZXJ5LmZuLmFkZEJhY2ssXCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoXCJqcXVlcnlcIixbXSxmdW5jdGlvbigpe3JldHVybiBqUXVlcnl9KTt2YXIgX2pRdWVyeT13aW5kb3cualF1ZXJ5LF8kPXdpbmRvdy4kO3JldHVybiBqUXVlcnkubm9Db25mbGljdD1mdW5jdGlvbihkZWVwKXtyZXR1cm4gd2luZG93LiQ9PT1qUXVlcnkmJih3aW5kb3cuJD1fJCksZGVlcCYmd2luZG93LmpRdWVyeT09PWpRdWVyeSYmKHdpbmRvdy5qUXVlcnk9X2pRdWVyeSksalF1ZXJ5fSx0eXBlb2Ygbm9HbG9iYWw9PT1zdHJ1bmRlZmluZWQmJih3aW5kb3cualF1ZXJ5PXdpbmRvdy4kPWpRdWVyeSksalF1ZXJ5fSk7Il0sIm1hcHBpbmdzIjoiOztBQUFBLENBQUMsVUFBU0EsTUFBTSxFQUFDQyxPQUFPLEVBQUM7RUFBQyxRQUFRLElBQUUsT0FBT0MsTUFBTSxJQUFFLFFBQVEsSUFBRSxPQUFPQSxNQUFNLENBQUNDLE9BQU8sR0FBQ0QsTUFBTSxDQUFDQyxPQUFPLEdBQUNILE1BQU0sQ0FBQ0ksUUFBUSxHQUFDSCxPQUFPLENBQUNELE1BQU0sRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLFVBQVNLLENBQUMsRUFBQztJQUFDLElBQUcsQ0FBQ0EsQ0FBQyxDQUFDRCxRQUFRLEVBQUMsTUFBTSxJQUFJRSxLQUFLLENBQUMsMENBQTBDLENBQUM7SUFBQyxPQUFPTCxPQUFPLENBQUNJLENBQUMsQ0FBQztFQUFBLENBQUMsR0FBQ0osT0FBTyxDQUFDRCxNQUFNLENBQUM7QUFBQSxDQUFDLENBQUMsV0FBVyxJQUFFLE9BQU9PLE1BQU0sR0FBQ0EsTUFBTSxTQUFLLEVBQUMsVUFBU0EsTUFBTSxFQUFDQyxRQUFRLEVBQUM7RUFBQyxTQUFTQyxXQUFXQSxDQUFDQyxHQUFHLEVBQUM7SUFBQyxJQUFJQyxNQUFNLEdBQUMsUUFBUSxJQUFHRCxHQUFHLElBQUVBLEdBQUcsQ0FBQ0MsTUFBTTtNQUFDQyxJQUFJLEdBQUNDLE1BQU0sQ0FBQ0QsSUFBSSxDQUFDRixHQUFHLENBQUM7SUFBQyxPQUFNLFVBQVUsS0FBR0UsSUFBSSxJQUFFQyxNQUFNLENBQUNDLFFBQVEsQ0FBQ0osR0FBRyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxLQUFHQSxHQUFHLENBQUNLLFFBQVEsSUFBRUosTUFBTSxHQUFDLENBQUMsQ0FBQyxHQUFDLE9BQU8sS0FBR0MsSUFBSSxJQUFFLENBQUMsS0FBR0QsTUFBTSxJQUFFLFFBQVEsSUFBRSxPQUFPQSxNQUFNLElBQUVBLE1BQU0sR0FBQyxDQUFDLElBQUVBLE1BQU0sR0FB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
|
|
3328
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnbG9iYWwiLCJmYWN0b3J5IiwibW9kdWxlIiwiZXhwb3J0cyIsImRvY3VtZW50IiwidyIsIkVycm9yIiwid2luZG93Iiwibm9HbG9iYWwiLCJpc0FycmF5bGlrZSIsIm9iaiIsImxlbmd0aCIsInR5cGUiLCJqUXVlcnkiLCJpc1dpbmRvdyIsIm5vZGVUeXBlIiwid2lubm93IiwiZWxlbWVudHMiLCJxdWFsaWZpZXIiLCJub3QiLCJpc0Z1bmN0aW9uIiwiZ3JlcCIsImVsZW0iLCJpIiwiY2FsbCIsInJpc1NpbXBsZSIsInRlc3QiLCJmaWx0ZXIiLCJpbkFycmF5Iiwic2libGluZyIsImN1ciIsImRpciIsImNyZWF0ZU9wdGlvbnMiLCJvcHRpb25zIiwib2JqZWN0Iiwib3B0aW9uc0NhY2hlIiwiZWFjaCIsIm1hdGNoIiwicm5vdHdoaXRlIiwiXyIsImZsYWciLCJkZXRhY2giLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNvbXBsZXRlZCIsImRldGFjaEV2ZW50IiwiZXZlbnQiLCJyZWFkeVN0YXRlIiwicmVhZHkiLCJkYXRhQXR0ciIsImtleSIsImRhdGEiLCJuYW1lIiwicmVwbGFjZSIsInJtdWx0aURhc2giLCJ0b0xvd2VyQ2FzZSIsImdldEF0dHJpYnV0ZSIsInJicmFjZSIsInBhcnNlSlNPTiIsImUiLCJpc0VtcHR5RGF0YU9iamVjdCIsImlzRW1wdHlPYmplY3QiLCJpbnRlcm5hbERhdGEiLCJwdnQiLCJhY2NlcHREYXRhIiwicmV0IiwidGhpc0NhY2hlIiwiaW50ZXJuYWxLZXkiLCJleHBhbmRvIiwiaXNOb2RlIiwiY2FjaGUiLCJpZCIsImRlbGV0ZWRJZHMiLCJwb3AiLCJndWlkIiwidG9KU09OIiwibm9vcCIsImV4dGVuZCIsImNhbWVsQ2FzZSIsImludGVybmFsUmVtb3ZlRGF0YSIsImlzQXJyYXkiLCJjb25jYXQiLCJtYXAiLCJzcGxpdCIsImNsZWFuRGF0YSIsInN1cHBvcnQiLCJkZWxldGVFeHBhbmRvIiwicmV0dXJuVHJ1ZSIsInJldHVybkZhbHNlIiwic2FmZUFjdGl2ZUVsZW1lbnQiLCJhY3RpdmVFbGVtZW50IiwiZXJyIiwiY3JlYXRlU2FmZUZyYWdtZW50IiwibGlzdCIsIm5vZGVOYW1lcyIsInNhZmVGcmFnIiwiY3JlYXRlRG9jdW1lbnRGcmFnbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJnZXRBbGwiLCJjb250ZXh0IiwidGFnIiwiZWxlbXMiLCJmb3VuZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwic3RydW5kZWZpbmVkIiwicXVlcnlTZWxlY3RvckFsbCIsImNoaWxkTm9kZXMiLCJub2RlTmFtZSIsInB1c2giLCJtZXJnZSIsImZpeERlZmF1bHRDaGVja2VkIiwicmNoZWNrYWJsZVR5cGUiLCJkZWZhdWx0Q2hlY2tlZCIsImNoZWNrZWQiLCJtYW5pcHVsYXRpb25UYXJnZXQiLCJjb250ZW50IiwiZmlyc3RDaGlsZCIsImFwcGVuZENoaWxkIiwib3duZXJEb2N1bWVudCIsImRpc2FibGVTY3JpcHQiLCJmaW5kIiwiYXR0ciIsInJlc3RvcmVTY3JpcHQiLCJyc2NyaXB0VHlwZU1hc2tlZCIsImV4ZWMiLCJyZW1vdmVBdHRyaWJ1dGUiLCJzZXRHbG9iYWxFdmFsIiwicmVmRWxlbWVudHMiLCJfZGF0YSIsImNsb25lQ29weUV2ZW50Iiwic3JjIiwiZGVzdCIsImhhc0RhdGEiLCJsIiwib2xkRGF0YSIsImN1ckRhdGEiLCJldmVudHMiLCJoYW5kbGUiLCJhZGQiLCJmaXhDbG9uZU5vZGVJc3N1ZXMiLCJub0Nsb25lRXZlbnQiLCJyZW1vdmVFdmVudCIsInRleHQiLCJwYXJlbnROb2RlIiwib3V0ZXJIVE1MIiwiaHRtbDVDbG9uZSIsImlubmVySFRNTCIsInRyaW0iLCJ2YWx1ZSIsImRlZmF1bHRTZWxlY3RlZCIsInNlbGVjdGVkIiwiZGVmYXVsdFZhbHVlIiwiYWN0dWFsRGlzcGxheSIsImRvYyIsInN0eWxlIiwiYXBwZW5kVG8iLCJib2R5IiwiZGlzcGxheSIsImdldERlZmF1bHRDb21wdXRlZFN0eWxlIiwiY3NzIiwiZGVmYXVsdERpc3BsYXkiLCJlbGVtZGlzcGxheSIsImlmcmFtZSIsImRvY3VtZW50RWxlbWVudCIsImNvbnRlbnRXaW5kb3ciLCJjb250ZW50RG9jdW1lbnQiLCJ3cml0ZSIsImNsb3NlIiwiYWRkR2V0SG9va0lmIiwiY29uZGl0aW9uRm4iLCJob29rRm4iLCJnZXQiLCJjb25kaXRpb24iLCJhcHBseSIsImFyZ3VtZW50cyIsInZlbmRvclByb3BOYW1lIiwiY2FwTmFtZSIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJvcmlnTmFtZSIsImNzc1ByZWZpeGVzIiwic2hvd0hpZGUiLCJzaG93IiwiaGlkZGVuIiwidmFsdWVzIiwiaW5kZXgiLCJpc0hpZGRlbiIsInNldFBvc2l0aXZlTnVtYmVyIiwic3VidHJhY3QiLCJtYXRjaGVzIiwicm51bXNwbGl0IiwiTWF0aCIsIm1heCIsImF1Z21lbnRXaWR0aE9ySGVpZ2h0IiwiZXh0cmEiLCJpc0JvcmRlckJveCIsInN0eWxlcyIsInZhbCIsImNzc0V4cGFuZCIsImdldFdpZHRoT3JIZWlnaHQiLCJ2YWx1ZUlzQm9yZGVyQm94Iiwib2Zmc2V0V2lkdGgiLCJvZmZzZXRIZWlnaHQiLCJnZXRTdHlsZXMiLCJib3hTaXppbmciLCJjdXJDU1MiLCJybnVtbm9ucHgiLCJib3hTaXppbmdSZWxpYWJsZSIsInBhcnNlRmxvYXQiLCJUd2VlbiIsInByb3AiLCJlbmQiLCJlYXNpbmciLCJwcm90b3R5cGUiLCJpbml0IiwiY3JlYXRlRnhOb3ciLCJzZXRUaW1lb3V0IiwiZnhOb3ciLCJub3ciLCJnZW5GeCIsImluY2x1ZGVXaWR0aCIsIndoaWNoIiwiYXR0cnMiLCJoZWlnaHQiLCJvcGFjaXR5Iiwid2lkdGgiLCJjcmVhdGVUd2VlbiIsImFuaW1hdGlvbiIsInR3ZWVuIiwiY29sbGVjdGlvbiIsInR3ZWVuZXJzIiwiZGVmYXVsdFByZWZpbHRlciIsInByb3BzIiwib3B0cyIsInRvZ2dsZSIsImhvb2tzIiwib2xkZmlyZSIsImNoZWNrRGlzcGxheSIsImFuaW0iLCJvcmlnIiwiZGF0YVNob3ciLCJxdWV1ZSIsIl9xdWV1ZUhvb2tzIiwidW5xdWV1ZWQiLCJlbXB0eSIsImZpcmUiLCJhbHdheXMiLCJvdmVyZmxvdyIsIm92ZXJmbG93WCIsIm92ZXJmbG93WSIsImlubGluZUJsb2NrTmVlZHNMYXlvdXQiLCJ6b29tIiwic2hyaW5rV3JhcEJsb2NrcyIsInJmeHR5cGVzIiwiZG9uZSIsImhpZGUiLCJfcmVtb3ZlRGF0YSIsInN0YXJ0IiwicHJvcEZpbHRlciIsInNwZWNpYWxFYXNpbmciLCJjc3NIb29rcyIsImV4cGFuZCIsIkFuaW1hdGlvbiIsInByb3BlcnRpZXMiLCJyZXN1bHQiLCJzdG9wcGVkIiwiYW5pbWF0aW9uUHJlZmlsdGVycyIsImRlZmVycmVkIiwiRGVmZXJyZWQiLCJ0aWNrIiwiY3VycmVudFRpbWUiLCJyZW1haW5pbmciLCJzdGFydFRpbWUiLCJkdXJhdGlvbiIsInRlbXAiLCJwZXJjZW50IiwidHdlZW5zIiwicnVuIiwibm90aWZ5V2l0aCIsInJlc29sdmVXaXRoIiwicHJvbWlzZSIsIm9yaWdpbmFsUHJvcGVydGllcyIsIm9yaWdpbmFsT3B0aW9ucyIsInN0b3AiLCJnb3RvRW5kIiwicmVqZWN0V2l0aCIsImZ4IiwidGltZXIiLCJwcm9ncmVzcyIsImNvbXBsZXRlIiwiZmFpbCIsImFkZFRvUHJlZmlsdGVyc09yVHJhbnNwb3J0cyIsInN0cnVjdHVyZSIsImRhdGFUeXBlRXhwcmVzc2lvbiIsImZ1bmMiLCJkYXRhVHlwZSIsImRhdGFUeXBlcyIsInVuc2hpZnQiLCJpbnNwZWN0UHJlZmlsdGVyc09yVHJhbnNwb3J0cyIsImpxWEhSIiwiaW5zcGVjdCIsImluc3BlY3RlZCIsInByZWZpbHRlck9yRmFjdG9yeSIsImRhdGFUeXBlT3JUcmFuc3BvcnQiLCJzZWVraW5nVHJhbnNwb3J0IiwidHJhbnNwb3J0cyIsImFqYXhFeHRlbmQiLCJ0YXJnZXQiLCJkZWVwIiwiZmxhdE9wdGlvbnMiLCJhamF4U2V0dGluZ3MiLCJhamF4SGFuZGxlUmVzcG9uc2VzIiwicyIsInJlc3BvbnNlcyIsImZpcnN0RGF0YVR5cGUiLCJjdCIsImZpbmFsRGF0YVR5cGUiLCJjb250ZW50cyIsInNoaWZ0IiwibWltZVR5cGUiLCJnZXRSZXNwb25zZUhlYWRlciIsImNvbnZlcnRlcnMiLCJhamF4Q29udmVydCIsInJlc3BvbnNlIiwiaXNTdWNjZXNzIiwiY29udjIiLCJjdXJyZW50IiwiY29udiIsInRtcCIsInByZXYiLCJyZXNwb25zZUZpZWxkcyIsImRhdGFGaWx0ZXIiLCJzdGF0ZSIsImVycm9yIiwiYnVpbGRQYXJhbXMiLCJwcmVmaXgiLCJ0cmFkaXRpb25hbCIsInYiLCJyYnJhY2tldCIsImNyZWF0ZVN0YW5kYXJkWEhSIiwiWE1MSHR0cFJlcXVlc3QiLCJjcmVhdGVBY3RpdmVYSFIiLCJBY3RpdmVYT2JqZWN0IiwiZ2V0V2luZG93IiwiZGVmYXVsdFZpZXciLCJwYXJlbnRXaW5kb3ciLCJpbmRleE9mIiwiY2xhc3MydHlwZSIsInRvU3RyaW5nIiwiaGFzT3duIiwiaGFzT3duUHJvcGVydHkiLCJ2ZXJzaW9uIiwic2VsZWN0b3IiLCJmbiIsInJ0cmltIiwicm1zUHJlZml4IiwicmRhc2hBbHBoYSIsImZjYW1lbENhc2UiLCJhbGwiLCJsZXR0ZXIiLCJqcXVlcnkiLCJjb25zdHJ1Y3RvciIsInRvQXJyYXkiLCJudW0iLCJwdXNoU3RhY2siLCJwcmV2T2JqZWN0IiwiY2FsbGJhY2siLCJhcmdzIiwiZmlyc3QiLCJlcSIsImxhc3QiLCJsZW4iLCJqIiwic29ydCIsInNwbGljZSIsImNvcHlJc0FycmF5IiwiY29weSIsImNsb25lIiwiaXNQbGFpbk9iamVjdCIsInJhbmRvbSIsImlzUmVhZHkiLCJtc2ciLCJBcnJheSIsImlzTnVtZXJpYyIsIm93bkxhc3QiLCJnbG9iYWxFdmFsIiwiZXhlY1NjcmlwdCIsImV2YWwiLCJzdHJpbmciLCJtYWtlQXJyYXkiLCJhcnIiLCJyZXN1bHRzIiwiT2JqZWN0Iiwic2Vjb25kIiwiaW52ZXJ0IiwiY2FsbGJhY2tJbnZlcnNlIiwiY2FsbGJhY2tFeHBlY3QiLCJhcmciLCJwcm94eSIsIkRhdGUiLCJTaXp6bGUiLCJzZWVkIiwibSIsImdyb3VwcyIsIm9sZCIsIm5pZCIsIm5ld0NvbnRleHQiLCJuZXdTZWxlY3RvciIsInByZWZlcnJlZERvYyIsInNldERvY3VtZW50IiwiZG9jdW1lbnRJc0hUTUwiLCJycXVpY2tFeHByIiwiZ2V0RWxlbWVudEJ5SWQiLCJjb250YWlucyIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJxc2EiLCJyYnVnZ3lRU0EiLCJ0b2tlbml6ZSIsInJlc2NhcGUiLCJzZXRBdHRyaWJ1dGUiLCJ0b1NlbGVjdG9yIiwicnNpYmxpbmciLCJ0ZXN0Q29udGV4dCIsImpvaW4iLCJxc2FFcnJvciIsInNlbGVjdCIsImNyZWF0ZUNhY2hlIiwia2V5cyIsIkV4cHIiLCJjYWNoZUxlbmd0aCIsIm1hcmtGdW5jdGlvbiIsImFzc2VydCIsImRpdiIsInJlbW92ZUNoaWxkIiwiYWRkSGFuZGxlIiwiaGFuZGxlciIsImF0dHJIYW5kbGUiLCJzaWJsaW5nQ2hlY2siLCJhIiwiYiIsImRpZmYiLCJzb3VyY2VJbmRleCIsIk1BWF9ORUdBVElWRSIsIm5leHRTaWJsaW5nIiwiY3JlYXRlSW5wdXRQc2V1ZG8iLCJjcmVhdGVCdXR0b25Qc2V1ZG8iLCJjcmVhdGVQb3NpdGlvbmFsUHNldWRvIiwiYXJndW1lbnQiLCJtYXRjaEluZGV4ZXMiLCJzZXRGaWx0ZXJzIiwidG9rZW5zIiwiYWRkQ29tYmluYXRvciIsIm1hdGNoZXIiLCJjb21iaW5hdG9yIiwiYmFzZSIsImNoZWNrTm9uRWxlbWVudHMiLCJkb25lTmFtZSIsInhtbCIsIm9sZENhY2hlIiwib3V0ZXJDYWNoZSIsIm5ld0NhY2hlIiwiZGlycnVucyIsImVsZW1lbnRNYXRjaGVyIiwibWF0Y2hlcnMiLCJtdWx0aXBsZUNvbnRleHRzIiwiY29udGV4dHMiLCJjb25kZW5zZSIsInVubWF0Y2hlZCIsIm5ld1VubWF0Y2hlZCIsIm1hcHBlZCIsInNldE1hdGNoZXIiLCJwcmVGaWx0ZXIiLCJwb3N0RmlsdGVyIiwicG9zdEZpbmRlciIsInBvc3RTZWxlY3RvciIsInByZU1hcCIsInBvc3RNYXAiLCJwcmVleGlzdGluZyIsIm1hdGNoZXJJbiIsIm1hdGNoZXJPdXQiLCJtYXRjaGVyRnJvbVRva2VucyIsImNoZWNrQ29udGV4dCIsImxlYWRpbmdSZWxhdGl2ZSIsInJlbGF0aXZlIiwiaW1wbGljaXRSZWxhdGl2ZSIsIm1hdGNoQ29udGV4dCIsIm1hdGNoQW55Q29udGV4dCIsIm91dGVybW9zdENvbnRleHQiLCJtYXRjaGVyRnJvbUdyb3VwTWF0Y2hlcnMiLCJlbGVtZW50TWF0Y2hlcnMiLCJzZXRNYXRjaGVycyIsImJ5U2V0IiwiYnlFbGVtZW50Iiwic3VwZXJNYXRjaGVyIiwib3V0ZXJtb3N0IiwibWF0Y2hlZENvdW50Iiwic2V0TWF0Y2hlZCIsImNvbnRleHRCYWNrdXAiLCJUQUciLCJkaXJydW5zVW5pcXVlIiwidW5pcXVlU29ydCIsImdldFRleHQiLCJpc1hNTCIsImNvbXBpbGUiLCJzb3J0SW5wdXQiLCJoYXNEdXBsaWNhdGUiLCJkb2NFbGVtIiwicmJ1Z2d5TWF0Y2hlcyIsImNsYXNzQ2FjaGUiLCJ0b2tlbkNhY2hlIiwiY29tcGlsZXJDYWNoZSIsInNvcnRPcmRlciIsInB1c2hfbmF0aXZlIiwiYm9vbGVhbnMiLCJ3aGl0ZXNwYWNlIiwiY2hhcmFjdGVyRW5jb2RpbmciLCJpZGVudGlmaWVyIiwiYXR0cmlidXRlcyIsInBzZXVkb3MiLCJyd2hpdGVzcGFjZSIsIlJlZ0V4cCIsInJjb21tYSIsInJjb21iaW5hdG9ycyIsInJhdHRyaWJ1dGVRdW90ZXMiLCJycHNldWRvIiwicmlkZW50aWZpZXIiLCJtYXRjaEV4cHIiLCJJRCIsIkNMQVNTIiwiQVRUUiIsIlBTRVVETyIsIkNISUxEIiwiYm9vbCIsIm5lZWRzQ29udGV4dCIsInJpbnB1dHMiLCJyaGVhZGVyIiwicm5hdGl2ZSIsInJ1bmVzY2FwZSIsImZ1bmVzY2FwZSIsImVzY2FwZWQiLCJlc2NhcGVkV2hpdGVzcGFjZSIsImhpZ2giLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJ1bmxvYWRIYW5kbGVyIiwiZWxzIiwibm9kZSIsImhhc0NvbXBhcmUiLCJwYXJlbnQiLCJ0b3AiLCJhdHRhY2hFdmVudCIsImNsYXNzTmFtZSIsImNyZWF0ZUNvbW1lbnQiLCJnZXRCeUlkIiwiZ2V0RWxlbWVudHNCeU5hbWUiLCJhdHRySWQiLCJnZXRBdHRyaWJ1dGVOb2RlIiwiaW5wdXQiLCJtYXRjaGVzU2VsZWN0b3IiLCJ3ZWJraXRNYXRjaGVzU2VsZWN0b3IiLCJtb3pNYXRjaGVzU2VsZWN0b3IiLCJvTWF0Y2hlc1NlbGVjdG9yIiwibXNNYXRjaGVzU2VsZWN0b3IiLCJkaXNjb25uZWN0ZWRNYXRjaCIsImNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIiwiYWRvd24iLCJidXAiLCJjb21wYXJlIiwic29ydERldGFjaGVkIiwiYXVwIiwiYXAiLCJicCIsImV4cHIiLCJzcGVjaWZpZWQiLCJkdXBsaWNhdGVzIiwiZGV0ZWN0RHVwbGljYXRlcyIsInNvcnRTdGFibGUiLCJ0ZXh0Q29udGVudCIsIm5vZGVWYWx1ZSIsInNlbGVjdG9ycyIsImNyZWF0ZVBzZXVkbyIsImV4Y2VzcyIsInVucXVvdGVkIiwibm9kZU5hbWVTZWxlY3RvciIsInBhdHRlcm4iLCJvcGVyYXRvciIsImNoZWNrIiwid2hhdCIsInNpbXBsZSIsImZvcndhcmQiLCJvZlR5cGUiLCJub2RlSW5kZXgiLCJ1c2VDYWNoZSIsImxhc3RDaGlsZCIsInBzZXVkbyIsImlkeCIsIm1hdGNoZWQiLCJoYXMiLCJpbm5lclRleHQiLCJsYW5nIiwiZWxlbUxhbmciLCJoYXNoIiwibG9jYXRpb24iLCJyb290IiwiZm9jdXMiLCJoYXNGb2N1cyIsImhyZWYiLCJ0YWJJbmRleCIsImVuYWJsZWQiLCJkaXNhYmxlZCIsInNlbGVjdGVkSW5kZXgiLCJoZWFkZXIiLCJidXR0b24iLCJldmVuIiwib2RkIiwibHQiLCJndCIsIm50aCIsInJhZGlvIiwiY2hlY2tib3giLCJmaWxlIiwicGFzc3dvcmQiLCJpbWFnZSIsInN1Ym1pdCIsInJlc2V0IiwiZmlsdGVycyIsInBhcnNlT25seSIsInNvRmFyIiwicHJlRmlsdGVycyIsImNhY2hlZCIsInRva2VuIiwiY29tcGlsZWQiLCJkaXYxIiwidW5pcXVlIiwiaXNYTUxEb2MiLCJybmVlZHNDb250ZXh0IiwicnNpbmdsZVRhZyIsInNlbGYiLCJpcyIsInJvb3RqUXVlcnkiLCJwYXJzZUhUTUwiLCJycGFyZW50c3ByZXYiLCJndWFyYW50ZWVkVW5pcXVlIiwiY2hpbGRyZW4iLCJuZXh0IiwidW50aWwiLCJuIiwiciIsInRhcmdldHMiLCJjbG9zZXN0IiwicG9zIiwicHJldkFsbCIsImFkZEJhY2siLCJwYXJlbnRzIiwicGFyZW50c1VudGlsIiwibmV4dEFsbCIsIm5leHRVbnRpbCIsInByZXZVbnRpbCIsInNpYmxpbmdzIiwicmV2ZXJzZSIsIkNhbGxiYWNrcyIsImZpcmluZyIsIm1lbW9yeSIsImZpcmVkIiwiZmlyaW5nTGVuZ3RoIiwiZmlyaW5nSW5kZXgiLCJmaXJpbmdTdGFydCIsInN0YWNrIiwib25jZSIsInN0b3BPbkZhbHNlIiwiZGlzYWJsZSIsInJlbW92ZSIsImxvY2siLCJsb2NrZWQiLCJmaXJlV2l0aCIsInR1cGxlcyIsInRoZW4iLCJmbnMiLCJuZXdEZWZlciIsInR1cGxlIiwicmV0dXJuZWQiLCJyZXNvbHZlIiwicmVqZWN0Iiwibm90aWZ5IiwicGlwZSIsInN0YXRlU3RyaW5nIiwid2hlbiIsInN1Ym9yZGluYXRlIiwicHJvZ3Jlc3NWYWx1ZXMiLCJwcm9ncmVzc0NvbnRleHRzIiwicmVzb2x2ZUNvbnRleHRzIiwicmVzb2x2ZVZhbHVlcyIsInVwZGF0ZUZ1bmMiLCJyZWFkeUxpc3QiLCJyZWFkeVdhaXQiLCJob2xkUmVhZHkiLCJob2xkIiwid2FpdCIsInRyaWdnZXJIYW5kbGVyIiwib2ZmIiwiZnJhbWVFbGVtZW50IiwiZG9TY3JvbGwiLCJkb1Njcm9sbENoZWNrIiwiY29udGFpbmVyIiwiY3NzVGV4dCIsIm5vRGF0YSIsInJlbW92ZURhdGEiLCJkZXF1ZXVlIiwic3RhcnRMZW5ndGgiLCJzZXR0ZXIiLCJjbGVhclF1ZXVlIiwiY291bnQiLCJkZWZlciIsInBudW0iLCJzb3VyY2UiLCJlbCIsImFjY2VzcyIsImNoYWluYWJsZSIsImVtcHR5R2V0IiwicmF3IiwiYnVsayIsImZyYWdtZW50IiwibGVhZGluZ1doaXRlc3BhY2UiLCJ0Ym9keSIsImh0bWxTZXJpYWxpemUiLCJjbG9uZU5vZGUiLCJhcHBlbmRDaGVja2VkIiwibm9DbG9uZUNoZWNrZWQiLCJjaGVja0Nsb25lIiwiY2xpY2siLCJldmVudE5hbWUiLCJjaGFuZ2UiLCJmb2N1c2luIiwicmZvcm1FbGVtcyIsInJrZXlFdmVudCIsInJtb3VzZUV2ZW50IiwicmZvY3VzTW9ycGgiLCJydHlwZW5hbWVzcGFjZSIsInR5cGVzIiwidCIsImhhbmRsZU9iakluIiwic3BlY2lhbCIsImV2ZW50SGFuZGxlIiwiaGFuZGxlT2JqIiwiaGFuZGxlcnMiLCJuYW1lc3BhY2VzIiwib3JpZ1R5cGUiLCJlbGVtRGF0YSIsInRyaWdnZXJlZCIsImRpc3BhdGNoIiwiZGVsZWdhdGVUeXBlIiwiYmluZFR5cGUiLCJuYW1lc3BhY2UiLCJkZWxlZ2F0ZUNvdW50Iiwic2V0dXAiLCJtYXBwZWRUeXBlcyIsIm9yaWdDb3VudCIsInRlYXJkb3duIiwidHJpZ2dlciIsIm9ubHlIYW5kbGVycyIsIm9udHlwZSIsImJ1YmJsZVR5cGUiLCJldmVudFBhdGgiLCJFdmVudCIsImlzVHJpZ2dlciIsIm5hbWVzcGFjZV9yZSIsIm5vQnViYmxlIiwiaXNQcm9wYWdhdGlvblN0b3BwZWQiLCJwcmV2ZW50RGVmYXVsdCIsImlzRGVmYXVsdFByZXZlbnRlZCIsIl9kZWZhdWx0IiwiZml4IiwiaGFuZGxlclF1ZXVlIiwiZGVsZWdhdGVUYXJnZXQiLCJwcmVEaXNwYXRjaCIsImN1cnJlbnRUYXJnZXQiLCJpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCIsInN0b3BQcm9wYWdhdGlvbiIsInBvc3REaXNwYXRjaCIsInNlbCIsIm9yaWdpbmFsRXZlbnQiLCJmaXhIb29rIiwiZml4SG9va3MiLCJtb3VzZUhvb2tzIiwia2V5SG9va3MiLCJzcmNFbGVtZW50IiwibWV0YUtleSIsIm9yaWdpbmFsIiwiY2hhckNvZGUiLCJrZXlDb2RlIiwiZXZlbnREb2MiLCJmcm9tRWxlbWVudCIsInBhZ2VYIiwiY2xpZW50WCIsInNjcm9sbExlZnQiLCJjbGllbnRMZWZ0IiwicGFnZVkiLCJjbGllbnRZIiwic2Nyb2xsVG9wIiwiY2xpZW50VG9wIiwicmVsYXRlZFRhcmdldCIsInRvRWxlbWVudCIsImxvYWQiLCJibHVyIiwiYmVmb3JldW5sb2FkIiwicmV0dXJuVmFsdWUiLCJzaW11bGF0ZSIsImJ1YmJsZSIsImlzU2ltdWxhdGVkIiwiZGVmYXVsdFByZXZlbnRlZCIsInRpbWVTdGFtcCIsImNhbmNlbEJ1YmJsZSIsInN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiIsIm1vdXNlZW50ZXIiLCJtb3VzZWxlYXZlIiwicG9pbnRlcmVudGVyIiwicG9pbnRlcmxlYXZlIiwicmVsYXRlZCIsInN1Ym1pdEJ1YmJsZXMiLCJmb3JtIiwiX3N1Ym1pdF9idWJibGUiLCJjaGFuZ2VCdWJibGVzIiwicHJvcGVydHlOYW1lIiwiX2p1c3RfY2hhbmdlZCIsImZvY3VzaW5CdWJibGVzIiwiYXR0YWNoZXMiLCJvbiIsIm9uZSIsIm9yaWdGbiIsInJpbmxpbmVqUXVlcnkiLCJybm9zaGltY2FjaGUiLCJybGVhZGluZ1doaXRlc3BhY2UiLCJyeGh0bWxUYWciLCJydGFnTmFtZSIsInJ0Ym9keSIsInJodG1sIiwicm5vSW5uZXJodG1sIiwicmNoZWNrZWQiLCJyc2NyaXB0VHlwZSIsInJjbGVhblNjcmlwdCIsIndyYXBNYXAiLCJvcHRpb24iLCJsZWdlbmQiLCJhcmVhIiwicGFyYW0iLCJ0aGVhZCIsInRyIiwiY29sIiwidGQiLCJzYWZlRnJhZ21lbnQiLCJmcmFnbWVudERpdiIsIm9wdGdyb3VwIiwidGZvb3QiLCJjb2xncm91cCIsImNhcHRpb24iLCJ0aCIsImRhdGFBbmRFdmVudHMiLCJkZWVwRGF0YUFuZEV2ZW50cyIsImRlc3RFbGVtZW50cyIsInNyY0VsZW1lbnRzIiwiaW5QYWdlIiwiYnVpbGRGcmFnbWVudCIsInNjcmlwdHMiLCJzZWxlY3Rpb24iLCJ3cmFwIiwic2FmZSIsIm5vZGVzIiwiY3JlYXRlVGV4dE5vZGUiLCJhcHBlbmQiLCJkb21NYW5pcCIsInByZXBlbmQiLCJpbnNlcnRCZWZvcmUiLCJiZWZvcmUiLCJhZnRlciIsImtlZXBEYXRhIiwiaHRtbCIsInJlcGxhY2VXaXRoIiwicmVwbGFjZUNoaWxkIiwiaGFzU2NyaXB0cyIsInNldCIsImlOb0Nsb25lIiwiX2V2YWxVcmwiLCJwcmVwZW5kVG8iLCJpbnNlcnRBZnRlciIsInJlcGxhY2VBbGwiLCJpbnNlcnQiLCJzaHJpbmtXcmFwQmxvY2tzVmFsIiwicm1hcmdpbiIsInJwb3NpdGlvbiIsImdldENvbXB1dGVkU3R5bGUiLCJvcGVuZXIiLCJjb21wdXRlZCIsIm1pbldpZHRoIiwibWF4V2lkdGgiLCJnZXRQcm9wZXJ0eVZhbHVlIiwiY3VycmVudFN0eWxlIiwibGVmdCIsInJzIiwicnNMZWZ0IiwicnVudGltZVN0eWxlIiwicGl4ZWxMZWZ0IiwiY29tcHV0ZVN0eWxlVGVzdHMiLCJwaXhlbFBvc2l0aW9uVmFsIiwiYm94U2l6aW5nUmVsaWFibGVWYWwiLCJyZWxpYWJsZU1hcmdpblJpZ2h0VmFsIiwibWFyZ2luUmlnaHQiLCJyZWxpYWJsZUhpZGRlbk9mZnNldHNWYWwiLCJjc3NGbG9hdCIsImJhY2tncm91bmRDbGlwIiwiY2xlYXJDbG9uZVN0eWxlIiwiTW96Qm94U2l6aW5nIiwiV2Via2l0Qm94U2l6aW5nIiwicmVsaWFibGVIaWRkZW5PZmZzZXRzIiwicGl4ZWxQb3NpdGlvbiIsInJlbGlhYmxlTWFyZ2luUmlnaHQiLCJzd2FwIiwicmFscGhhIiwicm9wYWNpdHkiLCJyZGlzcGxheXN3YXAiLCJycmVsTnVtIiwiY3NzU2hvdyIsInBvc2l0aW9uIiwidmlzaWJpbGl0eSIsImNzc05vcm1hbFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJmb250V2VpZ2h0IiwiY3NzTnVtYmVyIiwiY29sdW1uQ291bnQiLCJmaWxsT3BhY2l0eSIsImZsZXhHcm93IiwiZmxleFNocmluayIsImxpbmVIZWlnaHQiLCJvcmRlciIsIm9ycGhhbnMiLCJ3aWRvd3MiLCJ6SW5kZXgiLCJjc3NQcm9wcyIsIiQxIiwibWFyZ2luIiwicGFkZGluZyIsImJvcmRlciIsInN1ZmZpeCIsImV4cGFuZGVkIiwicGFydHMiLCJ1bml0IiwicHJvcEhvb2tzIiwiZWFzZWQiLCJzdGVwIiwibGluZWFyIiwicCIsInN3aW5nIiwiY29zIiwiUEkiLCJ0aW1lcklkIiwicmZ4bnVtIiwicnJ1biIsInNjYWxlIiwibWF4SXRlcmF0aW9ucyIsInR3ZWVuZXIiLCJwcmVmaWx0ZXIiLCJzcGVlZCIsIm9wdCIsInNwZWVkcyIsImZhZGVUbyIsInRvIiwiYW5pbWF0ZSIsIm9wdGFsbCIsImRvQW5pbWF0aW9uIiwiZmluaXNoIiwic3RvcFF1ZXVlIiwidGltZXJzIiwiY3NzRm4iLCJzbGlkZURvd24iLCJzbGlkZVVwIiwic2xpZGVUb2dnbGUiLCJmYWRlSW4iLCJmYWRlT3V0IiwiZmFkZVRvZ2dsZSIsImludGVydmFsIiwic2V0SW50ZXJ2YWwiLCJjbGVhckludGVydmFsIiwic2xvdyIsImZhc3QiLCJkZWxheSIsInRpbWUiLCJ0aW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiZ2V0U2V0QXR0cmlidXRlIiwiaHJlZk5vcm1hbGl6ZWQiLCJjaGVja09uIiwib3B0U2VsZWN0ZWQiLCJlbmN0eXBlIiwib3B0RGlzYWJsZWQiLCJyYWRpb1ZhbHVlIiwicnJldHVybiIsInZhbEhvb2tzIiwib3B0aW9uU2V0Iiwic2Nyb2xsSGVpZ2h0Iiwibm9kZUhvb2siLCJib29sSG9vayIsInJ1c2VEZWZhdWx0IiwiZ2V0U2V0SW5wdXQiLCJyZW1vdmVBdHRyIiwiblR5cGUiLCJhdHRySG9va3MiLCJwcm9wTmFtZSIsImF0dHJOYW1lcyIsInByb3BGaXgiLCJnZXR0ZXIiLCJzZXRBdHRyaWJ1dGVOb2RlIiwiY3JlYXRlQXR0cmlidXRlIiwiY29vcmRzIiwiY29udGVudGVkaXRhYmxlIiwicmZvY3VzYWJsZSIsInJjbGlja2FibGUiLCJyZW1vdmVQcm9wIiwibm90eG1sIiwidGFiaW5kZXgiLCJwYXJzZUludCIsInJjbGFzcyIsImFkZENsYXNzIiwiY2xhc3NlcyIsImNsYXp6IiwiZmluYWxWYWx1ZSIsInByb2NlZWQiLCJyZW1vdmVDbGFzcyIsInRvZ2dsZUNsYXNzIiwic3RhdGVWYWwiLCJjbGFzc05hbWVzIiwiaGFzQ2xhc3MiLCJob3ZlciIsImZuT3ZlciIsImZuT3V0IiwiYmluZCIsInVuYmluZCIsImRlbGVnYXRlIiwidW5kZWxlZ2F0ZSIsIm5vbmNlIiwicnF1ZXJ5IiwicnZhbGlkdG9rZW5zIiwiSlNPTiIsInBhcnNlIiwicmVxdWlyZU5vbkNvbW1hIiwiZGVwdGgiLCJzdHIiLCJjb21tYSIsIm9wZW4iLCJGdW5jdGlvbiIsInBhcnNlWE1MIiwiRE9NUGFyc2VyIiwicGFyc2VGcm9tU3RyaW5nIiwiYXN5bmMiLCJsb2FkWE1MIiwiYWpheExvY1BhcnRzIiwiYWpheExvY2F0aW9uIiwicmhhc2giLCJydHMiLCJyaGVhZGVycyIsInJsb2NhbFByb3RvY29sIiwicm5vQ29udGVudCIsInJwcm90b2NvbCIsInJ1cmwiLCJwcmVmaWx0ZXJzIiwiYWxsVHlwZXMiLCJhY3RpdmUiLCJsYXN0TW9kaWZpZWQiLCJldGFnIiwidXJsIiwiaXNMb2NhbCIsInByb2Nlc3NEYXRhIiwiY29udGVudFR5cGUiLCJhY2NlcHRzIiwianNvbiIsImFqYXhTZXR1cCIsInNldHRpbmdzIiwiYWpheFByZWZpbHRlciIsImFqYXhUcmFuc3BvcnQiLCJhamF4Iiwic3RhdHVzIiwibmF0aXZlU3RhdHVzVGV4dCIsImhlYWRlcnMiLCJzdWNjZXNzIiwibW9kaWZpZWQiLCJzdGF0dXNUZXh0IiwidGltZW91dFRpbWVyIiwidHJhbnNwb3J0IiwicmVzcG9uc2VIZWFkZXJzU3RyaW5nIiwiaWZNb2RpZmllZCIsImNhY2hlVVJMIiwiY2FsbGJhY2tDb250ZXh0Iiwic3RhdHVzQ29kZSIsImZpcmVHbG9iYWxzIiwiZ2xvYmFsRXZlbnRDb250ZXh0IiwiY29tcGxldGVEZWZlcnJlZCIsInJlc3BvbnNlSGVhZGVycyIsInJlcXVlc3RIZWFkZXJzIiwicmVxdWVzdEhlYWRlcnNOYW1lcyIsInN0ckFib3J0IiwiZ2V0QWxsUmVzcG9uc2VIZWFkZXJzIiwic2V0UmVxdWVzdEhlYWRlciIsImxuYW1lIiwib3ZlcnJpZGVNaW1lVHlwZSIsImNvZGUiLCJhYm9ydCIsImZpbmFsVGV4dCIsIm1ldGhvZCIsImNyb3NzRG9tYWluIiwiaGFzQ29udGVudCIsImJlZm9yZVNlbmQiLCJzZW5kIiwiZ2V0SlNPTiIsImdldFNjcmlwdCIsIndyYXBBbGwiLCJ3cmFwSW5uZXIiLCJ1bndyYXAiLCJ2aXNpYmxlIiwicjIwIiwickNSTEYiLCJyc3VibWl0dGVyVHlwZXMiLCJyc3VibWl0dGFibGUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJzZXJpYWxpemUiLCJzZXJpYWxpemVBcnJheSIsInhociIsInhocklkIiwieGhyQ2FsbGJhY2tzIiwieGhyU3VwcG9ydGVkIiwiY29ycyIsInVzZXJuYW1lIiwieGhyRmllbGRzIiwiaXNBYm9ydCIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsInJlc3BvbnNlVGV4dCIsInNjcmlwdCIsInRleHQgc2NyaXB0IiwiaGVhZCIsInNjcmlwdENoYXJzZXQiLCJjaGFyc2V0Iiwib25sb2FkIiwib2xkQ2FsbGJhY2tzIiwicmpzb25wIiwianNvbnAiLCJqc29ucENhbGxiYWNrIiwib3JpZ2luYWxTZXR0aW5ncyIsImNhbGxiYWNrTmFtZSIsIm92ZXJ3cml0dGVuIiwicmVzcG9uc2VDb250YWluZXIiLCJqc29uUHJvcCIsImtlZXBTY3JpcHRzIiwicGFyc2VkIiwiX2xvYWQiLCJwYXJhbXMiLCJhbmltYXRlZCIsIm9mZnNldCIsInNldE9mZnNldCIsImN1clBvc2l0aW9uIiwiY3VyTGVmdCIsImN1ckNTU1RvcCIsImN1clRvcCIsImN1ck9mZnNldCIsImN1ckNTU0xlZnQiLCJjYWxjdWxhdGVQb3NpdGlvbiIsImN1ckVsZW0iLCJ1c2luZyIsIndpbiIsImJveCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInBhZ2VZT2Zmc2V0IiwicGFnZVhPZmZzZXQiLCJvZmZzZXRQYXJlbnQiLCJwYXJlbnRPZmZzZXQiLCJzY3JvbGxUbyIsIkhlaWdodCIsIldpZHRoIiwiZGVmYXVsdEV4dHJhIiwiZnVuY05hbWUiLCJzaXplIiwiYW5kU2VsZiIsImRlZmluZSIsImFtZCIsIl9qUXVlcnkiLCJfJCIsIiQiLCJub0NvbmZsaWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1N0YXRpY0ZpbGVzRm9yUHJvZHVjdGlvblJlc291cmNlc0Rpci9qcXVlcnktMS4xMS4zLm1pbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIhZnVuY3Rpb24oZ2xvYmFsLGZhY3Rvcnkpe1wib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGUmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1nbG9iYWwuZG9jdW1lbnQ/ZmFjdG9yeShnbG9iYWwsITApOmZ1bmN0aW9uKHcpe2lmKCF3LmRvY3VtZW50KXRocm93IG5ldyBFcnJvcihcImpRdWVyeSByZXF1aXJlcyBhIHdpbmRvdyB3aXRoIGEgZG9jdW1lbnRcIik7cmV0dXJuIGZhY3Rvcnkodyl9OmZhY3RvcnkoZ2xvYmFsKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbih3aW5kb3csbm9HbG9iYWwpe2Z1bmN0aW9uIGlzQXJyYXlsaWtlKG9iail7dmFyIGxlbmd0aD1cImxlbmd0aFwiaW4gb2JqJiZvYmoubGVuZ3RoLHR5cGU9alF1ZXJ5LnR5cGUob2JqKTtyZXR1cm5cImZ1bmN0aW9uXCI9PT10eXBlfHxqUXVlcnkuaXNXaW5kb3cob2JqKT8hMToxPT09b2JqLm5vZGVUeXBlJiZsZW5ndGg/ITA6XCJhcnJheVwiPT09dHlwZXx8MD09PWxlbmd0aHx8XCJudW1iZXJcIj09dHlwZW9mIGxlbmd0aCYmbGVuZ3RoPjAmJmxlbmd0aC0xIGluIG9ian1mdW5jdGlvbiB3aW5ub3coZWxlbWVudHMscXVhbGlmaWVyLG5vdCl7aWYoalF1ZXJ5LmlzRnVuY3Rpb24ocXVhbGlmaWVyKSlyZXR1cm4galF1ZXJ5LmdyZXAoZWxlbWVudHMsZnVuY3Rpb24oZWxlbSxpKXtyZXR1cm4hIXF1YWxpZmllci5jYWxsKGVsZW0saSxlbGVtKSE9PW5vdH0pO2lmKHF1YWxpZmllci5ub2RlVHlwZSlyZXR1cm4galF1ZXJ5LmdyZXAoZWxlbWVudHMsZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW09PT1xdWFsaWZpZXIhPT1ub3R9KTtpZihcInN0cmluZ1wiPT10eXBlb2YgcXVhbGlmaWVyKXtpZihyaXNTaW1wbGUudGVzdChxdWFsaWZpZXIpKXJldHVybiBqUXVlcnkuZmlsdGVyKHF1YWxpZmllcixlbGVtZW50cyxub3QpO3F1YWxpZmllcj1qUXVlcnkuZmlsdGVyKHF1YWxpZmllcixlbGVtZW50cyl9cmV0dXJuIGpRdWVyeS5ncmVwKGVsZW1lbnRzLGZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkuaW5BcnJheShlbGVtLHF1YWxpZmllcik+PTAhPT1ub3R9KX1mdW5jdGlvbiBzaWJsaW5nKGN1cixkaXIpe2RvIGN1cj1jdXJbZGlyXTt3aGlsZShjdXImJjEhPT1jdXIubm9kZVR5cGUpO3JldHVybiBjdXJ9ZnVuY3Rpb24gY3JlYXRlT3B0aW9ucyhvcHRpb25zKXt2YXIgb2JqZWN0PW9wdGlvbnNDYWNoZVtvcHRpb25zXT17fTtyZXR1cm4galF1ZXJ5LmVhY2gob3B0aW9ucy5tYXRjaChybm90d2hpdGUpfHxbXSxmdW5jdGlvbihfLGZsYWcpe29iamVjdFtmbGFnXT0hMH0pLG9iamVjdH1mdW5jdGlvbiBkZXRhY2goKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyPyhkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLGNvbXBsZXRlZCwhMSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsY29tcGxldGVkLCExKSk6KGRvY3VtZW50LmRldGFjaEV2ZW50KFwib25yZWFkeXN0YXRlY2hhbmdlXCIsY29tcGxldGVkKSx3aW5kb3cuZGV0YWNoRXZlbnQoXCJvbmxvYWRcIixjb21wbGV0ZWQpKX1mdW5jdGlvbiBjb21wbGV0ZWQoKXsoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcnx8XCJsb2FkXCI9PT1ldmVudC50eXBlfHxcImNvbXBsZXRlXCI9PT1kb2N1bWVudC5yZWFkeVN0YXRlKSYmKGRldGFjaCgpLGpRdWVyeS5yZWFkeSgpKX1mdW5jdGlvbiBkYXRhQXR0cihlbGVtLGtleSxkYXRhKXtpZih2b2lkIDA9PT1kYXRhJiYxPT09ZWxlbS5ub2RlVHlwZSl7dmFyIG5hbWU9XCJkYXRhLVwiK2tleS5yZXBsYWNlKHJtdWx0aURhc2gsXCItJDFcIikudG9Mb3dlckNhc2UoKTtpZihkYXRhPWVsZW0uZ2V0QXR0cmlidXRlKG5hbWUpLFwic3RyaW5nXCI9PXR5cGVvZiBkYXRhKXt0cnl7ZGF0YT1cInRydWVcIj09PWRhdGE/ITA6XCJmYWxzZVwiPT09ZGF0YT8hMTpcIm51bGxcIj09PWRhdGE/bnVsbDorZGF0YStcIlwiPT09ZGF0YT8rZGF0YTpyYnJhY2UudGVzdChkYXRhKT9qUXVlcnkucGFyc2VKU09OKGRhdGEpOmRhdGF9Y2F0Y2goZSl7fWpRdWVyeS5kYXRhKGVsZW0sa2V5LGRhdGEpfWVsc2UgZGF0YT12b2lkIDB9cmV0dXJuIGRhdGF9ZnVuY3Rpb24gaXNFbXB0eURhdGFPYmplY3Qob2JqKXt2YXIgbmFtZTtmb3IobmFtZSBpbiBvYmopaWYoKFwiZGF0YVwiIT09bmFtZXx8IWpRdWVyeS5pc0VtcHR5T2JqZWN0KG9ialtuYW1lXSkpJiZcInRvSlNPTlwiIT09bmFtZSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBpbnRlcm5hbERhdGEoZWxlbSxuYW1lLGRhdGEscHZ0KXtpZihqUXVlcnkuYWNjZXB0RGF0YShlbGVtKSl7dmFyIHJldCx0aGlzQ2FjaGUsaW50ZXJuYWxLZXk9alF1ZXJ5LmV4cGFuZG8saXNOb2RlPWVsZW0ubm9kZVR5cGUsY2FjaGU9aXNOb2RlP2pRdWVyeS5jYWNoZTplbGVtLGlkPWlzTm9kZT9lbGVtW2ludGVybmFsS2V5XTplbGVtW2ludGVybmFsS2V5XSYmaW50ZXJuYWxLZXk7aWYoaWQmJmNhY2hlW2lkXSYmKHB2dHx8Y2FjaGVbaWRdLmRhdGEpfHx2b2lkIDAhPT1kYXRhfHxcInN0cmluZ1wiIT10eXBlb2YgbmFtZSlyZXR1cm4gaWR8fChpZD1pc05vZGU/ZWxlbVtpbnRlcm5hbEtleV09ZGVsZXRlZElkcy5wb3AoKXx8alF1ZXJ5Lmd1aWQrKzppbnRlcm5hbEtleSksY2FjaGVbaWRdfHwoY2FjaGVbaWRdPWlzTm9kZT97fTp7dG9KU09OOmpRdWVyeS5ub29wfSksKFwib2JqZWN0XCI9PXR5cGVvZiBuYW1lfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBuYW1lKSYmKHB2dD9jYWNoZVtpZF09alF1ZXJ5LmV4dGVuZChjYWNoZVtpZF0sbmFtZSk6Y2FjaGVbaWRdLmRhdGE9alF1ZXJ5LmV4dGVuZChjYWNoZVtpZF0uZGF0YSxuYW1lKSksdGhpc0NhY2hlPWNhY2hlW2lkXSxwdnR8fCh0aGlzQ2FjaGUuZGF0YXx8KHRoaXNDYWNoZS5kYXRhPXt9KSx0aGlzQ2FjaGU9dGhpc0NhY2hlLmRhdGEpLHZvaWQgMCE9PWRhdGEmJih0aGlzQ2FjaGVbalF1ZXJ5LmNhbWVsQ2FzZShuYW1lKV09ZGF0YSksXCJzdHJpbmdcIj09dHlwZW9mIG5hbWU/KHJldD10aGlzQ2FjaGVbbmFtZV0sbnVsbD09cmV0JiYocmV0PXRoaXNDYWNoZVtqUXVlcnkuY2FtZWxDYXNlKG5hbWUpXSkpOnJldD10aGlzQ2FjaGUscmV0fX1mdW5jdGlvbiBpbnRlcm5hbFJlbW92ZURhdGEoZWxlbSxuYW1lLHB2dCl7aWYoalF1ZXJ5LmFjY2VwdERhdGEoZWxlbSkpe3ZhciB0aGlzQ2FjaGUsaSxpc05vZGU9ZWxlbS5ub2RlVHlwZSxjYWNoZT1pc05vZGU/alF1ZXJ5LmNhY2hlOmVsZW0saWQ9aXNOb2RlP2VsZW1balF1ZXJ5LmV4cGFuZG9dOmpRdWVyeS5leHBhbmRvO2lmKGNhY2hlW2lkXSl7aWYobmFtZSYmKHRoaXNDYWNoZT1wdnQ/Y2FjaGVbaWRdOmNhY2hlW2lkXS5kYXRhKSl7alF1ZXJ5LmlzQXJyYXkobmFtZSk/bmFtZT1uYW1lLmNvbmNhdChqUXVlcnkubWFwKG5hbWUsalF1ZXJ5LmNhbWVsQ2FzZSkpOm5hbWUgaW4gdGhpc0NhY2hlP25hbWU9W25hbWVdOihuYW1lPWpRdWVyeS5jYW1lbENhc2UobmFtZSksbmFtZT1uYW1lIGluIHRoaXNDYWNoZT9bbmFtZV06bmFtZS5zcGxpdChcIiBcIikpLGk9bmFtZS5sZW5ndGg7Zm9yKDtpLS07KWRlbGV0ZSB0aGlzQ2FjaGVbbmFtZVtpXV07aWYocHZ0PyFpc0VtcHR5RGF0YU9iamVjdCh0aGlzQ2FjaGUpOiFqUXVlcnkuaXNFbXB0eU9iamVjdCh0aGlzQ2FjaGUpKXJldHVybn0ocHZ0fHwoZGVsZXRlIGNhY2hlW2lkXS5kYXRhLGlzRW1wdHlEYXRhT2JqZWN0KGNhY2hlW2lkXSkpKSYmKGlzTm9kZT9qUXVlcnkuY2xlYW5EYXRhKFtlbGVtXSwhMCk6c3VwcG9ydC5kZWxldGVFeHBhbmRvfHxjYWNoZSE9Y2FjaGUud2luZG93P2RlbGV0ZSBjYWNoZVtpZF06Y2FjaGVbaWRdPW51bGwpfX19ZnVuY3Rpb24gcmV0dXJuVHJ1ZSgpe3JldHVybiEwfWZ1bmN0aW9uIHJldHVybkZhbHNlKCl7cmV0dXJuITF9ZnVuY3Rpb24gc2FmZUFjdGl2ZUVsZW1lbnQoKXt0cnl7cmV0dXJuIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goZXJyKXt9fWZ1bmN0aW9uIGNyZWF0ZVNhZmVGcmFnbWVudChkb2N1bWVudCl7dmFyIGxpc3Q9bm9kZU5hbWVzLnNwbGl0KFwifFwiKSxzYWZlRnJhZz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYoc2FmZUZyYWcuY3JlYXRlRWxlbWVudClmb3IoO2xpc3QubGVuZ3RoOylzYWZlRnJhZy5jcmVhdGVFbGVtZW50KGxpc3QucG9wKCkpO3JldHVybiBzYWZlRnJhZ31mdW5jdGlvbiBnZXRBbGwoY29udGV4dCx0YWcpe3ZhciBlbGVtcyxlbGVtLGk9MCxmb3VuZD10eXBlb2YgY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSE9PXN0cnVuZGVmaW5lZD9jb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKHRhZ3x8XCIqXCIpOnR5cGVvZiBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwhPT1zdHJ1bmRlZmluZWQ/Y29udGV4dC5xdWVyeVNlbGVjdG9yQWxsKHRhZ3x8XCIqXCIpOnZvaWQgMDtpZighZm91bmQpZm9yKGZvdW5kPVtdLGVsZW1zPWNvbnRleHQuY2hpbGROb2Rlc3x8Y29udGV4dDtudWxsIT0oZWxlbT1lbGVtc1tpXSk7aSsrKSF0YWd8fGpRdWVyeS5ub2RlTmFtZShlbGVtLHRhZyk/Zm91bmQucHVzaChlbGVtKTpqUXVlcnkubWVyZ2UoZm91bmQsZ2V0QWxsKGVsZW0sdGFnKSk7cmV0dXJuIHZvaWQgMD09PXRhZ3x8dGFnJiZqUXVlcnkubm9kZU5hbWUoY29udGV4dCx0YWcpP2pRdWVyeS5tZXJnZShbY29udGV4dF0sZm91bmQpOmZvdW5kfWZ1bmN0aW9uIGZpeERlZmF1bHRDaGVja2VkKGVsZW0pe3JjaGVja2FibGVUeXBlLnRlc3QoZWxlbS50eXBlKSYmKGVsZW0uZGVmYXVsdENoZWNrZWQ9ZWxlbS5jaGVja2VkKX1mdW5jdGlvbiBtYW5pcHVsYXRpb25UYXJnZXQoZWxlbSxjb250ZW50KXtyZXR1cm4galF1ZXJ5Lm5vZGVOYW1lKGVsZW0sXCJ0YWJsZVwiKSYmalF1ZXJ5Lm5vZGVOYW1lKDExIT09Y29udGVudC5ub2RlVHlwZT9jb250ZW50OmNvbnRlbnQuZmlyc3RDaGlsZCxcInRyXCIpP2VsZW0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJ0Ym9keVwiKVswXXx8ZWxlbS5hcHBlbmRDaGlsZChlbGVtLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInRib2R5XCIpKTplbGVtfWZ1bmN0aW9uIGRpc2FibGVTY3JpcHQoZWxlbSl7cmV0dXJuIGVsZW0udHlwZT0obnVsbCE9PWpRdWVyeS5maW5kLmF0dHIoZWxlbSxcInR5cGVcIikpK1wiL1wiK2VsZW0udHlwZSxlbGVtfWZ1bmN0aW9uIHJlc3RvcmVTY3JpcHQoZWxlbSl7dmFyIG1hdGNoPXJzY3JpcHRUeXBlTWFza2VkLmV4ZWMoZWxlbS50eXBlKTtyZXR1cm4gbWF0Y2g/ZWxlbS50eXBlPW1hdGNoWzFdOmVsZW0ucmVtb3ZlQXR0cmlidXRlKFwidHlwZVwiKSxlbGVtfWZ1bmN0aW9uIHNldEdsb2JhbEV2YWwoZWxlbXMscmVmRWxlbWVudHMpe2Zvcih2YXIgZWxlbSxpPTA7bnVsbCE9KGVsZW09ZWxlbXNbaV0pO2krKylqUXVlcnkuX2RhdGEoZWxlbSxcImdsb2JhbEV2YWxcIiwhcmVmRWxlbWVudHN8fGpRdWVyeS5fZGF0YShyZWZFbGVtZW50c1tpXSxcImdsb2JhbEV2YWxcIikpfWZ1bmN0aW9uIGNsb25lQ29weUV2ZW50KHNyYyxkZXN0KXtpZigxPT09ZGVzdC5ub2RlVHlwZSYmalF1ZXJ5Lmhhc0RhdGEoc3JjKSl7dmFyIHR5cGUsaSxsLG9sZERhdGE9alF1ZXJ5Ll9kYXRhKHNyYyksY3VyRGF0YT1qUXVlcnkuX2RhdGEoZGVzdCxvbGREYXRhKSxldmVudHM9b2xkRGF0YS5ldmVudHM7aWYoZXZlbnRzKXtkZWxldGUgY3VyRGF0YS5oYW5kbGUsY3VyRGF0YS5ldmVudHM9e307Zm9yKHR5cGUgaW4gZXZlbnRzKWZvcihpPTAsbD1ldmVudHNbdHlwZV0ubGVuZ3RoO2w+aTtpKyspalF1ZXJ5LmV2ZW50LmFkZChkZXN0LHR5cGUsZXZlbnRzW3R5cGVdW2ldKX1jdXJEYXRhLmRhdGEmJihjdXJEYXRhLmRhdGE9alF1ZXJ5LmV4dGVuZCh7fSxjdXJEYXRhLmRhdGEpKX19ZnVuY3Rpb24gZml4Q2xvbmVOb2RlSXNzdWVzKHNyYyxkZXN0KXt2YXIgbm9kZU5hbWUsZSxkYXRhO2lmKDE9PT1kZXN0Lm5vZGVUeXBlKXtpZihub2RlTmFtZT1kZXN0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIXN1cHBvcnQubm9DbG9uZUV2ZW50JiZkZXN0W2pRdWVyeS5leHBhbmRvXSl7ZGF0YT1qUXVlcnkuX2RhdGEoZGVzdCk7Zm9yKGUgaW4gZGF0YS5ldmVudHMpalF1ZXJ5LnJlbW92ZUV2ZW50KGRlc3QsZSxkYXRhLmhhbmRsZSk7ZGVzdC5yZW1vdmVBdHRyaWJ1dGUoalF1ZXJ5LmV4cGFuZG8pfVwic2NyaXB0XCI9PT1ub2RlTmFtZSYmZGVzdC50ZXh0IT09c3JjLnRleHQ/KGRpc2FibGVTY3JpcHQoZGVzdCkudGV4dD1zcmMudGV4dCxyZXN0b3JlU2NyaXB0KGRlc3QpKTpcIm9iamVjdFwiPT09bm9kZU5hbWU/KGRlc3QucGFyZW50Tm9kZSYmKGRlc3Qub3V0ZXJIVE1MPXNyYy5vdXRlckhUTUwpLHN1cHBvcnQuaHRtbDVDbG9uZSYmc3JjLmlubmVySFRNTCYmIWpRdWVyeS50cmltKGRlc3QuaW5uZXJIVE1MKSYmKGRlc3QuaW5uZXJIVE1MPXNyYy5pbm5lckhUTUwpKTpcImlucHV0XCI9PT1ub2RlTmFtZSYmcmNoZWNrYWJsZVR5cGUudGVzdChzcmMudHlwZSk/KGRlc3QuZGVmYXVsdENoZWNrZWQ9ZGVzdC5jaGVja2VkPXNyYy5jaGVja2VkLGRlc3QudmFsdWUhPT1zcmMudmFsdWUmJihkZXN0LnZhbHVlPXNyYy52YWx1ZSkpOlwib3B0aW9uXCI9PT1ub2RlTmFtZT9kZXN0LmRlZmF1bHRTZWxlY3RlZD1kZXN0LnNlbGVjdGVkPXNyYy5kZWZhdWx0U2VsZWN0ZWQ6KFwiaW5wdXRcIj09PW5vZGVOYW1lfHxcInRleHRhcmVhXCI9PT1ub2RlTmFtZSkmJihkZXN0LmRlZmF1bHRWYWx1ZT1zcmMuZGVmYXVsdFZhbHVlKX19ZnVuY3Rpb24gYWN0dWFsRGlzcGxheShuYW1lLGRvYyl7dmFyIHN0eWxlLGVsZW09alF1ZXJ5KGRvYy5jcmVhdGVFbGVtZW50KG5hbWUpKS5hcHBlbmRUbyhkb2MuYm9keSksZGlzcGxheT13aW5kb3cuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUmJihzdHlsZT13aW5kb3cuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUoZWxlbVswXSkpP3N0eWxlLmRpc3BsYXk6alF1ZXJ5LmNzcyhlbGVtWzBdLFwiZGlzcGxheVwiKTtyZXR1cm4gZWxlbS5kZXRhY2goKSxkaXNwbGF5fWZ1bmN0aW9uIGRlZmF1bHREaXNwbGF5KG5vZGVOYW1lKXt2YXIgZG9jPWRvY3VtZW50LGRpc3BsYXk9ZWxlbWRpc3BsYXlbbm9kZU5hbWVdO3JldHVybiBkaXNwbGF5fHwoZGlzcGxheT1hY3R1YWxEaXNwbGF5KG5vZGVOYW1lLGRvYyksXCJub25lXCIhPT1kaXNwbGF5JiZkaXNwbGF5fHwoaWZyYW1lPShpZnJhbWV8fGpRdWVyeShcIjxpZnJhbWUgZnJhbWVib3JkZXI9JzAnIHdpZHRoPScwJyBoZWlnaHQ9JzAnLz5cIikpLmFwcGVuZFRvKGRvYy5kb2N1bWVudEVsZW1lbnQpLGRvYz0oaWZyYW1lWzBdLmNvbnRlbnRXaW5kb3d8fGlmcmFtZVswXS5jb250ZW50RG9jdW1lbnQpLmRvY3VtZW50LGRvYy53cml0ZSgpLGRvYy5jbG9zZSgpLGRpc3BsYXk9YWN0dWFsRGlzcGxheShub2RlTmFtZSxkb2MpLGlmcmFtZS5kZXRhY2goKSksZWxlbWRpc3BsYXlbbm9kZU5hbWVdPWRpc3BsYXkpLGRpc3BsYXl9ZnVuY3Rpb24gYWRkR2V0SG9va0lmKGNvbmRpdGlvbkZuLGhvb2tGbil7cmV0dXJue2dldDpmdW5jdGlvbigpe3ZhciBjb25kaXRpb249Y29uZGl0aW9uRm4oKTtpZihudWxsIT1jb25kaXRpb24pcmV0dXJuIGNvbmRpdGlvbj92b2lkIGRlbGV0ZSB0aGlzLmdldDoodGhpcy5nZXQ9aG9va0ZuKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX1mdW5jdGlvbiB2ZW5kb3JQcm9wTmFtZShzdHlsZSxuYW1lKXtpZihuYW1lIGluIHN0eWxlKXJldHVybiBuYW1lO2Zvcih2YXIgY2FwTmFtZT1uYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK25hbWUuc2xpY2UoMSksb3JpZ05hbWU9bmFtZSxpPWNzc1ByZWZpeGVzLmxlbmd0aDtpLS07KWlmKG5hbWU9Y3NzUHJlZml4ZXNbaV0rY2FwTmFtZSxuYW1lIGluIHN0eWxlKXJldHVybiBuYW1lO3JldHVybiBvcmlnTmFtZX1mdW5jdGlvbiBzaG93SGlkZShlbGVtZW50cyxzaG93KXtmb3IodmFyIGRpc3BsYXksZWxlbSxoaWRkZW4sdmFsdWVzPVtdLGluZGV4PTAsbGVuZ3RoPWVsZW1lbnRzLmxlbmd0aDtsZW5ndGg+aW5kZXg7aW5kZXgrKyllbGVtPWVsZW1lbnRzW2luZGV4XSxlbGVtLnN0eWxlJiYodmFsdWVzW2luZGV4XT1qUXVlcnkuX2RhdGEoZWxlbSxcIm9sZGRpc3BsYXlcIiksZGlzcGxheT1lbGVtLnN0eWxlLmRpc3BsYXksc2hvdz8odmFsdWVzW2luZGV4XXx8XCJub25lXCIhPT1kaXNwbGF5fHwoZWxlbS5zdHlsZS5kaXNwbGF5PVwiXCIpLFwiXCI9PT1lbGVtLnN0eWxlLmRpc3BsYXkmJmlzSGlkZGVuKGVsZW0pJiYodmFsdWVzW2luZGV4XT1qUXVlcnkuX2RhdGEoZWxlbSxcIm9sZGRpc3BsYXlcIixkZWZhdWx0RGlzcGxheShlbGVtLm5vZGVOYW1lKSkpKTooaGlkZGVuPWlzSGlkZGVuKGVsZW0pLChkaXNwbGF5JiZcIm5vbmVcIiE9PWRpc3BsYXl8fCFoaWRkZW4pJiZqUXVlcnkuX2RhdGEoZWxlbSxcIm9sZGRpc3BsYXlcIixoaWRkZW4/ZGlzcGxheTpqUXVlcnkuY3NzKGVsZW0sXCJkaXNwbGF5XCIpKSkpO2ZvcihpbmRleD0wO2xlbmd0aD5pbmRleDtpbmRleCsrKWVsZW09ZWxlbWVudHNbaW5kZXhdLGVsZW0uc3R5bGUmJihzaG93JiZcIm5vbmVcIiE9PWVsZW0uc3R5bGUuZGlzcGxheSYmXCJcIiE9PWVsZW0uc3R5bGUuZGlzcGxheXx8KGVsZW0uc3R5bGUuZGlzcGxheT1zaG93P3ZhbHVlc1tpbmRleF18fFwiXCI6XCJub25lXCIpKTtyZXR1cm4gZWxlbWVudHN9ZnVuY3Rpb24gc2V0UG9zaXRpdmVOdW1iZXIoZWxlbSx2YWx1ZSxzdWJ0cmFjdCl7dmFyIG1hdGNoZXM9cm51bXNwbGl0LmV4ZWModmFsdWUpO3JldHVybiBtYXRjaGVzP01hdGgubWF4KDAsbWF0Y2hlc1sxXS0oc3VidHJhY3R8fDApKSsobWF0Y2hlc1syXXx8XCJweFwiKTp2YWx1ZX1mdW5jdGlvbiBhdWdtZW50V2lkdGhPckhlaWdodChlbGVtLG5hbWUsZXh0cmEsaXNCb3JkZXJCb3gsc3R5bGVzKXtmb3IodmFyIGk9ZXh0cmE9PT0oaXNCb3JkZXJCb3g/XCJib3JkZXJcIjpcImNvbnRlbnRcIik/NDpcIndpZHRoXCI9PT1uYW1lPzE6MCx2YWw9MDs0Pmk7aSs9MilcIm1hcmdpblwiPT09ZXh0cmEmJih2YWwrPWpRdWVyeS5jc3MoZWxlbSxleHRyYStjc3NFeHBhbmRbaV0sITAsc3R5bGVzKSksaXNCb3JkZXJCb3g/KFwiY29udGVudFwiPT09ZXh0cmEmJih2YWwtPWpRdWVyeS5jc3MoZWxlbSxcInBhZGRpbmdcIitjc3NFeHBhbmRbaV0sITAsc3R5bGVzKSksXCJtYXJnaW5cIiE9PWV4dHJhJiYodmFsLT1qUXVlcnkuY3NzKGVsZW0sXCJib3JkZXJcIitjc3NFeHBhbmRbaV0rXCJXaWR0aFwiLCEwLHN0eWxlcykpKToodmFsKz1qUXVlcnkuY3NzKGVsZW0sXCJwYWRkaW5nXCIrY3NzRXhwYW5kW2ldLCEwLHN0eWxlcyksXCJwYWRkaW5nXCIhPT1leHRyYSYmKHZhbCs9alF1ZXJ5LmNzcyhlbGVtLFwiYm9yZGVyXCIrY3NzRXhwYW5kW2ldK1wiV2lkdGhcIiwhMCxzdHlsZXMpKSk7cmV0dXJuIHZhbH1mdW5jdGlvbiBnZXRXaWR0aE9ySGVpZ2h0KGVsZW0sbmFtZSxleHRyYSl7dmFyIHZhbHVlSXNCb3JkZXJCb3g9ITAsdmFsPVwid2lkdGhcIj09PW5hbWU/ZWxlbS5vZmZzZXRXaWR0aDplbGVtLm9mZnNldEhlaWdodCxzdHlsZXM9Z2V0U3R5bGVzKGVsZW0pLGlzQm9yZGVyQm94PXN1cHBvcnQuYm94U2l6aW5nJiZcImJvcmRlci1ib3hcIj09PWpRdWVyeS5jc3MoZWxlbSxcImJveFNpemluZ1wiLCExLHN0eWxlcyk7aWYoMD49dmFsfHxudWxsPT12YWwpe2lmKHZhbD1jdXJDU1MoZWxlbSxuYW1lLHN0eWxlcyksKDA+dmFsfHxudWxsPT12YWwpJiYodmFsPWVsZW0uc3R5bGVbbmFtZV0pLHJudW1ub25weC50ZXN0KHZhbCkpcmV0dXJuIHZhbDt2YWx1ZUlzQm9yZGVyQm94PWlzQm9yZGVyQm94JiYoc3VwcG9ydC5ib3hTaXppbmdSZWxpYWJsZSgpfHx2YWw9PT1lbGVtLnN0eWxlW25hbWVdKSx2YWw9cGFyc2VGbG9hdCh2YWwpfHwwfXJldHVybiB2YWwrYXVnbWVudFdpZHRoT3JIZWlnaHQoZWxlbSxuYW1lLGV4dHJhfHwoaXNCb3JkZXJCb3g/XCJib3JkZXJcIjpcImNvbnRlbnRcIiksdmFsdWVJc0JvcmRlckJveCxzdHlsZXMpK1wicHhcIn1mdW5jdGlvbiBUd2VlbihlbGVtLG9wdGlvbnMscHJvcCxlbmQsZWFzaW5nKXtyZXR1cm4gbmV3IFR3ZWVuLnByb3RvdHlwZS5pbml0KGVsZW0sb3B0aW9ucyxwcm9wLGVuZCxlYXNpbmcpfWZ1bmN0aW9uIGNyZWF0ZUZ4Tm93KCl7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtmeE5vdz12b2lkIDB9KSxmeE5vdz1qUXVlcnkubm93KCl9ZnVuY3Rpb24gZ2VuRngodHlwZSxpbmNsdWRlV2lkdGgpe3ZhciB3aGljaCxhdHRycz17aGVpZ2h0OnR5cGV9LGk9MDtmb3IoaW5jbHVkZVdpZHRoPWluY2x1ZGVXaWR0aD8xOjA7ND5pO2krPTItaW5jbHVkZVdpZHRoKXdoaWNoPWNzc0V4cGFuZFtpXSxhdHRyc1tcIm1hcmdpblwiK3doaWNoXT1hdHRyc1tcInBhZGRpbmdcIit3aGljaF09dHlwZTtyZXR1cm4gaW5jbHVkZVdpZHRoJiYoYXR0cnMub3BhY2l0eT1hdHRycy53aWR0aD10eXBlKSxhdHRyc31mdW5jdGlvbiBjcmVhdGVUd2Vlbih2YWx1ZSxwcm9wLGFuaW1hdGlvbil7Zm9yKHZhciB0d2Vlbixjb2xsZWN0aW9uPSh0d2VlbmVyc1twcm9wXXx8W10pLmNvbmNhdCh0d2VlbmVyc1tcIipcIl0pLGluZGV4PTAsbGVuZ3RoPWNvbGxlY3Rpb24ubGVuZ3RoO2xlbmd0aD5pbmRleDtpbmRleCsrKWlmKHR3ZWVuPWNvbGxlY3Rpb25baW5kZXhdLmNhbGwoYW5pbWF0aW9uLHByb3AsdmFsdWUpKXJldHVybiB0d2Vlbn1mdW5jdGlvbiBkZWZhdWx0UHJlZmlsdGVyKGVsZW0scHJvcHMsb3B0cyl7dmFyIHByb3AsdmFsdWUsdG9nZ2xlLHR3ZWVuLGhvb2tzLG9sZGZpcmUsZGlzcGxheSxjaGVja0Rpc3BsYXksYW5pbT10aGlzLG9yaWc9e30sc3R5bGU9ZWxlbS5zdHlsZSxoaWRkZW49ZWxlbS5ub2RlVHlwZSYmaXNIaWRkZW4oZWxlbSksZGF0YVNob3c9alF1ZXJ5Ll9kYXRhKGVsZW0sXCJmeHNob3dcIik7b3B0cy5xdWV1ZXx8KGhvb2tzPWpRdWVyeS5fcXVldWVIb29rcyhlbGVtLFwiZnhcIiksbnVsbD09aG9va3MudW5xdWV1ZWQmJihob29rcy51bnF1ZXVlZD0wLG9sZGZpcmU9aG9va3MuZW1wdHkuZmlyZSxob29rcy5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7aG9va3MudW5xdWV1ZWR8fG9sZGZpcmUoKX0pLGhvb2tzLnVucXVldWVkKyssYW5pbS5hbHdheXMoZnVuY3Rpb24oKXthbmltLmFsd2F5cyhmdW5jdGlvbigpe2hvb2tzLnVucXVldWVkLS0salF1ZXJ5LnF1ZXVlKGVsZW0sXCJmeFwiKS5sZW5ndGh8fGhvb2tzLmVtcHR5LmZpcmUoKX0pfSkpLDE9PT1lbGVtLm5vZGVUeXBlJiYoXCJoZWlnaHRcImluIHByb3BzfHxcIndpZHRoXCJpbiBwcm9wcykmJihvcHRzLm92ZXJmbG93PVtzdHlsZS5vdmVyZmxvdyxzdHlsZS5vdmVyZmxvd1gsc3R5bGUub3ZlcmZsb3dZXSxkaXNwbGF5PWpRdWVyeS5jc3MoZWxlbSxcImRpc3BsYXlcIiksY2hlY2tEaXNwbGF5PVwibm9uZVwiPT09ZGlzcGxheT9qUXVlcnkuX2RhdGEoZWxlbSxcIm9sZGRpc3BsYXlcIil8fGRlZmF1bHREaXNwbGF5KGVsZW0ubm9kZU5hbWUpOmRpc3BsYXksXCJpbmxpbmVcIj09PWNoZWNrRGlzcGxheSYmXCJub25lXCI9PT1qUXVlcnkuY3NzKGVsZW0sXCJmbG9hdFwiKSYmKHN1cHBvcnQuaW5saW5lQmxvY2tOZWVkc0xheW91dCYmXCJpbmxpbmVcIiE9PWRlZmF1bHREaXNwbGF5KGVsZW0ubm9kZU5hbWUpP3N0eWxlLnpvb209MTpzdHlsZS5kaXNwbGF5PVwiaW5saW5lLWJsb2NrXCIpKSxvcHRzLm92ZXJmbG93JiYoc3R5bGUub3ZlcmZsb3c9XCJoaWRkZW5cIixzdXBwb3J0LnNocmlua1dyYXBCbG9ja3MoKXx8YW5pbS5hbHdheXMoZnVuY3Rpb24oKXtzdHlsZS5vdmVyZmxvdz1vcHRzLm92ZXJmbG93WzBdLHN0eWxlLm92ZXJmbG93WD1vcHRzLm92ZXJmbG93WzFdLHN0eWxlLm92ZXJmbG93WT1vcHRzLm92ZXJmbG93WzJdfSkpO2Zvcihwcm9wIGluIHByb3BzKWlmKHZhbHVlPXByb3BzW3Byb3BdLHJmeHR5cGVzLmV4ZWModmFsdWUpKXtpZihkZWxldGUgcHJvcHNbcHJvcF0sdG9nZ2xlPXRvZ2dsZXx8XCJ0b2dnbGVcIj09PXZhbHVlLHZhbHVlPT09KGhpZGRlbj9cImhpZGVcIjpcInNob3dcIikpe2lmKFwic2hvd1wiIT09dmFsdWV8fCFkYXRhU2hvd3x8dm9pZCAwPT09ZGF0YVNob3dbcHJvcF0pY29udGludWU7aGlkZGVuPSEwfW9yaWdbcHJvcF09ZGF0YVNob3cmJmRhdGFTaG93W3Byb3BdfHxqUXVlcnkuc3R5bGUoZWxlbSxwcm9wKX1lbHNlIGRpc3BsYXk9dm9pZCAwO2lmKGpRdWVyeS5pc0VtcHR5T2JqZWN0KG9yaWcpKVwiaW5saW5lXCI9PT0oXCJub25lXCI9PT1kaXNwbGF5P2RlZmF1bHREaXNwbGF5KGVsZW0ubm9kZU5hbWUpOmRpc3BsYXkpJiYoc3R5bGUuZGlzcGxheT1kaXNwbGF5KTtlbHNle2RhdGFTaG93P1wiaGlkZGVuXCJpbiBkYXRhU2hvdyYmKGhpZGRlbj1kYXRhU2hvdy5oaWRkZW4pOmRhdGFTaG93PWpRdWVyeS5fZGF0YShlbGVtLFwiZnhzaG93XCIse30pLHRvZ2dsZSYmKGRhdGFTaG93LmhpZGRlbj0haGlkZGVuKSxoaWRkZW4/alF1ZXJ5KGVsZW0pLnNob3coKTphbmltLmRvbmUoZnVuY3Rpb24oKXtqUXVlcnkoZWxlbSkuaGlkZSgpfSksYW5pbS5kb25lKGZ1bmN0aW9uKCl7dmFyIHByb3A7alF1ZXJ5Ll9yZW1vdmVEYXRhKGVsZW0sXCJmeHNob3dcIik7Zm9yKHByb3AgaW4gb3JpZylqUXVlcnkuc3R5bGUoZWxlbSxwcm9wLG9yaWdbcHJvcF0pfSk7Zm9yKHByb3AgaW4gb3JpZyl0d2Vlbj1jcmVhdGVUd2VlbihoaWRkZW4/ZGF0YVNob3dbcHJvcF06MCxwcm9wLGFuaW0pLHByb3AgaW4gZGF0YVNob3d8fChkYXRhU2hvd1twcm9wXT10d2Vlbi5zdGFydCxoaWRkZW4mJih0d2Vlbi5lbmQ9dHdlZW4uc3RhcnQsdHdlZW4uc3RhcnQ9XCJ3aWR0aFwiPT09cHJvcHx8XCJoZWlnaHRcIj09PXByb3A/MTowKSl9fWZ1bmN0aW9uIHByb3BGaWx0ZXIocHJvcHMsc3BlY2lhbEVhc2luZyl7dmFyIGluZGV4LG5hbWUsZWFzaW5nLHZhbHVlLGhvb2tzO2ZvcihpbmRleCBpbiBwcm9wcylpZihuYW1lPWpRdWVyeS5jYW1lbENhc2UoaW5kZXgpLGVhc2luZz1zcGVjaWFsRWFzaW5nW25hbWVdLHZhbHVlPXByb3BzW2luZGV4XSxqUXVlcnkuaXNBcnJheSh2YWx1ZSkmJihlYXNpbmc9dmFsdWVbMV0sdmFsdWU9cHJvcHNbaW5kZXhdPXZhbHVlWzBdKSxpbmRleCE9PW5hbWUmJihwcm9wc1tuYW1lXT12YWx1ZSxkZWxldGUgcHJvcHNbaW5kZXhdKSxob29rcz1qUXVlcnkuY3NzSG9va3NbbmFtZV0saG9va3MmJlwiZXhwYW5kXCJpbiBob29rcyl7dmFsdWU9aG9va3MuZXhwYW5kKHZhbHVlKSxkZWxldGUgcHJvcHNbbmFtZV07Zm9yKGluZGV4IGluIHZhbHVlKWluZGV4IGluIHByb3BzfHwocHJvcHNbaW5kZXhdPXZhbHVlW2luZGV4XSxzcGVjaWFsRWFzaW5nW2luZGV4XT1lYXNpbmcpfWVsc2Ugc3BlY2lhbEVhc2luZ1tuYW1lXT1lYXNpbmd9ZnVuY3Rpb24gQW5pbWF0aW9uKGVsZW0scHJvcGVydGllcyxvcHRpb25zKXt2YXIgcmVzdWx0LHN0b3BwZWQsaW5kZXg9MCxsZW5ndGg9YW5pbWF0aW9uUHJlZmlsdGVycy5sZW5ndGgsZGVmZXJyZWQ9alF1ZXJ5LkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCl7ZGVsZXRlIHRpY2suZWxlbX0pLHRpY2s9ZnVuY3Rpb24oKXtpZihzdG9wcGVkKXJldHVybiExO2Zvcih2YXIgY3VycmVudFRpbWU9ZnhOb3d8fGNyZWF0ZUZ4Tm93KCkscmVtYWluaW5nPU1hdGgubWF4KDAsYW5pbWF0aW9uLnN0YXJ0VGltZSthbmltYXRpb24uZHVyYXRpb24tY3VycmVudFRpbWUpLHRlbXA9cmVtYWluaW5nL2FuaW1hdGlvbi5kdXJhdGlvbnx8MCxwZXJjZW50PTEtdGVtcCxpbmRleD0wLGxlbmd0aD1hbmltYXRpb24udHdlZW5zLmxlbmd0aDtsZW5ndGg+aW5kZXg7aW5kZXgrKylhbmltYXRpb24udHdlZW5zW2luZGV4XS5ydW4ocGVyY2VudCk7cmV0dXJuIGRlZmVycmVkLm5vdGlmeVdpdGgoZWxlbSxbYW5pbWF0aW9uLHBlcmNlbnQscmVtYWluaW5nXSksMT5wZXJjZW50JiZsZW5ndGg/cmVtYWluaW5nOihkZWZlcnJlZC5yZXNvbHZlV2l0aChlbGVtLFthbmltYXRpb25dKSwhMSl9LGFuaW1hdGlvbj1kZWZlcnJlZC5wcm9taXNlKHtlbGVtOmVsZW0scHJvcHM6alF1ZXJ5LmV4dGVuZCh7fSxwcm9wZXJ0aWVzKSxvcHRzOmpRdWVyeS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LG9wdGlvbnMpLG9yaWdpbmFsUHJvcGVydGllczpwcm9wZXJ0aWVzLG9yaWdpbmFsT3B0aW9uczpvcHRpb25zLHN0YXJ0VGltZTpmeE5vd3x8Y3JlYXRlRnhOb3coKSxkdXJhdGlvbjpvcHRpb25zLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihwcm9wLGVuZCl7dmFyIHR3ZWVuPWpRdWVyeS5Ud2VlbihlbGVtLGFuaW1hdGlvbi5vcHRzLHByb3AsZW5kLGFuaW1hdGlvbi5vcHRzLnNwZWNpYWxFYXNpbmdbcHJvcF18fGFuaW1hdGlvbi5vcHRzLmVhc2luZyk7cmV0dXJuIGFuaW1hdGlvbi50d2VlbnMucHVzaCh0d2VlbiksdHdlZW59LHN0b3A6ZnVuY3Rpb24oZ290b0VuZCl7dmFyIGluZGV4PTAsbGVuZ3RoPWdvdG9FbmQ/YW5pbWF0aW9uLnR3ZWVucy5sZW5ndGg6MDtpZihzdG9wcGVkKXJldHVybiB0aGlzO2ZvcihzdG9wcGVkPSEwO2xlbmd0aD5pbmRleDtpbmRleCsrKWFuaW1hdGlvbi50d2VlbnNbaW5kZXhdLnJ1bigxKTtyZXR1cm4gZ290b0VuZD9kZWZlcnJlZC5yZXNvbHZlV2l0aChlbGVtLFthbmltYXRpb24sZ290b0VuZF0pOmRlZmVycmVkLnJlamVjdFdpdGgoZWxlbSxbYW5pbWF0aW9uLGdvdG9FbmRdKSx0aGlzfX0pLHByb3BzPWFuaW1hdGlvbi5wcm9wcztmb3IocHJvcEZpbHRlcihwcm9wcyxhbmltYXRpb24ub3B0cy5zcGVjaWFsRWFzaW5nKTtsZW5ndGg+aW5kZXg7aW5kZXgrKylpZihyZXN1bHQ9YW5pbWF0aW9uUHJlZmlsdGVyc1tpbmRleF0uY2FsbChhbmltYXRpb24sZWxlbSxwcm9wcyxhbmltYXRpb24ub3B0cykpcmV0dXJuIHJlc3VsdDtyZXR1cm4galF1ZXJ5Lm1hcChwcm9wcyxjcmVhdGVUd2VlbixhbmltYXRpb24pLGpRdWVyeS5pc0Z1bmN0aW9uKGFuaW1hdGlvbi5vcHRzLnN0YXJ0KSYmYW5pbWF0aW9uLm9wdHMuc3RhcnQuY2FsbChlbGVtLGFuaW1hdGlvbiksalF1ZXJ5LmZ4LnRpbWVyKGpRdWVyeS5leHRlbmQodGljayx7ZWxlbTplbGVtLGFuaW06YW5pbWF0aW9uLHF1ZXVlOmFuaW1hdGlvbi5vcHRzLnF1ZXVlfSkpLGFuaW1hdGlvbi5wcm9ncmVzcyhhbmltYXRpb24ub3B0cy5wcm9ncmVzcykuZG9uZShhbmltYXRpb24ub3B0cy5kb25lLGFuaW1hdGlvbi5vcHRzLmNvbXBsZXRlKS5mYWlsKGFuaW1hdGlvbi5vcHRzLmZhaWwpLmFsd2F5cyhhbmltYXRpb24ub3B0cy5hbHdheXMpfWZ1bmN0aW9uIGFkZFRvUHJlZmlsdGVyc09yVHJhbnNwb3J0cyhzdHJ1Y3R1cmUpe3JldHVybiBmdW5jdGlvbihkYXRhVHlwZUV4cHJlc3Npb24sZnVuYyl7XCJzdHJpbmdcIiE9dHlwZW9mIGRhdGFUeXBlRXhwcmVzc2lvbiYmKGZ1bmM9ZGF0YVR5cGVFeHByZXNzaW9uLGRhdGFUeXBlRXhwcmVzc2lvbj1cIipcIik7dmFyIGRhdGFUeXBlLGk9MCxkYXRhVHlwZXM9ZGF0YVR5cGVFeHByZXNzaW9uLnRvTG93ZXJDYXNlKCkubWF0Y2gocm5vdHdoaXRlKXx8W107aWYoalF1ZXJ5LmlzRnVuY3Rpb24oZnVuYykpZm9yKDtkYXRhVHlwZT1kYXRhVHlwZXNbaSsrXTspXCIrXCI9PT1kYXRhVHlwZS5jaGFyQXQoMCk/KGRhdGFUeXBlPWRhdGFUeXBlLnNsaWNlKDEpfHxcIipcIiwoc3RydWN0dXJlW2RhdGFUeXBlXT1zdHJ1Y3R1cmVbZGF0YVR5cGVdfHxbXSkudW5zaGlmdChmdW5jKSk6KHN0cnVjdHVyZVtkYXRhVHlwZV09c3RydWN0dXJlW2RhdGFUeXBlXXx8W10pLnB1c2goZnVuYyl9fWZ1bmN0aW9uIGluc3BlY3RQcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKHN0cnVjdHVyZSxvcHRpb25zLG9yaWdpbmFsT3B0aW9ucyxqcVhIUil7ZnVuY3Rpb24gaW5zcGVjdChkYXRhVHlwZSl7dmFyIHNlbGVjdGVkO3JldHVybiBpbnNwZWN0ZWRbZGF0YVR5cGVdPSEwLGpRdWVyeS5lYWNoKHN0cnVjdHVyZVtkYXRhVHlwZV18fFtdLGZ1bmN0aW9uKF8scHJlZmlsdGVyT3JGYWN0b3J5KXt2YXIgZGF0YVR5cGVPclRyYW5zcG9ydD1wcmVmaWx0ZXJPckZhY3Rvcnkob3B0aW9ucyxvcmlnaW5hbE9wdGlvbnMsanFYSFIpO3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBkYXRhVHlwZU9yVHJhbnNwb3J0fHxzZWVraW5nVHJhbnNwb3J0fHxpbnNwZWN0ZWRbZGF0YVR5cGVPclRyYW5zcG9ydF0/c2Vla2luZ1RyYW5zcG9ydD8hKHNlbGVjdGVkPWRhdGFUeXBlT3JUcmFuc3BvcnQpOnZvaWQgMDoob3B0aW9ucy5kYXRhVHlwZXMudW5zaGlmdChkYXRhVHlwZU9yVHJhbnNwb3J0KSxpbnNwZWN0KGRhdGFUeXBlT3JUcmFuc3BvcnQpLCExKX0pLHNlbGVjdGVkfXZhciBpbnNwZWN0ZWQ9e30sc2Vla2luZ1RyYW5zcG9ydD1zdHJ1Y3R1cmU9PT10cmFuc3BvcnRzO3JldHVybiBpbnNwZWN0KG9wdGlvbnMuZGF0YVR5cGVzWzBdKXx8IWluc3BlY3RlZFtcIipcIl0mJmluc3BlY3QoXCIqXCIpfWZ1bmN0aW9uIGFqYXhFeHRlbmQodGFyZ2V0LHNyYyl7dmFyIGRlZXAsa2V5LGZsYXRPcHRpb25zPWpRdWVyeS5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihrZXkgaW4gc3JjKXZvaWQgMCE9PXNyY1trZXldJiYoKGZsYXRPcHRpb25zW2tleV0/dGFyZ2V0OmRlZXB8fChkZWVwPXt9KSlba2V5XT1zcmNba2V5XSk7cmV0dXJuIGRlZXAmJmpRdWVyeS5leHRlbmQoITAsdGFyZ2V0LGRlZXApLHRhcmdldH1mdW5jdGlvbiBhamF4SGFuZGxlUmVzcG9uc2VzKHMsanFYSFIscmVzcG9uc2VzKXtmb3IodmFyIGZpcnN0RGF0YVR5cGUsY3QsZmluYWxEYXRhVHlwZSx0eXBlLGNvbnRlbnRzPXMuY29udGVudHMsZGF0YVR5cGVzPXMuZGF0YVR5cGVzO1wiKlwiPT09ZGF0YVR5cGVzWzBdOylkYXRhVHlwZXMuc2hpZnQoKSx2b2lkIDA9PT1jdCYmKGN0PXMubWltZVR5cGV8fGpxWEhSLmdldFJlc3BvbnNlSGVhZGVyKFwiQ29udGVudC1UeXBlXCIpKTtpZihjdClmb3IodHlwZSBpbiBjb250ZW50cylpZihjb250ZW50c1t0eXBlXSYmY29udGVudHNbdHlwZV0udGVzdChjdCkpe2RhdGFUeXBlcy51bnNoaWZ0KHR5cGUpO2JyZWFrfWlmKGRhdGFUeXBlc1swXWluIHJlc3BvbnNlcylmaW5hbERhdGFUeXBlPWRhdGFUeXBlc1swXTtlbHNle2Zvcih0eXBlIGluIHJlc3BvbnNlcyl7aWYoIWRhdGFUeXBlc1swXXx8cy5jb252ZXJ0ZXJzW3R5cGUrXCIgXCIrZGF0YVR5cGVzWzBdXSl7ZmluYWxEYXRhVHlwZT10eXBlO2JyZWFrfWZpcnN0RGF0YVR5cGV8fChmaXJzdERhdGFUeXBlPXR5cGUpfWZpbmFsRGF0YVR5cGU9ZmluYWxEYXRhVHlwZXx8Zmlyc3REYXRhVHlwZX1yZXR1cm4gZmluYWxEYXRhVHlwZT8oZmluYWxEYXRhVHlwZSE9PWRhdGFUeXBlc1swXSYmZGF0YVR5cGVzLnVuc2hpZnQoZmluYWxEYXRhVHlwZSkscmVzcG9uc2VzW2ZpbmFsRGF0YVR5cGVdKTp2b2lkIDB9ZnVuY3Rpb24gYWpheENvbnZlcnQocyxyZXNwb25zZSxqcVhIUixpc1N1Y2Nlc3Mpe3ZhciBjb252MixjdXJyZW50LGNvbnYsdG1wLHByZXYsY29udmVydGVycz17fSxkYXRhVHlwZXM9cy5kYXRhVHlwZXMuc2xpY2UoKTtpZihkYXRhVHlwZXNbMV0pZm9yKGNvbnYgaW4gcy5jb252ZXJ0ZXJzKWNvbnZlcnRlcnNbY29udi50b0xvd2VyQ2FzZSgpXT1zLmNvbnZlcnRlcnNbY29udl07Zm9yKGN1cnJlbnQ9ZGF0YVR5cGVzLnNoaWZ0KCk7Y3VycmVudDspaWYocy5yZXNwb25zZUZpZWxkc1tjdXJyZW50XSYmKGpxWEhSW3MucmVzcG9uc2VGaWVsZHNbY3VycmVudF1dPXJlc3BvbnNlKSwhcHJldiYmaXNTdWNjZXNzJiZzLmRhdGFGaWx0ZXImJihyZXNwb25zZT1zLmRhdGFGaWx0ZXIocmVzcG9uc2Uscy5kYXRhVHlwZSkpLHByZXY9Y3VycmVudCxjdXJyZW50PWRhdGFUeXBlcy5zaGlmdCgpKWlmKFwiKlwiPT09Y3VycmVudCljdXJyZW50PXByZXY7ZWxzZSBpZihcIipcIiE9PXByZXYmJnByZXYhPT1jdXJyZW50KXtpZihjb252PWNvbnZlcnRlcnNbcHJlditcIiBcIitjdXJyZW50XXx8Y29udmVydGVyc1tcIiogXCIrY3VycmVudF0sIWNvbnYpZm9yKGNvbnYyIGluIGNvbnZlcnRlcnMpaWYodG1wPWNvbnYyLnNwbGl0KFwiIFwiKSx0bXBbMV09PT1jdXJyZW50JiYoY29udj1jb252ZXJ0ZXJzW3ByZXYrXCIgXCIrdG1wWzBdXXx8Y29udmVydGVyc1tcIiogXCIrdG1wWzBdXSkpe2NvbnY9PT0hMD9jb252PWNvbnZlcnRlcnNbY29udjJdOmNvbnZlcnRlcnNbY29udjJdIT09ITAmJihjdXJyZW50PXRtcFswXSxkYXRhVHlwZXMudW5zaGlmdCh0bXBbMV0pKTticmVha31pZihjb252IT09ITApaWYoY29udiYmc1tcInRocm93c1wiXSlyZXNwb25zZT1jb252KHJlc3BvbnNlKTtlbHNlIHRyeXtyZXNwb25zZT1jb252KHJlc3BvbnNlKX1jYXRjaChlKXtyZXR1cm57c3RhdGU6XCJwYXJzZXJlcnJvclwiLGVycm9yOmNvbnY/ZTpcIk5vIGNvbnZlcnNpb24gZnJvbSBcIitwcmV2K1wiIHRvIFwiK2N1cnJlbnR9fX1yZXR1cm57c3RhdGU6XCJzdWNjZXNzXCIsZGF0YTpyZXNwb25zZX19ZnVuY3Rpb24gYnVpbGRQYXJhbXMocHJlZml4LG9iaix0cmFkaXRpb25hbCxhZGQpe3ZhciBuYW1lO2lmKGpRdWVyeS5pc0FycmF5KG9iaikpalF1ZXJ5LmVhY2gob2JqLGZ1bmN0aW9uKGksdil7dHJhZGl0aW9uYWx8fHJicmFja2V0LnRlc3QocHJlZml4KT9hZGQocHJlZml4LHYpOmJ1aWxkUGFyYW1zKHByZWZpeCtcIltcIisoXCJvYmplY3RcIj09dHlwZW9mIHY/aTpcIlwiKStcIl1cIix2LHRyYWRpdGlvbmFsLGFkZCl9KTtlbHNlIGlmKHRyYWRpdGlvbmFsfHxcIm9iamVjdFwiIT09alF1ZXJ5LnR5cGUob2JqKSlhZGQocHJlZml4LG9iaik7ZWxzZSBmb3IobmFtZSBpbiBvYmopYnVpbGRQYXJhbXMocHJlZml4K1wiW1wiK25hbWUrXCJdXCIsb2JqW25hbWVdLHRyYWRpdGlvbmFsLGFkZCl9ZnVuY3Rpb24gY3JlYXRlU3RhbmRhcmRYSFIoKXt0cnl7cmV0dXJuIG5ldyB3aW5kb3cuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fX1mdW5jdGlvbiBjcmVhdGVBY3RpdmVYSFIoKXt0cnl7cmV0dXJuIG5ldyB3aW5kb3cuQWN0aXZlWE9iamVjdChcIk1pY3Jvc29mdC5YTUxIVFRQXCIpfWNhdGNoKGUpe319ZnVuY3Rpb24gZ2V0V2luZG93KGVsZW0pe3JldHVybiBqUXVlcnkuaXNXaW5kb3coZWxlbSk/ZWxlbTo5PT09ZWxlbS5ub2RlVHlwZT9lbGVtLmRlZmF1bHRWaWV3fHxlbGVtLnBhcmVudFdpbmRvdzohMX12YXIgZGVsZXRlZElkcz1bXSxzbGljZT1kZWxldGVkSWRzLnNsaWNlLGNvbmNhdD1kZWxldGVkSWRzLmNvbmNhdCxwdXNoPWRlbGV0ZWRJZHMucHVzaCxpbmRleE9mPWRlbGV0ZWRJZHMuaW5kZXhPZixjbGFzczJ0eXBlPXt9LHRvU3RyaW5nPWNsYXNzMnR5cGUudG9TdHJpbmcsaGFzT3duPWNsYXNzMnR5cGUuaGFzT3duUHJvcGVydHksc3VwcG9ydD17fSx2ZXJzaW9uPVwiMS4xMS4zXCIsalF1ZXJ5PWZ1bmN0aW9uKHNlbGVjdG9yLGNvbnRleHQpe3JldHVybiBuZXcgalF1ZXJ5LmZuLmluaXQoc2VsZWN0b3IsY29udGV4dCl9LHJ0cmltPS9eW1xcc1xcdUZFRkZcXHhBMF0rfFtcXHNcXHVGRUZGXFx4QTBdKyQvZyxybXNQcmVmaXg9L14tbXMtLyxyZGFzaEFscGhhPS8tKFtcXGRhLXpdKS9naSxmY2FtZWxDYXNlPWZ1bmN0aW9uKGFsbCxsZXR0ZXIpe3JldHVybiBsZXR0ZXIudG9VcHBlckNhc2UoKX07alF1ZXJ5LmZuPWpRdWVyeS5wcm90b3R5cGU9e2pxdWVyeTp2ZXJzaW9uLGNvbnN0cnVjdG9yOmpRdWVyeSxzZWxlY3RvcjpcIlwiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gc2xpY2UuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKG51bSl7cmV0dXJuIG51bGwhPW51bT8wPm51bT90aGlzW251bSt0aGlzLmxlbmd0aF06dGhpc1tudW1dOnNsaWNlLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihlbGVtcyl7dmFyIHJldD1qUXVlcnkubWVyZ2UodGhpcy5jb25zdHJ1Y3RvcigpLGVsZW1zKTtyZXR1cm4gcmV0LnByZXZPYmplY3Q9dGhpcyxyZXQuY29udGV4dD10aGlzLmNvbnRleHQscmV0fSxlYWNoOmZ1bmN0aW9uKGNhbGxiYWNrLGFyZ3Mpe3JldHVybiBqUXVlcnkuZWFjaCh0aGlzLGNhbGxiYWNrLGFyZ3MpfSxtYXA6ZnVuY3Rpb24oY2FsbGJhY2spe3JldHVybiB0aGlzLnB1c2hTdGFjayhqUXVlcnkubWFwKHRoaXMsZnVuY3Rpb24oZWxlbSxpKXtyZXR1cm4gY2FsbGJhY2suY2FsbChlbGVtLGksZWxlbSl9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHNsaWNlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGkpe3ZhciBsZW49dGhpcy5sZW5ndGgsaj0raSsoMD5pP2xlbjowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soaj49MCYmbGVuPmo/W3RoaXNbal1dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpwdXNoLHNvcnQ6ZGVsZXRlZElkcy5zb3J0LHNwbGljZTpkZWxldGVkSWRzLnNwbGljZX0salF1ZXJ5LmV4dGVuZD1qUXVlcnkuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIHNyYyxjb3B5SXNBcnJheSxjb3B5LG5hbWUsb3B0aW9ucyxjbG9uZSx0YXJnZXQ9YXJndW1lbnRzWzBdfHx7fSxpPTEsbGVuZ3RoPWFyZ3VtZW50cy5sZW5ndGgsZGVlcD0hMTtmb3IoXCJib29sZWFuXCI9PXR5cGVvZiB0YXJnZXQmJihkZWVwPXRhcmdldCx0YXJnZXQ9YXJndW1lbnRzW2ldfHx7fSxpKyspLFwib2JqZWN0XCI9PXR5cGVvZiB0YXJnZXR8fGpRdWVyeS5pc0Z1bmN0aW9uKHRhcmdldCl8fCh0YXJnZXQ9e30pLGk9PT1sZW5ndGgmJih0YXJnZXQ9dGhpcyxpLS0pO2xlbmd0aD5pO2krKylpZihudWxsIT0ob3B0aW9ucz1hcmd1bWVudHNbaV0pKWZvcihuYW1lIGluIG9wdGlvbnMpc3JjPXRhcmdldFtuYW1lXSxjb3B5PW9wdGlvbnNbbmFtZV0sdGFyZ2V0IT09Y29weSYmKGRlZXAmJmNvcHkmJihqUXVlcnkuaXNQbGFpbk9iamVjdChjb3B5KXx8KGNvcHlJc0FycmF5PWpRdWVyeS5pc0FycmF5KGNvcHkpKSk/KGNvcHlJc0FycmF5Pyhjb3B5SXNBcnJheT0hMSxjbG9uZT1zcmMmJmpRdWVyeS5pc0FycmF5KHNyYyk/c3JjOltdKTpjbG9uZT1zcmMmJmpRdWVyeS5pc1BsYWluT2JqZWN0KHNyYyk/c3JjOnt9LHRhcmdldFtuYW1lXT1qUXVlcnkuZXh0ZW5kKGRlZXAsY2xvbmUsY29weSkpOnZvaWQgMCE9PWNvcHkmJih0YXJnZXRbbmFtZV09Y29weSkpO3JldHVybiB0YXJnZXR9LGpRdWVyeS5leHRlbmQoe2V4cGFuZG86XCJqUXVlcnlcIisodmVyc2lvbitNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cXEQvZyxcIlwiKSxpc1JlYWR5OiEwLGVycm9yOmZ1bmN0aW9uKG1zZyl7dGhyb3cgbmV3IEVycm9yKG1zZyl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24ob2JqKXtyZXR1cm5cImZ1bmN0aW9uXCI9PT1qUXVlcnkudHlwZShvYmopfSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKG9iail7cmV0dXJuXCJhcnJheVwiPT09alF1ZXJ5LnR5cGUob2JqKX0saXNXaW5kb3c6ZnVuY3Rpb24ob2JqKXtyZXR1cm4gbnVsbCE9b2JqJiZvYmo9PW9iai53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihvYmope3JldHVybiFqUXVlcnkuaXNBcnJheShvYmopJiZvYmotcGFyc2VGbG9hdChvYmopKzE+PTB9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24ob2JqKXt2YXIgbmFtZTtmb3IobmFtZSBpbiBvYmopcmV0dXJuITE7cmV0dXJuITB9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24ob2JqKXt2YXIga2V5O2lmKCFvYmp8fFwib2JqZWN0XCIhPT1qUXVlcnkudHlwZShvYmopfHxvYmoubm9kZVR5cGV8fGpRdWVyeS5pc1dpbmRvdyhvYmopKXJldHVybiExO3RyeXtpZihvYmouY29uc3RydWN0b3ImJiFoYXNPd24uY2FsbChvYmosXCJjb25zdHJ1Y3RvclwiKSYmIWhhc093bi5jYWxsKG9iai5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsXCJpc1Byb3RvdHlwZU9mXCIpKXJldHVybiExfWNhdGNoKGUpe3JldHVybiExfWlmKHN1cHBvcnQub3duTGFzdClmb3Ioa2V5IGluIG9iailyZXR1cm4gaGFzT3duLmNhbGwob2JqLGtleSk7Zm9yKGtleSBpbiBvYmopO3JldHVybiB2b2lkIDA9PT1rZXl8fGhhc093bi5jYWxsKG9iaixrZXkpfSx0eXBlOmZ1bmN0aW9uKG9iail7cmV0dXJuIG51bGw9PW9iaj9vYmorXCJcIjpcIm9iamVjdFwiPT10eXBlb2Ygb2JqfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBvYmo/Y2xhc3MydHlwZVt0b1N0cmluZy5jYWxsKG9iaildfHxcIm9iamVjdFwiOnR5cGVvZiBvYmp9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oZGF0YSl7ZGF0YSYmalF1ZXJ5LnRyaW0oZGF0YSkmJih3aW5kb3cuZXhlY1NjcmlwdHx8ZnVuY3Rpb24oZGF0YSl7d2luZG93LmV2YWwuY2FsbCh3aW5kb3csZGF0YSl9KShkYXRhKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKHN0cmluZyl7cmV0dXJuIHN0cmluZy5yZXBsYWNlKHJtc1ByZWZpeCxcIm1zLVwiKS5yZXBsYWNlKHJkYXNoQWxwaGEsZmNhbWVsQ2FzZSl9LG5vZGVOYW1lOmZ1bmN0aW9uKGVsZW0sbmFtZSl7cmV0dXJuIGVsZW0ubm9kZU5hbWUmJmVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PW5hbWUudG9Mb3dlckNhc2UoKX0sZWFjaDpmdW5jdGlvbihvYmosY2FsbGJhY2ssYXJncyl7dmFyIHZhbHVlLGk9MCxsZW5ndGg9b2JqLmxlbmd0aCxpc0FycmF5PWlzQXJyYXlsaWtlKG9iaik7aWYoYXJncyl7aWYoaXNBcnJheSlmb3IoO2xlbmd0aD5pJiYodmFsdWU9Y2FsbGJhY2suYXBwbHkob2JqW2ldLGFyZ3MpLHZhbHVlIT09ITEpO2krKyk7ZWxzZSBmb3IoaSBpbiBvYmopaWYodmFsdWU9Y2FsbGJhY2suYXBwbHkob2JqW2ldLGFyZ3MpLHZhbHVlPT09ITEpYnJlYWt9ZWxzZSBpZihpc0FycmF5KWZvcig7bGVuZ3RoPmkmJih2YWx1ZT1jYWxsYmFjay5jYWxsKG9ialtpXSxpLG9ialtpXSksdmFsdWUhPT0hMSk7aSsrKTtlbHNlIGZvcihpIGluIG9iailpZih2YWx1ZT1jYWxsYmFjay5jYWxsKG9ialtpXSxpLG9ialtpXSksdmFsdWU9PT0hMSlicmVhaztyZXR1cm4gb2JqfSx0cmltOmZ1bmN0aW9uKHRleHQpe3JldHVybiBudWxsPT10ZXh0P1wiXCI6KHRleHQrXCJcIikucmVwbGFjZShydHJpbSxcIlwiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGFycixyZXN1bHRzKXt2YXIgcmV0PXJlc3VsdHN8fFtdO3JldHVybiBudWxsIT1hcnImJihpc0FycmF5bGlrZShPYmplY3QoYXJyKSk/alF1ZXJ5Lm1lcmdlKHJldCxcInN0cmluZ1wiPT10eXBlb2YgYXJyP1thcnJdOmFycik6cHVzaC5jYWxsKHJldCxhcnIpKSxyZXR9LGluQXJyYXk6ZnVuY3Rpb24oZWxlbSxhcnIsaSl7dmFyIGxlbjtpZihhcnIpe2lmKGluZGV4T2YpcmV0dXJuIGluZGV4T2YuY2FsbChhcnIsZWxlbSxpKTtmb3IobGVuPWFyci5sZW5ndGgsaT1pPzA+aT9NYXRoLm1heCgwLGxlbitpKTppOjA7bGVuPmk7aSsrKWlmKGkgaW4gYXJyJiZhcnJbaV09PT1lbGVtKXJldHVybiBpfXJldHVybi0xfSxtZXJnZTpmdW5jdGlvbihmaXJzdCxzZWNvbmQpe2Zvcih2YXIgbGVuPStzZWNvbmQubGVuZ3RoLGo9MCxpPWZpcnN0Lmxlbmd0aDtsZW4+ajspZmlyc3RbaSsrXT1zZWNvbmRbaisrXTtpZihsZW4hPT1sZW4pZm9yKDt2b2lkIDAhPT1zZWNvbmRbal07KWZpcnN0W2krK109c2Vjb25kW2orK107cmV0dXJuIGZpcnN0Lmxlbmd0aD1pLGZpcnN0fSxncmVwOmZ1bmN0aW9uKGVsZW1zLGNhbGxiYWNrLGludmVydCl7Zm9yKHZhciBjYWxsYmFja0ludmVyc2UsbWF0Y2hlcz1bXSxpPTAsbGVuZ3RoPWVsZW1zLmxlbmd0aCxjYWxsYmFja0V4cGVjdD0haW52ZXJ0O2xlbmd0aD5pO2krKyljYWxsYmFja0ludmVyc2U9IWNhbGxiYWNrKGVsZW1zW2ldLGkpLGNhbGxiYWNrSW52ZXJzZSE9PWNhbGxiYWNrRXhwZWN0JiZtYXRjaGVzLnB1c2goZWxlbXNbaV0pO3JldHVybiBtYXRjaGVzfSxtYXA6ZnVuY3Rpb24oZWxlbXMsY2FsbGJhY2ssYXJnKXt2YXIgdmFsdWUsaT0wLGxlbmd0aD1lbGVtcy5sZW5ndGgsaXNBcnJheT1pc0FycmF5bGlrZShlbGVtcykscmV0PVtdO2lmKGlzQXJyYXkpZm9yKDtsZW5ndGg+aTtpKyspdmFsdWU9Y2FsbGJhY2soZWxlbXNbaV0saSxhcmcpLG51bGwhPXZhbHVlJiZyZXQucHVzaCh2YWx1ZSk7ZWxzZSBmb3IoaSBpbiBlbGVtcyl2YWx1ZT1jYWxsYmFjayhlbGVtc1tpXSxpLGFyZyksbnVsbCE9dmFsdWUmJnJldC5wdXNoKHZhbHVlKTtyZXR1cm4gY29uY2F0LmFwcGx5KFtdLHJldCl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihmbixjb250ZXh0KXt2YXIgYXJncyxwcm94eSx0bXA7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIGNvbnRleHQmJih0bXA9Zm5bY29udGV4dF0sY29udGV4dD1mbixmbj10bXApLGpRdWVyeS5pc0Z1bmN0aW9uKGZuKT8oYXJncz1zbGljZS5jYWxsKGFyZ3VtZW50cywyKSxwcm94eT1mdW5jdGlvbigpe3JldHVybiBmbi5hcHBseShjb250ZXh0fHx0aGlzLGFyZ3MuY29uY2F0KHNsaWNlLmNhbGwoYXJndW1lbnRzKSkpfSxwcm94eS5ndWlkPWZuLmd1aWQ9Zm4uZ3VpZHx8alF1ZXJ5Lmd1aWQrKyxwcm94eSk6dm9pZCAwfSxub3c6ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9LHN1cHBvcnQ6c3VwcG9ydH0pLGpRdWVyeS5lYWNoKFwiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvclwiLnNwbGl0KFwiIFwiKSxmdW5jdGlvbihpLG5hbWUpe2NsYXNzMnR5cGVbXCJbb2JqZWN0IFwiK25hbWUrXCJdXCJdPW5hbWUudG9Mb3dlckNhc2UoKX0pO3ZhciBTaXp6bGU9ZnVuY3Rpb24od2luZG93KXtmdW5jdGlvbiBTaXp6bGUoc2VsZWN0b3IsY29udGV4dCxyZXN1bHRzLHNlZWQpe3ZhciBtYXRjaCxlbGVtLG0sbm9kZVR5cGUsaSxncm91cHMsb2xkLG5pZCxuZXdDb250ZXh0LG5ld1NlbGVjdG9yO2lmKChjb250ZXh0P2NvbnRleHQub3duZXJEb2N1bWVudHx8Y29udGV4dDpwcmVmZXJyZWREb2MpIT09ZG9jdW1lbnQmJnNldERvY3VtZW50KGNvbnRleHQpLGNvbnRleHQ9Y29udGV4dHx8ZG9jdW1lbnQscmVzdWx0cz1yZXN1bHRzfHxbXSxub2RlVHlwZT1jb250ZXh0Lm5vZGVUeXBlLFwic3RyaW5nXCIhPXR5cGVvZiBzZWxlY3Rvcnx8IXNlbGVjdG9yfHwxIT09bm9kZVR5cGUmJjkhPT1ub2RlVHlwZSYmMTEhPT1ub2RlVHlwZSlyZXR1cm4gcmVzdWx0cztpZighc2VlZCYmZG9jdW1lbnRJc0hUTUwpe2lmKDExIT09bm9kZVR5cGUmJihtYXRjaD1ycXVpY2tFeHByLmV4ZWMoc2VsZWN0b3IpKSlpZihtPW1hdGNoWzFdKXtpZig5PT09bm9kZVR5cGUpe2lmKGVsZW09Y29udGV4dC5nZXRFbGVtZW50QnlJZChtKSwhZWxlbXx8IWVsZW0ucGFyZW50Tm9kZSlyZXR1cm4gcmVzdWx0cztpZihlbGVtLmlkPT09bSlyZXR1cm4gcmVzdWx0cy5wdXNoKGVsZW0pLHJlc3VsdHN9ZWxzZSBpZihjb250ZXh0Lm93bmVyRG9jdW1lbnQmJihlbGVtPWNvbnRleHQub3duZXJEb2N1bWVudC5nZXRFbGVtZW50QnlJZChtKSkmJmNvbnRhaW5zKGNvbnRleHQsZWxlbSkmJmVsZW0uaWQ9PT1tKXJldHVybiByZXN1bHRzLnB1c2goZWxlbSkscmVzdWx0c31lbHNle2lmKG1hdGNoWzJdKXJldHVybiBwdXNoLmFwcGx5KHJlc3VsdHMsY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZShzZWxlY3RvcikpLHJlc3VsdHM7aWYoKG09bWF0Y2hbM10pJiZzdXBwb3J0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIHB1c2guYXBwbHkocmVzdWx0cyxjb250ZXh0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUobSkpLHJlc3VsdHN9aWYoc3VwcG9ydC5xc2EmJighcmJ1Z2d5UVNBfHwhcmJ1Z2d5UVNBLnRlc3Qoc2VsZWN0b3IpKSl7aWYobmlkPW9sZD1leHBhbmRvLG5ld0NvbnRleHQ9Y29udGV4dCxuZXdTZWxlY3Rvcj0xIT09bm9kZVR5cGUmJnNlbGVjdG9yLDE9PT1ub2RlVHlwZSYmXCJvYmplY3RcIiE9PWNvbnRleHQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7Zm9yKGdyb3Vwcz10b2tlbml6ZShzZWxlY3RvciksKG9sZD1jb250ZXh0LmdldEF0dHJpYnV0ZShcImlkXCIpKT9uaWQ9b2xkLnJlcGxhY2UocmVzY2FwZSxcIlxcXFwkJlwiKTpjb250ZXh0LnNldEF0dHJpYnV0ZShcImlkXCIsbmlkKSxuaWQ9XCJbaWQ9J1wiK25pZCtcIiddIFwiLGk9Z3JvdXBzLmxlbmd0aDtpLS07KWdyb3Vwc1tpXT1uaWQrdG9TZWxlY3Rvcihncm91cHNbaV0pO25ld0NvbnRleHQ9cnNpYmxpbmcudGVzdChzZWxlY3RvcikmJnRlc3RDb250ZXh0KGNvbnRleHQucGFyZW50Tm9kZSl8fGNvbnRleHQsbmV3U2VsZWN0b3I9Z3JvdXBzLmpvaW4oXCIsXCIpfWlmKG5ld1NlbGVjdG9yKXRyeXtyZXR1cm4gcHVzaC5hcHBseShyZXN1bHRzLG5ld0NvbnRleHQucXVlcnlTZWxlY3RvckFsbChuZXdTZWxlY3RvcikpLHJlc3VsdHN9Y2F0Y2gocXNhRXJyb3Ipe31maW5hbGx5e29sZHx8Y29udGV4dC5yZW1vdmVBdHRyaWJ1dGUoXCJpZFwiKX19fXJldHVybiBzZWxlY3Qoc2VsZWN0b3IucmVwbGFjZShydHJpbSxcIiQxXCIpLGNvbnRleHQscmVzdWx0cyxzZWVkKX1mdW5jdGlvbiBjcmVhdGVDYWNoZSgpe2Z1bmN0aW9uIGNhY2hlKGtleSx2YWx1ZSl7cmV0dXJuIGtleXMucHVzaChrZXkrXCIgXCIpPkV4cHIuY2FjaGVMZW5ndGgmJmRlbGV0ZSBjYWNoZVtrZXlzLnNoaWZ0KCldLGNhY2hlW2tleStcIiBcIl09dmFsdWV9dmFyIGtleXM9W107cmV0dXJuIGNhY2hlfWZ1bmN0aW9uIG1hcmtGdW5jdGlvbihmbil7cmV0dXJuIGZuW2V4cGFuZG9dPSEwLGZufWZ1bmN0aW9uIGFzc2VydChmbil7dmFyIGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO3RyeXtyZXR1cm4hIWZuKGRpdil9Y2F0Y2goZSl7cmV0dXJuITF9ZmluYWxseXtkaXYucGFyZW50Tm9kZSYmZGl2LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZGl2KSxkaXY9bnVsbH19ZnVuY3Rpb24gYWRkSGFuZGxlKGF0dHJzLGhhbmRsZXIpe2Zvcih2YXIgYXJyPWF0dHJzLnNwbGl0KFwifFwiKSxpPWF0dHJzLmxlbmd0aDtpLS07KUV4cHIuYXR0ckhhbmRsZVthcnJbaV1dPWhhbmRsZXJ9ZnVuY3Rpb24gc2libGluZ0NoZWNrKGEsYil7dmFyIGN1cj1iJiZhLGRpZmY9Y3VyJiYxPT09YS5ub2RlVHlwZSYmMT09PWIubm9kZVR5cGUmJih+Yi5zb3VyY2VJbmRleHx8TUFYX05FR0FUSVZFKS0ofmEuc291cmNlSW5kZXh8fE1BWF9ORUdBVElWRSk7aWYoZGlmZilyZXR1cm4gZGlmZjtpZihjdXIpZm9yKDtjdXI9Y3VyLm5leHRTaWJsaW5nOylpZihjdXI9PT1iKXJldHVybi0xO3JldHVybiBhPzE6LTF9ZnVuY3Rpb24gY3JlYXRlSW5wdXRQc2V1ZG8odHlwZSl7cmV0dXJuIGZ1bmN0aW9uKGVsZW0pe3ZhciBuYW1lPWVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm5cImlucHV0XCI9PT1uYW1lJiZlbGVtLnR5cGU9PT10eXBlfX1mdW5jdGlvbiBjcmVhdGVCdXR0b25Qc2V1ZG8odHlwZSl7cmV0dXJuIGZ1bmN0aW9uKGVsZW0pe3ZhciBuYW1lPWVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oXCJpbnB1dFwiPT09bmFtZXx8XCJidXR0b25cIj09PW5hbWUpJiZlbGVtLnR5cGU9PT10eXBlfX1mdW5jdGlvbiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZuKXtyZXR1cm4gbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKGFyZ3VtZW50KXtyZXR1cm4gYXJndW1lbnQ9K2FyZ3VtZW50LG1hcmtGdW5jdGlvbihmdW5jdGlvbihzZWVkLG1hdGNoZXMpe2Zvcih2YXIgaixtYXRjaEluZGV4ZXM9Zm4oW10sc2VlZC5sZW5ndGgsYXJndW1lbnQpLGk9bWF0Y2hJbmRleGVzLmxlbmd0aDtpLS07KXNlZWRbaj1tYXRjaEluZGV4ZXNbaV1dJiYoc2VlZFtqXT0hKG1hdGNoZXNbal09c2VlZFtqXSkpfSl9KX1mdW5jdGlvbiB0ZXN0Q29udGV4dChjb250ZXh0KXtyZXR1cm4gY29udGV4dCYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJmNvbnRleHR9ZnVuY3Rpb24gc2V0RmlsdGVycygpe31mdW5jdGlvbiB0b1NlbGVjdG9yKHRva2Vucyl7Zm9yKHZhciBpPTAsbGVuPXRva2Vucy5sZW5ndGgsc2VsZWN0b3I9XCJcIjtsZW4+aTtpKyspc2VsZWN0b3IrPXRva2Vuc1tpXS52YWx1ZTtyZXR1cm4gc2VsZWN0b3J9ZnVuY3Rpb24gYWRkQ29tYmluYXRvcihtYXRjaGVyLGNvbWJpbmF0b3IsYmFzZSl7dmFyIGRpcj1jb21iaW5hdG9yLmRpcixjaGVja05vbkVsZW1lbnRzPWJhc2UmJlwicGFyZW50Tm9kZVwiPT09ZGlyLGRvbmVOYW1lPWRvbmUrKztyZXR1cm4gY29tYmluYXRvci5maXJzdD9mdW5jdGlvbihlbGVtLGNvbnRleHQseG1sKXtmb3IoO2VsZW09ZWxlbVtkaXJdOylpZigxPT09ZWxlbS5ub2RlVHlwZXx8Y2hlY2tOb25FbGVtZW50cylyZXR1cm4gbWF0Y2hlcihlbGVtLGNvbnRleHQseG1sKX06ZnVuY3Rpb24oZWxlbSxjb250ZXh0LHhtbCl7dmFyIG9sZENhY2hlLG91dGVyQ2FjaGUsbmV3Q2FjaGU9W2RpcnJ1bnMsZG9uZU5hbWVdO2lmKHhtbCl7Zm9yKDtlbGVtPWVsZW1bZGlyXTspaWYoKDE9PT1lbGVtLm5vZGVUeXBlfHxjaGVja05vbkVsZW1lbnRzKSYmbWF0Y2hlcihlbGVtLGNvbnRleHQseG1sKSlyZXR1cm4hMH1lbHNlIGZvcig7ZWxlbT1lbGVtW2Rpcl07KWlmKDE9PT1lbGVtLm5vZGVUeXBlfHxjaGVja05vbkVsZW1lbnRzKXtpZihvdXRlckNhY2hlPWVsZW1bZXhwYW5kb118fChlbGVtW2V4cGFuZG9dPXt9KSwob2xkQ2FjaGU9b3V0ZXJDYWNoZVtkaXJdKSYmb2xkQ2FjaGVbMF09PT1kaXJydW5zJiZvbGRDYWNoZVsxXT09PWRvbmVOYW1lKXJldHVybiBuZXdDYWNoZVsyXT1vbGRDYWNoZVsyXTtpZihvdXRlckNhY2hlW2Rpcl09bmV3Q2FjaGUsbmV3Q2FjaGVbMl09bWF0Y2hlcihlbGVtLGNvbnRleHQseG1sKSlyZXR1cm4hMH19fWZ1bmN0aW9uIGVsZW1lbnRNYXRjaGVyKG1hdGNoZXJzKXtyZXR1cm4gbWF0Y2hlcnMubGVuZ3RoPjE/ZnVuY3Rpb24oZWxlbSxjb250ZXh0LHhtbCl7Zm9yKHZhciBpPW1hdGNoZXJzLmxlbmd0aDtpLS07KWlmKCFtYXRjaGVyc1tpXShlbGVtLGNvbnRleHQseG1sKSlyZXR1cm4hMTtyZXR1cm4hMH06bWF0Y2hlcnNbMF19ZnVuY3Rpb24gbXVsdGlwbGVDb250ZXh0cyhzZWxlY3Rvcixjb250ZXh0cyxyZXN1bHRzKXtmb3IodmFyIGk9MCxsZW49Y29udGV4dHMubGVuZ3RoO2xlbj5pO2krKylTaXp6bGUoc2VsZWN0b3IsY29udGV4dHNbaV0scmVzdWx0cyk7cmV0dXJuIHJlc3VsdHN9ZnVuY3Rpb24gY29uZGVuc2UodW5tYXRjaGVkLG1hcCxmaWx0ZXIsY29udGV4dCx4bWwpe2Zvcih2YXIgZWxlbSxuZXdVbm1hdGNoZWQ9W10saT0wLGxlbj11bm1hdGNoZWQubGVuZ3RoLG1hcHBlZD1udWxsIT1tYXA7bGVuPmk7aSsrKShlbGVtPXVubWF0Y2hlZFtpXSkmJighZmlsdGVyfHxmaWx0ZXIoZWxlbSxjb250ZXh0LHhtbCkpJiYobmV3VW5tYXRjaGVkLnB1c2goZWxlbSksbWFwcGVkJiZtYXAucHVzaChpKSk7cmV0dXJuIG5ld1VubWF0Y2hlZH1mdW5jdGlvbiBzZXRNYXRjaGVyKHByZUZpbHRlcixzZWxlY3RvcixtYXRjaGVyLHBvc3RGaWx0ZXIscG9zdEZpbmRlcixwb3N0U2VsZWN0b3Ipe3JldHVybiBwb3N0RmlsdGVyJiYhcG9zdEZpbHRlcltleHBhbmRvXSYmKHBvc3RGaWx0ZXI9c2V0TWF0Y2hlcihwb3N0RmlsdGVyKSkscG9zdEZpbmRlciYmIXBvc3RGaW5kZXJbZXhwYW5kb10mJihwb3N0RmluZGVyPXNldE1hdGNoZXIocG9zdEZpbmRlcixwb3N0U2VsZWN0b3IpKSxtYXJrRnVuY3Rpb24oZnVuY3Rpb24oc2VlZCxyZXN1bHRzLGNvbnRleHQseG1sKXt2YXIgdGVtcCxpLGVsZW0scHJlTWFwPVtdLHBvc3RNYXA9W10scHJlZXhpc3Rpbmc9cmVzdWx0cy5sZW5ndGgsZWxlbXM9c2VlZHx8bXVsdGlwbGVDb250ZXh0cyhzZWxlY3Rvcnx8XCIqXCIsY29udGV4dC5ub2RlVHlwZT9bY29udGV4dF06Y29udGV4dCxbXSksbWF0Y2hlckluPSFwcmVGaWx0ZXJ8fCFzZWVkJiZzZWxlY3Rvcj9lbGVtczpjb25kZW5zZShlbGVtcyxwcmVNYXAscHJlRmlsdGVyLGNvbnRleHQseG1sKSxtYXRjaGVyT3V0PW1hdGNoZXI/cG9zdEZpbmRlcnx8KHNlZWQ/cHJlRmlsdGVyOnByZWV4aXN0aW5nfHxwb3N0RmlsdGVyKT9bXTpyZXN1bHRzOm1hdGNoZXJJbjtpZihtYXRjaGVyJiZtYXRjaGVyKG1hdGNoZXJJbixtYXRjaGVyT3V0LGNvbnRleHQseG1sKSxwb3N0RmlsdGVyKWZvcih0ZW1wPWNvbmRlbnNlKG1hdGNoZXJPdXQscG9zdE1hcCkscG9zdEZpbHRlcih0ZW1wLFtdLGNvbnRleHQseG1sKSxpPXRlbXAubGVuZ3RoO2ktLTspKGVsZW09dGVtcFtpXSkmJihtYXRjaGVyT3V0W3Bvc3RNYXBbaV1dPSEobWF0Y2hlckluW3Bvc3RNYXBbaV1dPWVsZW0pKTtpZihzZWVkKXtpZihwb3N0RmluZGVyfHxwcmVGaWx0ZXIpe2lmKHBvc3RGaW5kZXIpe2Zvcih0ZW1wPVtdLGk9bWF0Y2hlck91dC5sZW5ndGg7aS0tOykoZWxlbT1tYXRjaGVyT3V0W2ldKSYmdGVtcC5wdXNoKG1hdGNoZXJJbltpXT1lbGVtKTtwb3N0RmluZGVyKG51bGwsbWF0Y2hlck91dD1bXSx0ZW1wLHhtbCl9Zm9yKGk9bWF0Y2hlck91dC5sZW5ndGg7aS0tOykoZWxlbT1tYXRjaGVyT3V0W2ldKSYmKHRlbXA9cG9zdEZpbmRlcj9pbmRleE9mKHNlZWQsZWxlbSk6cHJlTWFwW2ldKT4tMSYmKHNlZWRbdGVtcF09IShyZXN1bHRzW3RlbXBdPWVsZW0pKX19ZWxzZSBtYXRjaGVyT3V0PWNvbmRlbnNlKG1hdGNoZXJPdXQ9PT1yZXN1bHRzP21hdGNoZXJPdXQuc3BsaWNlKHByZWV4aXN0aW5nLG1hdGNoZXJPdXQubGVuZ3RoKTptYXRjaGVyT3V0KSxwb3N0RmluZGVyP3Bvc3RGaW5kZXIobnVsbCxyZXN1bHRzLG1hdGNoZXJPdXQseG1sKTpwdXNoLmFwcGx5KHJlc3VsdHMsbWF0Y2hlck91dCl9KX1mdW5jdGlvbiBtYXRjaGVyRnJvbVRva2Vucyh0b2tlbnMpe2Zvcih2YXIgY2hlY2tDb250ZXh0LG1hdGNoZXIsaixsZW49dG9rZW5zLmxlbmd0aCxsZWFkaW5nUmVsYXRpdmU9RXhwci5yZWxhdGl2ZVt0b2tlbnNbMF0udHlwZV0saW1wbGljaXRSZWxhdGl2ZT1sZWFkaW5nUmVsYXRpdmV8fEV4cHIucmVsYXRpdmVbXCIgXCJdLGk9bGVhZGluZ1JlbGF0aXZlPzE6MCxtYXRjaENvbnRleHQ9YWRkQ29tYmluYXRvcihmdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbT09PWNoZWNrQ29udGV4dH0saW1wbGljaXRSZWxhdGl2ZSwhMCksbWF0Y2hBbnlDb250ZXh0PWFkZENvbWJpbmF0b3IoZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGluZGV4T2YoY2hlY2tDb250ZXh0LGVsZW0pPi0xfSxpbXBsaWNpdFJlbGF0aXZlLCEwKSxtYXRjaGVycz1bZnVuY3Rpb24oZWxlbSxjb250ZXh0LHhtbCl7dmFyIHJldD0hbGVhZGluZ1JlbGF0aXZlJiYoeG1sfHxjb250ZXh0IT09b3V0ZXJtb3N0Q29udGV4dCl8fCgoY2hlY2tDb250ZXh0PWNvbnRleHQpLm5vZGVUeXBlP21hdGNoQ29udGV4dChlbGVtLGNvbnRleHQseG1sKTptYXRjaEFueUNvbnRleHQoZWxlbSxjb250ZXh0LHhtbCkpO3JldHVybiBjaGVja0NvbnRleHQ9bnVsbCxyZXR9XTtsZW4+aTtpKyspaWYobWF0Y2hlcj1FeHByLnJlbGF0aXZlW3Rva2Vuc1tpXS50eXBlXSltYXRjaGVycz1bYWRkQ29tYmluYXRvcihlbGVtZW50TWF0Y2hlcihtYXRjaGVycyksbWF0Y2hlcildO2Vsc2V7aWYobWF0Y2hlcj1FeHByLmZpbHRlclt0b2tlbnNbaV0udHlwZV0uYXBwbHkobnVsbCx0b2tlbnNbaV0ubWF0Y2hlcyksbWF0Y2hlcltleHBhbmRvXSl7Zm9yKGo9KytpO2xlbj5qJiYhRXhwci5yZWxhdGl2ZVt0b2tlbnNbal0udHlwZV07aisrKTtyZXR1cm4gc2V0TWF0Y2hlcihpPjEmJmVsZW1lbnRNYXRjaGVyKG1hdGNoZXJzKSxpPjEmJnRvU2VsZWN0b3IodG9rZW5zLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOlwiIFwiPT09dG9rZW5zW2ktMl0udHlwZT9cIipcIjpcIlwifSkpLnJlcGxhY2UocnRyaW0sXCIkMVwiKSxtYXRjaGVyLGo+aSYmbWF0Y2hlckZyb21Ub2tlbnModG9rZW5zLnNsaWNlKGksaikpLGxlbj5qJiZtYXRjaGVyRnJvbVRva2Vucyh0b2tlbnM9dG9rZW5zLnNsaWNlKGopKSxsZW4+aiYmdG9TZWxlY3Rvcih0b2tlbnMpKX1tYXRjaGVycy5wdXNoKG1hdGNoZXIpfXJldHVybiBlbGVtZW50TWF0Y2hlcihtYXRjaGVycyl9ZnVuY3Rpb24gbWF0Y2hlckZyb21Hcm91cE1hdGNoZXJzKGVsZW1lbnRNYXRjaGVycyxzZXRNYXRjaGVycyl7dmFyIGJ5U2V0PXNldE1hdGNoZXJzLmxlbmd0aD4wLGJ5RWxlbWVudD1lbGVtZW50TWF0Y2hlcnMubGVuZ3RoPjAsc3VwZXJNYXRjaGVyPWZ1bmN0aW9uKHNlZWQsY29udGV4dCx4bWwscmVzdWx0cyxvdXRlcm1vc3Qpe3ZhciBlbGVtLGosbWF0Y2hlcixtYXRjaGVkQ291bnQ9MCxpPVwiMFwiLHVubWF0Y2hlZD1zZWVkJiZbXSxzZXRNYXRjaGVkPVtdLGNvbnRleHRCYWNrdXA9b3V0ZXJtb3N0Q29udGV4dCxlbGVtcz1zZWVkfHxieUVsZW1lbnQmJkV4cHIuZmluZC5UQUcoXCIqXCIsb3V0ZXJtb3N0KSxkaXJydW5zVW5pcXVlPWRpcnJ1bnMrPW51bGw9PWNvbnRleHRCYWNrdXA/MTpNYXRoLnJhbmRvbSgpfHwuMSxsZW49ZWxlbXMubGVuZ3RoO2ZvcihvdXRlcm1vc3QmJihvdXRlcm1vc3RDb250ZXh0PWNvbnRleHQhPT1kb2N1bWVudCYmY29udGV4dCk7aSE9PWxlbiYmbnVsbCE9KGVsZW09ZWxlbXNbaV0pO2krKyl7aWYoYnlFbGVtZW50JiZlbGVtKXtmb3Ioaj0wO21hdGNoZXI9ZWxlbWVudE1hdGNoZXJzW2orK107KWlmKG1hdGNoZXIoZWxlbSxjb250ZXh0LHhtbCkpe3Jlc3VsdHMucHVzaChlbGVtKTtcbmJyZWFrfW91dGVybW9zdCYmKGRpcnJ1bnM9ZGlycnVuc1VuaXF1ZSl9YnlTZXQmJigoZWxlbT0hbWF0Y2hlciYmZWxlbSkmJm1hdGNoZWRDb3VudC0tLHNlZWQmJnVubWF0Y2hlZC5wdXNoKGVsZW0pKX1pZihtYXRjaGVkQ291bnQrPWksYnlTZXQmJmkhPT1tYXRjaGVkQ291bnQpe2ZvcihqPTA7bWF0Y2hlcj1zZXRNYXRjaGVyc1tqKytdOyltYXRjaGVyKHVubWF0Y2hlZCxzZXRNYXRjaGVkLGNvbnRleHQseG1sKTtpZihzZWVkKXtpZihtYXRjaGVkQ291bnQ+MClmb3IoO2ktLTspdW5tYXRjaGVkW2ldfHxzZXRNYXRjaGVkW2ldfHwoc2V0TWF0Y2hlZFtpXT1wb3AuY2FsbChyZXN1bHRzKSk7c2V0TWF0Y2hlZD1jb25kZW5zZShzZXRNYXRjaGVkKX1wdXNoLmFwcGx5KHJlc3VsdHMsc2V0TWF0Y2hlZCksb3V0ZXJtb3N0JiYhc2VlZCYmc2V0TWF0Y2hlZC5sZW5ndGg+MCYmbWF0Y2hlZENvdW50K3NldE1hdGNoZXJzLmxlbmd0aD4xJiZTaXp6bGUudW5pcXVlU29ydChyZXN1bHRzKX1yZXR1cm4gb3V0ZXJtb3N0JiYoZGlycnVucz1kaXJydW5zVW5pcXVlLG91dGVybW9zdENvbnRleHQ9Y29udGV4dEJhY2t1cCksdW5tYXRjaGVkfTtyZXR1cm4gYnlTZXQ/bWFya0Z1bmN0aW9uKHN1cGVyTWF0Y2hlcik6c3VwZXJNYXRjaGVyfXZhciBpLHN1cHBvcnQsRXhwcixnZXRUZXh0LGlzWE1MLHRva2VuaXplLGNvbXBpbGUsc2VsZWN0LG91dGVybW9zdENvbnRleHQsc29ydElucHV0LGhhc0R1cGxpY2F0ZSxzZXREb2N1bWVudCxkb2N1bWVudCxkb2NFbGVtLGRvY3VtZW50SXNIVE1MLHJidWdneVFTQSxyYnVnZ3lNYXRjaGVzLG1hdGNoZXMsY29udGFpbnMsZXhwYW5kbz1cInNpenpsZVwiKzEqbmV3IERhdGUscHJlZmVycmVkRG9jPXdpbmRvdy5kb2N1bWVudCxkaXJydW5zPTAsZG9uZT0wLGNsYXNzQ2FjaGU9Y3JlYXRlQ2FjaGUoKSx0b2tlbkNhY2hlPWNyZWF0ZUNhY2hlKCksY29tcGlsZXJDYWNoZT1jcmVhdGVDYWNoZSgpLHNvcnRPcmRlcj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGhhc0R1cGxpY2F0ZT0hMCksMH0sTUFYX05FR0FUSVZFPTE8PDMxLGhhc093bj17fS5oYXNPd25Qcm9wZXJ0eSxhcnI9W10scG9wPWFyci5wb3AscHVzaF9uYXRpdmU9YXJyLnB1c2gscHVzaD1hcnIucHVzaCxzbGljZT1hcnIuc2xpY2UsaW5kZXhPZj1mdW5jdGlvbihsaXN0LGVsZW0pe2Zvcih2YXIgaT0wLGxlbj1saXN0Lmxlbmd0aDtsZW4+aTtpKyspaWYobGlzdFtpXT09PWVsZW0pcmV0dXJuIGk7cmV0dXJuLTF9LGJvb2xlYW5zPVwiY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWRcIix3aGl0ZXNwYWNlPVwiW1xcXFx4MjBcXFxcdFxcXFxyXFxcXG5cXFxcZl1cIixjaGFyYWN0ZXJFbmNvZGluZz1cIig/OlxcXFxcXFxcLnxbXFxcXHctXXxbXlxcXFx4MDAtXFxcXHhhMF0pK1wiLGlkZW50aWZpZXI9Y2hhcmFjdGVyRW5jb2RpbmcucmVwbGFjZShcIndcIixcIncjXCIpLGF0dHJpYnV0ZXM9XCJcXFxcW1wiK3doaXRlc3BhY2UrXCIqKFwiK2NoYXJhY3RlckVuY29kaW5nK1wiKSg/OlwiK3doaXRlc3BhY2UrXCIqKFsqXiR8IX5dPz0pXCIrd2hpdGVzcGFjZStcIiooPzonKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcJ10pKiknfFxcXCIoKD86XFxcXFxcXFwufFteXFxcXFxcXFxcXFwiXSkqKVxcXCJ8KFwiK2lkZW50aWZpZXIrXCIpKXwpXCIrd2hpdGVzcGFjZStcIipcXFxcXVwiLHBzZXVkb3M9XCI6KFwiK2NoYXJhY3RlckVuY29kaW5nK1wiKSg/OlxcXFwoKCgnKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcJ10pKiknfFxcXCIoKD86XFxcXFxcXFwufFteXFxcXFxcXFxcXFwiXSkqKVxcXCIpfCgoPzpcXFxcXFxcXC58W15cXFxcXFxcXCgpW1xcXFxdXXxcIithdHRyaWJ1dGVzK1wiKSopfC4qKVxcXFwpfClcIixyd2hpdGVzcGFjZT1uZXcgUmVnRXhwKHdoaXRlc3BhY2UrXCIrXCIsXCJnXCIpLHJ0cmltPW5ldyBSZWdFeHAoXCJeXCIrd2hpdGVzcGFjZStcIit8KCg/Ol58W15cXFxcXFxcXF0pKD86XFxcXFxcXFwuKSopXCIrd2hpdGVzcGFjZStcIiskXCIsXCJnXCIpLHJjb21tYT1uZXcgUmVnRXhwKFwiXlwiK3doaXRlc3BhY2UrXCIqLFwiK3doaXRlc3BhY2UrXCIqXCIpLHJjb21iaW5hdG9ycz1uZXcgUmVnRXhwKFwiXlwiK3doaXRlc3BhY2UrXCIqKFs+K35dfFwiK3doaXRlc3BhY2UrXCIpXCIrd2hpdGVzcGFjZStcIipcIikscmF0dHJpYnV0ZVF1b3Rlcz1uZXcgUmVnRXhwKFwiPVwiK3doaXRlc3BhY2UrXCIqKFteXFxcXF0nXFxcIl0qPylcIit3aGl0ZXNwYWNlK1wiKlxcXFxdXCIsXCJnXCIpLHJwc2V1ZG89bmV3IFJlZ0V4cChwc2V1ZG9zKSxyaWRlbnRpZmllcj1uZXcgUmVnRXhwKFwiXlwiK2lkZW50aWZpZXIrXCIkXCIpLG1hdGNoRXhwcj17SUQ6bmV3IFJlZ0V4cChcIl4jKFwiK2NoYXJhY3RlckVuY29kaW5nK1wiKVwiKSxDTEFTUzpuZXcgUmVnRXhwKFwiXlxcXFwuKFwiK2NoYXJhY3RlckVuY29kaW5nK1wiKVwiKSxUQUc6bmV3IFJlZ0V4cChcIl4oXCIrY2hhcmFjdGVyRW5jb2RpbmcucmVwbGFjZShcIndcIixcIncqXCIpK1wiKVwiKSxBVFRSOm5ldyBSZWdFeHAoXCJeXCIrYXR0cmlidXRlcyksUFNFVURPOm5ldyBSZWdFeHAoXCJeXCIrcHNldWRvcyksQ0hJTEQ6bmV3IFJlZ0V4cChcIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcXFwoXCIrd2hpdGVzcGFjZStcIiooZXZlbnxvZGR8KChbKy1dfCkoXFxcXGQqKW58KVwiK3doaXRlc3BhY2UrXCIqKD86KFsrLV18KVwiK3doaXRlc3BhY2UrXCIqKFxcXFxkKyl8KSlcIit3aGl0ZXNwYWNlK1wiKlxcXFwpfClcIixcImlcIiksYm9vbDpuZXcgUmVnRXhwKFwiXig/OlwiK2Jvb2xlYW5zK1wiKSRcIixcImlcIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoXCJeXCIrd2hpdGVzcGFjZStcIipbPit+XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcXFwoXCIrd2hpdGVzcGFjZStcIiooKD86LVxcXFxkKT9cXFxcZCopXCIrd2hpdGVzcGFjZStcIipcXFxcKXwpKD89W14tXXwkKVwiLFwiaVwiKX0scmlucHV0cz0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLHJoZWFkZXI9L15oXFxkJC9pLHJuYXRpdmU9L15bXntdK1xce1xccypcXFtuYXRpdmUgXFx3LyxycXVpY2tFeHByPS9eKD86IyhbXFx3LV0rKXwoXFx3Kyl8XFwuKFtcXHctXSspKSQvLHJzaWJsaW5nPS9bK35dLyxyZXNjYXBlPS8nfFxcXFwvZyxydW5lc2NhcGU9bmV3IFJlZ0V4cChcIlxcXFxcXFxcKFtcXFxcZGEtZl17MSw2fVwiK3doaXRlc3BhY2UrXCI/fChcIit3aGl0ZXNwYWNlK1wiKXwuKVwiLFwiaWdcIiksZnVuZXNjYXBlPWZ1bmN0aW9uKF8sZXNjYXBlZCxlc2NhcGVkV2hpdGVzcGFjZSl7dmFyIGhpZ2g9XCIweFwiK2VzY2FwZWQtNjU1MzY7cmV0dXJuIGhpZ2ghPT1oaWdofHxlc2NhcGVkV2hpdGVzcGFjZT9lc2NhcGVkOjA+aGlnaD9TdHJpbmcuZnJvbUNoYXJDb2RlKGhpZ2grNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoaGlnaD4+MTB8NTUyOTYsMTAyMyZoaWdofDU2MzIwKX0sdW5sb2FkSGFuZGxlcj1mdW5jdGlvbigpe3NldERvY3VtZW50KCl9O3RyeXtwdXNoLmFwcGx5KGFycj1zbGljZS5jYWxsKHByZWZlcnJlZERvYy5jaGlsZE5vZGVzKSxwcmVmZXJyZWREb2MuY2hpbGROb2RlcyksYXJyW3ByZWZlcnJlZERvYy5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZSl7cHVzaD17YXBwbHk6YXJyLmxlbmd0aD9mdW5jdGlvbih0YXJnZXQsZWxzKXtwdXNoX25hdGl2ZS5hcHBseSh0YXJnZXQsc2xpY2UuY2FsbChlbHMpKX06ZnVuY3Rpb24odGFyZ2V0LGVscyl7Zm9yKHZhciBqPXRhcmdldC5sZW5ndGgsaT0wO3RhcmdldFtqKytdPWVsc1tpKytdOyk7dGFyZ2V0Lmxlbmd0aD1qLTF9fX1zdXBwb3J0PVNpenpsZS5zdXBwb3J0PXt9LGlzWE1MPVNpenpsZS5pc1hNTD1mdW5jdGlvbihlbGVtKXt2YXIgZG9jdW1lbnRFbGVtZW50PWVsZW0mJihlbGVtLm93bmVyRG9jdW1lbnR8fGVsZW0pLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gZG9jdW1lbnRFbGVtZW50P1wiSFRNTFwiIT09ZG9jdW1lbnRFbGVtZW50Lm5vZGVOYW1lOiExfSxzZXREb2N1bWVudD1TaXp6bGUuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24obm9kZSl7dmFyIGhhc0NvbXBhcmUscGFyZW50LGRvYz1ub2RlP25vZGUub3duZXJEb2N1bWVudHx8bm9kZTpwcmVmZXJyZWREb2M7cmV0dXJuIGRvYyE9PWRvY3VtZW50JiY5PT09ZG9jLm5vZGVUeXBlJiZkb2MuZG9jdW1lbnRFbGVtZW50Pyhkb2N1bWVudD1kb2MsZG9jRWxlbT1kb2MuZG9jdW1lbnRFbGVtZW50LHBhcmVudD1kb2MuZGVmYXVsdFZpZXcscGFyZW50JiZwYXJlbnQhPT1wYXJlbnQudG9wJiYocGFyZW50LmFkZEV2ZW50TGlzdGVuZXI/cGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJ1bmxvYWRcIix1bmxvYWRIYW5kbGVyLCExKTpwYXJlbnQuYXR0YWNoRXZlbnQmJnBhcmVudC5hdHRhY2hFdmVudChcIm9udW5sb2FkXCIsdW5sb2FkSGFuZGxlcikpLGRvY3VtZW50SXNIVE1MPSFpc1hNTChkb2MpLHN1cHBvcnQuYXR0cmlidXRlcz1hc3NlcnQoZnVuY3Rpb24oZGl2KXtyZXR1cm4gZGl2LmNsYXNzTmFtZT1cImlcIiwhZGl2LmdldEF0dHJpYnV0ZShcImNsYXNzTmFtZVwiKX0pLHN1cHBvcnQuZ2V0RWxlbWVudHNCeVRhZ05hbWU9YXNzZXJ0KGZ1bmN0aW9uKGRpdil7cmV0dXJuIGRpdi5hcHBlbmRDaGlsZChkb2MuY3JlYXRlQ29tbWVudChcIlwiKSksIWRpdi5nZXRFbGVtZW50c0J5VGFnTmFtZShcIipcIikubGVuZ3RofSksc3VwcG9ydC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPXJuYXRpdmUudGVzdChkb2MuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSksc3VwcG9ydC5nZXRCeUlkPWFzc2VydChmdW5jdGlvbihkaXYpe3JldHVybiBkb2NFbGVtLmFwcGVuZENoaWxkKGRpdikuaWQ9ZXhwYW5kbywhZG9jLmdldEVsZW1lbnRzQnlOYW1lfHwhZG9jLmdldEVsZW1lbnRzQnlOYW1lKGV4cGFuZG8pLmxlbmd0aH0pLHN1cHBvcnQuZ2V0QnlJZD8oRXhwci5maW5kLklEPWZ1bmN0aW9uKGlkLGNvbnRleHQpe2lmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRCeUlkJiZkb2N1bWVudElzSFRNTCl7dmFyIG09Y29udGV4dC5nZXRFbGVtZW50QnlJZChpZCk7cmV0dXJuIG0mJm0ucGFyZW50Tm9kZT9bbV06W119fSxFeHByLmZpbHRlci5JRD1mdW5jdGlvbihpZCl7dmFyIGF0dHJJZD1pZC5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpO3JldHVybiBmdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUoXCJpZFwiKT09PWF0dHJJZH19KTooZGVsZXRlIEV4cHIuZmluZC5JRCxFeHByLmZpbHRlci5JRD1mdW5jdGlvbihpZCl7dmFyIGF0dHJJZD1pZC5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpO3JldHVybiBmdW5jdGlvbihlbGVtKXt2YXIgbm9kZT1cInVuZGVmaW5lZFwiIT10eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGVOb2RlJiZlbGVtLmdldEF0dHJpYnV0ZU5vZGUoXCJpZFwiKTtyZXR1cm4gbm9kZSYmbm9kZS52YWx1ZT09PWF0dHJJZH19KSxFeHByLmZpbmQuVEFHPXN1cHBvcnQuZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24odGFnLGNvbnRleHQpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lP2NvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUodGFnKTpzdXBwb3J0LnFzYT9jb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwodGFnKTp2b2lkIDB9OmZ1bmN0aW9uKHRhZyxjb250ZXh0KXt2YXIgZWxlbSx0bXA9W10saT0wLHJlc3VsdHM9Y29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSh0YWcpO2lmKFwiKlwiPT09dGFnKXtmb3IoO2VsZW09cmVzdWx0c1tpKytdOykxPT09ZWxlbS5ub2RlVHlwZSYmdG1wLnB1c2goZWxlbSk7cmV0dXJuIHRtcH1yZXR1cm4gcmVzdWx0c30sRXhwci5maW5kLkNMQVNTPXN1cHBvcnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oY2xhc3NOYW1lLGNvbnRleHQpe3JldHVybiBkb2N1bWVudElzSFRNTD9jb250ZXh0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY2xhc3NOYW1lKTp2b2lkIDB9LHJidWdneU1hdGNoZXM9W10scmJ1Z2d5UVNBPVtdLChzdXBwb3J0LnFzYT1ybmF0aXZlLnRlc3QoZG9jLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGFzc2VydChmdW5jdGlvbihkaXYpe2RvY0VsZW0uYXBwZW5kQ2hpbGQoZGl2KS5pbm5lckhUTUw9XCI8YSBpZD0nXCIrZXhwYW5kbytcIic+PC9hPjxzZWxlY3QgaWQ9J1wiK2V4cGFuZG8rXCItXFxmXScgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD5cIixkaXYucXVlcnlTZWxlY3RvckFsbChcIlttc2FsbG93Y2FwdHVyZV49JyddXCIpLmxlbmd0aCYmcmJ1Z2d5UVNBLnB1c2goXCJbKl4kXT1cIit3aGl0ZXNwYWNlK1wiKig/OicnfFxcXCJcXFwiKVwiKSxkaXYucXVlcnlTZWxlY3RvckFsbChcIltzZWxlY3RlZF1cIikubGVuZ3RofHxyYnVnZ3lRU0EucHVzaChcIlxcXFxbXCIrd2hpdGVzcGFjZStcIiooPzp2YWx1ZXxcIitib29sZWFucytcIilcIiksZGl2LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbaWR+PVwiK2V4cGFuZG8rXCItXVwiKS5sZW5ndGh8fHJidWdneVFTQS5wdXNoKFwifj1cIiksZGl2LnF1ZXJ5U2VsZWN0b3JBbGwoXCI6Y2hlY2tlZFwiKS5sZW5ndGh8fHJidWdneVFTQS5wdXNoKFwiOmNoZWNrZWRcIiksZGl2LnF1ZXJ5U2VsZWN0b3JBbGwoXCJhI1wiK2V4cGFuZG8rXCIrKlwiKS5sZW5ndGh8fHJidWdneVFTQS5wdXNoKFwiLiMuK1srfl1cIil9KSxhc3NlcnQoZnVuY3Rpb24oZGl2KXt2YXIgaW5wdXQ9ZG9jLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTtpbnB1dC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsXCJoaWRkZW5cIiksZGl2LmFwcGVuZENoaWxkKGlucHV0KS5zZXRBdHRyaWJ1dGUoXCJuYW1lXCIsXCJEXCIpLGRpdi5xdWVyeVNlbGVjdG9yQWxsKFwiW25hbWU9ZF1cIikubGVuZ3RoJiZyYnVnZ3lRU0EucHVzaChcIm5hbWVcIit3aGl0ZXNwYWNlK1wiKlsqXiR8IX5dPz1cIiksZGl2LnF1ZXJ5U2VsZWN0b3JBbGwoXCI6ZW5hYmxlZFwiKS5sZW5ndGh8fHJidWdneVFTQS5wdXNoKFwiOmVuYWJsZWRcIixcIjpkaXNhYmxlZFwiKSxkaXYucXVlcnlTZWxlY3RvckFsbChcIiosOnhcIikscmJ1Z2d5UVNBLnB1c2goXCIsLio6XCIpfSkpLChzdXBwb3J0Lm1hdGNoZXNTZWxlY3Rvcj1ybmF0aXZlLnRlc3QobWF0Y2hlcz1kb2NFbGVtLm1hdGNoZXN8fGRvY0VsZW0ud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxkb2NFbGVtLm1vek1hdGNoZXNTZWxlY3Rvcnx8ZG9jRWxlbS5vTWF0Y2hlc1NlbGVjdG9yfHxkb2NFbGVtLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmFzc2VydChmdW5jdGlvbihkaXYpe3N1cHBvcnQuZGlzY29ubmVjdGVkTWF0Y2g9bWF0Y2hlcy5jYWxsKGRpdixcImRpdlwiKSxtYXRjaGVzLmNhbGwoZGl2LFwiW3MhPScnXTp4XCIpLHJidWdneU1hdGNoZXMucHVzaChcIiE9XCIscHNldWRvcyl9KSxyYnVnZ3lRU0E9cmJ1Z2d5UVNBLmxlbmd0aCYmbmV3IFJlZ0V4cChyYnVnZ3lRU0Euam9pbihcInxcIikpLHJidWdneU1hdGNoZXM9cmJ1Z2d5TWF0Y2hlcy5sZW5ndGgmJm5ldyBSZWdFeHAocmJ1Z2d5TWF0Y2hlcy5qb2luKFwifFwiKSksaGFzQ29tcGFyZT1ybmF0aXZlLnRlc3QoZG9jRWxlbS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiksY29udGFpbnM9aGFzQ29tcGFyZXx8cm5hdGl2ZS50ZXN0KGRvY0VsZW0uY29udGFpbnMpP2Z1bmN0aW9uKGEsYil7dmFyIGFkb3duPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsYnVwPWImJmIucGFyZW50Tm9kZTtyZXR1cm4gYT09PWJ1cHx8ISghYnVwfHwxIT09YnVwLm5vZGVUeXBlfHwhKGFkb3duLmNvbnRhaW5zP2Fkb3duLmNvbnRhaW5zKGJ1cCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihidXApKSl9OmZ1bmN0aW9uKGEsYil7aWYoYilmb3IoO2I9Yi5wYXJlbnROb2RlOylpZihiPT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sc29ydE9yZGVyPWhhc0NvbXBhcmU/ZnVuY3Rpb24oYSxiKXtpZihhPT09YilyZXR1cm4gaGFzRHVwbGljYXRlPSEwLDA7dmFyIGNvbXBhcmU9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGNvbXBhcmU/Y29tcGFyZTooY29tcGFyZT0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmNvbXBhcmV8fCFzdXBwb3J0LnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWNvbXBhcmU/YT09PWRvY3x8YS5vd25lckRvY3VtZW50PT09cHJlZmVycmVkRG9jJiZjb250YWlucyhwcmVmZXJyZWREb2MsYSk/LTE6Yj09PWRvY3x8Yi5vd25lckRvY3VtZW50PT09cHJlZmVycmVkRG9jJiZjb250YWlucyhwcmVmZXJyZWREb2MsYik/MTpzb3J0SW5wdXQ/aW5kZXhPZihzb3J0SW5wdXQsYSktaW5kZXhPZihzb3J0SW5wdXQsYik6MDo0JmNvbXBhcmU/LTE6MSl9OmZ1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGhhc0R1cGxpY2F0ZT0hMCwwO3ZhciBjdXIsaT0wLGF1cD1hLnBhcmVudE5vZGUsYnVwPWIucGFyZW50Tm9kZSxhcD1bYV0sYnA9W2JdO2lmKCFhdXB8fCFidXApcmV0dXJuIGE9PT1kb2M/LTE6Yj09PWRvYz8xOmF1cD8tMTpidXA/MTpzb3J0SW5wdXQ/aW5kZXhPZihzb3J0SW5wdXQsYSktaW5kZXhPZihzb3J0SW5wdXQsYik6MDtpZihhdXA9PT1idXApcmV0dXJuIHNpYmxpbmdDaGVjayhhLGIpO2ZvcihjdXI9YTtjdXI9Y3VyLnBhcmVudE5vZGU7KWFwLnVuc2hpZnQoY3VyKTtmb3IoY3VyPWI7Y3VyPWN1ci5wYXJlbnROb2RlOylicC51bnNoaWZ0KGN1cik7Zm9yKDthcFtpXT09PWJwW2ldOylpKys7cmV0dXJuIGk/c2libGluZ0NoZWNrKGFwW2ldLGJwW2ldKTphcFtpXT09PXByZWZlcnJlZERvYz8tMTpicFtpXT09PXByZWZlcnJlZERvYz8xOjB9LGRvYyk6ZG9jdW1lbnR9LFNpenpsZS5tYXRjaGVzPWZ1bmN0aW9uKGV4cHIsZWxlbWVudHMpe3JldHVybiBTaXp6bGUoZXhwcixudWxsLG51bGwsZWxlbWVudHMpfSxTaXp6bGUubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGVsZW0sZXhwcil7aWYoKGVsZW0ub3duZXJEb2N1bWVudHx8ZWxlbSkhPT1kb2N1bWVudCYmc2V0RG9jdW1lbnQoZWxlbSksZXhwcj1leHByLnJlcGxhY2UocmF0dHJpYnV0ZVF1b3RlcyxcIj0nJDEnXVwiKSxzdXBwb3J0Lm1hdGNoZXNTZWxlY3RvciYmZG9jdW1lbnRJc0hUTUwmJighcmJ1Z2d5TWF0Y2hlc3x8IXJidWdneU1hdGNoZXMudGVzdChleHByKSkmJighcmJ1Z2d5UVNBfHwhcmJ1Z2d5UVNBLnRlc3QoZXhwcikpKXRyeXt2YXIgcmV0PW1hdGNoZXMuY2FsbChlbGVtLGV4cHIpO2lmKHJldHx8c3VwcG9ydC5kaXNjb25uZWN0ZWRNYXRjaHx8ZWxlbS5kb2N1bWVudCYmMTEhPT1lbGVtLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiByZXR9Y2F0Y2goZSl7fXJldHVybiBTaXp6bGUoZXhwcixkb2N1bWVudCxudWxsLFtlbGVtXSkubGVuZ3RoPjB9LFNpenpsZS5jb250YWlucz1mdW5jdGlvbihjb250ZXh0LGVsZW0pe3JldHVybihjb250ZXh0Lm93bmVyRG9jdW1lbnR8fGNvbnRleHQpIT09ZG9jdW1lbnQmJnNldERvY3VtZW50KGNvbnRleHQpLGNvbnRhaW5zKGNvbnRleHQsZWxlbSl9LFNpenpsZS5hdHRyPWZ1bmN0aW9uKGVsZW0sbmFtZSl7KGVsZW0ub3duZXJEb2N1bWVudHx8ZWxlbSkhPT1kb2N1bWVudCYmc2V0RG9jdW1lbnQoZWxlbSk7dmFyIGZuPUV4cHIuYXR0ckhhbmRsZVtuYW1lLnRvTG93ZXJDYXNlKCldLHZhbD1mbiYmaGFzT3duLmNhbGwoRXhwci5hdHRySGFuZGxlLG5hbWUudG9Mb3dlckNhc2UoKSk/Zm4oZWxlbSxuYW1lLCFkb2N1bWVudElzSFRNTCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT12YWw/dmFsOnN1cHBvcnQuYXR0cmlidXRlc3x8IWRvY3VtZW50SXNIVE1MP2VsZW0uZ2V0QXR0cmlidXRlKG5hbWUpOih2YWw9ZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKG5hbWUpKSYmdmFsLnNwZWNpZmllZD92YWwudmFsdWU6bnVsbH0sU2l6emxlLmVycm9yPWZ1bmN0aW9uKG1zZyl7dGhyb3cgbmV3IEVycm9yKFwiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogXCIrbXNnKX0sU2l6emxlLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24ocmVzdWx0cyl7dmFyIGVsZW0sZHVwbGljYXRlcz1bXSxqPTAsaT0wO2lmKGhhc0R1cGxpY2F0ZT0hc3VwcG9ydC5kZXRlY3REdXBsaWNhdGVzLHNvcnRJbnB1dD0hc3VwcG9ydC5zb3J0U3RhYmxlJiZyZXN1bHRzLnNsaWNlKDApLHJlc3VsdHMuc29ydChzb3J0T3JkZXIpLGhhc0R1cGxpY2F0ZSl7Zm9yKDtlbGVtPXJlc3VsdHNbaSsrXTspZWxlbT09PXJlc3VsdHNbaV0mJihqPWR1cGxpY2F0ZXMucHVzaChpKSk7Zm9yKDtqLS07KXJlc3VsdHMuc3BsaWNlKGR1cGxpY2F0ZXNbal0sMSl9cmV0dXJuIHNvcnRJbnB1dD1udWxsLHJlc3VsdHN9LGdldFRleHQ9U2l6emxlLmdldFRleHQ9ZnVuY3Rpb24oZWxlbSl7dmFyIG5vZGUscmV0PVwiXCIsaT0wLG5vZGVUeXBlPWVsZW0ubm9kZVR5cGU7aWYobm9kZVR5cGUpe2lmKDE9PT1ub2RlVHlwZXx8OT09PW5vZGVUeXBlfHwxMT09PW5vZGVUeXBlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZWxlbS50ZXh0Q29udGVudClyZXR1cm4gZWxlbS50ZXh0Q29udGVudDtmb3IoZWxlbT1lbGVtLmZpcnN0Q2hpbGQ7ZWxlbTtlbGVtPWVsZW0ubmV4dFNpYmxpbmcpcmV0Kz1nZXRUZXh0KGVsZW0pfWVsc2UgaWYoMz09PW5vZGVUeXBlfHw0PT09bm9kZVR5cGUpcmV0dXJuIGVsZW0ubm9kZVZhbHVlfWVsc2UgZm9yKDtub2RlPWVsZW1baSsrXTspcmV0Kz1nZXRUZXh0KG5vZGUpO3JldHVybiByZXR9LEV4cHI9U2l6emxlLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOm1hcmtGdW5jdGlvbixtYXRjaDptYXRjaEV4cHIsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOntcIj5cIjp7ZGlyOlwicGFyZW50Tm9kZVwiLGZpcnN0OiEwfSxcIiBcIjp7ZGlyOlwicGFyZW50Tm9kZVwifSxcIitcIjp7ZGlyOlwicHJldmlvdXNTaWJsaW5nXCIsZmlyc3Q6ITB9LFwiflwiOntkaXI6XCJwcmV2aW91c1NpYmxpbmdcIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihtYXRjaCl7cmV0dXJuIG1hdGNoWzFdPW1hdGNoWzFdLnJlcGxhY2UocnVuZXNjYXBlLGZ1bmVzY2FwZSksbWF0Y2hbM109KG1hdGNoWzNdfHxtYXRjaFs0XXx8bWF0Y2hbNV18fFwiXCIpLnJlcGxhY2UocnVuZXNjYXBlLGZ1bmVzY2FwZSksXCJ+PVwiPT09bWF0Y2hbMl0mJihtYXRjaFszXT1cIiBcIittYXRjaFszXStcIiBcIiksbWF0Y2guc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24obWF0Y2gpe3JldHVybiBtYXRjaFsxXT1tYXRjaFsxXS50b0xvd2VyQ2FzZSgpLFwibnRoXCI9PT1tYXRjaFsxXS5zbGljZSgwLDMpPyhtYXRjaFszXXx8U2l6emxlLmVycm9yKG1hdGNoWzBdKSxtYXRjaFs0XT0rKG1hdGNoWzRdP21hdGNoWzVdKyhtYXRjaFs2XXx8MSk6MiooXCJldmVuXCI9PT1tYXRjaFszXXx8XCJvZGRcIj09PW1hdGNoWzNdKSksbWF0Y2hbNV09KyhtYXRjaFs3XSttYXRjaFs4XXx8XCJvZGRcIj09PW1hdGNoWzNdKSk6bWF0Y2hbM10mJlNpenpsZS5lcnJvcihtYXRjaFswXSksbWF0Y2h9LFBTRVVETzpmdW5jdGlvbihtYXRjaCl7dmFyIGV4Y2Vzcyx1bnF1b3RlZD0hbWF0Y2hbNl0mJm1hdGNoWzJdO3JldHVybiBtYXRjaEV4cHIuQ0hJTEQudGVzdChtYXRjaFswXSk/bnVsbDoobWF0Y2hbM10/bWF0Y2hbMl09bWF0Y2hbNF18fG1hdGNoWzVdfHxcIlwiOnVucXVvdGVkJiZycHNldWRvLnRlc3QodW5xdW90ZWQpJiYoZXhjZXNzPXRva2VuaXplKHVucXVvdGVkLCEwKSkmJihleGNlc3M9dW5xdW90ZWQuaW5kZXhPZihcIilcIix1bnF1b3RlZC5sZW5ndGgtZXhjZXNzKS11bnF1b3RlZC5sZW5ndGgpJiYobWF0Y2hbMF09bWF0Y2hbMF0uc2xpY2UoMCxleGNlc3MpLG1hdGNoWzJdPXVucXVvdGVkLnNsaWNlKDAsZXhjZXNzKSksbWF0Y2guc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihub2RlTmFtZVNlbGVjdG9yKXt2YXIgbm9kZU5hbWU9bm9kZU5hbWVTZWxlY3Rvci5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCIqXCI9PT1ub2RlTmFtZVNlbGVjdG9yP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLm5vZGVOYW1lJiZlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ub2RlTmFtZX19LENMQVNTOmZ1bmN0aW9uKGNsYXNzTmFtZSl7dmFyIHBhdHRlcm49Y2xhc3NDYWNoZVtjbGFzc05hbWUrXCIgXCJdO3JldHVybiBwYXR0ZXJufHwocGF0dGVybj1uZXcgUmVnRXhwKFwiKF58XCIrd2hpdGVzcGFjZStcIilcIitjbGFzc05hbWUrXCIoXCIrd2hpdGVzcGFjZStcInwkKVwiKSkmJmNsYXNzQ2FjaGUoY2xhc3NOYW1lLGZ1bmN0aW9uKGVsZW0pe3JldHVybiBwYXR0ZXJuLnRlc3QoXCJzdHJpbmdcIj09dHlwZW9mIGVsZW0uY2xhc3NOYW1lJiZlbGVtLmNsYXNzTmFtZXx8XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGVsZW0uZ2V0QXR0cmlidXRlJiZlbGVtLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwiKX0pfSxBVFRSOmZ1bmN0aW9uKG5hbWUsb3BlcmF0b3IsY2hlY2spe3JldHVybiBmdW5jdGlvbihlbGVtKXt2YXIgcmVzdWx0PVNpenpsZS5hdHRyKGVsZW0sbmFtZSk7cmV0dXJuIG51bGw9PXJlc3VsdD9cIiE9XCI9PT1vcGVyYXRvcjpvcGVyYXRvcj8ocmVzdWx0Kz1cIlwiLFwiPVwiPT09b3BlcmF0b3I/cmVzdWx0PT09Y2hlY2s6XCIhPVwiPT09b3BlcmF0b3I/cmVzdWx0IT09Y2hlY2s6XCJePVwiPT09b3BlcmF0b3I/Y2hlY2smJjA9PT1yZXN1bHQuaW5kZXhPZihjaGVjayk6XCIqPVwiPT09b3BlcmF0b3I/Y2hlY2smJnJlc3VsdC5pbmRleE9mKGNoZWNrKT4tMTpcIiQ9XCI9PT1vcGVyYXRvcj9jaGVjayYmcmVzdWx0LnNsaWNlKC1jaGVjay5sZW5ndGgpPT09Y2hlY2s6XCJ+PVwiPT09b3BlcmF0b3I/KFwiIFwiK3Jlc3VsdC5yZXBsYWNlKHJ3aGl0ZXNwYWNlLFwiIFwiKStcIiBcIikuaW5kZXhPZihjaGVjayk+LTE6XCJ8PVwiPT09b3BlcmF0b3I/cmVzdWx0PT09Y2hlY2t8fHJlc3VsdC5zbGljZSgwLGNoZWNrLmxlbmd0aCsxKT09PWNoZWNrK1wiLVwiOiExKTohMH19LENISUxEOmZ1bmN0aW9uKHR5cGUsd2hhdCxhcmd1bWVudCxmaXJzdCxsYXN0KXt2YXIgc2ltcGxlPVwibnRoXCIhPT10eXBlLnNsaWNlKDAsMyksZm9yd2FyZD1cImxhc3RcIiE9PXR5cGUuc2xpY2UoLTQpLG9mVHlwZT1cIm9mLXR5cGVcIj09PXdoYXQ7cmV0dXJuIDE9PT1maXJzdCYmMD09PWxhc3Q/ZnVuY3Rpb24oZWxlbSl7cmV0dXJuISFlbGVtLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGVsZW0sY29udGV4dCx4bWwpe3ZhciBjYWNoZSxvdXRlckNhY2hlLG5vZGUsZGlmZixub2RlSW5kZXgsc3RhcnQsZGlyPXNpbXBsZSE9PWZvcndhcmQ/XCJuZXh0U2libGluZ1wiOlwicHJldmlvdXNTaWJsaW5nXCIscGFyZW50PWVsZW0ucGFyZW50Tm9kZSxuYW1lPW9mVHlwZSYmZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHVzZUNhY2hlPSF4bWwmJiFvZlR5cGU7aWYocGFyZW50KXtpZihzaW1wbGUpe2Zvcig7ZGlyOyl7Zm9yKG5vZGU9ZWxlbTtub2RlPW5vZGVbZGlyXTspaWYob2ZUeXBlP25vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PW5hbWU6MT09PW5vZGUubm9kZVR5cGUpcmV0dXJuITE7c3RhcnQ9ZGlyPVwib25seVwiPT09dHlwZSYmIXN0YXJ0JiZcIm5leHRTaWJsaW5nXCJ9cmV0dXJuITB9aWYoc3RhcnQ9W2ZvcndhcmQ/cGFyZW50LmZpcnN0Q2hpbGQ6cGFyZW50Lmxhc3RDaGlsZF0sZm9yd2FyZCYmdXNlQ2FjaGUpe2ZvcihvdXRlckNhY2hlPXBhcmVudFtleHBhbmRvXXx8KHBhcmVudFtleHBhbmRvXT17fSksY2FjaGU9b3V0ZXJDYWNoZVt0eXBlXXx8W10sbm9kZUluZGV4PWNhY2hlWzBdPT09ZGlycnVucyYmY2FjaGVbMV0sZGlmZj1jYWNoZVswXT09PWRpcnJ1bnMmJmNhY2hlWzJdLG5vZGU9bm9kZUluZGV4JiZwYXJlbnQuY2hpbGROb2Rlc1tub2RlSW5kZXhdO25vZGU9Kytub2RlSW5kZXgmJm5vZGUmJm5vZGVbZGlyXXx8KGRpZmY9bm9kZUluZGV4PTApfHxzdGFydC5wb3AoKTspaWYoMT09PW5vZGUubm9kZVR5cGUmJisrZGlmZiYmbm9kZT09PWVsZW0pe291dGVyQ2FjaGVbdHlwZV09W2RpcnJ1bnMsbm9kZUluZGV4LGRpZmZdO2JyZWFrfX1lbHNlIGlmKHVzZUNhY2hlJiYoY2FjaGU9KGVsZW1bZXhwYW5kb118fChlbGVtW2V4cGFuZG9dPXt9KSlbdHlwZV0pJiZjYWNoZVswXT09PWRpcnJ1bnMpZGlmZj1jYWNoZVsxXTtlbHNlIGZvcig7KG5vZGU9Kytub2RlSW5kZXgmJm5vZGUmJm5vZGVbZGlyXXx8KGRpZmY9bm9kZUluZGV4PTApfHxzdGFydC5wb3AoKSkmJigob2ZUeXBlP25vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PW5hbWU6MSE9PW5vZGUubm9kZVR5cGUpfHwhKytkaWZmfHwodXNlQ2FjaGUmJigobm9kZVtleHBhbmRvXXx8KG5vZGVbZXhwYW5kb109e30pKVt0eXBlXT1bZGlycnVucyxkaWZmXSksbm9kZSE9PWVsZW0pKTspO3JldHVybiBkaWZmLT1sYXN0LGRpZmY9PT1maXJzdHx8ZGlmZiVmaXJzdD09PTAmJmRpZmYvZmlyc3Q+PTB9fX0sUFNFVURPOmZ1bmN0aW9uKHBzZXVkbyxhcmd1bWVudCl7dmFyIGFyZ3MsZm49RXhwci5wc2V1ZG9zW3BzZXVkb118fEV4cHIuc2V0RmlsdGVyc1twc2V1ZG8udG9Mb3dlckNhc2UoKV18fFNpenpsZS5lcnJvcihcInVuc3VwcG9ydGVkIHBzZXVkbzogXCIrcHNldWRvKTtyZXR1cm4gZm5bZXhwYW5kb10/Zm4oYXJndW1lbnQpOmZuLmxlbmd0aD4xPyhhcmdzPVtwc2V1ZG8scHNldWRvLFwiXCIsYXJndW1lbnRdLEV4cHIuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eShwc2V1ZG8udG9Mb3dlckNhc2UoKSk/bWFya0Z1bmN0aW9uKGZ1bmN0aW9uKHNlZWQsbWF0Y2hlcyl7Zm9yKHZhciBpZHgsbWF0Y2hlZD1mbihzZWVkLGFyZ3VtZW50KSxpPW1hdGNoZWQubGVuZ3RoO2ktLTspaWR4PWluZGV4T2Yoc2VlZCxtYXRjaGVkW2ldKSxzZWVkW2lkeF09IShtYXRjaGVzW2lkeF09bWF0Y2hlZFtpXSl9KTpmdW5jdGlvbihlbGVtKXtyZXR1cm4gZm4oZWxlbSwwLGFyZ3MpfSk6Zm59fSxwc2V1ZG9zOntub3Q6bWFya0Z1bmN0aW9uKGZ1bmN0aW9uKHNlbGVjdG9yKXt2YXIgaW5wdXQ9W10scmVzdWx0cz1bXSxtYXRjaGVyPWNvbXBpbGUoc2VsZWN0b3IucmVwbGFjZShydHJpbSxcIiQxXCIpKTtyZXR1cm4gbWF0Y2hlcltleHBhbmRvXT9tYXJrRnVuY3Rpb24oZnVuY3Rpb24oc2VlZCxtYXRjaGVzLGNvbnRleHQseG1sKXtmb3IodmFyIGVsZW0sdW5tYXRjaGVkPW1hdGNoZXIoc2VlZCxudWxsLHhtbCxbXSksaT1zZWVkLmxlbmd0aDtpLS07KShlbGVtPXVubWF0Y2hlZFtpXSkmJihzZWVkW2ldPSEobWF0Y2hlc1tpXT1lbGVtKSl9KTpmdW5jdGlvbihlbGVtLGNvbnRleHQseG1sKXtyZXR1cm4gaW5wdXRbMF09ZWxlbSxtYXRjaGVyKGlucHV0LG51bGwseG1sLHJlc3VsdHMpLGlucHV0WzBdPW51bGwsIXJlc3VsdHMucG9wKCl9fSksaGFzOm1hcmtGdW5jdGlvbihmdW5jdGlvbihzZWxlY3Rvcil7cmV0dXJuIGZ1bmN0aW9uKGVsZW0pe3JldHVybiBTaXp6bGUoc2VsZWN0b3IsZWxlbSkubGVuZ3RoPjB9fSksY29udGFpbnM6bWFya0Z1bmN0aW9uKGZ1bmN0aW9uKHRleHQpe3JldHVybiB0ZXh0PXRleHQucmVwbGFjZShydW5lc2NhcGUsZnVuZXNjYXBlKSxmdW5jdGlvbihlbGVtKXtyZXR1cm4oZWxlbS50ZXh0Q29udGVudHx8ZWxlbS5pbm5lclRleHR8fGdldFRleHQoZWxlbSkpLmluZGV4T2YodGV4dCk+LTF9fSksbGFuZzptYXJrRnVuY3Rpb24oZnVuY3Rpb24obGFuZyl7cmV0dXJuIHJpZGVudGlmaWVyLnRlc3QobGFuZ3x8XCJcIil8fFNpenpsZS5lcnJvcihcInVuc3VwcG9ydGVkIGxhbmc6IFwiK2xhbmcpLGxhbmc9bGFuZy5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oZWxlbSl7dmFyIGVsZW1MYW5nO2RvIGlmKGVsZW1MYW5nPWRvY3VtZW50SXNIVE1MP2VsZW0ubGFuZzplbGVtLmdldEF0dHJpYnV0ZShcInhtbDpsYW5nXCIpfHxlbGVtLmdldEF0dHJpYnV0ZShcImxhbmdcIikpcmV0dXJuIGVsZW1MYW5nPWVsZW1MYW5nLnRvTG93ZXJDYXNlKCksZWxlbUxhbmc9PT1sYW5nfHwwPT09ZWxlbUxhbmcuaW5kZXhPZihsYW5nK1wiLVwiKTt3aGlsZSgoZWxlbT1lbGVtLnBhcmVudE5vZGUpJiYxPT09ZWxlbS5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGVsZW0pe3ZhciBoYXNoPXdpbmRvdy5sb2NhdGlvbiYmd2luZG93LmxvY2F0aW9uLmhhc2g7cmV0dXJuIGhhc2gmJmhhc2guc2xpY2UoMSk9PT1lbGVtLmlkfSxyb290OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtPT09ZG9jRWxlbX0sZm9jdXM6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW09PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50JiYoIWRvY3VtZW50Lmhhc0ZvY3VzfHxkb2N1bWVudC5oYXNGb2N1cygpKSYmISEoZWxlbS50eXBlfHxlbGVtLmhyZWZ8fH5lbGVtLnRhYkluZGV4KX0sZW5hYmxlZDpmdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5kaXNhYmxlZD09PSExfSxkaXNhYmxlZDpmdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5kaXNhYmxlZD09PSEwfSxjaGVja2VkOmZ1bmN0aW9uKGVsZW0pe3ZhciBub2RlTmFtZT1lbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCJpbnB1dFwiPT09bm9kZU5hbWUmJiEhZWxlbS5jaGVja2VkfHxcIm9wdGlvblwiPT09bm9kZU5hbWUmJiEhZWxlbS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW0ucGFyZW50Tm9kZSYmZWxlbS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsZWxlbS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihlbGVtKXtmb3IoZWxlbT1lbGVtLmZpcnN0Q2hpbGQ7ZWxlbTtlbGVtPWVsZW0ubmV4dFNpYmxpbmcpaWYoZWxlbS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIUV4cHIucHNldWRvcy5lbXB0eShlbGVtKX0saGVhZGVyOmZ1bmN0aW9uKGVsZW0pe3JldHVybiByaGVhZGVyLnRlc3QoZWxlbS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGVsZW0pe3JldHVybiByaW5wdXRzLnRlc3QoZWxlbS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihlbGVtKXt2YXIgbmFtZT1lbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCJpbnB1dFwiPT09bmFtZSYmXCJidXR0b25cIj09PWVsZW0udHlwZXx8XCJidXR0b25cIj09PW5hbWV9LHRleHQ6ZnVuY3Rpb24oZWxlbSl7dmFyIGF0dHI7cmV0dXJuXCJpbnB1dFwiPT09ZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiZcInRleHRcIj09PWVsZW0udHlwZSYmKG51bGw9PShhdHRyPWVsZW0uZ2V0QXR0cmlidXRlKFwidHlwZVwiKSl8fFwidGV4dFwiPT09YXR0ci50b0xvd2VyQ2FzZSgpKX0sZmlyc3Q6Y3JlYXRlUG9zaXRpb25hbFBzZXVkbyhmdW5jdGlvbigpe3JldHVyblswXX0pLGxhc3Q6Y3JlYXRlUG9zaXRpb25hbFBzZXVkbyhmdW5jdGlvbihtYXRjaEluZGV4ZXMsbGVuZ3RoKXtyZXR1cm5bbGVuZ3RoLTFdfSksZXE6Y3JlYXRlUG9zaXRpb25hbFBzZXVkbyhmdW5jdGlvbihtYXRjaEluZGV4ZXMsbGVuZ3RoLGFyZ3VtZW50KXtyZXR1cm5bMD5hcmd1bWVudD9hcmd1bWVudCtsZW5ndGg6YXJndW1lbnRdfSksZXZlbjpjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKG1hdGNoSW5kZXhlcyxsZW5ndGgpe2Zvcih2YXIgaT0wO2xlbmd0aD5pO2krPTIpbWF0Y2hJbmRleGVzLnB1c2goaSk7cmV0dXJuIG1hdGNoSW5kZXhlc30pLG9kZDpjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKG1hdGNoSW5kZXhlcyxsZW5ndGgpe2Zvcih2YXIgaT0xO2xlbmd0aD5pO2krPTIpbWF0Y2hJbmRleGVzLnB1c2goaSk7cmV0dXJuIG1hdGNoSW5kZXhlc30pLGx0OmNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24obWF0Y2hJbmRleGVzLGxlbmd0aCxhcmd1bWVudCl7Zm9yKHZhciBpPTA+YXJndW1lbnQ/YXJndW1lbnQrbGVuZ3RoOmFyZ3VtZW50Oy0taT49MDspbWF0Y2hJbmRleGVzLnB1c2goaSk7cmV0dXJuIG1hdGNoSW5kZXhlc30pLGd0OmNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24obWF0Y2hJbmRleGVzLGxlbmd0aCxhcmd1bWVudCl7Zm9yKHZhciBpPTA+YXJndW1lbnQ/YXJndW1lbnQrbGVuZ3RoOmFyZ3VtZW50OysraTxsZW5ndGg7KW1hdGNoSW5kZXhlcy5wdXNoKGkpO3JldHVybiBtYXRjaEluZGV4ZXN9KX19LEV4cHIucHNldWRvcy5udGg9RXhwci5wc2V1ZG9zLmVxO2ZvcihpIGlue3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KUV4cHIucHNldWRvc1tpXT1jcmVhdGVJbnB1dFBzZXVkbyhpKTtmb3IoaSBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KUV4cHIucHNldWRvc1tpXT1jcmVhdGVCdXR0b25Qc2V1ZG8oaSk7cmV0dXJuIHNldEZpbHRlcnMucHJvdG90eXBlPUV4cHIuZmlsdGVycz1FeHByLnBzZXVkb3MsRXhwci5zZXRGaWx0ZXJzPW5ldyBzZXRGaWx0ZXJzLHRva2VuaXplPVNpenpsZS50b2tlbml6ZT1mdW5jdGlvbihzZWxlY3RvcixwYXJzZU9ubHkpe3ZhciBtYXRjaGVkLG1hdGNoLHRva2Vucyx0eXBlLHNvRmFyLGdyb3VwcyxwcmVGaWx0ZXJzLGNhY2hlZD10b2tlbkNhY2hlW3NlbGVjdG9yK1wiIFwiXTtpZihjYWNoZWQpcmV0dXJuIHBhcnNlT25seT8wOmNhY2hlZC5zbGljZSgwKTtmb3Ioc29GYXI9c2VsZWN0b3IsZ3JvdXBzPVtdLHByZUZpbHRlcnM9RXhwci5wcmVGaWx0ZXI7c29GYXI7KXsoIW1hdGNoZWR8fChtYXRjaD1yY29tbWEuZXhlYyhzb0ZhcikpKSYmKG1hdGNoJiYoc29GYXI9c29GYXIuc2xpY2UobWF0Y2hbMF0ubGVuZ3RoKXx8c29GYXIpLGdyb3Vwcy5wdXNoKHRva2Vucz1bXSkpLG1hdGNoZWQ9ITEsKG1hdGNoPXJjb21iaW5hdG9ycy5leGVjKHNvRmFyKSkmJihtYXRjaGVkPW1hdGNoLnNoaWZ0KCksdG9rZW5zLnB1c2goe3ZhbHVlOm1hdGNoZWQsdHlwZTptYXRjaFswXS5yZXBsYWNlKHJ0cmltLFwiIFwiKX0pLHNvRmFyPXNvRmFyLnNsaWNlKG1hdGNoZWQubGVuZ3RoKSk7Zm9yKHR5cGUgaW4gRXhwci5maWx0ZXIpIShtYXRjaD1tYXRjaEV4cHJbdHlwZV0uZXhlYyhzb0ZhcikpfHxwcmVGaWx0ZXJzW3R5cGVdJiYhKG1hdGNoPXByZUZpbHRlcnNbdHlwZV0obWF0Y2gpKXx8KG1hdGNoZWQ9bWF0Y2guc2hpZnQoKSx0b2tlbnMucHVzaCh7dmFsdWU6bWF0Y2hlZCx0eXBlOnR5cGUsbWF0Y2hlczptYXRjaH0pLHNvRmFyPXNvRmFyLnNsaWNlKG1hdGNoZWQubGVuZ3RoKSk7aWYoIW1hdGNoZWQpYnJlYWt9cmV0dXJuIHBhcnNlT25seT9zb0Zhci5sZW5ndGg6c29GYXI/U2l6emxlLmVycm9yKHNlbGVjdG9yKTp0b2tlbkNhY2hlKHNlbGVjdG9yLGdyb3Vwcykuc2xpY2UoMCl9LGNvbXBpbGU9U2l6emxlLmNvbXBpbGU9ZnVuY3Rpb24oc2VsZWN0b3IsbWF0Y2gpe3ZhciBpLHNldE1hdGNoZXJzPVtdLGVsZW1lbnRNYXRjaGVycz1bXSxjYWNoZWQ9Y29tcGlsZXJDYWNoZVtzZWxlY3RvcitcIiBcIl07aWYoIWNhY2hlZCl7Zm9yKG1hdGNofHwobWF0Y2g9dG9rZW5pemUoc2VsZWN0b3IpKSxpPW1hdGNoLmxlbmd0aDtpLS07KWNhY2hlZD1tYXRjaGVyRnJvbVRva2VucyhtYXRjaFtpXSksY2FjaGVkW2V4cGFuZG9dP3NldE1hdGNoZXJzLnB1c2goY2FjaGVkKTplbGVtZW50TWF0Y2hlcnMucHVzaChjYWNoZWQpO2NhY2hlZD1jb21waWxlckNhY2hlKHNlbGVjdG9yLG1hdGNoZXJGcm9tR3JvdXBNYXRjaGVycyhlbGVtZW50TWF0Y2hlcnMsc2V0TWF0Y2hlcnMpKSxjYWNoZWQuc2VsZWN0b3I9c2VsZWN0b3J9cmV0dXJuIGNhY2hlZH0sc2VsZWN0PVNpenpsZS5zZWxlY3Q9ZnVuY3Rpb24oc2VsZWN0b3IsY29udGV4dCxyZXN1bHRzLHNlZWQpe3ZhciBpLHRva2Vucyx0b2tlbix0eXBlLGZpbmQsY29tcGlsZWQ9XCJmdW5jdGlvblwiPT10eXBlb2Ygc2VsZWN0b3ImJnNlbGVjdG9yLG1hdGNoPSFzZWVkJiZ0b2tlbml6ZShzZWxlY3Rvcj1jb21waWxlZC5zZWxlY3Rvcnx8c2VsZWN0b3IpO2lmKHJlc3VsdHM9cmVzdWx0c3x8W10sMT09PW1hdGNoLmxlbmd0aCl7aWYodG9rZW5zPW1hdGNoWzBdPW1hdGNoWzBdLnNsaWNlKDApLHRva2Vucy5sZW5ndGg+MiYmXCJJRFwiPT09KHRva2VuPXRva2Vuc1swXSkudHlwZSYmc3VwcG9ydC5nZXRCeUlkJiY5PT09Y29udGV4dC5ub2RlVHlwZSYmZG9jdW1lbnRJc0hUTUwmJkV4cHIucmVsYXRpdmVbdG9rZW5zWzFdLnR5cGVdKXtpZihjb250ZXh0PShFeHByLmZpbmQuSUQodG9rZW4ubWF0Y2hlc1swXS5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpLGNvbnRleHQpfHxbXSlbMF0sIWNvbnRleHQpcmV0dXJuIHJlc3VsdHM7Y29tcGlsZWQmJihjb250ZXh0PWNvbnRleHQucGFyZW50Tm9kZSksc2VsZWN0b3I9c2VsZWN0b3Iuc2xpY2UodG9rZW5zLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1mb3IoaT1tYXRjaEV4cHIubmVlZHNDb250ZXh0LnRlc3Qoc2VsZWN0b3IpPzA6dG9rZW5zLmxlbmd0aDtpLS0mJih0b2tlbj10b2tlbnNbaV0sIUV4cHIucmVsYXRpdmVbdHlwZT10b2tlbi50eXBlXSk7KWlmKChmaW5kPUV4cHIuZmluZFt0eXBlXSkmJihzZWVkPWZpbmQodG9rZW4ubWF0Y2hlc1swXS5yZXBsYWNlKHJ1bmVzY2FwZSxmdW5lc2NhcGUpLHJzaWJsaW5nLnRlc3QodG9rZW5zWzBdLnR5cGUpJiZ0ZXN0Q29udGV4dChjb250ZXh0LnBhcmVudE5vZGUpfHxjb250ZXh0KSkpe2lmKHRva2Vucy5zcGxpY2UoaSwxKSxzZWxlY3Rvcj1zZWVkLmxlbmd0aCYmdG9TZWxlY3Rvcih0b2tlbnMpLCFzZWxlY3RvcilyZXR1cm4gcHVzaC5hcHBseShyZXN1bHRzLHNlZWQpLHJlc3VsdHM7YnJlYWt9fXJldHVybihjb21waWxlZHx8Y29tcGlsZShzZWxlY3RvcixtYXRjaCkpKHNlZWQsY29udGV4dCwhZG9jdW1lbnRJc0hUTUwscmVzdWx0cyxyc2libGluZy50ZXN0KHNlbGVjdG9yKSYmdGVzdENvbnRleHQoY29udGV4dC5wYXJlbnROb2RlKXx8Y29udGV4dCkscmVzdWx0c30sc3VwcG9ydC5zb3J0U3RhYmxlPWV4cGFuZG8uc3BsaXQoXCJcIikuc29ydChzb3J0T3JkZXIpLmpvaW4oXCJcIik9PT1leHBhbmRvLHN1cHBvcnQuZGV0ZWN0RHVwbGljYXRlcz0hIWhhc0R1cGxpY2F0ZSxzZXREb2N1bWVudCgpLHN1cHBvcnQuc29ydERldGFjaGVkPWFzc2VydChmdW5jdGlvbihkaXYxKXtyZXR1cm4gMSZkaXYxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpfSksYXNzZXJ0KGZ1bmN0aW9uKGRpdil7cmV0dXJuIGRpdi5pbm5lckhUTUw9XCI8YSBocmVmPScjJz48L2E+XCIsXCIjXCI9PT1kaXYuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoXCJocmVmXCIpfSl8fGFkZEhhbmRsZShcInR5cGV8aHJlZnxoZWlnaHR8d2lkdGhcIixmdW5jdGlvbihlbGVtLG5hbWUsaXNYTUwpe3JldHVybiBpc1hNTD92b2lkIDA6ZWxlbS5nZXRBdHRyaWJ1dGUobmFtZSxcInR5cGVcIj09PW5hbWUudG9Mb3dlckNhc2UoKT8xOjIpfSksc3VwcG9ydC5hdHRyaWJ1dGVzJiZhc3NlcnQoZnVuY3Rpb24oZGl2KXtyZXR1cm4gZGl2LmlubmVySFRNTD1cIjxpbnB1dC8+XCIsZGl2LmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKFwidmFsdWVcIixcIlwiKSxcIlwiPT09ZGl2LmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKFwidmFsdWVcIil9KXx8YWRkSGFuZGxlKFwidmFsdWVcIixmdW5jdGlvbihlbGVtLG5hbWUsaXNYTUwpe3JldHVybiBpc1hNTHx8XCJpbnB1dFwiIT09ZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpP3ZvaWQgMDplbGVtLmRlZmF1bHRWYWx1ZX0pLGFzc2VydChmdW5jdGlvbihkaXYpe3JldHVybiBudWxsPT1kaXYuZ2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIil9KXx8YWRkSGFuZGxlKGJvb2xlYW5zLGZ1bmN0aW9uKGVsZW0sbmFtZSxpc1hNTCl7dmFyIHZhbDtyZXR1cm4gaXNYTUw/dm9pZCAwOmVsZW1bbmFtZV09PT0hMD9uYW1lLnRvTG93ZXJDYXNlKCk6KHZhbD1lbGVtLmdldEF0dHJpYnV0ZU5vZGUobmFtZSkpJiZ2YWwuc3BlY2lmaWVkP3ZhbC52YWx1ZTpudWxsfSksU2l6emxlfSh3aW5kb3cpO2pRdWVyeS5maW5kPVNpenpsZSxqUXVlcnkuZXhwcj1TaXp6bGUuc2VsZWN0b3JzLGpRdWVyeS5leHByW1wiOlwiXT1qUXVlcnkuZXhwci5wc2V1ZG9zLGpRdWVyeS51bmlxdWU9U2l6emxlLnVuaXF1ZVNvcnQsalF1ZXJ5LnRleHQ9U2l6emxlLmdldFRleHQsalF1ZXJ5LmlzWE1MRG9jPVNpenpsZS5pc1hNTCxqUXVlcnkuY29udGFpbnM9U2l6emxlLmNvbnRhaW5zO3ZhciBybmVlZHNDb250ZXh0PWpRdWVyeS5leHByLm1hdGNoLm5lZWRzQ29udGV4dCxyc2luZ2xlVGFnPS9ePChcXHcrKVxccypcXC8/Pig/OjxcXC9cXDE+fCkkLyxyaXNTaW1wbGU9L14uW146I1xcW1xcLixdKiQvO2pRdWVyeS5maWx0ZXI9ZnVuY3Rpb24oZXhwcixlbGVtcyxub3Qpe3ZhciBlbGVtPWVsZW1zWzBdO3JldHVybiBub3QmJihleHByPVwiOm5vdChcIitleHByK1wiKVwiKSwxPT09ZWxlbXMubGVuZ3RoJiYxPT09ZWxlbS5ub2RlVHlwZT9qUXVlcnkuZmluZC5tYXRjaGVzU2VsZWN0b3IoZWxlbSxleHByKT9bZWxlbV06W106alF1ZXJ5LmZpbmQubWF0Y2hlcyhleHByLGpRdWVyeS5ncmVwKGVsZW1zLGZ1bmN0aW9uKGVsZW0pe3JldHVybiAxPT09ZWxlbS5ub2RlVHlwZX0pKX0salF1ZXJ5LmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihzZWxlY3Rvcil7dmFyIGkscmV0PVtdLHNlbGY9dGhpcyxsZW49c2VsZi5sZW5ndGg7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIHNlbGVjdG9yKXJldHVybiB0aGlzLnB1c2hTdGFjayhqUXVlcnkoc2VsZWN0b3IpLmZpbHRlcihmdW5jdGlvbigpe2ZvcihpPTA7bGVuPmk7aSsrKWlmKGpRdWVyeS5jb250YWlucyhzZWxmW2ldLHRoaXMpKXJldHVybiEwfSkpO2ZvcihpPTA7bGVuPmk7aSsrKWpRdWVyeS5maW5kKHNlbGVjdG9yLHNlbGZbaV0scmV0KTtyZXR1cm4gcmV0PXRoaXMucHVzaFN0YWNrKGxlbj4xP2pRdWVyeS51bmlxdWUocmV0KTpyZXQpLHJldC5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yP3RoaXMuc2VsZWN0b3IrXCIgXCIrc2VsZWN0b3I6c2VsZWN0b3IscmV0fSxmaWx0ZXI6ZnVuY3Rpb24oc2VsZWN0b3Ipe3JldHVybiB0aGlzLnB1c2hTdGFjayh3aW5ub3codGhpcyxzZWxlY3Rvcnx8W10sITEpKX0sbm90OmZ1bmN0aW9uKHNlbGVjdG9yKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sod2lubm93KHRoaXMsc2VsZWN0b3J8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKHNlbGVjdG9yKXtyZXR1cm4hIXdpbm5vdyh0aGlzLFwic3RyaW5nXCI9PXR5cGVvZiBzZWxlY3RvciYmcm5lZWRzQ29udGV4dC50ZXN0KHNlbGVjdG9yKT9qUXVlcnkoc2VsZWN0b3IpOnNlbGVjdG9yfHxbXSwhMSkubGVuZ3RofX0pO3ZhciByb290alF1ZXJ5LGRvY3VtZW50PXdpbmRvdy5kb2N1bWVudCxycXVpY2tFeHByPS9eKD86XFxzKig8W1xcd1xcV10rPilbXj5dKnwjKFtcXHctXSopKSQvLGluaXQ9alF1ZXJ5LmZuLmluaXQ9ZnVuY3Rpb24oc2VsZWN0b3IsY29udGV4dCl7dmFyIG1hdGNoLGVsZW07aWYoIXNlbGVjdG9yKXJldHVybiB0aGlzO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBzZWxlY3Rvcil7aWYobWF0Y2g9XCI8XCI9PT1zZWxlY3Rvci5jaGFyQXQoMCkmJlwiPlwiPT09c2VsZWN0b3IuY2hhckF0KHNlbGVjdG9yLmxlbmd0aC0xKSYmc2VsZWN0b3IubGVuZ3RoPj0zP1tudWxsLHNlbGVjdG9yLG51bGxdOnJxdWlja0V4cHIuZXhlYyhzZWxlY3RvciksIW1hdGNofHwhbWF0Y2hbMV0mJmNvbnRleHQpcmV0dXJuIWNvbnRleHR8fGNvbnRleHQuanF1ZXJ5Pyhjb250ZXh0fHxyb290alF1ZXJ5KS5maW5kKHNlbGVjdG9yKTp0aGlzLmNvbnN0cnVjdG9yKGNvbnRleHQpLmZpbmQoc2VsZWN0b3IpO2lmKG1hdGNoWzFdKXtpZihjb250ZXh0PWNvbnRleHQgaW5zdGFuY2VvZiBqUXVlcnk/Y29udGV4dFswXTpjb250ZXh0LGpRdWVyeS5tZXJnZSh0aGlzLGpRdWVyeS5wYXJzZUhUTUwobWF0Y2hbMV0sY29udGV4dCYmY29udGV4dC5ub2RlVHlwZT9jb250ZXh0Lm93bmVyRG9jdW1lbnR8fGNvbnRleHQ6ZG9jdW1lbnQsITApKSxyc2luZ2xlVGFnLnRlc3QobWF0Y2hbMV0pJiZqUXVlcnkuaXNQbGFpbk9iamVjdChjb250ZXh0KSlmb3IobWF0Y2ggaW4gY29udGV4dClqUXVlcnkuaXNGdW5jdGlvbih0aGlzW21hdGNoXSk/dGhpc1ttYXRjaF0oY29udGV4dFttYXRjaF0pOnRoaXMuYXR0cihtYXRjaCxjb250ZXh0W21hdGNoXSk7cmV0dXJuIHRoaXN9aWYoZWxlbT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChtYXRjaFsyXSksZWxlbSYmZWxlbS5wYXJlbnROb2RlKXtpZihlbGVtLmlkIT09bWF0Y2hbMl0pcmV0dXJuIHJvb3RqUXVlcnkuZmluZChzZWxlY3Rvcik7dGhpcy5sZW5ndGg9MSx0aGlzWzBdPWVsZW19cmV0dXJuIHRoaXMuY29udGV4dD1kb2N1bWVudCx0aGlzLnNlbGVjdG9yPXNlbGVjdG9yLHRoaXN9cmV0dXJuIHNlbGVjdG9yLm5vZGVUeXBlPyh0aGlzLmNvbnRleHQ9dGhpc1swXT1zZWxlY3Rvcix0aGlzLmxlbmd0aD0xLHRoaXMpOmpRdWVyeS5pc0Z1bmN0aW9uKHNlbGVjdG9yKT9cInVuZGVmaW5lZFwiIT10eXBlb2Ygcm9vdGpRdWVyeS5yZWFkeT9yb290alF1ZXJ5LnJlYWR5KHNlbGVjdG9yKTpzZWxlY3RvcihqUXVlcnkpOih2b2lkIDAhPT1zZWxlY3Rvci5zZWxlY3RvciYmKHRoaXMuc2VsZWN0b3I9c2VsZWN0b3Iuc2VsZWN0b3IsdGhpcy5jb250ZXh0PXNlbGVjdG9yLmNvbnRleHQpLGpRdWVyeS5tYWtlQXJyYXkoc2VsZWN0b3IsdGhpcykpfTtpbml0LnByb3RvdHlwZT1qUXVlcnkuZm4scm9vdGpRdWVyeT1qUXVlcnkoZG9jdW1lbnQpO3ZhciBycGFyZW50c3ByZXY9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sZ3VhcmFudGVlZFVuaXF1ZT17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtqUXVlcnkuZXh0ZW5kKHtkaXI6ZnVuY3Rpb24oZWxlbSxkaXIsdW50aWwpe2Zvcih2YXIgbWF0Y2hlZD1bXSxjdXI9ZWxlbVtkaXJdO2N1ciYmOSE9PWN1ci5ub2RlVHlwZSYmKHZvaWQgMD09PXVudGlsfHwxIT09Y3VyLm5vZGVUeXBlfHwhalF1ZXJ5KGN1cikuaXModW50aWwpKTspMT09PWN1ci5ub2RlVHlwZSYmbWF0Y2hlZC5wdXNoKGN1ciksY3VyPWN1cltkaXJdO3JldHVybiBtYXRjaGVkfSxzaWJsaW5nOmZ1bmN0aW9uKG4sZWxlbSl7Zm9yKHZhciByPVtdO247bj1uLm5leHRTaWJsaW5nKTE9PT1uLm5vZGVUeXBlJiZuIT09ZWxlbSYmci5wdXNoKG4pO3JldHVybiByfX0pLGpRdWVyeS5mbi5leHRlbmQoe2hhczpmdW5jdGlvbih0YXJnZXQpe3ZhciBpLHRhcmdldHM9alF1ZXJ5KHRhcmdldCx0aGlzKSxsZW49dGFyZ2V0cy5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKGk9MDtsZW4+aTtpKyspaWYoalF1ZXJ5LmNvbnRhaW5zKHRoaXMsdGFyZ2V0c1tpXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihzZWxlY3RvcnMsY29udGV4dCl7Zm9yKHZhciBjdXIsaT0wLGw9dGhpcy5sZW5ndGgsbWF0Y2hlZD1bXSxwb3M9cm5lZWRzQ29udGV4dC50ZXN0KHNlbGVjdG9ycyl8fFwic3RyaW5nXCIhPXR5cGVvZiBzZWxlY3RvcnM/alF1ZXJ5KHNlbGVjdG9ycyxjb250ZXh0fHx0aGlzLmNvbnRleHQpOjA7bD5pO2krKylmb3IoY3VyPXRoaXNbaV07Y3VyJiZjdXIhPT1jb250ZXh0O2N1cj1jdXIucGFyZW50Tm9kZSlpZihjdXIubm9kZVR5cGU8MTEmJihwb3M/cG9zLmluZGV4KGN1cik+LTE6MT09PWN1ci5ub2RlVHlwZSYmalF1ZXJ5LmZpbmQubWF0Y2hlc1NlbGVjdG9yKGN1cixzZWxlY3RvcnMpKSl7bWF0Y2hlZC5wdXNoKGN1cik7YnJlYWt9cmV0dXJuIHRoaXMucHVzaFN0YWNrKG1hdGNoZWQubGVuZ3RoPjE/alF1ZXJ5LnVuaXF1ZShtYXRjaGVkKTptYXRjaGVkKX0saW5kZXg6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGVsZW0/XCJzdHJpbmdcIj09dHlwZW9mIGVsZW0/alF1ZXJ5LmluQXJyYXkodGhpc1swXSxqUXVlcnkoZWxlbSkpOmpRdWVyeS5pbkFycmF5KGVsZW0uanF1ZXJ5P2VsZW1bMF06ZWxlbSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihzZWxlY3Rvcixjb250ZXh0KXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soalF1ZXJ5LnVuaXF1ZShqUXVlcnkubWVyZ2UodGhpcy5nZXQoKSxqUXVlcnkoc2VsZWN0b3IsY29udGV4dCkpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oc2VsZWN0b3Ipe3JldHVybiB0aGlzLmFkZChudWxsPT1zZWxlY3Rvcj90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihzZWxlY3RvcikpfX0pLGpRdWVyeS5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZWxlbSl7dmFyIHBhcmVudD1lbGVtLnBhcmVudE5vZGU7cmV0dXJuIHBhcmVudCYmMTEhPT1wYXJlbnQubm9kZVR5cGU/cGFyZW50Om51bGx9LHBhcmVudHM6ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGpRdWVyeS5kaXIoZWxlbSxcInBhcmVudE5vZGVcIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlbGVtLGksdW50aWwpe3JldHVybiBqUXVlcnkuZGlyKGVsZW0sXCJwYXJlbnROb2RlXCIsdW50aWwpfSxuZXh0OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBzaWJsaW5nKGVsZW0sXCJuZXh0U2libGluZ1wiKX0scHJldjpmdW5jdGlvbihlbGVtKXtyZXR1cm4gc2libGluZyhlbGVtLFwicHJldmlvdXNTaWJsaW5nXCIpfSxuZXh0QWxsOmZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkuZGlyKGVsZW0sXCJuZXh0U2libGluZ1wiKX0scHJldkFsbDpmdW5jdGlvbihlbGVtKXtyZXR1cm4galF1ZXJ5LmRpcihlbGVtLFwicHJldmlvdXNTaWJsaW5nXCIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZWxlbSxpLHVudGlsKXtyZXR1cm4galF1ZXJ5LmRpcihlbGVtLFwibmV4dFNpYmxpbmdcIix1bnRpbCl9LHByZXZVbnRpbDpmdW5jdGlvbihlbGVtLGksdW50aWwpe3JldHVybiBqUXVlcnkuZGlyKGVsZW0sXCJwcmV2aW91c1NpYmxpbmdcIix1bnRpbCl9LHNpYmxpbmdzOmZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkuc2libGluZygoZWxlbS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxlbGVtKX0sY2hpbGRyZW46ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIGpRdWVyeS5zaWJsaW5nKGVsZW0uZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkubm9kZU5hbWUoZWxlbSxcImlmcmFtZVwiKT9lbGVtLmNvbnRlbnREb2N1bWVudHx8ZWxlbS5jb250ZW50V2luZG93LmRvY3VtZW50OmpRdWVyeS5tZXJnZShbXSxlbGVtLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24obmFtZSxmbil7alF1ZXJ5LmZuW25hbWVdPWZ1bmN0aW9uKHVudGlsLHNlbGVjdG9yKXt2YXIgcmV0PWpRdWVyeS5tYXAodGhpcyxmbix1bnRpbCk7cmV0dXJuXCJVbnRpbFwiIT09bmFtZS5zbGljZSgtNSkmJihzZWxlY3Rvcj11bnRpbCksc2VsZWN0b3ImJlwic3RyaW5nXCI9PXR5cGVvZiBzZWxlY3RvciYmKHJldD1qUXVlcnkuZmlsdGVyKHNlbGVjdG9yLHJldCkpLHRoaXMubGVuZ3RoPjEmJihndWFyYW50ZWVkVW5pcXVlW25hbWVdfHwocmV0PWpRdWVyeS51bmlxdWUocmV0KSkscnBhcmVudHNwcmV2LnRlc3QobmFtZSkmJihyZXQ9cmV0LnJldmVyc2UoKSkpLHRoaXMucHVzaFN0YWNrKHJldCl9fSk7dmFyIHJub3R3aGl0ZT0vXFxTKy9nLG9wdGlvbnNDYWNoZT17fTtqUXVlcnkuQ2FsbGJhY2tzPWZ1bmN0aW9uKG9wdGlvbnMpe29wdGlvbnM9XCJzdHJpbmdcIj09dHlwZW9mIG9wdGlvbnM/b3B0aW9uc0NhY2hlW29wdGlvbnNdfHxjcmVhdGVPcHRpb25zKG9wdGlvbnMpOmpRdWVyeS5leHRlbmQoe30sb3B0aW9ucyk7dmFyIGZpcmluZyxtZW1vcnksZmlyZWQsZmlyaW5nTGVuZ3RoLGZpcmluZ0luZGV4LGZpcmluZ1N0YXJ0LGxpc3Q9W10sc3RhY2s9IW9wdGlvbnMub25jZSYmW10sZmlyZT1mdW5jdGlvbihkYXRhKXtmb3IobWVtb3J5PW9wdGlvbnMubWVtb3J5JiZkYXRhLGZpcmVkPSEwLGZpcmluZ0luZGV4PWZpcmluZ1N0YXJ0fHwwLGZpcmluZ1N0YXJ0PTAsZmlyaW5nTGVuZ3RoPWxpc3QubGVuZ3RoLGZpcmluZz0hMDtsaXN0JiZmaXJpbmdMZW5ndGg+ZmlyaW5nSW5kZXg7ZmlyaW5nSW5kZXgrKylpZihsaXN0W2ZpcmluZ0luZGV4XS5hcHBseShkYXRhWzBdLGRhdGFbMV0pPT09ITEmJm9wdGlvbnMuc3RvcE9uRmFsc2Upe21lbW9yeT0hMTticmVha31maXJpbmc9ITEsbGlzdCYmKHN0YWNrP3N0YWNrLmxlbmd0aCYmZmlyZShzdGFjay5zaGlmdCgpKTptZW1vcnk/bGlzdD1bXTpzZWxmLmRpc2FibGUoKSl9LHNlbGY9e2FkZDpmdW5jdGlvbigpe2lmKGxpc3Qpe3ZhciBzdGFydD1saXN0Lmxlbmd0aDshZnVuY3Rpb24gYWRkKGFyZ3Mpe2pRdWVyeS5lYWNoKGFyZ3MsZnVuY3Rpb24oXyxhcmcpe3ZhciB0eXBlPWpRdWVyeS50eXBlKGFyZyk7XCJmdW5jdGlvblwiPT09dHlwZT9vcHRpb25zLnVuaXF1ZSYmc2VsZi5oYXMoYXJnKXx8bGlzdC5wdXNoKGFyZyk6YXJnJiZhcmcubGVuZ3RoJiZcInN0cmluZ1wiIT09dHlwZSYmYWRkKGFyZyl9KX0oYXJndW1lbnRzKSxmaXJpbmc/ZmlyaW5nTGVuZ3RoPWxpc3QubGVuZ3RoOm1lbW9yeSYmKGZpcmluZ1N0YXJ0PXN0YXJ0LGZpcmUobWVtb3J5KSl9cmV0dXJuIHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBsaXN0JiZqUXVlcnkuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oXyxhcmcpe2Zvcih2YXIgaW5kZXg7KGluZGV4PWpRdWVyeS5pbkFycmF5KGFyZyxsaXN0LGluZGV4KSk+LTE7KWxpc3Quc3BsaWNlKGluZGV4LDEpLGZpcmluZyYmKGZpcmluZ0xlbmd0aD49aW5kZXgmJmZpcmluZ0xlbmd0aC0tLGZpcmluZ0luZGV4Pj1pbmRleCYmZmlyaW5nSW5kZXgtLSl9KSx0aGlzfSxoYXM6ZnVuY3Rpb24oZm4pe3JldHVybiBmbj9qUXVlcnkuaW5BcnJheShmbixsaXN0KT4tMTohKCFsaXN0fHwhbGlzdC5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBsaXN0PVtdLGZpcmluZ0xlbmd0aD0wLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gbGlzdD1zdGFjaz1tZW1vcnk9dm9pZCAwLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIWxpc3R9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gc3RhY2s9dm9pZCAwLG1lbW9yeXx8c2VsZi5kaXNhYmxlKCksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuIXN0YWNrfSxmaXJlV2l0aDpmdW5jdGlvbihjb250ZXh0LGFyZ3Mpe3JldHVybiFsaXN0fHxmaXJlZCYmIXN0YWNrfHwoYXJncz1hcmdzfHxbXSxhcmdzPVtjb250ZXh0LGFyZ3Muc2xpY2U/YXJncy5zbGljZSgpOmFyZ3NdLGZpcmluZz9zdGFjay5wdXNoKGFyZ3MpOmZpcmUoYXJncykpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gc2VsZi5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWZpcmVkfX07cmV0dXJuIHNlbGZ9LGpRdWVyeS5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKGZ1bmMpe3ZhciB0dXBsZXM9W1tcInJlc29sdmVcIixcImRvbmVcIixqUXVlcnkuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksXCJyZXNvbHZlZFwiXSxbXCJyZWplY3RcIixcImZhaWxcIixqUXVlcnkuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksXCJyZWplY3RlZFwiXSxbXCJub3RpZnlcIixcInByb2dyZXNzXCIsalF1ZXJ5LkNhbGxiYWNrcyhcIm1lbW9yeVwiKV1dLHN0YXRlPVwicGVuZGluZ1wiLHByb21pc2U9e3N0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHN0YXRlfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gZGVmZXJyZWQuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSx0aGVuOmZ1bmN0aW9uKCl7dmFyIGZucz1hcmd1bWVudHM7cmV0dXJuIGpRdWVyeS5EZWZlcnJlZChmdW5jdGlvbihuZXdEZWZlcil7alF1ZXJ5LmVhY2godHVwbGVzLGZ1bmN0aW9uKGksdHVwbGUpe3ZhciBmbj1qUXVlcnkuaXNGdW5jdGlvbihmbnNbaV0pJiZmbnNbaV07ZGVmZXJyZWRbdHVwbGVbMV1dKGZ1bmN0aW9uKCl7dmFyIHJldHVybmVkPWZuJiZmbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuZWQmJmpRdWVyeS5pc0Z1bmN0aW9uKHJldHVybmVkLnByb21pc2UpP3JldHVybmVkLnByb21pc2UoKS5kb25lKG5ld0RlZmVyLnJlc29sdmUpLmZhaWwobmV3RGVmZXIucmVqZWN0KS5wcm9ncmVzcyhuZXdEZWZlci5ub3RpZnkpOm5ld0RlZmVyW3R1cGxlWzBdK1wiV2l0aFwiXSh0aGlzPT09cHJvbWlzZT9uZXdEZWZlci5wcm9taXNlKCk6dGhpcyxmbj9bcmV0dXJuZWRdOmFyZ3VtZW50cyl9KX0pLGZucz1udWxsfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKG9iail7cmV0dXJuIG51bGwhPW9iaj9qUXVlcnkuZXh0ZW5kKG9iaixwcm9taXNlKTpwcm9taXNlfX0sZGVmZXJyZWQ9e307cmV0dXJuIHByb21pc2UucGlwZT1wcm9taXNlLnRoZW4salF1ZXJ5LmVhY2godHVwbGVzLGZ1bmN0aW9uKGksdHVwbGUpe3ZhciBsaXN0PXR1cGxlWzJdLHN0YXRlU3RyaW5nPXR1cGxlWzNdO3Byb21pc2VbdHVwbGVbMV1dPWxpc3QuYWRkLHN0YXRlU3RyaW5nJiZsaXN0LmFkZChmdW5jdGlvbigpe3N0YXRlPXN0YXRlU3RyaW5nfSx0dXBsZXNbMV5pXVsyXS5kaXNhYmxlLHR1cGxlc1syXVsyXS5sb2NrKSxkZWZlcnJlZFt0dXBsZVswXV09ZnVuY3Rpb24oKXtyZXR1cm4gZGVmZXJyZWRbdHVwbGVbMF0rXCJXaXRoXCJdKHRoaXM9PT1kZWZlcnJlZD9wcm9taXNlOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxkZWZlcnJlZFt0dXBsZVswXStcIldpdGhcIl09bGlzdC5maXJlV2l0aH0pLHByb21pc2UucHJvbWlzZShkZWZlcnJlZCksZnVuYyYmZnVuYy5jYWxsKGRlZmVycmVkLGRlZmVycmVkKSxkZWZlcnJlZH0sd2hlbjpmdW5jdGlvbihzdWJvcmRpbmF0ZSl7dmFyIHByb2dyZXNzVmFsdWVzLHByb2dyZXNzQ29udGV4dHMscmVzb2x2ZUNvbnRleHRzLGk9MCxyZXNvbHZlVmFsdWVzPXNsaWNlLmNhbGwoYXJndW1lbnRzKSxsZW5ndGg9cmVzb2x2ZVZhbHVlcy5sZW5ndGgscmVtYWluaW5nPTEhPT1sZW5ndGh8fHN1Ym9yZGluYXRlJiZqUXVlcnkuaXNGdW5jdGlvbihzdWJvcmRpbmF0ZS5wcm9taXNlKT9sZW5ndGg6MCxkZWZlcnJlZD0xPT09cmVtYWluaW5nP3N1Ym9yZGluYXRlOmpRdWVyeS5EZWZlcnJlZCgpLHVwZGF0ZUZ1bmM9ZnVuY3Rpb24oaSxjb250ZXh0cyx2YWx1ZXMpe3JldHVybiBmdW5jdGlvbih2YWx1ZSl7Y29udGV4dHNbaV09dGhpcyx2YWx1ZXNbaV09YXJndW1lbnRzLmxlbmd0aD4xP3NsaWNlLmNhbGwoYXJndW1lbnRzKTp2YWx1ZSx2YWx1ZXM9PT1wcm9ncmVzc1ZhbHVlcz9kZWZlcnJlZC5ub3RpZnlXaXRoKGNvbnRleHRzLHZhbHVlcyk6LS1yZW1haW5pbmd8fGRlZmVycmVkLnJlc29sdmVXaXRoKGNvbnRleHRzLHZhbHVlcyl9fTtpZihsZW5ndGg+MSlmb3IocHJvZ3Jlc3NWYWx1ZXM9bmV3IEFycmF5KGxlbmd0aCkscHJvZ3Jlc3NDb250ZXh0cz1uZXcgQXJyYXkobGVuZ3RoKSxyZXNvbHZlQ29udGV4dHM9bmV3IEFycmF5KGxlbmd0aCk7bGVuZ3RoPmk7aSsrKXJlc29sdmVWYWx1ZXNbaV0mJmpRdWVyeS5pc0Z1bmN0aW9uKHJlc29sdmVWYWx1ZXNbaV0ucHJvbWlzZSk/cmVzb2x2ZVZhbHVlc1tpXS5wcm9taXNlKCkuZG9uZSh1cGRhdGVGdW5jKGkscmVzb2x2ZUNvbnRleHRzLHJlc29sdmVWYWx1ZXMpKS5mYWlsKGRlZmVycmVkLnJlamVjdCkucHJvZ3Jlc3ModXBkYXRlRnVuYyhpLHByb2dyZXNzQ29udGV4dHMscHJvZ3Jlc3NWYWx1ZXMpKTotLXJlbWFpbmluZztyZXR1cm4gcmVtYWluaW5nfHxkZWZlcnJlZC5yZXNvbHZlV2l0aChyZXNvbHZlQ29udGV4dHMscmVzb2x2ZVZhbHVlcyksZGVmZXJyZWQucHJvbWlzZSgpfX0pO3ZhciByZWFkeUxpc3Q7alF1ZXJ5LmZuLnJlYWR5PWZ1bmN0aW9uKGZuKXtyZXR1cm4galF1ZXJ5LnJlYWR5LnByb21pc2UoKS5kb25lKGZuKSx0aGlzfSxqUXVlcnkuZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihob2xkKXtob2xkP2pRdWVyeS5yZWFkeVdhaXQrKzpqUXVlcnkucmVhZHkoITApfSxyZWFkeTpmdW5jdGlvbih3YWl0KXtpZih3YWl0PT09ITA/IS0talF1ZXJ5LnJlYWR5V2FpdDohalF1ZXJ5LmlzUmVhZHkpe2lmKCFkb2N1bWVudC5ib2R5KXJldHVybiBzZXRUaW1lb3V0KGpRdWVyeS5yZWFkeSk7alF1ZXJ5LmlzUmVhZHk9ITAsd2FpdCE9PSEwJiYtLWpRdWVyeS5yZWFkeVdhaXQ+MHx8KHJlYWR5TGlzdC5yZXNvbHZlV2l0aChkb2N1bWVudCxbalF1ZXJ5XSksalF1ZXJ5LmZuLnRyaWdnZXJIYW5kbGVyJiYoalF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VySGFuZGxlcihcInJlYWR5XCIpLGpRdWVyeShkb2N1bWVudCkub2ZmKFwicmVhZHlcIikpKX19fSksalF1ZXJ5LnJlYWR5LnByb21pc2U9ZnVuY3Rpb24ob2JqKXtpZighcmVhZHlMaXN0KWlmKHJlYWR5TGlzdD1qUXVlcnkuRGVmZXJyZWQoKSxcImNvbXBsZXRlXCI9PT1kb2N1bWVudC5yZWFkeVN0YXRlKXNldFRpbWVvdXQoalF1ZXJ5LnJlYWR5KTtlbHNlIGlmKGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIpZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIkRPTUNvbnRlbnRMb2FkZWRcIixjb21wbGV0ZWQsITEpLFxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsY29tcGxldGVkLCExKTtlbHNle2RvY3VtZW50LmF0dGFjaEV2ZW50KFwib25yZWFkeXN0YXRlY2hhbmdlXCIsY29tcGxldGVkKSx3aW5kb3cuYXR0YWNoRXZlbnQoXCJvbmxvYWRcIixjb21wbGV0ZWQpO3ZhciB0b3A9ITE7dHJ5e3RvcD1udWxsPT13aW5kb3cuZnJhbWVFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR9Y2F0Y2goZSl7fXRvcCYmdG9wLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZG9TY3JvbGxDaGVjaygpe2lmKCFqUXVlcnkuaXNSZWFkeSl7dHJ5e3RvcC5kb1Njcm9sbChcImxlZnRcIil9Y2F0Y2goZSl7cmV0dXJuIHNldFRpbWVvdXQoZG9TY3JvbGxDaGVjayw1MCl9ZGV0YWNoKCksalF1ZXJ5LnJlYWR5KCl9fSgpfXJldHVybiByZWFkeUxpc3QucHJvbWlzZShvYmopfTt2YXIgaSxzdHJ1bmRlZmluZWQ9XCJ1bmRlZmluZWRcIjtmb3IoaSBpbiBqUXVlcnkoc3VwcG9ydCkpYnJlYWs7c3VwcG9ydC5vd25MYXN0PVwiMFwiIT09aSxzdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQ9ITEsalF1ZXJ5KGZ1bmN0aW9uKCl7dmFyIHZhbCxkaXYsYm9keSxjb250YWluZXI7Ym9keT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImJvZHlcIilbMF0sYm9keSYmYm9keS5zdHlsZSYmKGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGNvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGNvbnRhaW5lci5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHhcIixib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcikuYXBwZW5kQ2hpbGQoZGl2KSx0eXBlb2YgZGl2LnN0eWxlLnpvb20hPT1zdHJ1bmRlZmluZWQmJihkaXYuc3R5bGUuY3NzVGV4dD1cImRpc3BsYXk6aW5saW5lO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjFcIixzdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQ9dmFsPTM9PT1kaXYub2Zmc2V0V2lkdGgsdmFsJiYoYm9keS5zdHlsZS56b29tPTEpKSxib2R5LnJlbW92ZUNoaWxkKGNvbnRhaW5lcikpfSksZnVuY3Rpb24oKXt2YXIgZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7aWYobnVsbD09c3VwcG9ydC5kZWxldGVFeHBhbmRvKXtzdXBwb3J0LmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBkaXYudGVzdH1jYXRjaChlKXtzdXBwb3J0LmRlbGV0ZUV4cGFuZG89ITF9fWRpdj1udWxsfSgpLGpRdWVyeS5hY2NlcHREYXRhPWZ1bmN0aW9uKGVsZW0pe3ZhciBub0RhdGE9alF1ZXJ5Lm5vRGF0YVsoZWxlbS5ub2RlTmFtZStcIiBcIikudG9Mb3dlckNhc2UoKV0sbm9kZVR5cGU9K2VsZW0ubm9kZVR5cGV8fDE7cmV0dXJuIDEhPT1ub2RlVHlwZSYmOSE9PW5vZGVUeXBlPyExOiFub0RhdGF8fG5vRGF0YSE9PSEwJiZlbGVtLmdldEF0dHJpYnV0ZShcImNsYXNzaWRcIik9PT1ub0RhdGF9O3ZhciByYnJhY2U9L14oPzpcXHtbXFx3XFxXXSpcXH18XFxbW1xcd1xcV10qXFxdKSQvLHJtdWx0aURhc2g9LyhbQS1aXSkvZztqUXVlcnkuZXh0ZW5kKHtjYWNoZTp7fSxub0RhdGE6e1wiYXBwbGV0IFwiOiEwLFwiZW1iZWQgXCI6ITAsXCJvYmplY3QgXCI6XCJjbHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDBcIn0saGFzRGF0YTpmdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbT1lbGVtLm5vZGVUeXBlP2pRdWVyeS5jYWNoZVtlbGVtW2pRdWVyeS5leHBhbmRvXV06ZWxlbVtqUXVlcnkuZXhwYW5kb10sISFlbGVtJiYhaXNFbXB0eURhdGFPYmplY3QoZWxlbSl9LGRhdGE6ZnVuY3Rpb24oZWxlbSxuYW1lLGRhdGEpe3JldHVybiBpbnRlcm5hbERhdGEoZWxlbSxuYW1lLGRhdGEpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGVsZW0sbmFtZSl7cmV0dXJuIGludGVybmFsUmVtb3ZlRGF0YShlbGVtLG5hbWUpfSxfZGF0YTpmdW5jdGlvbihlbGVtLG5hbWUsZGF0YSl7cmV0dXJuIGludGVybmFsRGF0YShlbGVtLG5hbWUsZGF0YSwhMCl9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGVsZW0sbmFtZSl7cmV0dXJuIGludGVybmFsUmVtb3ZlRGF0YShlbGVtLG5hbWUsITApfX0pLGpRdWVyeS5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oa2V5LHZhbHVlKXt2YXIgaSxuYW1lLGRhdGEsZWxlbT10aGlzWzBdLGF0dHJzPWVsZW0mJmVsZW0uYXR0cmlidXRlcztpZih2b2lkIDA9PT1rZXkpe2lmKHRoaXMubGVuZ3RoJiYoZGF0YT1qUXVlcnkuZGF0YShlbGVtKSwxPT09ZWxlbS5ub2RlVHlwZSYmIWpRdWVyeS5fZGF0YShlbGVtLFwicGFyc2VkQXR0cnNcIikpKXtmb3IoaT1hdHRycy5sZW5ndGg7aS0tOylhdHRyc1tpXSYmKG5hbWU9YXR0cnNbaV0ubmFtZSwwPT09bmFtZS5pbmRleE9mKFwiZGF0YS1cIikmJihuYW1lPWpRdWVyeS5jYW1lbENhc2UobmFtZS5zbGljZSg1KSksZGF0YUF0dHIoZWxlbSxuYW1lLGRhdGFbbmFtZV0pKSk7alF1ZXJ5Ll9kYXRhKGVsZW0sXCJwYXJzZWRBdHRyc1wiLCEwKX1yZXR1cm4gZGF0YX1yZXR1cm5cIm9iamVjdFwiPT10eXBlb2Yga2V5P3RoaXMuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5kYXRhKHRoaXMsa2V5KX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkuZGF0YSh0aGlzLGtleSx2YWx1ZSl9KTplbGVtP2RhdGFBdHRyKGVsZW0sa2V5LGpRdWVyeS5kYXRhKGVsZW0sa2V5KSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGtleSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5yZW1vdmVEYXRhKHRoaXMsa2V5KX0pfX0pLGpRdWVyeS5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGVsZW0sdHlwZSxkYXRhKXt2YXIgcXVldWU7cmV0dXJuIGVsZW0/KHR5cGU9KHR5cGV8fFwiZnhcIikrXCJxdWV1ZVwiLHF1ZXVlPWpRdWVyeS5fZGF0YShlbGVtLHR5cGUpLGRhdGEmJighcXVldWV8fGpRdWVyeS5pc0FycmF5KGRhdGEpP3F1ZXVlPWpRdWVyeS5fZGF0YShlbGVtLHR5cGUsalF1ZXJ5Lm1ha2VBcnJheShkYXRhKSk6cXVldWUucHVzaChkYXRhKSkscXVldWV8fFtdKTp2b2lkIDB9LGRlcXVldWU6ZnVuY3Rpb24oZWxlbSx0eXBlKXt0eXBlPXR5cGV8fFwiZnhcIjt2YXIgcXVldWU9alF1ZXJ5LnF1ZXVlKGVsZW0sdHlwZSksc3RhcnRMZW5ndGg9cXVldWUubGVuZ3RoLGZuPXF1ZXVlLnNoaWZ0KCksaG9va3M9alF1ZXJ5Ll9xdWV1ZUhvb2tzKGVsZW0sdHlwZSksbmV4dD1mdW5jdGlvbigpe2pRdWVyeS5kZXF1ZXVlKGVsZW0sdHlwZSl9O1wiaW5wcm9ncmVzc1wiPT09Zm4mJihmbj1xdWV1ZS5zaGlmdCgpLHN0YXJ0TGVuZ3RoLS0pLGZuJiYoXCJmeFwiPT09dHlwZSYmcXVldWUudW5zaGlmdChcImlucHJvZ3Jlc3NcIiksZGVsZXRlIGhvb2tzLnN0b3AsZm4uY2FsbChlbGVtLG5leHQsaG9va3MpKSwhc3RhcnRMZW5ndGgmJmhvb2tzJiZob29rcy5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGVsZW0sdHlwZSl7dmFyIGtleT10eXBlK1wicXVldWVIb29rc1wiO3JldHVybiBqUXVlcnkuX2RhdGEoZWxlbSxrZXkpfHxqUXVlcnkuX2RhdGEoZWxlbSxrZXkse2VtcHR5OmpRdWVyeS5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKS5hZGQoZnVuY3Rpb24oKXtqUXVlcnkuX3JlbW92ZURhdGEoZWxlbSx0eXBlK1wicXVldWVcIiksalF1ZXJ5Ll9yZW1vdmVEYXRhKGVsZW0sa2V5KX0pfSl9fSksalF1ZXJ5LmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24odHlwZSxkYXRhKXt2YXIgc2V0dGVyPTI7cmV0dXJuXCJzdHJpbmdcIiE9dHlwZW9mIHR5cGUmJihkYXRhPXR5cGUsdHlwZT1cImZ4XCIsc2V0dGVyLS0pLGFyZ3VtZW50cy5sZW5ndGg8c2V0dGVyP2pRdWVyeS5xdWV1ZSh0aGlzWzBdLHR5cGUpOnZvaWQgMD09PWRhdGE/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgcXVldWU9alF1ZXJ5LnF1ZXVlKHRoaXMsdHlwZSxkYXRhKTtqUXVlcnkuX3F1ZXVlSG9va3ModGhpcyx0eXBlKSxcImZ4XCI9PT10eXBlJiZcImlucHJvZ3Jlc3NcIiE9PXF1ZXVlWzBdJiZqUXVlcnkuZGVxdWV1ZSh0aGlzLHR5cGUpfSl9LGRlcXVldWU6ZnVuY3Rpb24odHlwZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5kZXF1ZXVlKHRoaXMsdHlwZSl9KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbih0eXBlKXtyZXR1cm4gdGhpcy5xdWV1ZSh0eXBlfHxcImZ4XCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKHR5cGUsb2JqKXt2YXIgdG1wLGNvdW50PTEsZGVmZXI9alF1ZXJ5LkRlZmVycmVkKCksZWxlbWVudHM9dGhpcyxpPXRoaXMubGVuZ3RoLHJlc29sdmU9ZnVuY3Rpb24oKXstLWNvdW50fHxkZWZlci5yZXNvbHZlV2l0aChlbGVtZW50cyxbZWxlbWVudHNdKX07Zm9yKFwic3RyaW5nXCIhPXR5cGVvZiB0eXBlJiYob2JqPXR5cGUsdHlwZT12b2lkIDApLHR5cGU9dHlwZXx8XCJmeFwiO2ktLTspdG1wPWpRdWVyeS5fZGF0YShlbGVtZW50c1tpXSx0eXBlK1wicXVldWVIb29rc1wiKSx0bXAmJnRtcC5lbXB0eSYmKGNvdW50KyssdG1wLmVtcHR5LmFkZChyZXNvbHZlKSk7cmV0dXJuIHJlc29sdmUoKSxkZWZlci5wcm9taXNlKG9iail9fSk7dmFyIHBudW09L1srLV0/KD86XFxkKlxcLnwpXFxkKyg/OltlRV1bKy1dP1xcZCt8KS8uc291cmNlLGNzc0V4cGFuZD1bXCJUb3BcIixcIlJpZ2h0XCIsXCJCb3R0b21cIixcIkxlZnRcIl0saXNIaWRkZW49ZnVuY3Rpb24oZWxlbSxlbCl7cmV0dXJuIGVsZW09ZWx8fGVsZW0sXCJub25lXCI9PT1qUXVlcnkuY3NzKGVsZW0sXCJkaXNwbGF5XCIpfHwhalF1ZXJ5LmNvbnRhaW5zKGVsZW0ub3duZXJEb2N1bWVudCxlbGVtKX0sYWNjZXNzPWpRdWVyeS5hY2Nlc3M9ZnVuY3Rpb24oZWxlbXMsZm4sa2V5LHZhbHVlLGNoYWluYWJsZSxlbXB0eUdldCxyYXcpe3ZhciBpPTAsbGVuZ3RoPWVsZW1zLmxlbmd0aCxidWxrPW51bGw9PWtleTtpZihcIm9iamVjdFwiPT09alF1ZXJ5LnR5cGUoa2V5KSl7Y2hhaW5hYmxlPSEwO2ZvcihpIGluIGtleSlqUXVlcnkuYWNjZXNzKGVsZW1zLGZuLGksa2V5W2ldLCEwLGVtcHR5R2V0LHJhdyl9ZWxzZSBpZih2b2lkIDAhPT12YWx1ZSYmKGNoYWluYWJsZT0hMCxqUXVlcnkuaXNGdW5jdGlvbih2YWx1ZSl8fChyYXc9ITApLGJ1bGsmJihyYXc/KGZuLmNhbGwoZWxlbXMsdmFsdWUpLGZuPW51bGwpOihidWxrPWZuLGZuPWZ1bmN0aW9uKGVsZW0sa2V5LHZhbHVlKXtyZXR1cm4gYnVsay5jYWxsKGpRdWVyeShlbGVtKSx2YWx1ZSl9KSksZm4pKWZvcig7bGVuZ3RoPmk7aSsrKWZuKGVsZW1zW2ldLGtleSxyYXc/dmFsdWU6dmFsdWUuY2FsbChlbGVtc1tpXSxpLGZuKGVsZW1zW2ldLGtleSkpKTtyZXR1cm4gY2hhaW5hYmxlP2VsZW1zOmJ1bGs/Zm4uY2FsbChlbGVtcyk6bGVuZ3RoP2ZuKGVsZW1zWzBdLGtleSk6ZW1wdHlHZXR9LHJjaGVja2FibGVUeXBlPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pOyFmdW5jdGlvbigpe3ZhciBpbnB1dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiksZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksZnJhZ21lbnQ9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2lmKGRpdi5pbm5lckhUTUw9XCIgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYSc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz5cIixzdXBwb3J0LmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1kaXYuZmlyc3RDaGlsZC5ub2RlVHlwZSxzdXBwb3J0LnRib2R5PSFkaXYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJ0Ym9keVwiKS5sZW5ndGgsc3VwcG9ydC5odG1sU2VyaWFsaXplPSEhZGl2LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwibGlua1wiKS5sZW5ndGgsc3VwcG9ydC5odG1sNUNsb25lPVwiPDpuYXY+PC86bmF2PlwiIT09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIm5hdlwiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxpbnB1dC50eXBlPVwiY2hlY2tib3hcIixpbnB1dC5jaGVja2VkPSEwLGZyYWdtZW50LmFwcGVuZENoaWxkKGlucHV0KSxzdXBwb3J0LmFwcGVuZENoZWNrZWQ9aW5wdXQuY2hlY2tlZCxkaXYuaW5uZXJIVE1MPVwiPHRleHRhcmVhPng8L3RleHRhcmVhPlwiLHN1cHBvcnQubm9DbG9uZUNoZWNrZWQ9ISFkaXYuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlLGZyYWdtZW50LmFwcGVuZENoaWxkKGRpdiksZGl2LmlubmVySFRNTD1cIjxpbnB1dCB0eXBlPSdyYWRpbycgY2hlY2tlZD0nY2hlY2tlZCcgbmFtZT0ndCcvPlwiLHN1cHBvcnQuY2hlY2tDbG9uZT1kaXYuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLHN1cHBvcnQubm9DbG9uZUV2ZW50PSEwLGRpdi5hdHRhY2hFdmVudCYmKGRpdi5hdHRhY2hFdmVudChcIm9uY2xpY2tcIixmdW5jdGlvbigpe3N1cHBvcnQubm9DbG9uZUV2ZW50PSExfSksZGl2LmNsb25lTm9kZSghMCkuY2xpY2soKSksbnVsbD09c3VwcG9ydC5kZWxldGVFeHBhbmRvKXtzdXBwb3J0LmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBkaXYudGVzdH1jYXRjaChlKXtzdXBwb3J0LmRlbGV0ZUV4cGFuZG89ITF9fX0oKSxmdW5jdGlvbigpe3ZhciBpLGV2ZW50TmFtZSxkaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtmb3IoaSBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWV2ZW50TmFtZT1cIm9uXCIraSwoc3VwcG9ydFtpK1wiQnViYmxlc1wiXT1ldmVudE5hbWUgaW4gd2luZG93KXx8KGRpdi5zZXRBdHRyaWJ1dGUoZXZlbnROYW1lLFwidFwiKSxzdXBwb3J0W2krXCJCdWJibGVzXCJdPWRpdi5hdHRyaWJ1dGVzW2V2ZW50TmFtZV0uZXhwYW5kbz09PSExKTtkaXY9bnVsbH0oKTt2YXIgcmZvcm1FbGVtcz0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2kscmtleUV2ZW50PS9ea2V5LyxybW91c2VFdmVudD0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnUpfGNsaWNrLyxyZm9jdXNNb3JwaD0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8scnR5cGVuYW1lc3BhY2U9L14oW14uXSopKD86XFwuKC4rKXwpJC87alF1ZXJ5LmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGVsZW0sdHlwZXMsaGFuZGxlcixkYXRhLHNlbGVjdG9yKXt2YXIgdG1wLGV2ZW50cyx0LGhhbmRsZU9iakluLHNwZWNpYWwsZXZlbnRIYW5kbGUsaGFuZGxlT2JqLGhhbmRsZXJzLHR5cGUsbmFtZXNwYWNlcyxvcmlnVHlwZSxlbGVtRGF0YT1qUXVlcnkuX2RhdGEoZWxlbSk7aWYoZWxlbURhdGEpe2ZvcihoYW5kbGVyLmhhbmRsZXImJihoYW5kbGVPYmpJbj1oYW5kbGVyLGhhbmRsZXI9aGFuZGxlT2JqSW4uaGFuZGxlcixzZWxlY3Rvcj1oYW5kbGVPYmpJbi5zZWxlY3RvciksaGFuZGxlci5ndWlkfHwoaGFuZGxlci5ndWlkPWpRdWVyeS5ndWlkKyspLChldmVudHM9ZWxlbURhdGEuZXZlbnRzKXx8KGV2ZW50cz1lbGVtRGF0YS5ldmVudHM9e30pLChldmVudEhhbmRsZT1lbGVtRGF0YS5oYW5kbGUpfHwoZXZlbnRIYW5kbGU9ZWxlbURhdGEuaGFuZGxlPWZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgalF1ZXJ5PT09c3RydW5kZWZpbmVkfHxlJiZqUXVlcnkuZXZlbnQudHJpZ2dlcmVkPT09ZS50eXBlP3ZvaWQgMDpqUXVlcnkuZXZlbnQuZGlzcGF0Y2guYXBwbHkoZXZlbnRIYW5kbGUuZWxlbSxhcmd1bWVudHMpfSxldmVudEhhbmRsZS5lbGVtPWVsZW0pLHR5cGVzPSh0eXBlc3x8XCJcIikubWF0Y2gocm5vdHdoaXRlKXx8W1wiXCJdLHQ9dHlwZXMubGVuZ3RoO3QtLTspdG1wPXJ0eXBlbmFtZXNwYWNlLmV4ZWModHlwZXNbdF0pfHxbXSx0eXBlPW9yaWdUeXBlPXRtcFsxXSxuYW1lc3BhY2VzPSh0bXBbMl18fFwiXCIpLnNwbGl0KFwiLlwiKS5zb3J0KCksdHlwZSYmKHNwZWNpYWw9alF1ZXJ5LmV2ZW50LnNwZWNpYWxbdHlwZV18fHt9LHR5cGU9KHNlbGVjdG9yP3NwZWNpYWwuZGVsZWdhdGVUeXBlOnNwZWNpYWwuYmluZFR5cGUpfHx0eXBlLHNwZWNpYWw9alF1ZXJ5LmV2ZW50LnNwZWNpYWxbdHlwZV18fHt9LGhhbmRsZU9iaj1qUXVlcnkuZXh0ZW5kKHt0eXBlOnR5cGUsb3JpZ1R5cGU6b3JpZ1R5cGUsZGF0YTpkYXRhLGhhbmRsZXI6aGFuZGxlcixndWlkOmhhbmRsZXIuZ3VpZCxzZWxlY3RvcjpzZWxlY3RvcixuZWVkc0NvbnRleHQ6c2VsZWN0b3ImJmpRdWVyeS5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KHNlbGVjdG9yKSxuYW1lc3BhY2U6bmFtZXNwYWNlcy5qb2luKFwiLlwiKX0saGFuZGxlT2JqSW4pLChoYW5kbGVycz1ldmVudHNbdHlwZV0pfHwoaGFuZGxlcnM9ZXZlbnRzW3R5cGVdPVtdLGhhbmRsZXJzLmRlbGVnYXRlQ291bnQ9MCxzcGVjaWFsLnNldHVwJiZzcGVjaWFsLnNldHVwLmNhbGwoZWxlbSxkYXRhLG5hbWVzcGFjZXMsZXZlbnRIYW5kbGUpIT09ITF8fChlbGVtLmFkZEV2ZW50TGlzdGVuZXI/ZWxlbS5hZGRFdmVudExpc3RlbmVyKHR5cGUsZXZlbnRIYW5kbGUsITEpOmVsZW0uYXR0YWNoRXZlbnQmJmVsZW0uYXR0YWNoRXZlbnQoXCJvblwiK3R5cGUsZXZlbnRIYW5kbGUpKSksc3BlY2lhbC5hZGQmJihzcGVjaWFsLmFkZC5jYWxsKGVsZW0saGFuZGxlT2JqKSxoYW5kbGVPYmouaGFuZGxlci5ndWlkfHwoaGFuZGxlT2JqLmhhbmRsZXIuZ3VpZD1oYW5kbGVyLmd1aWQpKSxzZWxlY3Rvcj9oYW5kbGVycy5zcGxpY2UoaGFuZGxlcnMuZGVsZWdhdGVDb3VudCsrLDAsaGFuZGxlT2JqKTpoYW5kbGVycy5wdXNoKGhhbmRsZU9iaiksalF1ZXJ5LmV2ZW50Lmdsb2JhbFt0eXBlXT0hMCk7ZWxlbT1udWxsfX0scmVtb3ZlOmZ1bmN0aW9uKGVsZW0sdHlwZXMsaGFuZGxlcixzZWxlY3RvcixtYXBwZWRUeXBlcyl7dmFyIGosaGFuZGxlT2JqLHRtcCxvcmlnQ291bnQsdCxldmVudHMsc3BlY2lhbCxoYW5kbGVycyx0eXBlLG5hbWVzcGFjZXMsb3JpZ1R5cGUsZWxlbURhdGE9alF1ZXJ5Lmhhc0RhdGEoZWxlbSkmJmpRdWVyeS5fZGF0YShlbGVtKTtpZihlbGVtRGF0YSYmKGV2ZW50cz1lbGVtRGF0YS5ldmVudHMpKXtmb3IodHlwZXM9KHR5cGVzfHxcIlwiKS5tYXRjaChybm90d2hpdGUpfHxbXCJcIl0sdD10eXBlcy5sZW5ndGg7dC0tOylpZih0bXA9cnR5cGVuYW1lc3BhY2UuZXhlYyh0eXBlc1t0XSl8fFtdLHR5cGU9b3JpZ1R5cGU9dG1wWzFdLG5hbWVzcGFjZXM9KHRtcFsyXXx8XCJcIikuc3BsaXQoXCIuXCIpLnNvcnQoKSx0eXBlKXtmb3Ioc3BlY2lhbD1qUXVlcnkuZXZlbnQuc3BlY2lhbFt0eXBlXXx8e30sdHlwZT0oc2VsZWN0b3I/c3BlY2lhbC5kZWxlZ2F0ZVR5cGU6c3BlY2lhbC5iaW5kVHlwZSl8fHR5cGUsaGFuZGxlcnM9ZXZlbnRzW3R5cGVdfHxbXSx0bXA9dG1wWzJdJiZuZXcgUmVnRXhwKFwiKF58XFxcXC4pXCIrbmFtZXNwYWNlcy5qb2luKFwiXFxcXC4oPzouKlxcXFwufClcIikrXCIoXFxcXC58JClcIiksb3JpZ0NvdW50PWo9aGFuZGxlcnMubGVuZ3RoO2otLTspaGFuZGxlT2JqPWhhbmRsZXJzW2pdLCFtYXBwZWRUeXBlcyYmb3JpZ1R5cGUhPT1oYW5kbGVPYmoub3JpZ1R5cGV8fGhhbmRsZXImJmhhbmRsZXIuZ3VpZCE9PWhhbmRsZU9iai5ndWlkfHx0bXAmJiF0bXAudGVzdChoYW5kbGVPYmoubmFtZXNwYWNlKXx8c2VsZWN0b3ImJnNlbGVjdG9yIT09aGFuZGxlT2JqLnNlbGVjdG9yJiYoXCIqKlwiIT09c2VsZWN0b3J8fCFoYW5kbGVPYmouc2VsZWN0b3IpfHwoaGFuZGxlcnMuc3BsaWNlKGosMSksaGFuZGxlT2JqLnNlbGVjdG9yJiZoYW5kbGVycy5kZWxlZ2F0ZUNvdW50LS0sc3BlY2lhbC5yZW1vdmUmJnNwZWNpYWwucmVtb3ZlLmNhbGwoZWxlbSxoYW5kbGVPYmopKTtvcmlnQ291bnQmJiFoYW5kbGVycy5sZW5ndGgmJihzcGVjaWFsLnRlYXJkb3duJiZzcGVjaWFsLnRlYXJkb3duLmNhbGwoZWxlbSxuYW1lc3BhY2VzLGVsZW1EYXRhLmhhbmRsZSkhPT0hMXx8alF1ZXJ5LnJlbW92ZUV2ZW50KGVsZW0sdHlwZSxlbGVtRGF0YS5oYW5kbGUpLGRlbGV0ZSBldmVudHNbdHlwZV0pfWVsc2UgZm9yKHR5cGUgaW4gZXZlbnRzKWpRdWVyeS5ldmVudC5yZW1vdmUoZWxlbSx0eXBlK3R5cGVzW3RdLGhhbmRsZXIsc2VsZWN0b3IsITApO2pRdWVyeS5pc0VtcHR5T2JqZWN0KGV2ZW50cykmJihkZWxldGUgZWxlbURhdGEuaGFuZGxlLGpRdWVyeS5fcmVtb3ZlRGF0YShlbGVtLFwiZXZlbnRzXCIpKX19LHRyaWdnZXI6ZnVuY3Rpb24oZXZlbnQsZGF0YSxlbGVtLG9ubHlIYW5kbGVycyl7dmFyIGhhbmRsZSxvbnR5cGUsY3VyLGJ1YmJsZVR5cGUsc3BlY2lhbCx0bXAsaSxldmVudFBhdGg9W2VsZW18fGRvY3VtZW50XSx0eXBlPWhhc093bi5jYWxsKGV2ZW50LFwidHlwZVwiKT9ldmVudC50eXBlOmV2ZW50LG5hbWVzcGFjZXM9aGFzT3duLmNhbGwoZXZlbnQsXCJuYW1lc3BhY2VcIik/ZXZlbnQubmFtZXNwYWNlLnNwbGl0KFwiLlwiKTpbXTtpZihjdXI9dG1wPWVsZW09ZWxlbXx8ZG9jdW1lbnQsMyE9PWVsZW0ubm9kZVR5cGUmJjghPT1lbGVtLm5vZGVUeXBlJiYhcmZvY3VzTW9ycGgudGVzdCh0eXBlK2pRdWVyeS5ldmVudC50cmlnZ2VyZWQpJiYodHlwZS5pbmRleE9mKFwiLlwiKT49MCYmKG5hbWVzcGFjZXM9dHlwZS5zcGxpdChcIi5cIiksdHlwZT1uYW1lc3BhY2VzLnNoaWZ0KCksbmFtZXNwYWNlcy5zb3J0KCkpLG9udHlwZT10eXBlLmluZGV4T2YoXCI6XCIpPDAmJlwib25cIit0eXBlLGV2ZW50PWV2ZW50W2pRdWVyeS5leHBhbmRvXT9ldmVudDpuZXcgalF1ZXJ5LkV2ZW50KHR5cGUsXCJvYmplY3RcIj09dHlwZW9mIGV2ZW50JiZldmVudCksZXZlbnQuaXNUcmlnZ2VyPW9ubHlIYW5kbGVycz8yOjMsZXZlbnQubmFtZXNwYWNlPW5hbWVzcGFjZXMuam9pbihcIi5cIiksZXZlbnQubmFtZXNwYWNlX3JlPWV2ZW50Lm5hbWVzcGFjZT9uZXcgUmVnRXhwKFwiKF58XFxcXC4pXCIrbmFtZXNwYWNlcy5qb2luKFwiXFxcXC4oPzouKlxcXFwufClcIikrXCIoXFxcXC58JClcIik6bnVsbCxldmVudC5yZXN1bHQ9dm9pZCAwLGV2ZW50LnRhcmdldHx8KGV2ZW50LnRhcmdldD1lbGVtKSxkYXRhPW51bGw9PWRhdGE/W2V2ZW50XTpqUXVlcnkubWFrZUFycmF5KGRhdGEsW2V2ZW50XSksc3BlY2lhbD1qUXVlcnkuZXZlbnQuc3BlY2lhbFt0eXBlXXx8e30sb25seUhhbmRsZXJzfHwhc3BlY2lhbC50cmlnZ2VyfHxzcGVjaWFsLnRyaWdnZXIuYXBwbHkoZWxlbSxkYXRhKSE9PSExKSl7aWYoIW9ubHlIYW5kbGVycyYmIXNwZWNpYWwubm9CdWJibGUmJiFqUXVlcnkuaXNXaW5kb3coZWxlbSkpe2ZvcihidWJibGVUeXBlPXNwZWNpYWwuZGVsZWdhdGVUeXBlfHx0eXBlLHJmb2N1c01vcnBoLnRlc3QoYnViYmxlVHlwZSt0eXBlKXx8KGN1cj1jdXIucGFyZW50Tm9kZSk7Y3VyO2N1cj1jdXIucGFyZW50Tm9kZSlldmVudFBhdGgucHVzaChjdXIpLHRtcD1jdXI7dG1wPT09KGVsZW0ub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQpJiZldmVudFBhdGgucHVzaCh0bXAuZGVmYXVsdFZpZXd8fHRtcC5wYXJlbnRXaW5kb3d8fHdpbmRvdyl9Zm9yKGk9MDsoY3VyPWV2ZW50UGF0aFtpKytdKSYmIWV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7KWV2ZW50LnR5cGU9aT4xP2J1YmJsZVR5cGU6c3BlY2lhbC5iaW5kVHlwZXx8dHlwZSxoYW5kbGU9KGpRdWVyeS5fZGF0YShjdXIsXCJldmVudHNcIil8fHt9KVtldmVudC50eXBlXSYmalF1ZXJ5Ll9kYXRhKGN1cixcImhhbmRsZVwiKSxoYW5kbGUmJmhhbmRsZS5hcHBseShjdXIsZGF0YSksaGFuZGxlPW9udHlwZSYmY3VyW29udHlwZV0saGFuZGxlJiZoYW5kbGUuYXBwbHkmJmpRdWVyeS5hY2NlcHREYXRhKGN1cikmJihldmVudC5yZXN1bHQ9aGFuZGxlLmFwcGx5KGN1cixkYXRhKSxldmVudC5yZXN1bHQ9PT0hMSYmZXZlbnQucHJldmVudERlZmF1bHQoKSk7aWYoZXZlbnQudHlwZT10eXBlLCFvbmx5SGFuZGxlcnMmJiFldmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmKCFzcGVjaWFsLl9kZWZhdWx0fHxzcGVjaWFsLl9kZWZhdWx0LmFwcGx5KGV2ZW50UGF0aC5wb3AoKSxkYXRhKT09PSExKSYmalF1ZXJ5LmFjY2VwdERhdGEoZWxlbSkmJm9udHlwZSYmZWxlbVt0eXBlXSYmIWpRdWVyeS5pc1dpbmRvdyhlbGVtKSl7dG1wPWVsZW1bb250eXBlXSx0bXAmJihlbGVtW29udHlwZV09bnVsbCksalF1ZXJ5LmV2ZW50LnRyaWdnZXJlZD10eXBlO3RyeXtlbGVtW3R5cGVdKCl9Y2F0Y2goZSl7fWpRdWVyeS5ldmVudC50cmlnZ2VyZWQ9dm9pZCAwLHRtcCYmKGVsZW1bb250eXBlXT10bXApfXJldHVybiBldmVudC5yZXN1bHR9fSxkaXNwYXRjaDpmdW5jdGlvbihldmVudCl7ZXZlbnQ9alF1ZXJ5LmV2ZW50LmZpeChldmVudCk7dmFyIGkscmV0LGhhbmRsZU9iaixtYXRjaGVkLGosaGFuZGxlclF1ZXVlPVtdLGFyZ3M9c2xpY2UuY2FsbChhcmd1bWVudHMpLGhhbmRsZXJzPShqUXVlcnkuX2RhdGEodGhpcyxcImV2ZW50c1wiKXx8e30pW2V2ZW50LnR5cGVdfHxbXSxzcGVjaWFsPWpRdWVyeS5ldmVudC5zcGVjaWFsW2V2ZW50LnR5cGVdfHx7fTtpZihhcmdzWzBdPWV2ZW50LGV2ZW50LmRlbGVnYXRlVGFyZ2V0PXRoaXMsIXNwZWNpYWwucHJlRGlzcGF0Y2h8fHNwZWNpYWwucHJlRGlzcGF0Y2guY2FsbCh0aGlzLGV2ZW50KSE9PSExKXtmb3IoaGFuZGxlclF1ZXVlPWpRdWVyeS5ldmVudC5oYW5kbGVycy5jYWxsKHRoaXMsZXZlbnQsaGFuZGxlcnMpLGk9MDsobWF0Y2hlZD1oYW5kbGVyUXVldWVbaSsrXSkmJiFldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylmb3IoZXZlbnQuY3VycmVudFRhcmdldD1tYXRjaGVkLmVsZW0saj0wOyhoYW5kbGVPYmo9bWF0Y2hlZC5oYW5kbGVyc1tqKytdKSYmIWV2ZW50LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCk7KSghZXZlbnQubmFtZXNwYWNlX3JlfHxldmVudC5uYW1lc3BhY2VfcmUudGVzdChoYW5kbGVPYmoubmFtZXNwYWNlKSkmJihldmVudC5oYW5kbGVPYmo9aGFuZGxlT2JqLGV2ZW50LmRhdGE9aGFuZGxlT2JqLmRhdGEscmV0PSgoalF1ZXJ5LmV2ZW50LnNwZWNpYWxbaGFuZGxlT2JqLm9yaWdUeXBlXXx8e30pLmhhbmRsZXx8aGFuZGxlT2JqLmhhbmRsZXIpLmFwcGx5KG1hdGNoZWQuZWxlbSxhcmdzKSx2b2lkIDAhPT1yZXQmJihldmVudC5yZXN1bHQ9cmV0KT09PSExJiYoZXZlbnQucHJldmVudERlZmF1bHQoKSxldmVudC5zdG9wUHJvcGFnYXRpb24oKSkpO3JldHVybiBzcGVjaWFsLnBvc3REaXNwYXRjaCYmc3BlY2lhbC5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLGV2ZW50KSxldmVudC5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihldmVudCxoYW5kbGVycyl7dmFyIHNlbCxoYW5kbGVPYmosbWF0Y2hlcyxpLGhhbmRsZXJRdWV1ZT1bXSxkZWxlZ2F0ZUNvdW50PWhhbmRsZXJzLmRlbGVnYXRlQ291bnQsY3VyPWV2ZW50LnRhcmdldDtpZihkZWxlZ2F0ZUNvdW50JiZjdXIubm9kZVR5cGUmJighZXZlbnQuYnV0dG9ufHxcImNsaWNrXCIhPT1ldmVudC50eXBlKSlmb3IoO2N1ciE9dGhpcztjdXI9Y3VyLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWN1ci5ub2RlVHlwZSYmKGN1ci5kaXNhYmxlZCE9PSEwfHxcImNsaWNrXCIhPT1ldmVudC50eXBlKSl7Zm9yKG1hdGNoZXM9W10saT0wO2RlbGVnYXRlQ291bnQ+aTtpKyspaGFuZGxlT2JqPWhhbmRsZXJzW2ldLHNlbD1oYW5kbGVPYmouc2VsZWN0b3IrXCIgXCIsdm9pZCAwPT09bWF0Y2hlc1tzZWxdJiYobWF0Y2hlc1tzZWxdPWhhbmRsZU9iai5uZWVkc0NvbnRleHQ/alF1ZXJ5KHNlbCx0aGlzKS5pbmRleChjdXIpPj0wOmpRdWVyeS5maW5kKHNlbCx0aGlzLG51bGwsW2N1cl0pLmxlbmd0aCksbWF0Y2hlc1tzZWxdJiZtYXRjaGVzLnB1c2goaGFuZGxlT2JqKTttYXRjaGVzLmxlbmd0aCYmaGFuZGxlclF1ZXVlLnB1c2goe2VsZW06Y3VyLGhhbmRsZXJzOm1hdGNoZXN9KX1yZXR1cm4gZGVsZWdhdGVDb3VudDxoYW5kbGVycy5sZW5ndGgmJmhhbmRsZXJRdWV1ZS5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6aGFuZGxlcnMuc2xpY2UoZGVsZWdhdGVDb3VudCl9KSxoYW5kbGVyUXVldWV9LGZpeDpmdW5jdGlvbihldmVudCl7aWYoZXZlbnRbalF1ZXJ5LmV4cGFuZG9dKXJldHVybiBldmVudDt2YXIgaSxwcm9wLGNvcHksdHlwZT1ldmVudC50eXBlLG9yaWdpbmFsRXZlbnQ9ZXZlbnQsZml4SG9vaz10aGlzLmZpeEhvb2tzW3R5cGVdO2ZvcihmaXhIb29rfHwodGhpcy5maXhIb29rc1t0eXBlXT1maXhIb29rPXJtb3VzZUV2ZW50LnRlc3QodHlwZSk/dGhpcy5tb3VzZUhvb2tzOnJrZXlFdmVudC50ZXN0KHR5cGUpP3RoaXMua2V5SG9va3M6e30pLGNvcHk9Zml4SG9vay5wcm9wcz90aGlzLnByb3BzLmNvbmNhdChmaXhIb29rLnByb3BzKTp0aGlzLnByb3BzLGV2ZW50PW5ldyBqUXVlcnkuRXZlbnQob3JpZ2luYWxFdmVudCksaT1jb3B5Lmxlbmd0aDtpLS07KXByb3A9Y29weVtpXSxldmVudFtwcm9wXT1vcmlnaW5hbEV2ZW50W3Byb3BdO3JldHVybiBldmVudC50YXJnZXR8fChldmVudC50YXJnZXQ9b3JpZ2luYWxFdmVudC5zcmNFbGVtZW50fHxkb2N1bWVudCksMz09PWV2ZW50LnRhcmdldC5ub2RlVHlwZSYmKGV2ZW50LnRhcmdldD1ldmVudC50YXJnZXQucGFyZW50Tm9kZSksZXZlbnQubWV0YUtleT0hIWV2ZW50Lm1ldGFLZXksZml4SG9vay5maWx0ZXI/Zml4SG9vay5maWx0ZXIoZXZlbnQsb3JpZ2luYWxFdmVudCk6ZXZlbnR9LHByb3BzOlwiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoXCIuc3BsaXQoXCIgXCIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczpcImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGVcIi5zcGxpdChcIiBcIiksZmlsdGVyOmZ1bmN0aW9uKGV2ZW50LG9yaWdpbmFsKXtyZXR1cm4gbnVsbD09ZXZlbnQud2hpY2gmJihldmVudC53aGljaD1udWxsIT1vcmlnaW5hbC5jaGFyQ29kZT9vcmlnaW5hbC5jaGFyQ29kZTpvcmlnaW5hbC5rZXlDb2RlKSxldmVudH19LG1vdXNlSG9va3M6e3Byb3BzOlwiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50XCIuc3BsaXQoXCIgXCIpLGZpbHRlcjpmdW5jdGlvbihldmVudCxvcmlnaW5hbCl7dmFyIGJvZHksZXZlbnREb2MsZG9jLGJ1dHRvbj1vcmlnaW5hbC5idXR0b24sZnJvbUVsZW1lbnQ9b3JpZ2luYWwuZnJvbUVsZW1lbnQ7cmV0dXJuIG51bGw9PWV2ZW50LnBhZ2VYJiZudWxsIT1vcmlnaW5hbC5jbGllbnRYJiYoZXZlbnREb2M9ZXZlbnQudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fGRvY3VtZW50LGRvYz1ldmVudERvYy5kb2N1bWVudEVsZW1lbnQsYm9keT1ldmVudERvYy5ib2R5LGV2ZW50LnBhZ2VYPW9yaWdpbmFsLmNsaWVudFgrKGRvYyYmZG9jLnNjcm9sbExlZnR8fGJvZHkmJmJvZHkuc2Nyb2xsTGVmdHx8MCktKGRvYyYmZG9jLmNsaWVudExlZnR8fGJvZHkmJmJvZHkuY2xpZW50TGVmdHx8MCksZXZlbnQucGFnZVk9b3JpZ2luYWwuY2xpZW50WSsoZG9jJiZkb2Muc2Nyb2xsVG9wfHxib2R5JiZib2R5LnNjcm9sbFRvcHx8MCktKGRvYyYmZG9jLmNsaWVudFRvcHx8Ym9keSYmYm9keS5jbGllbnRUb3B8fDApKSwhZXZlbnQucmVsYXRlZFRhcmdldCYmZnJvbUVsZW1lbnQmJihldmVudC5yZWxhdGVkVGFyZ2V0PWZyb21FbGVtZW50PT09ZXZlbnQudGFyZ2V0P29yaWdpbmFsLnRvRWxlbWVudDpmcm9tRWxlbWVudCksZXZlbnQud2hpY2h8fHZvaWQgMD09PWJ1dHRvbnx8KGV2ZW50LndoaWNoPTEmYnV0dG9uPzE6MiZidXR0b24/Mzo0JmJ1dHRvbj8yOjApLGV2ZW50fX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7aWYodGhpcyE9PXNhZmVBY3RpdmVFbGVtZW50KCkmJnRoaXMuZm9jdXMpdHJ5e3JldHVybiB0aGlzLmZvY3VzKCksITF9Y2F0Y2goZSl7fX0sZGVsZWdhdGVUeXBlOlwiZm9jdXNpblwifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1zYWZlQWN0aXZlRWxlbWVudCgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZTpcImZvY3Vzb3V0XCJ9LGNsaWNrOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeS5ub2RlTmFtZSh0aGlzLFwiaW5wdXRcIikmJlwiY2hlY2tib3hcIj09PXRoaXMudHlwZSYmdGhpcy5jbGljaz8odGhpcy5jbGljaygpLCExKTp2b2lkIDB9LF9kZWZhdWx0OmZ1bmN0aW9uKGV2ZW50KXtyZXR1cm4galF1ZXJ5Lm5vZGVOYW1lKGV2ZW50LnRhcmdldCxcImFcIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihldmVudCl7dm9pZCAwIT09ZXZlbnQucmVzdWx0JiZldmVudC5vcmlnaW5hbEV2ZW50JiYoZXZlbnQub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1ldmVudC5yZXN1bHQpfX19LHNpbXVsYXRlOmZ1bmN0aW9uKHR5cGUsZWxlbSxldmVudCxidWJibGUpe3ZhciBlPWpRdWVyeS5leHRlbmQobmV3IGpRdWVyeS5FdmVudCxldmVudCx7dHlwZTp0eXBlLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtidWJibGU/alF1ZXJ5LmV2ZW50LnRyaWdnZXIoZSxudWxsLGVsZW0pOmpRdWVyeS5ldmVudC5kaXNwYXRjaC5jYWxsKGVsZW0sZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmZXZlbnQucHJldmVudERlZmF1bHQoKX19LGpRdWVyeS5yZW1vdmVFdmVudD1kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyP2Z1bmN0aW9uKGVsZW0sdHlwZSxoYW5kbGUpe2VsZW0ucmVtb3ZlRXZlbnRMaXN0ZW5lciYmZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsaGFuZGxlLCExKX06ZnVuY3Rpb24oZWxlbSx0eXBlLGhhbmRsZSl7dmFyIG5hbWU9XCJvblwiK3R5cGU7ZWxlbS5kZXRhY2hFdmVudCYmKHR5cGVvZiBlbGVtW25hbWVdPT09c3RydW5kZWZpbmVkJiYoZWxlbVtuYW1lXT1udWxsKSxlbGVtLmRldGFjaEV2ZW50KG5hbWUsaGFuZGxlKSl9LGpRdWVyeS5FdmVudD1mdW5jdGlvbihzcmMscHJvcHMpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgalF1ZXJ5LkV2ZW50PyhzcmMmJnNyYy50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9c3JjLHRoaXMudHlwZT1zcmMudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1zcmMuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09c3JjLmRlZmF1bHRQcmV2ZW50ZWQmJnNyYy5yZXR1cm5WYWx1ZT09PSExP3JldHVyblRydWU6cmV0dXJuRmFsc2UpOnRoaXMudHlwZT1zcmMscHJvcHMmJmpRdWVyeS5leHRlbmQodGhpcyxwcm9wcyksdGhpcy50aW1lU3RhbXA9c3JjJiZzcmMudGltZVN0YW1wfHxqUXVlcnkubm93KCksdm9pZCh0aGlzW2pRdWVyeS5leHBhbmRvXT0hMCkpOm5ldyBqUXVlcnkuRXZlbnQoc3JjLHByb3BzKX0salF1ZXJ5LkV2ZW50LnByb3RvdHlwZT17aXNEZWZhdWx0UHJldmVudGVkOnJldHVybkZhbHNlLGlzUHJvcGFnYXRpb25TdG9wcGVkOnJldHVybkZhbHNlLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOnJldHVybkZhbHNlLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPXJldHVyblRydWUsZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOmUucmV0dXJuVmFsdWU9ITEpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1yZXR1cm5UcnVlLGUmJihlLnN0b3BQcm9wYWdhdGlvbiYmZS5zdG9wUHJvcGFnYXRpb24oKSxlLmNhbmNlbEJ1YmJsZT0hMCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPXJldHVyblRydWUsZSYmZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LGpRdWVyeS5lYWNoKHttb3VzZWVudGVyOlwibW91c2VvdmVyXCIsbW91c2VsZWF2ZTpcIm1vdXNlb3V0XCIscG9pbnRlcmVudGVyOlwicG9pbnRlcm92ZXJcIixwb2ludGVybGVhdmU6XCJwb2ludGVyb3V0XCJ9LGZ1bmN0aW9uKG9yaWcsZml4KXtqUXVlcnkuZXZlbnQuc3BlY2lhbFtvcmlnXT17ZGVsZWdhdGVUeXBlOmZpeCxiaW5kVHlwZTpmaXgsaGFuZGxlOmZ1bmN0aW9uKGV2ZW50KXt2YXIgcmV0LHRhcmdldD10aGlzLHJlbGF0ZWQ9ZXZlbnQucmVsYXRlZFRhcmdldCxoYW5kbGVPYmo9ZXZlbnQuaGFuZGxlT2JqO3JldHVybighcmVsYXRlZHx8cmVsYXRlZCE9PXRhcmdldCYmIWpRdWVyeS5jb250YWlucyh0YXJnZXQscmVsYXRlZCkpJiYoZXZlbnQudHlwZT1oYW5kbGVPYmoub3JpZ1R5cGUscmV0PWhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxldmVudC50eXBlPWZpeCkscmV0fX19KSxzdXBwb3J0LnN1Ym1pdEJ1YmJsZXN8fChqUXVlcnkuZXZlbnQuc3BlY2lhbC5zdWJtaXQ9e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeS5ub2RlTmFtZSh0aGlzLFwiZm9ybVwiKT8hMTp2b2lkIGpRdWVyeS5ldmVudC5hZGQodGhpcyxcImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdFwiLGZ1bmN0aW9uKGUpe3ZhciBlbGVtPWUudGFyZ2V0LGZvcm09alF1ZXJ5Lm5vZGVOYW1lKGVsZW0sXCJpbnB1dFwiKXx8alF1ZXJ5Lm5vZGVOYW1lKGVsZW0sXCJidXR0b25cIik/ZWxlbS5mb3JtOnZvaWQgMDtmb3JtJiYhalF1ZXJ5Ll9kYXRhKGZvcm0sXCJzdWJtaXRCdWJibGVzXCIpJiYoalF1ZXJ5LmV2ZW50LmFkZChmb3JtLFwic3VibWl0Ll9zdWJtaXRcIixmdW5jdGlvbihldmVudCl7ZXZlbnQuX3N1Ym1pdF9idWJibGU9ITB9KSxqUXVlcnkuX2RhdGEoZm9ybSxcInN1Ym1pdEJ1YmJsZXNcIiwhMCkpfSl9LHBvc3REaXNwYXRjaDpmdW5jdGlvbihldmVudCl7ZXZlbnQuX3N1Ym1pdF9idWJibGUmJihkZWxldGUgZXZlbnQuX3N1Ym1pdF9idWJibGUsdGhpcy5wYXJlbnROb2RlJiYhZXZlbnQuaXNUcmlnZ2VyJiZqUXVlcnkuZXZlbnQuc2ltdWxhdGUoXCJzdWJtaXRcIix0aGlzLnBhcmVudE5vZGUsZXZlbnQsITApKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtyZXR1cm4galF1ZXJ5Lm5vZGVOYW1lKHRoaXMsXCJmb3JtXCIpPyExOnZvaWQgalF1ZXJ5LmV2ZW50LnJlbW92ZSh0aGlzLFwiLl9zdWJtaXRcIil9fSksc3VwcG9ydC5jaGFuZ2VCdWJibGVzfHwoalF1ZXJ5LmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiByZm9ybUVsZW1zLnRlc3QodGhpcy5ub2RlTmFtZSk/KChcImNoZWNrYm94XCI9PT10aGlzLnR5cGV8fFwicmFkaW9cIj09PXRoaXMudHlwZSkmJihqUXVlcnkuZXZlbnQuYWRkKHRoaXMsXCJwcm9wZXJ0eWNoYW5nZS5fY2hhbmdlXCIsZnVuY3Rpb24oZXZlbnQpe1wiY2hlY2tlZFwiPT09ZXZlbnQub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksalF1ZXJ5LmV2ZW50LmFkZCh0aGlzLFwiY2xpY2suX2NoYW5nZVwiLGZ1bmN0aW9uKGV2ZW50KXt0aGlzLl9qdXN0X2NoYW5nZWQmJiFldmVudC5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLGpRdWVyeS5ldmVudC5zaW11bGF0ZShcImNoYW5nZVwiLHRoaXMsZXZlbnQsITApfSkpLCExKTp2b2lkIGpRdWVyeS5ldmVudC5hZGQodGhpcyxcImJlZm9yZWFjdGl2YXRlLl9jaGFuZ2VcIixmdW5jdGlvbihlKXt2YXIgZWxlbT1lLnRhcmdldDtyZm9ybUVsZW1zLnRlc3QoZWxlbS5ub2RlTmFtZSkmJiFqUXVlcnkuX2RhdGEoZWxlbSxcImNoYW5nZUJ1YmJsZXNcIikmJihqUXVlcnkuZXZlbnQuYWRkKGVsZW0sXCJjaGFuZ2UuX2NoYW5nZVwiLGZ1bmN0aW9uKGV2ZW50KXshdGhpcy5wYXJlbnROb2RlfHxldmVudC5pc1NpbXVsYXRlZHx8ZXZlbnQuaXNUcmlnZ2VyfHxqUXVlcnkuZXZlbnQuc2ltdWxhdGUoXCJjaGFuZ2VcIix0aGlzLnBhcmVudE5vZGUsZXZlbnQsITApfSksalF1ZXJ5Ll9kYXRhKGVsZW0sXCJjaGFuZ2VCdWJibGVzXCIsITApKX0pfSxoYW5kbGU6ZnVuY3Rpb24oZXZlbnQpe3ZhciBlbGVtPWV2ZW50LnRhcmdldDtyZXR1cm4gdGhpcyE9PWVsZW18fGV2ZW50LmlzU2ltdWxhdGVkfHxldmVudC5pc1RyaWdnZXJ8fFwicmFkaW9cIiE9PWVsZW0udHlwZSYmXCJjaGVja2JveFwiIT09ZWxlbS50eXBlP2V2ZW50LmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp2b2lkIDB9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeS5ldmVudC5yZW1vdmUodGhpcyxcIi5fY2hhbmdlXCIpLCFyZm9ybUVsZW1zLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksc3VwcG9ydC5mb2N1c2luQnViYmxlc3x8alF1ZXJ5LmVhY2goe2ZvY3VzOlwiZm9jdXNpblwiLGJsdXI6XCJmb2N1c291dFwifSxmdW5jdGlvbihvcmlnLGZpeCl7dmFyIGhhbmRsZXI9ZnVuY3Rpb24oZXZlbnQpe2pRdWVyeS5ldmVudC5zaW11bGF0ZShmaXgsZXZlbnQudGFyZ2V0LGpRdWVyeS5ldmVudC5maXgoZXZlbnQpLCEwKX07alF1ZXJ5LmV2ZW50LnNwZWNpYWxbZml4XT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZG9jPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxhdHRhY2hlcz1qUXVlcnkuX2RhdGEoZG9jLGZpeCk7YXR0YWNoZXN8fGRvYy5hZGRFdmVudExpc3RlbmVyKG9yaWcsaGFuZGxlciwhMCksalF1ZXJ5Ll9kYXRhKGRvYyxmaXgsKGF0dGFjaGVzfHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgZG9jPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxhdHRhY2hlcz1qUXVlcnkuX2RhdGEoZG9jLGZpeCktMTthdHRhY2hlcz9qUXVlcnkuX2RhdGEoZG9jLGZpeCxhdHRhY2hlcyk6KGRvYy5yZW1vdmVFdmVudExpc3RlbmVyKG9yaWcsaGFuZGxlciwhMCksalF1ZXJ5Ll9yZW1vdmVEYXRhKGRvYyxmaXgpKX19fSksalF1ZXJ5LmZuLmV4dGVuZCh7b246ZnVuY3Rpb24odHlwZXMsc2VsZWN0b3IsZGF0YSxmbixvbmUpe3ZhciB0eXBlLG9yaWdGbjtpZihcIm9iamVjdFwiPT10eXBlb2YgdHlwZXMpe1wic3RyaW5nXCIhPXR5cGVvZiBzZWxlY3RvciYmKGRhdGE9ZGF0YXx8c2VsZWN0b3Isc2VsZWN0b3I9dm9pZCAwKTtmb3IodHlwZSBpbiB0eXBlcyl0aGlzLm9uKHR5cGUsc2VsZWN0b3IsZGF0YSx0eXBlc1t0eXBlXSxvbmUpO3JldHVybiB0aGlzfWlmKG51bGw9PWRhdGEmJm51bGw9PWZuPyhmbj1zZWxlY3RvcixkYXRhPXNlbGVjdG9yPXZvaWQgMCk6bnVsbD09Zm4mJihcInN0cmluZ1wiPT10eXBlb2Ygc2VsZWN0b3I/KGZuPWRhdGEsZGF0YT12b2lkIDApOihmbj1kYXRhLGRhdGE9c2VsZWN0b3Isc2VsZWN0b3I9dm9pZCAwKSksZm49PT0hMSlmbj1yZXR1cm5GYWxzZTtlbHNlIGlmKCFmbilyZXR1cm4gdGhpcztyZXR1cm4gMT09PW9uZSYmKG9yaWdGbj1mbixmbj1mdW5jdGlvbihldmVudCl7cmV0dXJuIGpRdWVyeSgpLm9mZihldmVudCksb3JpZ0ZuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZm4uZ3VpZD1vcmlnRm4uZ3VpZHx8KG9yaWdGbi5ndWlkPWpRdWVyeS5ndWlkKyspKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkuZXZlbnQuYWRkKHRoaXMsdHlwZXMsZm4sZGF0YSxzZWxlY3Rvcil9KX0sb25lOmZ1bmN0aW9uKHR5cGVzLHNlbGVjdG9yLGRhdGEsZm4pe3JldHVybiB0aGlzLm9uKHR5cGVzLHNlbGVjdG9yLGRhdGEsZm4sMSl9LG9mZjpmdW5jdGlvbih0eXBlcyxzZWxlY3Rvcixmbil7dmFyIGhhbmRsZU9iaix0eXBlO2lmKHR5cGVzJiZ0eXBlcy5wcmV2ZW50RGVmYXVsdCYmdHlwZXMuaGFuZGxlT2JqKXJldHVybiBoYW5kbGVPYmo9dHlwZXMuaGFuZGxlT2JqLGpRdWVyeSh0eXBlcy5kZWxlZ2F0ZVRhcmdldCkub2ZmKGhhbmRsZU9iai5uYW1lc3BhY2U/aGFuZGxlT2JqLm9yaWdUeXBlK1wiLlwiK2hhbmRsZU9iai5uYW1lc3BhY2U6aGFuZGxlT2JqLm9yaWdUeXBlLGhhbmRsZU9iai5zZWxlY3RvcixoYW5kbGVPYmouaGFuZGxlciksdGhpcztpZihcIm9iamVjdFwiPT10eXBlb2YgdHlwZXMpe2Zvcih0eXBlIGluIHR5cGVzKXRoaXMub2ZmKHR5cGUsc2VsZWN0b3IsdHlwZXNbdHlwZV0pO3JldHVybiB0aGlzfXJldHVybihzZWxlY3Rvcj09PSExfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBzZWxlY3RvcikmJihmbj1zZWxlY3RvcixzZWxlY3Rvcj12b2lkIDApLGZuPT09ITEmJihmbj1yZXR1cm5GYWxzZSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5LmV2ZW50LnJlbW92ZSh0aGlzLHR5cGVzLGZuLHNlbGVjdG9yKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKHR5cGUsZGF0YSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5ldmVudC50cmlnZ2VyKHR5cGUsZGF0YSx0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbih0eXBlLGRhdGEpe3ZhciBlbGVtPXRoaXNbMF07cmV0dXJuIGVsZW0/alF1ZXJ5LmV2ZW50LnRyaWdnZXIodHlwZSxkYXRhLGVsZW0sITApOnZvaWQgMH19KTt2YXIgbm9kZU5hbWVzPVwiYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlb1wiLHJpbmxpbmVqUXVlcnk9LyBqUXVlcnlcXGQrPVwiKD86bnVsbHxcXGQrKVwiL2cscm5vc2hpbWNhY2hlPW5ldyBSZWdFeHAoXCI8KD86XCIrbm9kZU5hbWVzK1wiKVtcXFxccy8+XVwiLFwiaVwiKSxybGVhZGluZ1doaXRlc3BhY2U9L15cXHMrLyxyeGh0bWxUYWc9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW1xcdzpdKylbXj5dKilcXC8+L2dpLHJ0YWdOYW1lPS88KFtcXHc6XSspLyxydGJvZHk9Lzx0Ym9keS9pLHJodG1sPS88fCYjP1xcdys7Lyxybm9Jbm5lcmh0bWw9LzwoPzpzY3JpcHR8c3R5bGV8bGluaykvaSxyY2hlY2tlZD0vY2hlY2tlZFxccyooPzpbXj1dfD1cXHMqLmNoZWNrZWQuKS9pLHJzY3JpcHRUeXBlPS9eJHxcXC8oPzpqYXZhfGVjbWEpc2NyaXB0L2kscnNjcmlwdFR5cGVNYXNrZWQ9L150cnVlXFwvKC4qKS8scmNsZWFuU2NyaXB0PS9eXFxzKjwhKD86XFxbQ0RBVEFcXFt8LS0pfCg/OlxcXVxcXXwtLSk+XFxzKiQvZyx3cmFwTWFwPXtvcHRpb246WzEsXCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+XCIsXCI8L3NlbGVjdD5cIl0sbGVnZW5kOlsxLFwiPGZpZWxkc2V0PlwiLFwiPC9maWVsZHNldD5cIl0sYXJlYTpbMSxcIjxtYXA+XCIsXCI8L21hcD5cIl0scGFyYW06WzEsXCI8b2JqZWN0PlwiLFwiPC9vYmplY3Q+XCJdLHRoZWFkOlsxLFwiPHRhYmxlPlwiLFwiPC90YWJsZT5cIl0sdHI6WzIsXCI8dGFibGU+PHRib2R5PlwiLFwiPC90Ym9keT48L3RhYmxlPlwiXSxjb2w6WzIsXCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPlwiLFwiPC9jb2xncm91cD48L3RhYmxlPlwiXSx0ZDpbMyxcIjx0YWJsZT48dGJvZHk+PHRyPlwiLFwiPC90cj48L3Rib2R5PjwvdGFibGU+XCJdLF9kZWZhdWx0OnN1cHBvcnQuaHRtbFNlcmlhbGl6ZT9bMCxcIlwiLFwiXCJdOlsxLFwiWDxkaXY+XCIsXCI8L2Rpdj5cIl19LHNhZmVGcmFnbWVudD1jcmVhdGVTYWZlRnJhZ21lbnQoZG9jdW1lbnQpLGZyYWdtZW50RGl2PXNhZmVGcmFnbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKTt3cmFwTWFwLm9wdGdyb3VwPXdyYXBNYXAub3B0aW9uLHdyYXBNYXAudGJvZHk9d3JhcE1hcC50Zm9vdD13cmFwTWFwLmNvbGdyb3VwPXdyYXBNYXAuY2FwdGlvbj13cmFwTWFwLnRoZWFkLHdyYXBNYXAudGg9d3JhcE1hcC50ZCxqUXVlcnkuZXh0ZW5kKHtjbG9uZTpmdW5jdGlvbihlbGVtLGRhdGFBbmRFdmVudHMsZGVlcERhdGFBbmRFdmVudHMpe3ZhciBkZXN0RWxlbWVudHMsbm9kZSxjbG9uZSxpLHNyY0VsZW1lbnRzLGluUGFnZT1qUXVlcnkuY29udGFpbnMoZWxlbS5vd25lckRvY3VtZW50LGVsZW0pO2lmKHN1cHBvcnQuaHRtbDVDbG9uZXx8alF1ZXJ5LmlzWE1MRG9jKGVsZW0pfHwhcm5vc2hpbWNhY2hlLnRlc3QoXCI8XCIrZWxlbS5ub2RlTmFtZStcIj5cIik/Y2xvbmU9ZWxlbS5jbG9uZU5vZGUoITApOihmcmFnbWVudERpdi5pbm5lckhUTUw9ZWxlbS5vdXRlckhUTUwsZnJhZ21lbnREaXYucmVtb3ZlQ2hpbGQoY2xvbmU9ZnJhZ21lbnREaXYuZmlyc3RDaGlsZCkpLCEoc3VwcG9ydC5ub0Nsb25lRXZlbnQmJnN1cHBvcnQubm9DbG9uZUNoZWNrZWR8fDEhPT1lbGVtLm5vZGVUeXBlJiYxMSE9PWVsZW0ubm9kZVR5cGV8fGpRdWVyeS5pc1hNTERvYyhlbGVtKSkpZm9yKGRlc3RFbGVtZW50cz1nZXRBbGwoY2xvbmUpLHNyY0VsZW1lbnRzPWdldEFsbChlbGVtKSxpPTA7bnVsbCE9KG5vZGU9c3JjRWxlbWVudHNbaV0pOysraSlkZXN0RWxlbWVudHNbaV0mJmZpeENsb25lTm9kZUlzc3Vlcyhub2RlLGRlc3RFbGVtZW50c1tpXSk7aWYoZGF0YUFuZEV2ZW50cylpZihkZWVwRGF0YUFuZEV2ZW50cylmb3Ioc3JjRWxlbWVudHM9c3JjRWxlbWVudHN8fGdldEFsbChlbGVtKSxkZXN0RWxlbWVudHM9ZGVzdEVsZW1lbnRzfHxnZXRBbGwoY2xvbmUpLGk9MDtudWxsIT0obm9kZT1zcmNFbGVtZW50c1tpXSk7aSsrKWNsb25lQ29weUV2ZW50KG5vZGUsZGVzdEVsZW1lbnRzW2ldKTtlbHNlIGNsb25lQ29weUV2ZW50KGVsZW0sY2xvbmUpO3JldHVybiBkZXN0RWxlbWVudHM9Z2V0QWxsKGNsb25lLFwic2NyaXB0XCIpLGRlc3RFbGVtZW50cy5sZW5ndGg+MCYmc2V0R2xvYmFsRXZhbChkZXN0RWxlbWVudHMsIWluUGFnZSYmZ2V0QWxsKGVsZW0sXCJzY3JpcHRcIikpLGRlc3RFbGVtZW50cz1zcmNFbGVtZW50cz1ub2RlPW51bGwsY2xvbmV9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oZWxlbXMsY29udGV4dCxzY3JpcHRzLHNlbGVjdGlvbil7Zm9yKHZhciBqLGVsZW0sY29udGFpbnMsdG1wLHRhZyx0Ym9keSx3cmFwLGw9ZWxlbXMubGVuZ3RoLHNhZmU9Y3JlYXRlU2FmZUZyYWdtZW50KGNvbnRleHQpLG5vZGVzPVtdLGk9MDtsPmk7aSsrKWlmKGVsZW09ZWxlbXNbaV0sZWxlbXx8MD09PWVsZW0paWYoXCJvYmplY3RcIj09PWpRdWVyeS50eXBlKGVsZW0pKWpRdWVyeS5tZXJnZShub2RlcyxlbGVtLm5vZGVUeXBlP1tlbGVtXTplbGVtKTtlbHNlIGlmKHJodG1sLnRlc3QoZWxlbSkpe2Zvcih0bXA9dG1wfHxzYWZlLmFwcGVuZENoaWxkKGNvbnRleHQuY3JlYXRlRWxlbWVudChcImRpdlwiKSksdGFnPShydGFnTmFtZS5leGVjKGVsZW0pfHxbXCJcIixcIlwiXSlbMV0udG9Mb3dlckNhc2UoKSx3cmFwPXdyYXBNYXBbdGFnXXx8d3JhcE1hcC5fZGVmYXVsdCx0bXAuaW5uZXJIVE1MPXdyYXBbMV0rZWxlbS5yZXBsYWNlKHJ4aHRtbFRhZyxcIjwkMT48LyQyPlwiKSt3cmFwWzJdLGo9d3JhcFswXTtqLS07KXRtcD10bXAubGFzdENoaWxkO2lmKCFzdXBwb3J0LmxlYWRpbmdXaGl0ZXNwYWNlJiZybGVhZGluZ1doaXRlc3BhY2UudGVzdChlbGVtKSYmbm9kZXMucHVzaChjb250ZXh0LmNyZWF0ZVRleHROb2RlKHJsZWFkaW5nV2hpdGVzcGFjZS5leGVjKGVsZW0pWzBdKSksIXN1cHBvcnQudGJvZHkpZm9yKGVsZW09XCJ0YWJsZVwiIT09dGFnfHxydGJvZHkudGVzdChlbGVtKT9cIjx0YWJsZT5cIiE9PXdyYXBbMV18fHJ0Ym9keS50ZXN0KGVsZW0pPzA6dG1wOnRtcC5maXJzdENoaWxkLGo9ZWxlbSYmZWxlbS5jaGlsZE5vZGVzLmxlbmd0aDtqLS07KWpRdWVyeS5ub2RlTmFtZSh0Ym9keT1lbGVtLmNoaWxkTm9kZXNbal0sXCJ0Ym9keVwiKSYmIXRib2R5LmNoaWxkTm9kZXMubGVuZ3RoJiZlbGVtLnJlbW92ZUNoaWxkKHRib2R5KTtmb3IoalF1ZXJ5Lm1lcmdlKG5vZGVzLHRtcC5jaGlsZE5vZGVzKSx0bXAudGV4dENvbnRlbnQ9XCJcIjt0bXAuZmlyc3RDaGlsZDspdG1wLnJlbW92ZUNoaWxkKHRtcC5maXJzdENoaWxkKTt0bXA9c2FmZS5sYXN0Q2hpbGR9ZWxzZSBub2Rlcy5wdXNoKGNvbnRleHQuY3JlYXRlVGV4dE5vZGUoZWxlbSkpO2Zvcih0bXAmJnNhZmUucmVtb3ZlQ2hpbGQodG1wKSxzdXBwb3J0LmFwcGVuZENoZWNrZWR8fGpRdWVyeS5ncmVwKGdldEFsbChub2RlcyxcImlucHV0XCIpLGZpeERlZmF1bHRDaGVja2VkKSxpPTA7ZWxlbT1ub2Rlc1tpKytdOylpZigoIXNlbGVjdGlvbnx8LTE9PT1qUXVlcnkuaW5BcnJheShlbGVtLHNlbGVjdGlvbikpJiYoY29udGFpbnM9alF1ZXJ5LmNvbnRhaW5zKGVsZW0ub3duZXJEb2N1bWVudCxlbGVtKSx0bXA9Z2V0QWxsKHNhZmUuYXBwZW5kQ2hpbGQoZWxlbSksXCJzY3JpcHRcIiksY29udGFpbnMmJnNldEdsb2JhbEV2YWwodG1wKSxzY3JpcHRzKSlmb3Ioaj0wO2VsZW09dG1wW2orK107KXJzY3JpcHRUeXBlLnRlc3QoZWxlbS50eXBlfHxcIlwiKSYmc2NyaXB0cy5wdXNoKGVsZW0pO3JldHVybiB0bXA9bnVsbCxzYWZlfSxjbGVhbkRhdGE6ZnVuY3Rpb24oZWxlbXMsYWNjZXB0RGF0YSl7Zm9yKHZhciBlbGVtLHR5cGUsaWQsZGF0YSxpPTAsaW50ZXJuYWxLZXk9alF1ZXJ5LmV4cGFuZG8sY2FjaGU9alF1ZXJ5LmNhY2hlLGRlbGV0ZUV4cGFuZG89c3VwcG9ydC5kZWxldGVFeHBhbmRvLHNwZWNpYWw9alF1ZXJ5LmV2ZW50LnNwZWNpYWw7bnVsbCE9KGVsZW09ZWxlbXNbaV0pO2krKylpZigoYWNjZXB0RGF0YXx8alF1ZXJ5LmFjY2VwdERhdGEoZWxlbSkpJiYoaWQ9ZWxlbVtpbnRlcm5hbEtleV0sZGF0YT1pZCYmY2FjaGVbaWRdKSl7aWYoZGF0YS5ldmVudHMpZm9yKHR5cGUgaW4gZGF0YS5ldmVudHMpc3BlY2lhbFt0eXBlXT9qUXVlcnkuZXZlbnQucmVtb3ZlKGVsZW0sdHlwZSk6alF1ZXJ5LnJlbW92ZUV2ZW50KGVsZW0sdHlwZSxkYXRhLmhhbmRsZSk7Y2FjaGVbaWRdJiYoZGVsZXRlIGNhY2hlW2lkXSxkZWxldGVFeHBhbmRvP2RlbGV0ZSBlbGVtW2ludGVybmFsS2V5XTp0eXBlb2YgZWxlbS5yZW1vdmVBdHRyaWJ1dGUhPT1zdHJ1bmRlZmluZWQ/ZWxlbS5yZW1vdmVBdHRyaWJ1dGUoaW50ZXJuYWxLZXkpOmVsZW1baW50ZXJuYWxLZXldPW51bGwsZGVsZXRlZElkcy5wdXNoKGlkKSl9fX0pLGpRdWVyeS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24odmFsdWUpe3JldHVybiBhY2Nlc3ModGhpcyxmdW5jdGlvbih2YWx1ZSl7cmV0dXJuIHZvaWQgMD09PXZhbHVlP2pRdWVyeS50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5hcHBlbmQoKHRoaXNbMF0mJnRoaXNbMF0ub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQpLmNyZWF0ZVRleHROb2RlKHZhbHVlKSl9LG51bGwsdmFsdWUsYXJndW1lbnRzLmxlbmd0aCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cyxmdW5jdGlvbihlbGVtKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIHRhcmdldD1tYW5pcHVsYXRpb25UYXJnZXQodGhpcyxlbGVtKTt0YXJnZXQuYXBwZW5kQ2hpbGQoZWxlbSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oZWxlbSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciB0YXJnZXQ9bWFuaXB1bGF0aW9uVGFyZ2V0KHRoaXMsZWxlbSk7dGFyZ2V0Lmluc2VydEJlZm9yZShlbGVtLHRhcmdldC5maXJzdENoaWxkKX19KX0sYmVmb3JlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGVsZW0pe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlbGVtLHRoaXMpfSl9LGFmdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGVsZW0pe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlbGVtLHRoaXMubmV4dFNpYmxpbmcpfSl9LHJlbW92ZTpmdW5jdGlvbihzZWxlY3RvcixrZWVwRGF0YSl7Zm9yKHZhciBlbGVtLGVsZW1zPXNlbGVjdG9yP2pRdWVyeS5maWx0ZXIoc2VsZWN0b3IsdGhpcyk6dGhpcyxpPTA7bnVsbCE9KGVsZW09ZWxlbXNbaV0pO2krKylrZWVwRGF0YXx8MSE9PWVsZW0ubm9kZVR5cGV8fGpRdWVyeS5jbGVhbkRhdGEoZ2V0QWxsKGVsZW0pKSxlbGVtLnBhcmVudE5vZGUmJihrZWVwRGF0YSYmalF1ZXJ5LmNvbnRhaW5zKGVsZW0ub3duZXJEb2N1bWVudCxlbGVtKSYmc2V0R2xvYmFsRXZhbChnZXRBbGwoZWxlbSxcInNjcmlwdFwiKSksZWxlbS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW0pKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGVsZW0saT0wO251bGwhPShlbGVtPXRoaXNbaV0pO2krKyl7Zm9yKDE9PT1lbGVtLm5vZGVUeXBlJiZqUXVlcnkuY2xlYW5EYXRhKGdldEFsbChlbGVtLCExKSk7ZWxlbS5maXJzdENoaWxkOyllbGVtLnJlbW92ZUNoaWxkKGVsZW0uZmlyc3RDaGlsZCk7ZWxlbS5vcHRpb25zJiZqUXVlcnkubm9kZU5hbWUoZWxlbSxcInNlbGVjdFwiKSYmKGVsZW0ub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGRhdGFBbmRFdmVudHMsZGVlcERhdGFBbmRFdmVudHMpe3JldHVybiBkYXRhQW5kRXZlbnRzPW51bGw9PWRhdGFBbmRFdmVudHM/ITE6ZGF0YUFuZEV2ZW50cyxkZWVwRGF0YUFuZEV2ZW50cz1udWxsPT1kZWVwRGF0YUFuZEV2ZW50cz9kYXRhQW5kRXZlbnRzOmRlZXBEYXRhQW5kRXZlbnRzLHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeS5jbG9uZSh0aGlzLGRhdGFBbmRFdmVudHMsZGVlcERhdGFBbmRFdmVudHMpfSl9LGh0bWw6ZnVuY3Rpb24odmFsdWUpe3JldHVybiBhY2Nlc3ModGhpcyxmdW5jdGlvbih2YWx1ZSl7dmFyIGVsZW09dGhpc1swXXx8e30saT0wLGw9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09dmFsdWUpcmV0dXJuIDE9PT1lbGVtLm5vZGVUeXBlP2VsZW0uaW5uZXJIVE1MLnJlcGxhY2UocmlubGluZWpRdWVyeSxcIlwiKTp2b2lkIDA7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHZhbHVlJiYhcm5vSW5uZXJodG1sLnRlc3QodmFsdWUpJiYoc3VwcG9ydC5odG1sU2VyaWFsaXplfHwhcm5vc2hpbWNhY2hlLnRlc3QodmFsdWUpKSYmKHN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2V8fCFybGVhZGluZ1doaXRlc3BhY2UudGVzdCh2YWx1ZSkpJiYhd3JhcE1hcFsocnRhZ05hbWUuZXhlYyh2YWx1ZSl8fFtcIlwiLFwiXCJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7dmFsdWU9dmFsdWUucmVwbGFjZShyeGh0bWxUYWcsXCI8JDE+PC8kMj5cIik7dHJ5e2Zvcig7bD5pO2krKyllbGVtPXRoaXNbaV18fHt9LDE9PT1lbGVtLm5vZGVUeXBlJiYoalF1ZXJ5LmNsZWFuRGF0YShnZXRBbGwoZWxlbSwhMSkpLGVsZW0uaW5uZXJIVE1MPXZhbHVlKTtlbGVtPTB9Y2F0Y2goZSl7fX1lbGVtJiZ0aGlzLmVtcHR5KCkuYXBwZW5kKHZhbHVlKX0sbnVsbCx2YWx1ZSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oKXt2YXIgYXJnPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oZWxlbSl7YXJnPXRoaXMucGFyZW50Tm9kZSxqUXVlcnkuY2xlYW5EYXRhKGdldEFsbCh0aGlzKSksYXJnJiZhcmcucmVwbGFjZUNoaWxkKGVsZW0sdGhpcyl9KSxhcmcmJihhcmcubGVuZ3RofHxhcmcubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKHNlbGVjdG9yKXtyZXR1cm4gdGhpcy5yZW1vdmUoc2VsZWN0b3IsITApfSxkb21NYW5pcDpmdW5jdGlvbihhcmdzLGNhbGxiYWNrKXthcmdzPWNvbmNhdC5hcHBseShbXSxhcmdzKTt2YXIgZmlyc3Qsbm9kZSxoYXNTY3JpcHRzLHNjcmlwdHMsZG9jLGZyYWdtZW50LGk9MCxsPXRoaXMubGVuZ3RoLHNldD10aGlzLGlOb0Nsb25lPWwtMSx2YWx1ZT1hcmdzWzBdLGlzRnVuY3Rpb249alF1ZXJ5LmlzRnVuY3Rpb24odmFsdWUpO2lmKGlzRnVuY3Rpb258fGw+MSYmXCJzdHJpbmdcIj09dHlwZW9mIHZhbHVlJiYhc3VwcG9ydC5jaGVja0Nsb25lJiZyY2hlY2tlZC50ZXN0KHZhbHVlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGluZGV4KXt2YXIgc2VsZj1zZXQuZXEoaW5kZXgpO2lzRnVuY3Rpb24mJihhcmdzWzBdPXZhbHVlLmNhbGwodGhpcyxpbmRleCxzZWxmLmh0bWwoKSkpLHNlbGYuZG9tTWFuaXAoYXJncyxjYWxsYmFjayl9KTtpZihsJiYoZnJhZ21lbnQ9alF1ZXJ5LmJ1aWxkRnJhZ21lbnQoYXJncyx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksZmlyc3Q9ZnJhZ21lbnQuZmlyc3RDaGlsZCwxPT09ZnJhZ21lbnQuY2hpbGROb2Rlcy5sZW5ndGgmJihmcmFnbWVudD1maXJzdCksZmlyc3QpKXtmb3Ioc2NyaXB0cz1qUXVlcnkubWFwKGdldEFsbChmcmFnbWVudCxcInNjcmlwdFwiKSxkaXNhYmxlU2NyaXB0KSxoYXNTY3JpcHRzPXNjcmlwdHMubGVuZ3RoO2w+aTtpKyspbm9kZT1mcmFnbWVudCxpIT09aU5vQ2xvbmUmJihub2RlPWpRdWVyeS5jbG9uZShub2RlLCEwLCEwKSxoYXNTY3JpcHRzJiZqUXVlcnkubWVyZ2Uoc2NyaXB0cyxnZXRBbGwobm9kZSxcInNjcmlwdFwiKSkpLGNhbGxiYWNrLmNhbGwodGhpc1tpXSxub2RlLGkpO2lmKGhhc1NjcmlwdHMpZm9yKGRvYz1zY3JpcHRzW3NjcmlwdHMubGVuZ3RoLTFdLm93bmVyRG9jdW1lbnQsalF1ZXJ5Lm1hcChzY3JpcHRzLHJlc3RvcmVTY3JpcHQpLGk9MDtoYXNTY3JpcHRzPmk7aSsrKW5vZGU9c2NyaXB0c1tpXSxyc2NyaXB0VHlwZS50ZXN0KG5vZGUudHlwZXx8XCJcIikmJiFqUXVlcnkuX2RhdGEobm9kZSxcImdsb2JhbEV2YWxcIikmJmpRdWVyeS5jb250YWlucyhkb2Msbm9kZSkmJihub2RlLnNyYz9qUXVlcnkuX2V2YWxVcmwmJmpRdWVyeS5fZXZhbFVybChub2RlLnNyYyk6alF1ZXJ5Lmdsb2JhbEV2YWwoKG5vZGUudGV4dHx8bm9kZS50ZXh0Q29udGVudHx8bm9kZS5pbm5lckhUTUx8fFwiXCIpLnJlcGxhY2UocmNsZWFuU2NyaXB0LFwiXCIpKSk7ZnJhZ21lbnQ9Zmlyc3Q9bnVsbH1yZXR1cm4gdGhpc319KSxqUXVlcnkuZWFjaCh7YXBwZW5kVG86XCJhcHBlbmRcIixwcmVwZW5kVG86XCJwcmVwZW5kXCIsaW5zZXJ0QmVmb3JlOlwiYmVmb3JlXCIsaW5zZXJ0QWZ0ZXI6XCJhZnRlclwiLHJlcGxhY2VBbGw6XCJyZXBsYWNlV2l0aFwifSxmdW5jdGlvbihuYW1lLG9yaWdpbmFsKXtqUXVlcnkuZm5bbmFtZV09ZnVuY3Rpb24oc2VsZWN0b3Ipe2Zvcih2YXIgZWxlbXMsaT0wLHJldD1bXSxpbnNlcnQ9alF1ZXJ5KHNlbGVjdG9yKSxsYXN0PWluc2VydC5sZW5ndGgtMTtsYXN0Pj1pO2krKyllbGVtcz1pPT09bGFzdD90aGlzOnRoaXMuY2xvbmUoITApLGpRdWVyeShpbnNlcnRbaV0pW29yaWdpbmFsXShlbGVtcykscHVzaC5hcHBseShyZXQsZWxlbXMuZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhyZXQpfX0pO3ZhciBpZnJhbWUsZWxlbWRpc3BsYXk9e307IWZ1bmN0aW9uKCl7dmFyIHNocmlua1dyYXBCbG9ja3NWYWw7c3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzPWZ1bmN0aW9uKCl7aWYobnVsbCE9c2hyaW5rV3JhcEJsb2Nrc1ZhbClyZXR1cm4gc2hyaW5rV3JhcEJsb2Nrc1ZhbDtzaHJpbmtXcmFwQmxvY2tzVmFsPSExO3ZhciBkaXYsYm9keSxjb250YWluZXI7cmV0dXJuIGJvZHk9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJib2R5XCIpWzBdLGJvZHkmJmJvZHkuc3R5bGU/KGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGNvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGNvbnRhaW5lci5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHhcIixib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcikuYXBwZW5kQ2hpbGQoZGl2KSx0eXBlb2YgZGl2LnN0eWxlLnpvb20hPT1zdHJ1bmRlZmluZWQmJihkaXYuc3R5bGUuY3NzVGV4dD1cIi13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjFcIixkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSkuc3R5bGUud2lkdGg9XCI1cHhcIixzaHJpbmtXcmFwQmxvY2tzVmFsPTMhPT1kaXYub2Zmc2V0V2lkdGgpLGJvZHkucmVtb3ZlQ2hpbGQoY29udGFpbmVyKSxzaHJpbmtXcmFwQmxvY2tzVmFsKTp2b2lkIDB9fSgpO3ZhciBnZXRTdHlsZXMsY3VyQ1NTLHJtYXJnaW49L15tYXJnaW4vLHJudW1ub25weD1uZXcgUmVnRXhwKFwiXihcIitwbnVtK1wiKSg/IXB4KVthLXolXSskXCIsXCJpXCIpLHJwb3NpdGlvbj0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87d2luZG93LmdldENvbXB1dGVkU3R5bGU/KGdldFN0eWxlcz1mdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Lm9wZW5lcj9lbGVtLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtLG51bGwpOndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW0sbnVsbCk7XG59LGN1ckNTUz1mdW5jdGlvbihlbGVtLG5hbWUsY29tcHV0ZWQpe3ZhciB3aWR0aCxtaW5XaWR0aCxtYXhXaWR0aCxyZXQsc3R5bGU9ZWxlbS5zdHlsZTtyZXR1cm4gY29tcHV0ZWQ9Y29tcHV0ZWR8fGdldFN0eWxlcyhlbGVtKSxyZXQ9Y29tcHV0ZWQ/Y29tcHV0ZWQuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKXx8Y29tcHV0ZWRbbmFtZV06dm9pZCAwLGNvbXB1dGVkJiYoXCJcIiE9PXJldHx8alF1ZXJ5LmNvbnRhaW5zKGVsZW0ub3duZXJEb2N1bWVudCxlbGVtKXx8KHJldD1qUXVlcnkuc3R5bGUoZWxlbSxuYW1lKSkscm51bW5vbnB4LnRlc3QocmV0KSYmcm1hcmdpbi50ZXN0KG5hbWUpJiYod2lkdGg9c3R5bGUud2lkdGgsbWluV2lkdGg9c3R5bGUubWluV2lkdGgsbWF4V2lkdGg9c3R5bGUubWF4V2lkdGgsc3R5bGUubWluV2lkdGg9c3R5bGUubWF4V2lkdGg9c3R5bGUud2lkdGg9cmV0LHJldD1jb21wdXRlZC53aWR0aCxzdHlsZS53aWR0aD13aWR0aCxzdHlsZS5taW5XaWR0aD1taW5XaWR0aCxzdHlsZS5tYXhXaWR0aD1tYXhXaWR0aCkpLHZvaWQgMD09PXJldD9yZXQ6cmV0K1wiXCJ9KTpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoZ2V0U3R5bGVzPWZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLmN1cnJlbnRTdHlsZX0sY3VyQ1NTPWZ1bmN0aW9uKGVsZW0sbmFtZSxjb21wdXRlZCl7dmFyIGxlZnQscnMscnNMZWZ0LHJldCxzdHlsZT1lbGVtLnN0eWxlO3JldHVybiBjb21wdXRlZD1jb21wdXRlZHx8Z2V0U3R5bGVzKGVsZW0pLHJldD1jb21wdXRlZD9jb21wdXRlZFtuYW1lXTp2b2lkIDAsbnVsbD09cmV0JiZzdHlsZSYmc3R5bGVbbmFtZV0mJihyZXQ9c3R5bGVbbmFtZV0pLHJudW1ub25weC50ZXN0KHJldCkmJiFycG9zaXRpb24udGVzdChuYW1lKSYmKGxlZnQ9c3R5bGUubGVmdCxycz1lbGVtLnJ1bnRpbWVTdHlsZSxyc0xlZnQ9cnMmJnJzLmxlZnQscnNMZWZ0JiYocnMubGVmdD1lbGVtLmN1cnJlbnRTdHlsZS5sZWZ0KSxzdHlsZS5sZWZ0PVwiZm9udFNpemVcIj09PW5hbWU/XCIxZW1cIjpyZXQscmV0PXN0eWxlLnBpeGVsTGVmdCtcInB4XCIsc3R5bGUubGVmdD1sZWZ0LHJzTGVmdCYmKHJzLmxlZnQ9cnNMZWZ0KSksdm9pZCAwPT09cmV0P3JldDpyZXQrXCJcInx8XCJhdXRvXCJ9KSxmdW5jdGlvbigpe2Z1bmN0aW9uIGNvbXB1dGVTdHlsZVRlc3RzKCl7dmFyIGRpdixib2R5LGNvbnRhaW5lcixjb250ZW50cztib2R5PWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYm9keVwiKVswXSxib2R5JiZib2R5LnN0eWxlJiYoZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksY29udGFpbmVyLnN0eWxlLmNzc1RleHQ9XCJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweFwiLGJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKS5hcHBlbmRDaGlsZChkaXYpLGRpdi5zdHlsZS5jc3NUZXh0PVwiLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxJTt0b3A6MSU7Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo0cHg7cG9zaXRpb246YWJzb2x1dGVcIixwaXhlbFBvc2l0aW9uVmFsPWJveFNpemluZ1JlbGlhYmxlVmFsPSExLHJlbGlhYmxlTWFyZ2luUmlnaHRWYWw9ITAsd2luZG93LmdldENvbXB1dGVkU3R5bGUmJihwaXhlbFBvc2l0aW9uVmFsPVwiMSVcIiE9PSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkaXYsbnVsbCl8fHt9KS50b3AsYm94U2l6aW5nUmVsaWFibGVWYWw9XCI0cHhcIj09PSh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkaXYsbnVsbCl8fHt3aWR0aDpcIjRweFwifSkud2lkdGgsY29udGVudHM9ZGl2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpLGNvbnRlbnRzLnN0eWxlLmNzc1RleHQ9ZGl2LnN0eWxlLmNzc1RleHQ9XCItd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7ZGlzcGxheTpibG9jazttYXJnaW46MDtib3JkZXI6MDtwYWRkaW5nOjBcIixjb250ZW50cy5zdHlsZS5tYXJnaW5SaWdodD1jb250ZW50cy5zdHlsZS53aWR0aD1cIjBcIixkaXYuc3R5bGUud2lkdGg9XCIxcHhcIixyZWxpYWJsZU1hcmdpblJpZ2h0VmFsPSFwYXJzZUZsb2F0KCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjb250ZW50cyxudWxsKXx8e30pLm1hcmdpblJpZ2h0KSxkaXYucmVtb3ZlQ2hpbGQoY29udGVudHMpKSxkaXYuaW5uZXJIVE1MPVwiPHRhYmxlPjx0cj48dGQ+PC90ZD48dGQ+dDwvdGQ+PC90cj48L3RhYmxlPlwiLGNvbnRlbnRzPWRpdi5nZXRFbGVtZW50c0J5VGFnTmFtZShcInRkXCIpLGNvbnRlbnRzWzBdLnN0eWxlLmNzc1RleHQ9XCJtYXJnaW46MDtib3JkZXI6MDtwYWRkaW5nOjA7ZGlzcGxheTpub25lXCIscmVsaWFibGVIaWRkZW5PZmZzZXRzVmFsPTA9PT1jb250ZW50c1swXS5vZmZzZXRIZWlnaHQscmVsaWFibGVIaWRkZW5PZmZzZXRzVmFsJiYoY29udGVudHNbMF0uc3R5bGUuZGlzcGxheT1cIlwiLGNvbnRlbnRzWzFdLnN0eWxlLmRpc3BsYXk9XCJub25lXCIscmVsaWFibGVIaWRkZW5PZmZzZXRzVmFsPTA9PT1jb250ZW50c1swXS5vZmZzZXRIZWlnaHQpLGJvZHkucmVtb3ZlQ2hpbGQoY29udGFpbmVyKSl9dmFyIGRpdixzdHlsZSxhLHBpeGVsUG9zaXRpb25WYWwsYm94U2l6aW5nUmVsaWFibGVWYWwscmVsaWFibGVIaWRkZW5PZmZzZXRzVmFsLHJlbGlhYmxlTWFyZ2luUmlnaHRWYWw7ZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksZGl2LmlubmVySFRNTD1cIiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPlwiLGE9ZGl2LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYVwiKVswXSxzdHlsZT1hJiZhLnN0eWxlLHN0eWxlJiYoc3R5bGUuY3NzVGV4dD1cImZsb2F0OmxlZnQ7b3BhY2l0eTouNVwiLHN1cHBvcnQub3BhY2l0eT1cIjAuNVwiPT09c3R5bGUub3BhY2l0eSxzdXBwb3J0LmNzc0Zsb2F0PSEhc3R5bGUuY3NzRmxvYXQsZGl2LnN0eWxlLmJhY2tncm91bmRDbGlwPVwiY29udGVudC1ib3hcIixkaXYuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD1cIlwiLHN1cHBvcnQuY2xlYXJDbG9uZVN0eWxlPVwiY29udGVudC1ib3hcIj09PWRpdi5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCxzdXBwb3J0LmJveFNpemluZz1cIlwiPT09c3R5bGUuYm94U2l6aW5nfHxcIlwiPT09c3R5bGUuTW96Qm94U2l6aW5nfHxcIlwiPT09c3R5bGUuV2Via2l0Qm94U2l6aW5nLGpRdWVyeS5leHRlbmQoc3VwcG9ydCx7cmVsaWFibGVIaWRkZW5PZmZzZXRzOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PXJlbGlhYmxlSGlkZGVuT2Zmc2V0c1ZhbCYmY29tcHV0ZVN0eWxlVGVzdHMoKSxyZWxpYWJsZUhpZGRlbk9mZnNldHNWYWx9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWJveFNpemluZ1JlbGlhYmxlVmFsJiZjb21wdXRlU3R5bGVUZXN0cygpLGJveFNpemluZ1JlbGlhYmxlVmFsfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PXBpeGVsUG9zaXRpb25WYWwmJmNvbXB1dGVTdHlsZVRlc3RzKCkscGl4ZWxQb3NpdGlvblZhbH0scmVsaWFibGVNYXJnaW5SaWdodDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1yZWxpYWJsZU1hcmdpblJpZ2h0VmFsJiZjb21wdXRlU3R5bGVUZXN0cygpLHJlbGlhYmxlTWFyZ2luUmlnaHRWYWx9fSkpfSgpLGpRdWVyeS5zd2FwPWZ1bmN0aW9uKGVsZW0sb3B0aW9ucyxjYWxsYmFjayxhcmdzKXt2YXIgcmV0LG5hbWUsb2xkPXt9O2ZvcihuYW1lIGluIG9wdGlvbnMpb2xkW25hbWVdPWVsZW0uc3R5bGVbbmFtZV0sZWxlbS5zdHlsZVtuYW1lXT1vcHRpb25zW25hbWVdO3JldD1jYWxsYmFjay5hcHBseShlbGVtLGFyZ3N8fFtdKTtmb3IobmFtZSBpbiBvcHRpb25zKWVsZW0uc3R5bGVbbmFtZV09b2xkW25hbWVdO3JldHVybiByZXR9O3ZhciByYWxwaGE9L2FscGhhXFwoW14pXSpcXCkvaSxyb3BhY2l0eT0vb3BhY2l0eVxccyo9XFxzKihbXildKikvLHJkaXNwbGF5c3dhcD0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8scm51bXNwbGl0PW5ldyBSZWdFeHAoXCJeKFwiK3BudW0rXCIpKC4qKSRcIixcImlcIikscnJlbE51bT1uZXcgUmVnRXhwKFwiXihbKy1dKT0oXCIrcG51bStcIilcIixcImlcIiksY3NzU2hvdz17cG9zaXRpb246XCJhYnNvbHV0ZVwiLHZpc2liaWxpdHk6XCJoaWRkZW5cIixkaXNwbGF5OlwiYmxvY2tcIn0sY3NzTm9ybWFsVHJhbnNmb3JtPXtsZXR0ZXJTcGFjaW5nOlwiMFwiLGZvbnRXZWlnaHQ6XCI0MDBcIn0sY3NzUHJlZml4ZXM9W1wiV2Via2l0XCIsXCJPXCIsXCJNb3pcIixcIm1zXCJdO2pRdWVyeS5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oZWxlbSxjb21wdXRlZCl7aWYoY29tcHV0ZWQpe3ZhciByZXQ9Y3VyQ1NTKGVsZW0sXCJvcGFjaXR5XCIpO3JldHVyblwiXCI9PT1yZXQ/XCIxXCI6cmV0fX19fSxjc3NOdW1iZXI6e2NvbHVtbkNvdW50OiEwLGZpbGxPcGFjaXR5OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOntcImZsb2F0XCI6c3VwcG9ydC5jc3NGbG9hdD9cImNzc0Zsb2F0XCI6XCJzdHlsZUZsb2F0XCJ9LHN0eWxlOmZ1bmN0aW9uKGVsZW0sbmFtZSx2YWx1ZSxleHRyYSl7aWYoZWxlbSYmMyE9PWVsZW0ubm9kZVR5cGUmJjghPT1lbGVtLm5vZGVUeXBlJiZlbGVtLnN0eWxlKXt2YXIgcmV0LHR5cGUsaG9va3Msb3JpZ05hbWU9alF1ZXJ5LmNhbWVsQ2FzZShuYW1lKSxzdHlsZT1lbGVtLnN0eWxlO2lmKG5hbWU9alF1ZXJ5LmNzc1Byb3BzW29yaWdOYW1lXXx8KGpRdWVyeS5jc3NQcm9wc1tvcmlnTmFtZV09dmVuZG9yUHJvcE5hbWUoc3R5bGUsb3JpZ05hbWUpKSxob29rcz1qUXVlcnkuY3NzSG9va3NbbmFtZV18fGpRdWVyeS5jc3NIb29rc1tvcmlnTmFtZV0sdm9pZCAwPT09dmFsdWUpcmV0dXJuIGhvb2tzJiZcImdldFwiaW4gaG9va3MmJnZvaWQgMCE9PShyZXQ9aG9va3MuZ2V0KGVsZW0sITEsZXh0cmEpKT9yZXQ6c3R5bGVbbmFtZV07aWYodHlwZT10eXBlb2YgdmFsdWUsXCJzdHJpbmdcIj09PXR5cGUmJihyZXQ9cnJlbE51bS5leGVjKHZhbHVlKSkmJih2YWx1ZT0ocmV0WzFdKzEpKnJldFsyXStwYXJzZUZsb2F0KGpRdWVyeS5jc3MoZWxlbSxuYW1lKSksdHlwZT1cIm51bWJlclwiKSxudWxsIT12YWx1ZSYmdmFsdWU9PT12YWx1ZSYmKFwibnVtYmVyXCIhPT10eXBlfHxqUXVlcnkuY3NzTnVtYmVyW29yaWdOYW1lXXx8KHZhbHVlKz1cInB4XCIpLHN1cHBvcnQuY2xlYXJDbG9uZVN0eWxlfHxcIlwiIT09dmFsdWV8fDAhPT1uYW1lLmluZGV4T2YoXCJiYWNrZ3JvdW5kXCIpfHwoc3R5bGVbbmFtZV09XCJpbmhlcml0XCIpLCEoaG9va3MmJlwic2V0XCJpbiBob29rcyYmdm9pZCAwPT09KHZhbHVlPWhvb2tzLnNldChlbGVtLHZhbHVlLGV4dHJhKSkpKSl0cnl7c3R5bGVbbmFtZV09dmFsdWV9Y2F0Y2goZSl7fX19LGNzczpmdW5jdGlvbihlbGVtLG5hbWUsZXh0cmEsc3R5bGVzKXt2YXIgbnVtLHZhbCxob29rcyxvcmlnTmFtZT1qUXVlcnkuY2FtZWxDYXNlKG5hbWUpO3JldHVybiBuYW1lPWpRdWVyeS5jc3NQcm9wc1tvcmlnTmFtZV18fChqUXVlcnkuY3NzUHJvcHNbb3JpZ05hbWVdPXZlbmRvclByb3BOYW1lKGVsZW0uc3R5bGUsb3JpZ05hbWUpKSxob29rcz1qUXVlcnkuY3NzSG9va3NbbmFtZV18fGpRdWVyeS5jc3NIb29rc1tvcmlnTmFtZV0saG9va3MmJlwiZ2V0XCJpbiBob29rcyYmKHZhbD1ob29rcy5nZXQoZWxlbSwhMCxleHRyYSkpLHZvaWQgMD09PXZhbCYmKHZhbD1jdXJDU1MoZWxlbSxuYW1lLHN0eWxlcykpLFwibm9ybWFsXCI9PT12YWwmJm5hbWUgaW4gY3NzTm9ybWFsVHJhbnNmb3JtJiYodmFsPWNzc05vcm1hbFRyYW5zZm9ybVtuYW1lXSksXCJcIj09PWV4dHJhfHxleHRyYT8obnVtPXBhcnNlRmxvYXQodmFsKSxleHRyYT09PSEwfHxqUXVlcnkuaXNOdW1lcmljKG51bSk/bnVtfHwwOnZhbCk6dmFsfX0pLGpRdWVyeS5lYWNoKFtcImhlaWdodFwiLFwid2lkdGhcIl0sZnVuY3Rpb24oaSxuYW1lKXtqUXVlcnkuY3NzSG9va3NbbmFtZV09e2dldDpmdW5jdGlvbihlbGVtLGNvbXB1dGVkLGV4dHJhKXtyZXR1cm4gY29tcHV0ZWQ/cmRpc3BsYXlzd2FwLnRlc3QoalF1ZXJ5LmNzcyhlbGVtLFwiZGlzcGxheVwiKSkmJjA9PT1lbGVtLm9mZnNldFdpZHRoP2pRdWVyeS5zd2FwKGVsZW0sY3NzU2hvdyxmdW5jdGlvbigpe3JldHVybiBnZXRXaWR0aE9ySGVpZ2h0KGVsZW0sbmFtZSxleHRyYSl9KTpnZXRXaWR0aE9ySGVpZ2h0KGVsZW0sbmFtZSxleHRyYSk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oZWxlbSx2YWx1ZSxleHRyYSl7dmFyIHN0eWxlcz1leHRyYSYmZ2V0U3R5bGVzKGVsZW0pO3JldHVybiBzZXRQb3NpdGl2ZU51bWJlcihlbGVtLHZhbHVlLGV4dHJhP2F1Z21lbnRXaWR0aE9ySGVpZ2h0KGVsZW0sbmFtZSxleHRyYSxzdXBwb3J0LmJveFNpemluZyYmXCJib3JkZXItYm94XCI9PT1qUXVlcnkuY3NzKGVsZW0sXCJib3hTaXppbmdcIiwhMSxzdHlsZXMpLHN0eWxlcyk6MCl9fX0pLHN1cHBvcnQub3BhY2l0eXx8KGpRdWVyeS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oZWxlbSxjb21wdXRlZCl7cmV0dXJuIHJvcGFjaXR5LnRlc3QoKGNvbXB1dGVkJiZlbGVtLmN1cnJlbnRTdHlsZT9lbGVtLmN1cnJlbnRTdHlsZS5maWx0ZXI6ZWxlbS5zdHlsZS5maWx0ZXIpfHxcIlwiKT8uMDEqcGFyc2VGbG9hdChSZWdFeHAuJDEpK1wiXCI6Y29tcHV0ZWQ/XCIxXCI6XCJcIn0sc2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUpe3ZhciBzdHlsZT1lbGVtLnN0eWxlLGN1cnJlbnRTdHlsZT1lbGVtLmN1cnJlbnRTdHlsZSxvcGFjaXR5PWpRdWVyeS5pc051bWVyaWModmFsdWUpP1wiYWxwaGEob3BhY2l0eT1cIisxMDAqdmFsdWUrXCIpXCI6XCJcIixmaWx0ZXI9Y3VycmVudFN0eWxlJiZjdXJyZW50U3R5bGUuZmlsdGVyfHxzdHlsZS5maWx0ZXJ8fFwiXCI7c3R5bGUuem9vbT0xLCh2YWx1ZT49MXx8XCJcIj09PXZhbHVlKSYmXCJcIj09PWpRdWVyeS50cmltKGZpbHRlci5yZXBsYWNlKHJhbHBoYSxcIlwiKSkmJnN0eWxlLnJlbW92ZUF0dHJpYnV0ZSYmKHN0eWxlLnJlbW92ZUF0dHJpYnV0ZShcImZpbHRlclwiKSxcIlwiPT09dmFsdWV8fGN1cnJlbnRTdHlsZSYmIWN1cnJlbnRTdHlsZS5maWx0ZXIpfHwoc3R5bGUuZmlsdGVyPXJhbHBoYS50ZXN0KGZpbHRlcik/ZmlsdGVyLnJlcGxhY2UocmFscGhhLG9wYWNpdHkpOmZpbHRlcitcIiBcIitvcGFjaXR5KX19KSxqUXVlcnkuY3NzSG9va3MubWFyZ2luUmlnaHQ9YWRkR2V0SG9va0lmKHN1cHBvcnQucmVsaWFibGVNYXJnaW5SaWdodCxmdW5jdGlvbihlbGVtLGNvbXB1dGVkKXtyZXR1cm4gY29tcHV0ZWQ/alF1ZXJ5LnN3YXAoZWxlbSx7ZGlzcGxheTpcImlubGluZS1ibG9ja1wifSxjdXJDU1MsW2VsZW0sXCJtYXJnaW5SaWdodFwiXSk6dm9pZCAwfSksalF1ZXJ5LmVhY2goe21hcmdpbjpcIlwiLHBhZGRpbmc6XCJcIixib3JkZXI6XCJXaWR0aFwifSxmdW5jdGlvbihwcmVmaXgsc3VmZml4KXtqUXVlcnkuY3NzSG9va3NbcHJlZml4K3N1ZmZpeF09e2V4cGFuZDpmdW5jdGlvbih2YWx1ZSl7Zm9yKHZhciBpPTAsZXhwYW5kZWQ9e30scGFydHM9XCJzdHJpbmdcIj09dHlwZW9mIHZhbHVlP3ZhbHVlLnNwbGl0KFwiIFwiKTpbdmFsdWVdOzQ+aTtpKyspZXhwYW5kZWRbcHJlZml4K2Nzc0V4cGFuZFtpXStzdWZmaXhdPXBhcnRzW2ldfHxwYXJ0c1tpLTJdfHxwYXJ0c1swXTtyZXR1cm4gZXhwYW5kZWR9fSxybWFyZ2luLnRlc3QocHJlZml4KXx8KGpRdWVyeS5jc3NIb29rc1twcmVmaXgrc3VmZml4XS5zZXQ9c2V0UG9zaXRpdmVOdW1iZXIpfSksalF1ZXJ5LmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKG5hbWUsdmFsdWUpe3JldHVybiBhY2Nlc3ModGhpcyxmdW5jdGlvbihlbGVtLG5hbWUsdmFsdWUpe3ZhciBzdHlsZXMsbGVuLG1hcD17fSxpPTA7aWYoalF1ZXJ5LmlzQXJyYXkobmFtZSkpe2ZvcihzdHlsZXM9Z2V0U3R5bGVzKGVsZW0pLGxlbj1uYW1lLmxlbmd0aDtsZW4+aTtpKyspbWFwW25hbWVbaV1dPWpRdWVyeS5jc3MoZWxlbSxuYW1lW2ldLCExLHN0eWxlcyk7cmV0dXJuIG1hcH1yZXR1cm4gdm9pZCAwIT09dmFsdWU/alF1ZXJ5LnN0eWxlKGVsZW0sbmFtZSx2YWx1ZSk6alF1ZXJ5LmNzcyhlbGVtLG5hbWUpfSxuYW1lLHZhbHVlLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHNob3c6ZnVuY3Rpb24oKXtyZXR1cm4gc2hvd0hpZGUodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gc2hvd0hpZGUodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihzdGF0ZSl7cmV0dXJuXCJib29sZWFuXCI9PXR5cGVvZiBzdGF0ZT9zdGF0ZT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtpc0hpZGRlbih0aGlzKT9qUXVlcnkodGhpcykuc2hvdygpOmpRdWVyeSh0aGlzKS5oaWRlKCl9KX19KSxqUXVlcnkuVHdlZW49VHdlZW4sVHdlZW4ucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpUd2Vlbixpbml0OmZ1bmN0aW9uKGVsZW0sb3B0aW9ucyxwcm9wLGVuZCxlYXNpbmcsdW5pdCl7dGhpcy5lbGVtPWVsZW0sdGhpcy5wcm9wPXByb3AsdGhpcy5lYXNpbmc9ZWFzaW5nfHxcInN3aW5nXCIsdGhpcy5vcHRpb25zPW9wdGlvbnMsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWVuZCx0aGlzLnVuaXQ9dW5pdHx8KGpRdWVyeS5jc3NOdW1iZXJbcHJvcF0/XCJcIjpcInB4XCIpfSxjdXI6ZnVuY3Rpb24oKXt2YXIgaG9va3M9VHdlZW4ucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGhvb2tzJiZob29rcy5nZXQ/aG9va3MuZ2V0KHRoaXMpOlR3ZWVuLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihwZXJjZW50KXt2YXIgZWFzZWQsaG9va3M9VHdlZW4ucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMub3B0aW9ucy5kdXJhdGlvbj90aGlzLnBvcz1lYXNlZD1qUXVlcnkuZWFzaW5nW3RoaXMuZWFzaW5nXShwZXJjZW50LHRoaXMub3B0aW9ucy5kdXJhdGlvbipwZXJjZW50LDAsMSx0aGlzLm9wdGlvbnMuZHVyYXRpb24pOnRoaXMucG9zPWVhc2VkPXBlcmNlbnQsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmVhc2VkK3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLGhvb2tzJiZob29rcy5zZXQ/aG9va3Muc2V0KHRoaXMpOlR3ZWVuLnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LFR3ZWVuLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1Ud2Vlbi5wcm90b3R5cGUsVHdlZW4ucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKHR3ZWVuKXt2YXIgcmVzdWx0O3JldHVybiBudWxsPT10d2Vlbi5lbGVtW3R3ZWVuLnByb3BdfHx0d2Vlbi5lbGVtLnN0eWxlJiZudWxsIT10d2Vlbi5lbGVtLnN0eWxlW3R3ZWVuLnByb3BdPyhyZXN1bHQ9alF1ZXJ5LmNzcyh0d2Vlbi5lbGVtLHR3ZWVuLnByb3AsXCJcIikscmVzdWx0JiZcImF1dG9cIiE9PXJlc3VsdD9yZXN1bHQ6MCk6dHdlZW4uZWxlbVt0d2Vlbi5wcm9wXX0sc2V0OmZ1bmN0aW9uKHR3ZWVuKXtqUXVlcnkuZnguc3RlcFt0d2Vlbi5wcm9wXT9qUXVlcnkuZnguc3RlcFt0d2Vlbi5wcm9wXSh0d2Vlbik6dHdlZW4uZWxlbS5zdHlsZSYmKG51bGwhPXR3ZWVuLmVsZW0uc3R5bGVbalF1ZXJ5LmNzc1Byb3BzW3R3ZWVuLnByb3BdXXx8alF1ZXJ5LmNzc0hvb2tzW3R3ZWVuLnByb3BdKT9qUXVlcnkuc3R5bGUodHdlZW4uZWxlbSx0d2Vlbi5wcm9wLHR3ZWVuLm5vdyt0d2Vlbi51bml0KTp0d2Vlbi5lbGVtW3R3ZWVuLnByb3BdPXR3ZWVuLm5vd319fSxUd2Vlbi5wcm9wSG9va3Muc2Nyb2xsVG9wPVR3ZWVuLnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24odHdlZW4pe3R3ZWVuLmVsZW0ubm9kZVR5cGUmJnR3ZWVuLmVsZW0ucGFyZW50Tm9kZSYmKHR3ZWVuLmVsZW1bdHdlZW4ucHJvcF09dHdlZW4ubm93KX19LGpRdWVyeS5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihwKXtyZXR1cm4gcH0sc3dpbmc6ZnVuY3Rpb24ocCl7cmV0dXJuLjUtTWF0aC5jb3MocCpNYXRoLlBJKS8yfX0salF1ZXJ5LmZ4PVR3ZWVuLnByb3RvdHlwZS5pbml0LGpRdWVyeS5meC5zdGVwPXt9O3ZhciBmeE5vdyx0aW1lcklkLHJmeHR5cGVzPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxyZnhudW09bmV3IFJlZ0V4cChcIl4oPzooWystXSk9fCkoXCIrcG51bStcIikoW2EteiVdKikkXCIsXCJpXCIpLHJydW49L3F1ZXVlSG9va3MkLyxhbmltYXRpb25QcmVmaWx0ZXJzPVtkZWZhdWx0UHJlZmlsdGVyXSx0d2VlbmVycz17XCIqXCI6W2Z1bmN0aW9uKHByb3AsdmFsdWUpe3ZhciB0d2Vlbj10aGlzLmNyZWF0ZVR3ZWVuKHByb3AsdmFsdWUpLHRhcmdldD10d2Vlbi5jdXIoKSxwYXJ0cz1yZnhudW0uZXhlYyh2YWx1ZSksdW5pdD1wYXJ0cyYmcGFydHNbM118fChqUXVlcnkuY3NzTnVtYmVyW3Byb3BdP1wiXCI6XCJweFwiKSxzdGFydD0oalF1ZXJ5LmNzc051bWJlcltwcm9wXXx8XCJweFwiIT09dW5pdCYmK3RhcmdldCkmJnJmeG51bS5leGVjKGpRdWVyeS5jc3ModHdlZW4uZWxlbSxwcm9wKSksc2NhbGU9MSxtYXhJdGVyYXRpb25zPTIwO2lmKHN0YXJ0JiZzdGFydFszXSE9PXVuaXQpe3VuaXQ9dW5pdHx8c3RhcnRbM10scGFydHM9cGFydHN8fFtdLHN0YXJ0PSt0YXJnZXR8fDE7ZG8gc2NhbGU9c2NhbGV8fFwiLjVcIixzdGFydC89c2NhbGUsalF1ZXJ5LnN0eWxlKHR3ZWVuLmVsZW0scHJvcCxzdGFydCt1bml0KTt3aGlsZShzY2FsZSE9PShzY2FsZT10d2Vlbi5jdXIoKS90YXJnZXQpJiYxIT09c2NhbGUmJi0tbWF4SXRlcmF0aW9ucyl9cmV0dXJuIHBhcnRzJiYoc3RhcnQ9dHdlZW4uc3RhcnQ9K3N0YXJ0fHwrdGFyZ2V0fHwwLHR3ZWVuLnVuaXQ9dW5pdCx0d2Vlbi5lbmQ9cGFydHNbMV0/c3RhcnQrKHBhcnRzWzFdKzEpKnBhcnRzWzJdOitwYXJ0c1syXSksdHdlZW59XX07alF1ZXJ5LkFuaW1hdGlvbj1qUXVlcnkuZXh0ZW5kKEFuaW1hdGlvbix7dHdlZW5lcjpmdW5jdGlvbihwcm9wcyxjYWxsYmFjayl7alF1ZXJ5LmlzRnVuY3Rpb24ocHJvcHMpPyhjYWxsYmFjaz1wcm9wcyxwcm9wcz1bXCIqXCJdKTpwcm9wcz1wcm9wcy5zcGxpdChcIiBcIik7Zm9yKHZhciBwcm9wLGluZGV4PTAsbGVuZ3RoPXByb3BzLmxlbmd0aDtsZW5ndGg+aW5kZXg7aW5kZXgrKylwcm9wPXByb3BzW2luZGV4XSx0d2VlbmVyc1twcm9wXT10d2VlbmVyc1twcm9wXXx8W10sdHdlZW5lcnNbcHJvcF0udW5zaGlmdChjYWxsYmFjayl9LHByZWZpbHRlcjpmdW5jdGlvbihjYWxsYmFjayxwcmVwZW5kKXtwcmVwZW5kP2FuaW1hdGlvblByZWZpbHRlcnMudW5zaGlmdChjYWxsYmFjayk6YW5pbWF0aW9uUHJlZmlsdGVycy5wdXNoKGNhbGxiYWNrKX19KSxqUXVlcnkuc3BlZWQ9ZnVuY3Rpb24oc3BlZWQsZWFzaW5nLGZuKXt2YXIgb3B0PXNwZWVkJiZcIm9iamVjdFwiPT10eXBlb2Ygc3BlZWQ/alF1ZXJ5LmV4dGVuZCh7fSxzcGVlZCk6e2NvbXBsZXRlOmZufHwhZm4mJmVhc2luZ3x8alF1ZXJ5LmlzRnVuY3Rpb24oc3BlZWQpJiZzcGVlZCxkdXJhdGlvbjpzcGVlZCxlYXNpbmc6Zm4mJmVhc2luZ3x8ZWFzaW5nJiYhalF1ZXJ5LmlzRnVuY3Rpb24oZWFzaW5nKSYmZWFzaW5nfTtyZXR1cm4gb3B0LmR1cmF0aW9uPWpRdWVyeS5meC5vZmY/MDpcIm51bWJlclwiPT10eXBlb2Ygb3B0LmR1cmF0aW9uP29wdC5kdXJhdGlvbjpvcHQuZHVyYXRpb24gaW4galF1ZXJ5LmZ4LnNwZWVkcz9qUXVlcnkuZnguc3BlZWRzW29wdC5kdXJhdGlvbl06alF1ZXJ5LmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09b3B0LnF1ZXVlfHxvcHQucXVldWU9PT0hMCkmJihvcHQucXVldWU9XCJmeFwiKSxvcHQub2xkPW9wdC5jb21wbGV0ZSxvcHQuY29tcGxldGU9ZnVuY3Rpb24oKXtqUXVlcnkuaXNGdW5jdGlvbihvcHQub2xkKSYmb3B0Lm9sZC5jYWxsKHRoaXMpLG9wdC5xdWV1ZSYmalF1ZXJ5LmRlcXVldWUodGhpcyxvcHQucXVldWUpfSxvcHR9LGpRdWVyeS5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihzcGVlZCx0byxlYXNpbmcsY2FsbGJhY2spe3JldHVybiB0aGlzLmZpbHRlcihpc0hpZGRlbikuY3NzKFwib3BhY2l0eVwiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OnRvfSxzcGVlZCxlYXNpbmcsY2FsbGJhY2spfSxhbmltYXRlOmZ1bmN0aW9uKHByb3Asc3BlZWQsZWFzaW5nLGNhbGxiYWNrKXt2YXIgZW1wdHk9alF1ZXJ5LmlzRW1wdHlPYmplY3QocHJvcCksb3B0YWxsPWpRdWVyeS5zcGVlZChzcGVlZCxlYXNpbmcsY2FsbGJhY2spLGRvQW5pbWF0aW9uPWZ1bmN0aW9uKCl7dmFyIGFuaW09QW5pbWF0aW9uKHRoaXMsalF1ZXJ5LmV4dGVuZCh7fSxwcm9wKSxvcHRhbGwpOyhlbXB0eXx8alF1ZXJ5Ll9kYXRhKHRoaXMsXCJmaW5pc2hcIikpJiZhbmltLnN0b3AoITApfTtyZXR1cm4gZG9BbmltYXRpb24uZmluaXNoPWRvQW5pbWF0aW9uLGVtcHR5fHxvcHRhbGwucXVldWU9PT0hMT90aGlzLmVhY2goZG9BbmltYXRpb24pOnRoaXMucXVldWUob3B0YWxsLnF1ZXVlLGRvQW5pbWF0aW9uKX0sc3RvcDpmdW5jdGlvbih0eXBlLGNsZWFyUXVldWUsZ290b0VuZCl7dmFyIHN0b3BRdWV1ZT1mdW5jdGlvbihob29rcyl7dmFyIHN0b3A9aG9va3Muc3RvcDtkZWxldGUgaG9va3Muc3RvcCxzdG9wKGdvdG9FbmQpfTtyZXR1cm5cInN0cmluZ1wiIT10eXBlb2YgdHlwZSYmKGdvdG9FbmQ9Y2xlYXJRdWV1ZSxjbGVhclF1ZXVlPXR5cGUsdHlwZT12b2lkIDApLGNsZWFyUXVldWUmJnR5cGUhPT0hMSYmdGhpcy5xdWV1ZSh0eXBlfHxcImZ4XCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkZXF1ZXVlPSEwLGluZGV4PW51bGwhPXR5cGUmJnR5cGUrXCJxdWV1ZUhvb2tzXCIsdGltZXJzPWpRdWVyeS50aW1lcnMsZGF0YT1qUXVlcnkuX2RhdGEodGhpcyk7aWYoaW5kZXgpZGF0YVtpbmRleF0mJmRhdGFbaW5kZXhdLnN0b3AmJnN0b3BRdWV1ZShkYXRhW2luZGV4XSk7ZWxzZSBmb3IoaW5kZXggaW4gZGF0YSlkYXRhW2luZGV4XSYmZGF0YVtpbmRleF0uc3RvcCYmcnJ1bi50ZXN0KGluZGV4KSYmc3RvcFF1ZXVlKGRhdGFbaW5kZXhdKTtmb3IoaW5kZXg9dGltZXJzLmxlbmd0aDtpbmRleC0tOyl0aW1lcnNbaW5kZXhdLmVsZW0hPT10aGlzfHxudWxsIT10eXBlJiZ0aW1lcnNbaW5kZXhdLnF1ZXVlIT09dHlwZXx8KHRpbWVyc1tpbmRleF0uYW5pbS5zdG9wKGdvdG9FbmQpLGRlcXVldWU9ITEsdGltZXJzLnNwbGljZShpbmRleCwxKSk7KGRlcXVldWV8fCFnb3RvRW5kKSYmalF1ZXJ5LmRlcXVldWUodGhpcyx0eXBlKX0pfSxmaW5pc2g6ZnVuY3Rpb24odHlwZSl7cmV0dXJuIHR5cGUhPT0hMSYmKHR5cGU9dHlwZXx8XCJmeFwiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaW5kZXgsZGF0YT1qUXVlcnkuX2RhdGEodGhpcykscXVldWU9ZGF0YVt0eXBlK1wicXVldWVcIl0saG9va3M9ZGF0YVt0eXBlK1wicXVldWVIb29rc1wiXSx0aW1lcnM9alF1ZXJ5LnRpbWVycyxsZW5ndGg9cXVldWU/cXVldWUubGVuZ3RoOjA7Zm9yKGRhdGEuZmluaXNoPSEwLGpRdWVyeS5xdWV1ZSh0aGlzLHR5cGUsW10pLGhvb2tzJiZob29rcy5zdG9wJiZob29rcy5zdG9wLmNhbGwodGhpcywhMCksaW5kZXg9dGltZXJzLmxlbmd0aDtpbmRleC0tOyl0aW1lcnNbaW5kZXhdLmVsZW09PT10aGlzJiZ0aW1lcnNbaW5kZXhdLnF1ZXVlPT09dHlwZSYmKHRpbWVyc1tpbmRleF0uYW5pbS5zdG9wKCEwKSx0aW1lcnMuc3BsaWNlKGluZGV4LDEpKTtmb3IoaW5kZXg9MDtsZW5ndGg+aW5kZXg7aW5kZXgrKylxdWV1ZVtpbmRleF0mJnF1ZXVlW2luZGV4XS5maW5pc2gmJnF1ZXVlW2luZGV4XS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgZGF0YS5maW5pc2h9KX19KSxqUXVlcnkuZWFjaChbXCJ0b2dnbGVcIixcInNob3dcIixcImhpZGVcIl0sZnVuY3Rpb24oaSxuYW1lKXt2YXIgY3NzRm49alF1ZXJ5LmZuW25hbWVdO2pRdWVyeS5mbltuYW1lXT1mdW5jdGlvbihzcGVlZCxlYXNpbmcsY2FsbGJhY2spe3JldHVybiBudWxsPT1zcGVlZHx8XCJib29sZWFuXCI9PXR5cGVvZiBzcGVlZD9jc3NGbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hbmltYXRlKGdlbkZ4KG5hbWUsITApLHNwZWVkLGVhc2luZyxjYWxsYmFjayl9fSksalF1ZXJ5LmVhY2goe3NsaWRlRG93bjpnZW5GeChcInNob3dcIiksc2xpZGVVcDpnZW5GeChcImhpZGVcIiksc2xpZGVUb2dnbGU6Z2VuRngoXCJ0b2dnbGVcIiksZmFkZUluOntvcGFjaXR5Olwic2hvd1wifSxmYWRlT3V0OntvcGFjaXR5OlwiaGlkZVwifSxmYWRlVG9nZ2xlOntvcGFjaXR5OlwidG9nZ2xlXCJ9fSxmdW5jdGlvbihuYW1lLHByb3BzKXtqUXVlcnkuZm5bbmFtZV09ZnVuY3Rpb24oc3BlZWQsZWFzaW5nLGNhbGxiYWNrKXtyZXR1cm4gdGhpcy5hbmltYXRlKHByb3BzLHNwZWVkLGVhc2luZyxjYWxsYmFjayl9fSksalF1ZXJ5LnRpbWVycz1bXSxqUXVlcnkuZngudGljaz1mdW5jdGlvbigpe3ZhciB0aW1lcix0aW1lcnM9alF1ZXJ5LnRpbWVycyxpPTA7Zm9yKGZ4Tm93PWpRdWVyeS5ub3coKTtpPHRpbWVycy5sZW5ndGg7aSsrKXRpbWVyPXRpbWVyc1tpXSx0aW1lcigpfHx0aW1lcnNbaV0hPT10aW1lcnx8dGltZXJzLnNwbGljZShpLS0sMSk7dGltZXJzLmxlbmd0aHx8alF1ZXJ5LmZ4LnN0b3AoKSxmeE5vdz12b2lkIDB9LGpRdWVyeS5meC50aW1lcj1mdW5jdGlvbih0aW1lcil7alF1ZXJ5LnRpbWVycy5wdXNoKHRpbWVyKSx0aW1lcigpP2pRdWVyeS5meC5zdGFydCgpOmpRdWVyeS50aW1lcnMucG9wKCl9LGpRdWVyeS5meC5pbnRlcnZhbD0xMyxqUXVlcnkuZnguc3RhcnQ9ZnVuY3Rpb24oKXt0aW1lcklkfHwodGltZXJJZD1zZXRJbnRlcnZhbChqUXVlcnkuZngudGljayxqUXVlcnkuZnguaW50ZXJ2YWwpKX0salF1ZXJ5LmZ4LnN0b3A9ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKHRpbWVySWQpLHRpbWVySWQ9bnVsbH0salF1ZXJ5LmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxqUXVlcnkuZm4uZGVsYXk9ZnVuY3Rpb24odGltZSx0eXBlKXtyZXR1cm4gdGltZT1qUXVlcnkuZng/alF1ZXJ5LmZ4LnNwZWVkc1t0aW1lXXx8dGltZTp0aW1lLHR5cGU9dHlwZXx8XCJmeFwiLHRoaXMucXVldWUodHlwZSxmdW5jdGlvbihuZXh0LGhvb2tzKXt2YXIgdGltZW91dD1zZXRUaW1lb3V0KG5leHQsdGltZSk7aG9va3Muc3RvcD1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aW1lb3V0KX19KX0sZnVuY3Rpb24oKXt2YXIgaW5wdXQsZGl2LHNlbGVjdCxhLG9wdDtkaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSxkaXYuc2V0QXR0cmlidXRlKFwiY2xhc3NOYW1lXCIsXCJ0XCIpLGRpdi5pbm5lckhUTUw9XCIgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYSc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz5cIixhPWRpdi5nZXRFbGVtZW50c0J5VGFnTmFtZShcImFcIilbMF0sc2VsZWN0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzZWxlY3RcIiksb3B0PXNlbGVjdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwib3B0aW9uXCIpKSxpbnB1dD1kaXYuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJpbnB1dFwiKVswXSxhLnN0eWxlLmNzc1RleHQ9XCJ0b3A6MXB4XCIsc3VwcG9ydC5nZXRTZXRBdHRyaWJ1dGU9XCJ0XCIhPT1kaXYuY2xhc3NOYW1lLHN1cHBvcnQuc3R5bGU9L3RvcC8udGVzdChhLmdldEF0dHJpYnV0ZShcInN0eWxlXCIpKSxzdXBwb3J0LmhyZWZOb3JtYWxpemVkPVwiL2FcIj09PWEuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKSxzdXBwb3J0LmNoZWNrT249ISFpbnB1dC52YWx1ZSxzdXBwb3J0Lm9wdFNlbGVjdGVkPW9wdC5zZWxlY3RlZCxzdXBwb3J0LmVuY3R5cGU9ISFkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZm9ybVwiKS5lbmN0eXBlLHNlbGVjdC5kaXNhYmxlZD0hMCxzdXBwb3J0Lm9wdERpc2FibGVkPSFvcHQuZGlzYWJsZWQsaW5wdXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpLGlucHV0LnNldEF0dHJpYnV0ZShcInZhbHVlXCIsXCJcIiksc3VwcG9ydC5pbnB1dD1cIlwiPT09aW5wdXQuZ2V0QXR0cmlidXRlKFwidmFsdWVcIiksaW5wdXQudmFsdWU9XCJ0XCIsaW5wdXQuc2V0QXR0cmlidXRlKFwidHlwZVwiLFwicmFkaW9cIiksc3VwcG9ydC5yYWRpb1ZhbHVlPVwidFwiPT09aW5wdXQudmFsdWV9KCk7dmFyIHJyZXR1cm49L1xcci9nO2pRdWVyeS5mbi5leHRlbmQoe3ZhbDpmdW5jdGlvbih2YWx1ZSl7dmFyIGhvb2tzLHJldCxpc0Z1bmN0aW9uLGVsZW09dGhpc1swXTt7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gaXNGdW5jdGlvbj1qUXVlcnkuaXNGdW5jdGlvbih2YWx1ZSksdGhpcy5lYWNoKGZ1bmN0aW9uKGkpe3ZhciB2YWw7MT09PXRoaXMubm9kZVR5cGUmJih2YWw9aXNGdW5jdGlvbj92YWx1ZS5jYWxsKHRoaXMsaSxqUXVlcnkodGhpcykudmFsKCkpOnZhbHVlLG51bGw9PXZhbD92YWw9XCJcIjpcIm51bWJlclwiPT10eXBlb2YgdmFsP3ZhbCs9XCJcIjpqUXVlcnkuaXNBcnJheSh2YWwpJiYodmFsPWpRdWVyeS5tYXAodmFsLGZ1bmN0aW9uKHZhbHVlKXtyZXR1cm4gbnVsbD09dmFsdWU/XCJcIjp2YWx1ZStcIlwifSkpLGhvb2tzPWpRdWVyeS52YWxIb29rc1t0aGlzLnR5cGVdfHxqUXVlcnkudmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxob29rcyYmXCJzZXRcImluIGhvb2tzJiZ2b2lkIDAhPT1ob29rcy5zZXQodGhpcyx2YWwsXCJ2YWx1ZVwiKXx8KHRoaXMudmFsdWU9dmFsKSl9KTtpZihlbGVtKXJldHVybiBob29rcz1qUXVlcnkudmFsSG9va3NbZWxlbS50eXBlXXx8alF1ZXJ5LnZhbEhvb2tzW2VsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0saG9va3MmJlwiZ2V0XCJpbiBob29rcyYmdm9pZCAwIT09KHJldD1ob29rcy5nZXQoZWxlbSxcInZhbHVlXCIpKT9yZXQ6KHJldD1lbGVtLnZhbHVlLFwic3RyaW5nXCI9PXR5cGVvZiByZXQ/cmV0LnJlcGxhY2UocnJldHVybixcIlwiKTpudWxsPT1yZXQ/XCJcIjpyZXQpfX19KSxqUXVlcnkuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oZWxlbSl7dmFyIHZhbD1qUXVlcnkuZmluZC5hdHRyKGVsZW0sXCJ2YWx1ZVwiKTtyZXR1cm4gbnVsbCE9dmFsP3ZhbDpqUXVlcnkudHJpbShqUXVlcnkudGV4dChlbGVtKSl9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihlbGVtKXtmb3IodmFyIHZhbHVlLG9wdGlvbixvcHRpb25zPWVsZW0ub3B0aW9ucyxpbmRleD1lbGVtLnNlbGVjdGVkSW5kZXgsb25lPVwic2VsZWN0LW9uZVwiPT09ZWxlbS50eXBlfHwwPmluZGV4LHZhbHVlcz1vbmU/bnVsbDpbXSxtYXg9b25lP2luZGV4KzE6b3B0aW9ucy5sZW5ndGgsaT0wPmluZGV4P21heDpvbmU/aW5kZXg6MDttYXg+aTtpKyspaWYob3B0aW9uPW9wdGlvbnNbaV0sKG9wdGlvbi5zZWxlY3RlZHx8aT09PWluZGV4KSYmKHN1cHBvcnQub3B0RGlzYWJsZWQ/IW9wdGlvbi5kaXNhYmxlZDpudWxsPT09b3B0aW9uLmdldEF0dHJpYnV0ZShcImRpc2FibGVkXCIpKSYmKCFvcHRpb24ucGFyZW50Tm9kZS5kaXNhYmxlZHx8IWpRdWVyeS5ub2RlTmFtZShvcHRpb24ucGFyZW50Tm9kZSxcIm9wdGdyb3VwXCIpKSl7aWYodmFsdWU9alF1ZXJ5KG9wdGlvbikudmFsKCksb25lKXJldHVybiB2YWx1ZTt2YWx1ZXMucHVzaCh2YWx1ZSl9cmV0dXJuIHZhbHVlc30sc2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUpe2Zvcih2YXIgb3B0aW9uU2V0LG9wdGlvbixvcHRpb25zPWVsZW0ub3B0aW9ucyx2YWx1ZXM9alF1ZXJ5Lm1ha2VBcnJheSh2YWx1ZSksaT1vcHRpb25zLmxlbmd0aDtpLS07KWlmKG9wdGlvbj1vcHRpb25zW2ldLGpRdWVyeS5pbkFycmF5KGpRdWVyeS52YWxIb29rcy5vcHRpb24uZ2V0KG9wdGlvbiksdmFsdWVzKT49MCl0cnl7b3B0aW9uLnNlbGVjdGVkPW9wdGlvblNldD0hMH1jYXRjaChfKXtvcHRpb24uc2Nyb2xsSGVpZ2h0fWVsc2Ugb3B0aW9uLnNlbGVjdGVkPSExO3JldHVybiBvcHRpb25TZXR8fChlbGVtLnNlbGVjdGVkSW5kZXg9LTEpLG9wdGlvbnN9fX19KSxqUXVlcnkuZWFjaChbXCJyYWRpb1wiLFwiY2hlY2tib3hcIl0sZnVuY3Rpb24oKXtqUXVlcnkudmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihlbGVtLHZhbHVlKXtyZXR1cm4galF1ZXJ5LmlzQXJyYXkodmFsdWUpP2VsZW0uY2hlY2tlZD1qUXVlcnkuaW5BcnJheShqUXVlcnkoZWxlbSkudmFsKCksdmFsdWUpPj0wOnZvaWQgMH19LHN1cHBvcnQuY2hlY2tPbnx8KGpRdWVyeS52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIG51bGw9PT1lbGVtLmdldEF0dHJpYnV0ZShcInZhbHVlXCIpP1wib25cIjplbGVtLnZhbHVlfSl9KTt2YXIgbm9kZUhvb2ssYm9vbEhvb2ssYXR0ckhhbmRsZT1qUXVlcnkuZXhwci5hdHRySGFuZGxlLHJ1c2VEZWZhdWx0PS9eKD86Y2hlY2tlZHxzZWxlY3RlZCkkL2ksZ2V0U2V0QXR0cmlidXRlPXN1cHBvcnQuZ2V0U2V0QXR0cmlidXRlLGdldFNldElucHV0PXN1cHBvcnQuaW5wdXQ7alF1ZXJ5LmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihuYW1lLHZhbHVlKXtyZXR1cm4gYWNjZXNzKHRoaXMsalF1ZXJ5LmF0dHIsbmFtZSx2YWx1ZSxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKG5hbWUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkucmVtb3ZlQXR0cih0aGlzLG5hbWUpfSl9fSksalF1ZXJ5LmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlbGVtLG5hbWUsdmFsdWUpe3ZhciBob29rcyxyZXQsblR5cGU9ZWxlbS5ub2RlVHlwZTtpZihlbGVtJiYzIT09blR5cGUmJjghPT1uVHlwZSYmMiE9PW5UeXBlKXJldHVybiB0eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGU9PT1zdHJ1bmRlZmluZWQ/alF1ZXJ5LnByb3AoZWxlbSxuYW1lLHZhbHVlKTooMT09PW5UeXBlJiZqUXVlcnkuaXNYTUxEb2MoZWxlbSl8fChuYW1lPW5hbWUudG9Mb3dlckNhc2UoKSxob29rcz1qUXVlcnkuYXR0ckhvb2tzW25hbWVdfHwoalF1ZXJ5LmV4cHIubWF0Y2guYm9vbC50ZXN0KG5hbWUpP2Jvb2xIb29rOm5vZGVIb29rKSksdm9pZCAwPT09dmFsdWU/aG9va3MmJlwiZ2V0XCJpbiBob29rcyYmbnVsbCE9PShyZXQ9aG9va3MuZ2V0KGVsZW0sbmFtZSkpP3JldDoocmV0PWpRdWVyeS5maW5kLmF0dHIoZWxlbSxuYW1lKSxudWxsPT1yZXQ/dm9pZCAwOnJldCk6bnVsbCE9PXZhbHVlP2hvb2tzJiZcInNldFwiaW4gaG9va3MmJnZvaWQgMCE9PShyZXQ9aG9va3Muc2V0KGVsZW0sdmFsdWUsbmFtZSkpP3JldDooZWxlbS5zZXRBdHRyaWJ1dGUobmFtZSx2YWx1ZStcIlwiKSx2YWx1ZSk6dm9pZCBqUXVlcnkucmVtb3ZlQXR0cihlbGVtLG5hbWUpKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlbGVtLHZhbHVlKXt2YXIgbmFtZSxwcm9wTmFtZSxpPTAsYXR0ck5hbWVzPXZhbHVlJiZ2YWx1ZS5tYXRjaChybm90d2hpdGUpO2lmKGF0dHJOYW1lcyYmMT09PWVsZW0ubm9kZVR5cGUpZm9yKDtuYW1lPWF0dHJOYW1lc1tpKytdOylwcm9wTmFtZT1qUXVlcnkucHJvcEZpeFtuYW1lXXx8bmFtZSxqUXVlcnkuZXhwci5tYXRjaC5ib29sLnRlc3QobmFtZSk/Z2V0U2V0SW5wdXQmJmdldFNldEF0dHJpYnV0ZXx8IXJ1c2VEZWZhdWx0LnRlc3QobmFtZSk/ZWxlbVtwcm9wTmFtZV09ITE6ZWxlbVtqUXVlcnkuY2FtZWxDYXNlKFwiZGVmYXVsdC1cIituYW1lKV09ZWxlbVtwcm9wTmFtZV09ITE6alF1ZXJ5LmF0dHIoZWxlbSxuYW1lLFwiXCIpLGVsZW0ucmVtb3ZlQXR0cmlidXRlKGdldFNldEF0dHJpYnV0ZT9uYW1lOnByb3BOYW1lKX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oZWxlbSx2YWx1ZSl7aWYoIXN1cHBvcnQucmFkaW9WYWx1ZSYmXCJyYWRpb1wiPT09dmFsdWUmJmpRdWVyeS5ub2RlTmFtZShlbGVtLFwiaW5wdXRcIikpe3ZhciB2YWw9ZWxlbS52YWx1ZTtyZXR1cm4gZWxlbS5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsdmFsdWUpLHZhbCYmKGVsZW0udmFsdWU9dmFsKSx2YWx1ZX19fX19KSxib29sSG9vaz17c2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUsbmFtZSl7cmV0dXJuIHZhbHVlPT09ITE/alF1ZXJ5LnJlbW92ZUF0dHIoZWxlbSxuYW1lKTpnZXRTZXRJbnB1dCYmZ2V0U2V0QXR0cmlidXRlfHwhcnVzZURlZmF1bHQudGVzdChuYW1lKT9lbGVtLnNldEF0dHJpYnV0ZSghZ2V0U2V0QXR0cmlidXRlJiZqUXVlcnkucHJvcEZpeFtuYW1lXXx8bmFtZSxuYW1lKTplbGVtW2pRdWVyeS5jYW1lbENhc2UoXCJkZWZhdWx0LVwiK25hbWUpXT1lbGVtW25hbWVdPSEwLG5hbWV9fSxqUXVlcnkuZWFjaChqUXVlcnkuZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXFx3Ky9nKSxmdW5jdGlvbihpLG5hbWUpe3ZhciBnZXR0ZXI9YXR0ckhhbmRsZVtuYW1lXXx8alF1ZXJ5LmZpbmQuYXR0cjthdHRySGFuZGxlW25hbWVdPWdldFNldElucHV0JiZnZXRTZXRBdHRyaWJ1dGV8fCFydXNlRGVmYXVsdC50ZXN0KG5hbWUpP2Z1bmN0aW9uKGVsZW0sbmFtZSxpc1hNTCl7dmFyIHJldCxoYW5kbGU7cmV0dXJuIGlzWE1MfHwoaGFuZGxlPWF0dHJIYW5kbGVbbmFtZV0sYXR0ckhhbmRsZVtuYW1lXT1yZXQscmV0PW51bGwhPWdldHRlcihlbGVtLG5hbWUsaXNYTUwpP25hbWUudG9Mb3dlckNhc2UoKTpudWxsLGF0dHJIYW5kbGVbbmFtZV09aGFuZGxlKSxyZXR9OmZ1bmN0aW9uKGVsZW0sbmFtZSxpc1hNTCl7cmV0dXJuIGlzWE1MP3ZvaWQgMDplbGVtW2pRdWVyeS5jYW1lbENhc2UoXCJkZWZhdWx0LVwiK25hbWUpXT9uYW1lLnRvTG93ZXJDYXNlKCk6bnVsbH19KSxnZXRTZXRJbnB1dCYmZ2V0U2V0QXR0cmlidXRlfHwoalF1ZXJ5LmF0dHJIb29rcy52YWx1ZT17c2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUsbmFtZSl7cmV0dXJuIGpRdWVyeS5ub2RlTmFtZShlbGVtLFwiaW5wdXRcIik/dm9pZChlbGVtLmRlZmF1bHRWYWx1ZT12YWx1ZSk6bm9kZUhvb2smJm5vZGVIb29rLnNldChlbGVtLHZhbHVlLG5hbWUpfX0pLGdldFNldEF0dHJpYnV0ZXx8KG5vZGVIb29rPXtzZXQ6ZnVuY3Rpb24oZWxlbSx2YWx1ZSxuYW1lKXt2YXIgcmV0PWVsZW0uZ2V0QXR0cmlidXRlTm9kZShuYW1lKTtyZXR1cm4gcmV0fHxlbGVtLnNldEF0dHJpYnV0ZU5vZGUocmV0PWVsZW0ub3duZXJEb2N1bWVudC5jcmVhdGVBdHRyaWJ1dGUobmFtZSkpLHJldC52YWx1ZT12YWx1ZSs9XCJcIixcInZhbHVlXCI9PT1uYW1lfHx2YWx1ZT09PWVsZW0uZ2V0QXR0cmlidXRlKG5hbWUpP3ZhbHVlOnZvaWQgMH19LGF0dHJIYW5kbGUuaWQ9YXR0ckhhbmRsZS5uYW1lPWF0dHJIYW5kbGUuY29vcmRzPWZ1bmN0aW9uKGVsZW0sbmFtZSxpc1hNTCl7dmFyIHJldDtyZXR1cm4gaXNYTUw/dm9pZCAwOihyZXQ9ZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKG5hbWUpKSYmXCJcIiE9PXJldC52YWx1ZT9yZXQudmFsdWU6bnVsbH0salF1ZXJ5LnZhbEhvb2tzLmJ1dHRvbj17Z2V0OmZ1bmN0aW9uKGVsZW0sbmFtZSl7dmFyIHJldD1lbGVtLmdldEF0dHJpYnV0ZU5vZGUobmFtZSk7cmV0dXJuIHJldCYmcmV0LnNwZWNpZmllZD9yZXQudmFsdWU6dm9pZCAwfSxzZXQ6bm9kZUhvb2suc2V0fSxqUXVlcnkuYXR0ckhvb2tzLmNvbnRlbnRlZGl0YWJsZT17c2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUsbmFtZSl7bm9kZUhvb2suc2V0KGVsZW0sXCJcIj09PXZhbHVlPyExOnZhbHVlLG5hbWUpfX0salF1ZXJ5LmVhY2goW1wid2lkdGhcIixcImhlaWdodFwiXSxmdW5jdGlvbihpLG5hbWUpe2pRdWVyeS5hdHRySG9va3NbbmFtZV09e3NldDpmdW5jdGlvbihlbGVtLHZhbHVlKXtyZXR1cm5cIlwiPT09dmFsdWU/KGVsZW0uc2V0QXR0cmlidXRlKG5hbWUsXCJhdXRvXCIpLHZhbHVlKTp2b2lkIDB9fX0pKSxzdXBwb3J0LnN0eWxlfHwoalF1ZXJ5LmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLnN0eWxlLmNzc1RleHR8fHZvaWQgMH0sc2V0OmZ1bmN0aW9uKGVsZW0sdmFsdWUpe3JldHVybiBlbGVtLnN0eWxlLmNzc1RleHQ9dmFsdWUrXCJcIn19KTt2YXIgcmZvY3VzYWJsZT0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSxyY2xpY2thYmxlPS9eKD86YXxhcmVhKSQvaTtqUXVlcnkuZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKG5hbWUsdmFsdWUpe3JldHVybiBhY2Nlc3ModGhpcyxqUXVlcnkucHJvcCxuYW1lLHZhbHVlLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24obmFtZSl7cmV0dXJuIG5hbWU9alF1ZXJ5LnByb3BGaXhbbmFtZV18fG5hbWUsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbbmFtZV09dm9pZCAwLGRlbGV0ZSB0aGlzW25hbWVdfWNhdGNoKGUpe319KX19KSxqUXVlcnkuZXh0ZW5kKHtwcm9wRml4OntcImZvclwiOlwiaHRtbEZvclwiLFwiY2xhc3NcIjpcImNsYXNzTmFtZVwifSxwcm9wOmZ1bmN0aW9uKGVsZW0sbmFtZSx2YWx1ZSl7dmFyIHJldCxob29rcyxub3R4bWwsblR5cGU9ZWxlbS5ub2RlVHlwZTtpZihlbGVtJiYzIT09blR5cGUmJjghPT1uVHlwZSYmMiE9PW5UeXBlKXJldHVybiBub3R4bWw9MSE9PW5UeXBlfHwhalF1ZXJ5LmlzWE1MRG9jKGVsZW0pLG5vdHhtbCYmKG5hbWU9alF1ZXJ5LnByb3BGaXhbbmFtZV18fG5hbWUsaG9va3M9alF1ZXJ5LnByb3BIb29rc1tuYW1lXSksdm9pZCAwIT09dmFsdWU/aG9va3MmJlwic2V0XCJpbiBob29rcyYmdm9pZCAwIT09KHJldD1ob29rcy5zZXQoZWxlbSx2YWx1ZSxuYW1lKSk/cmV0OmVsZW1bbmFtZV09dmFsdWU6aG9va3MmJlwiZ2V0XCJpbiBob29rcyYmbnVsbCE9PShyZXQ9aG9va3MuZ2V0KGVsZW0sbmFtZSkpP3JldDplbGVtW25hbWVdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oZWxlbSl7dmFyIHRhYmluZGV4PWpRdWVyeS5maW5kLmF0dHIoZWxlbSxcInRhYmluZGV4XCIpO3JldHVybiB0YWJpbmRleD9wYXJzZUludCh0YWJpbmRleCwxMCk6cmZvY3VzYWJsZS50ZXN0KGVsZW0ubm9kZU5hbWUpfHxyY2xpY2thYmxlLnRlc3QoZWxlbS5ub2RlTmFtZSkmJmVsZW0uaHJlZj8wOi0xfX19fSksc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8alF1ZXJ5LmVhY2goW1wiaHJlZlwiLFwic3JjXCJdLGZ1bmN0aW9uKGksbmFtZSl7alF1ZXJ5LnByb3BIb29rc1tuYW1lXT17Z2V0OmZ1bmN0aW9uKGVsZW0pe3JldHVybiBlbGVtLmdldEF0dHJpYnV0ZShuYW1lLDQpfX19KSxzdXBwb3J0Lm9wdFNlbGVjdGVkfHwoalF1ZXJ5LnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGVsZW0pe3ZhciBwYXJlbnQ9ZWxlbS5wYXJlbnROb2RlO3JldHVybiBwYXJlbnQmJihwYXJlbnQuc2VsZWN0ZWRJbmRleCxwYXJlbnQucGFyZW50Tm9kZSYmcGFyZW50LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSxqUXVlcnkuZWFjaChbXCJ0YWJJbmRleFwiLFwicmVhZE9ubHlcIixcIm1heExlbmd0aFwiLFwiY2VsbFNwYWNpbmdcIixcImNlbGxQYWRkaW5nXCIsXCJyb3dTcGFuXCIsXCJjb2xTcGFuXCIsXCJ1c2VNYXBcIixcImZyYW1lQm9yZGVyXCIsXCJjb250ZW50RWRpdGFibGVcIl0sZnVuY3Rpb24oKXtqUXVlcnkucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxzdXBwb3J0LmVuY3R5cGV8fChqUXVlcnkucHJvcEZpeC5lbmN0eXBlPVwiZW5jb2RpbmdcIik7dmFyIHJjbGFzcz0vW1xcdFxcclxcblxcZl0vZztqUXVlcnkuZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbih2YWx1ZSl7dmFyIGNsYXNzZXMsZWxlbSxjdXIsY2xhenosaixmaW5hbFZhbHVlLGk9MCxsZW49dGhpcy5sZW5ndGgscHJvY2VlZD1cInN0cmluZ1wiPT10eXBlb2YgdmFsdWUmJnZhbHVlO2lmKGpRdWVyeS5pc0Z1bmN0aW9uKHZhbHVlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGope2pRdWVyeSh0aGlzKS5hZGRDbGFzcyh2YWx1ZS5jYWxsKHRoaXMsaix0aGlzLmNsYXNzTmFtZSkpfSk7aWYocHJvY2VlZClmb3IoY2xhc3Nlcz0odmFsdWV8fFwiXCIpLm1hdGNoKHJub3R3aGl0ZSl8fFtdO2xlbj5pO2krKylpZihlbGVtPXRoaXNbaV0sY3VyPTE9PT1lbGVtLm5vZGVUeXBlJiYoZWxlbS5jbGFzc05hbWU/KFwiIFwiK2VsZW0uY2xhc3NOYW1lK1wiIFwiKS5yZXBsYWNlKHJjbGFzcyxcIiBcIik6XCIgXCIpKXtmb3Ioaj0wO2NsYXp6PWNsYXNzZXNbaisrXTspY3VyLmluZGV4T2YoXCIgXCIrY2xhenorXCIgXCIpPDAmJihjdXIrPWNsYXp6K1wiIFwiKTtmaW5hbFZhbHVlPWpRdWVyeS50cmltKGN1ciksZWxlbS5jbGFzc05hbWUhPT1maW5hbFZhbHVlJiYoZWxlbS5jbGFzc05hbWU9ZmluYWxWYWx1ZSl9cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKHZhbHVlKXt2YXIgY2xhc3NlcyxlbGVtLGN1cixjbGF6eixqLGZpbmFsVmFsdWUsaT0wLGxlbj10aGlzLmxlbmd0aCxwcm9jZWVkPTA9PT1hcmd1bWVudHMubGVuZ3RofHxcInN0cmluZ1wiPT10eXBlb2YgdmFsdWUmJnZhbHVlO2lmKGpRdWVyeS5pc0Z1bmN0aW9uKHZhbHVlKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGope2pRdWVyeSh0aGlzKS5yZW1vdmVDbGFzcyh2YWx1ZS5jYWxsKHRoaXMsaix0aGlzLmNsYXNzTmFtZSkpfSk7aWYocHJvY2VlZClmb3IoY2xhc3Nlcz0odmFsdWV8fFwiXCIpLm1hdGNoKHJub3R3aGl0ZSl8fFtdO2xlbj5pO2krKylpZihlbGVtPXRoaXNbaV0sY3VyPTE9PT1lbGVtLm5vZGVUeXBlJiYoZWxlbS5jbGFzc05hbWU/KFwiIFwiK2VsZW0uY2xhc3NOYW1lK1wiIFwiKS5yZXBsYWNlKHJjbGFzcyxcIiBcIik6XCJcIikpe2ZvcihqPTA7Y2xheno9Y2xhc3Nlc1tqKytdOylmb3IoO2N1ci5pbmRleE9mKFwiIFwiK2NsYXp6K1wiIFwiKT49MDspY3VyPWN1ci5yZXBsYWNlKFwiIFwiK2NsYXp6K1wiIFwiLFwiIFwiKTtmaW5hbFZhbHVlPXZhbHVlP2pRdWVyeS50cmltKGN1cik6XCJcIixlbGVtLmNsYXNzTmFtZSE9PWZpbmFsVmFsdWUmJihlbGVtLmNsYXNzTmFtZT1maW5hbFZhbHVlKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24odmFsdWUsc3RhdGVWYWwpe3ZhciB0eXBlPXR5cGVvZiB2YWx1ZTtyZXR1cm5cImJvb2xlYW5cIj09dHlwZW9mIHN0YXRlVmFsJiZcInN0cmluZ1wiPT09dHlwZT9zdGF0ZVZhbD90aGlzLmFkZENsYXNzKHZhbHVlKTp0aGlzLnJlbW92ZUNsYXNzKHZhbHVlKTpqUXVlcnkuaXNGdW5jdGlvbih2YWx1ZSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVyeSh0aGlzKS50b2dnbGVDbGFzcyh2YWx1ZS5jYWxsKHRoaXMsaSx0aGlzLmNsYXNzTmFtZSxzdGF0ZVZhbCksc3RhdGVWYWwpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoXCJzdHJpbmdcIj09PXR5cGUpZm9yKHZhciBjbGFzc05hbWUsaT0wLHNlbGY9alF1ZXJ5KHRoaXMpLGNsYXNzTmFtZXM9dmFsdWUubWF0Y2gocm5vdHdoaXRlKXx8W107Y2xhc3NOYW1lPWNsYXNzTmFtZXNbaSsrXTspc2VsZi5oYXNDbGFzcyhjbGFzc05hbWUpP3NlbGYucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKTpzZWxmLmFkZENsYXNzKGNsYXNzTmFtZSk7ZWxzZSh0eXBlPT09c3RydW5kZWZpbmVkfHxcImJvb2xlYW5cIj09PXR5cGUpJiYodGhpcy5jbGFzc05hbWUmJmpRdWVyeS5fZGF0YSh0aGlzLFwiX19jbGFzc05hbWVfX1wiLHRoaXMuY2xhc3NOYW1lKSx0aGlzLmNsYXNzTmFtZT10aGlzLmNsYXNzTmFtZXx8dmFsdWU9PT0hMT9cIlwiOmpRdWVyeS5fZGF0YSh0aGlzLFwiX19jbGFzc05hbWVfX1wiKXx8XCJcIil9KX0saGFzQ2xhc3M6ZnVuY3Rpb24oc2VsZWN0b3Ipe2Zvcih2YXIgY2xhc3NOYW1lPVwiIFwiK3NlbGVjdG9yK1wiIFwiLGk9MCxsPXRoaXMubGVuZ3RoO2w+aTtpKyspaWYoMT09PXRoaXNbaV0ubm9kZVR5cGUmJihcIiBcIit0aGlzW2ldLmNsYXNzTmFtZStcIiBcIikucmVwbGFjZShyY2xhc3MsXCIgXCIpLmluZGV4T2YoY2xhc3NOYW1lKT49MClyZXR1cm4hMDtyZXR1cm4hMX19KSxqUXVlcnkuZWFjaChcImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnVcIi5zcGxpdChcIiBcIiksZnVuY3Rpb24oaSxuYW1lKXtqUXVlcnkuZm5bbmFtZV09ZnVuY3Rpb24oZGF0YSxmbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKG5hbWUsbnVsbCxkYXRhLGZuKTp0aGlzLnRyaWdnZXIobmFtZSl9fSksalF1ZXJ5LmZuLmV4dGVuZCh7aG92ZXI6ZnVuY3Rpb24oZm5PdmVyLGZuT3V0KXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGZuT3ZlcikubW91c2VsZWF2ZShmbk91dHx8Zm5PdmVyKX0sYmluZDpmdW5jdGlvbih0eXBlcyxkYXRhLGZuKXtyZXR1cm4gdGhpcy5vbih0eXBlcyxudWxsLGRhdGEsZm4pfSx1bmJpbmQ6ZnVuY3Rpb24odHlwZXMsZm4pe3JldHVybiB0aGlzLm9mZih0eXBlcyxudWxsLGZuKX0sZGVsZWdhdGU6ZnVuY3Rpb24oc2VsZWN0b3IsdHlwZXMsZGF0YSxmbil7cmV0dXJuIHRoaXMub24odHlwZXMsc2VsZWN0b3IsZGF0YSxmbil9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oc2VsZWN0b3IsdHlwZXMsZm4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihzZWxlY3RvcixcIioqXCIpOnRoaXMub2ZmKHR5cGVzLHNlbGVjdG9yfHxcIioqXCIsZm4pfX0pO3ZhciBub25jZT1qUXVlcnkubm93KCkscnF1ZXJ5PS9cXD8vLHJ2YWxpZHRva2Vucz0vKCwpfChcXFt8eyl8KH18XSl8XCIoPzpbXlwiXFxcXFxcclxcbl18XFxcXFtcIlxcXFxcXC9iZm5ydF18XFxcXHVbXFxkYS1mQS1GXXs0fSkqXCJcXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxcZClcXGQrKD86XFwuXFxkK3wpKD86W2VFXVsrLV0/XFxkK3wpL2c7alF1ZXJ5LnBhcnNlSlNPTj1mdW5jdGlvbihkYXRhKXtpZih3aW5kb3cuSlNPTiYmd2luZG93LkpTT04ucGFyc2UpcmV0dXJuIHdpbmRvdy5KU09OLnBhcnNlKGRhdGErXCJcIik7dmFyIHJlcXVpcmVOb25Db21tYSxkZXB0aD1udWxsLHN0cj1qUXVlcnkudHJpbShkYXRhK1wiXCIpO3JldHVybiBzdHImJiFqUXVlcnkudHJpbShzdHIucmVwbGFjZShydmFsaWR0b2tlbnMsZnVuY3Rpb24odG9rZW4sY29tbWEsb3BlbixjbG9zZSl7cmV0dXJuIHJlcXVpcmVOb25Db21tYSYmY29tbWEmJihkZXB0aD0wKSwwPT09ZGVwdGg/dG9rZW46KHJlcXVpcmVOb25Db21tYT1vcGVufHxjb21tYSxkZXB0aCs9IWNsb3NlLSFvcGVuLFwiXCIpfSkpP0Z1bmN0aW9uKFwicmV0dXJuIFwiK3N0cikoKTpqUXVlcnkuZXJyb3IoXCJJbnZhbGlkIEpTT046IFwiK2RhdGEpfSxqUXVlcnkucGFyc2VYTUw9ZnVuY3Rpb24oZGF0YSl7dmFyIHhtbCx0bXA7aWYoIWRhdGF8fFwic3RyaW5nXCIhPXR5cGVvZiBkYXRhKXJldHVybiBudWxsO3RyeXt3aW5kb3cuRE9NUGFyc2VyPyh0bXA9bmV3IERPTVBhcnNlcix4bWw9dG1wLnBhcnNlRnJvbVN0cmluZyhkYXRhLFwidGV4dC94bWxcIikpOih4bWw9bmV3IEFjdGl2ZVhPYmplY3QoXCJNaWNyb3NvZnQuWE1MRE9NXCIpLHhtbC5hc3luYz1cImZhbHNlXCIseG1sLmxvYWRYTUwoZGF0YSkpfWNhdGNoKGUpe3htbD12b2lkIDB9cmV0dXJuIHhtbCYmeG1sLmRvY3VtZW50RWxlbWVudCYmIXhtbC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInBhcnNlcmVycm9yXCIpLmxlbmd0aHx8alF1ZXJ5LmVycm9yKFwiSW52YWxpZCBYTUw6IFwiK2RhdGEpLHhtbH07dmFyIGFqYXhMb2NQYXJ0cyxhamF4TG9jYXRpb24scmhhc2g9LyMuKiQvLHJ0cz0vKFs/Jl0pXz1bXiZdKi8scmhlYWRlcnM9L14oLio/KTpbIFxcdF0qKFteXFxyXFxuXSopXFxyPyQvZ20scmxvY2FsUHJvdG9jb2w9L14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8scm5vQ29udGVudD0vXig/OkdFVHxIRUFEKSQvLHJwcm90b2NvbD0vXlxcL1xcLy8scnVybD0vXihbXFx3ListXSs6KSg/OlxcL1xcLyg/OlteXFwvPyNdKkB8KShbXlxcLz8jOl0qKSg/OjooXFxkKyl8KXwpLyxwcmVmaWx0ZXJzPXt9LHRyYW5zcG9ydHM9e30sYWxsVHlwZXM9XCIqL1wiLmNvbmNhdChcIipcIik7dHJ5e2FqYXhMb2NhdGlvbj1sb2NhdGlvbi5ocmVmfWNhdGNoKGUpe2FqYXhMb2NhdGlvbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKSxhamF4TG9jYXRpb24uaHJlZj1cIlwiLGFqYXhMb2NhdGlvbj1hamF4TG9jYXRpb24uaHJlZn1hamF4TG9jUGFydHM9cnVybC5leGVjKGFqYXhMb2NhdGlvbi50b0xvd2VyQ2FzZSgpKXx8W10salF1ZXJ5LmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6YWpheExvY2F0aW9uLHR5cGU6XCJHRVRcIixpc0xvY2FsOnJsb2NhbFByb3RvY29sLnRlc3QoYWpheExvY1BhcnRzWzFdKSxnbG9iYWw6ITAscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsY29udGVudFR5cGU6XCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLThcIixhY2NlcHRzOntcIipcIjphbGxUeXBlcyx0ZXh0OlwidGV4dC9wbGFpblwiLGh0bWw6XCJ0ZXh0L2h0bWxcIix4bWw6XCJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sXCIsanNvbjpcImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdFwifSxjb250ZW50czp7eG1sOi94bWwvLGh0bWw6L2h0bWwvLGpzb246L2pzb24vfSxyZXNwb25zZUZpZWxkczp7eG1sOlwicmVzcG9uc2VYTUxcIix0ZXh0OlwicmVzcG9uc2VUZXh0XCIsanNvbjpcInJlc3BvbnNlSlNPTlwifSxjb252ZXJ0ZXJzOntcIiogdGV4dFwiOlN0cmluZyxcInRleHQgaHRtbFwiOiEwLFwidGV4dCBqc29uXCI6alF1ZXJ5LnBhcnNlSlNPTixcInRleHQgeG1sXCI6alF1ZXJ5LnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24odGFyZ2V0LHNldHRpbmdzKXtyZXR1cm4gc2V0dGluZ3M/YWpheEV4dGVuZChhamF4RXh0ZW5kKHRhcmdldCxqUXVlcnkuYWpheFNldHRpbmdzKSxzZXR0aW5ncyk6YWpheEV4dGVuZChqUXVlcnkuYWpheFNldHRpbmdzLHRhcmdldCl9LGFqYXhQcmVmaWx0ZXI6YWRkVG9QcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKHByZWZpbHRlcnMpLGFqYXhUcmFuc3BvcnQ6YWRkVG9QcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKHRyYW5zcG9ydHMpLGFqYXg6ZnVuY3Rpb24odXJsLG9wdGlvbnMpe2Z1bmN0aW9uIGRvbmUoc3RhdHVzLG5hdGl2ZVN0YXR1c1RleHQscmVzcG9uc2VzLGhlYWRlcnMpe3ZhciBpc1N1Y2Nlc3Msc3VjY2VzcyxlcnJvcixyZXNwb25zZSxtb2RpZmllZCxzdGF0dXNUZXh0PW5hdGl2ZVN0YXR1c1RleHQ7MiE9PXN0YXRlJiYoc3RhdGU9Mix0aW1lb3V0VGltZXImJmNsZWFyVGltZW91dCh0aW1lb3V0VGltZXIpLHRyYW5zcG9ydD12b2lkIDAscmVzcG9uc2VIZWFkZXJzU3RyaW5nPWhlYWRlcnN8fFwiXCIsanFYSFIucmVhZHlTdGF0ZT1zdGF0dXM+MD80OjAsaXNTdWNjZXNzPXN0YXR1cz49MjAwJiYzMDA+c3RhdHVzfHwzMDQ9PT1zdGF0dXMscmVzcG9uc2VzJiYocmVzcG9uc2U9YWpheEhhbmRsZVJlc3BvbnNlcyhzLGpxWEhSLHJlc3BvbnNlcykpLHJlc3BvbnNlPWFqYXhDb252ZXJ0KHMscmVzcG9uc2UsanFYSFIsaXNTdWNjZXNzKSxpc1N1Y2Nlc3M/KHMuaWZNb2RpZmllZCYmKG1vZGlmaWVkPWpxWEhSLmdldFJlc3BvbnNlSGVhZGVyKFwiTGFzdC1Nb2RpZmllZFwiKSxtb2RpZmllZCYmKGpRdWVyeS5sYXN0TW9kaWZpZWRbY2FjaGVVUkxdPW1vZGlmaWVkKSxtb2RpZmllZD1qcVhIUi5nZXRSZXNwb25zZUhlYWRlcihcImV0YWdcIiksbW9kaWZpZWQmJihqUXVlcnkuZXRhZ1tjYWNoZVVSTF09bW9kaWZpZWQpKSwyMDQ9PT1zdGF0dXN8fFwiSEVBRFwiPT09cy50eXBlP3N0YXR1c1RleHQ9XCJub2NvbnRlbnRcIjozMDQ9PT1zdGF0dXM/c3RhdHVzVGV4dD1cIm5vdG1vZGlmaWVkXCI6KHN0YXR1c1RleHQ9cmVzcG9uc2Uuc3RhdGUsc3VjY2Vzcz1yZXNwb25zZS5kYXRhLGVycm9yPXJlc3BvbnNlLmVycm9yLGlzU3VjY2Vzcz0hZXJyb3IpKTooZXJyb3I9c3RhdHVzVGV4dCwoc3RhdHVzfHwhc3RhdHVzVGV4dCkmJihzdGF0dXNUZXh0PVwiZXJyb3JcIiwwPnN0YXR1cyYmKHN0YXR1cz0wKSkpLGpxWEhSLnN0YXR1cz1zdGF0dXMsanFYSFIuc3RhdHVzVGV4dD0obmF0aXZlU3RhdHVzVGV4dHx8c3RhdHVzVGV4dCkrXCJcIixpc1N1Y2Nlc3M/ZGVmZXJyZWQucmVzb2x2ZVdpdGgoY2FsbGJhY2tDb250ZXh0LFtzdWNjZXNzLHN0YXR1c1RleHQsanFYSFJdKTpkZWZlcnJlZC5yZWplY3RXaXRoKGNhbGxiYWNrQ29udGV4dCxbanFYSFIsc3RhdHVzVGV4dCxlcnJvcl0pLGpxWEhSLnN0YXR1c0NvZGUoc3RhdHVzQ29kZSksc3RhdHVzQ29kZT12b2lkIDAsZmlyZUdsb2JhbHMmJmdsb2JhbEV2ZW50Q29udGV4dC50cmlnZ2VyKGlzU3VjY2Vzcz9cImFqYXhTdWNjZXNzXCI6XCJhamF4RXJyb3JcIixbanFYSFIscyxpc1N1Y2Nlc3M/c3VjY2VzczplcnJvcl0pLGNvbXBsZXRlRGVmZXJyZWQuZmlyZVdpdGgoY2FsbGJhY2tDb250ZXh0LFtqcVhIUixzdGF0dXNUZXh0XSksZmlyZUdsb2JhbHMmJihnbG9iYWxFdmVudENvbnRleHQudHJpZ2dlcihcImFqYXhDb21wbGV0ZVwiLFtqcVhIUixzXSksLS1qUXVlcnkuYWN0aXZlfHxqUXVlcnkuZXZlbnQudHJpZ2dlcihcImFqYXhTdG9wXCIpKSl9XCJvYmplY3RcIj09dHlwZW9mIHVybCYmKG9wdGlvbnM9dXJsLHVybD12b2lkIDApLG9wdGlvbnM9b3B0aW9uc3x8e307dmFyIHBhcnRzLGksY2FjaGVVUkwscmVzcG9uc2VIZWFkZXJzU3RyaW5nLHRpbWVvdXRUaW1lcixmaXJlR2xvYmFscyx0cmFuc3BvcnQscmVzcG9uc2VIZWFkZXJzLHM9alF1ZXJ5LmFqYXhTZXR1cCh7fSxvcHRpb25zKSxjYWxsYmFja0NvbnRleHQ9cy5jb250ZXh0fHxzLGdsb2JhbEV2ZW50Q29udGV4dD1zLmNvbnRleHQmJihjYWxsYmFja0NvbnRleHQubm9kZVR5cGV8fGNhbGxiYWNrQ29udGV4dC5qcXVlcnkpP2pRdWVyeShjYWxsYmFja0NvbnRleHQpOmpRdWVyeS5ldmVudCxkZWZlcnJlZD1qUXVlcnkuRGVmZXJyZWQoKSxjb21wbGV0ZURlZmVycmVkPWpRdWVyeS5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSxzdGF0dXNDb2RlPXMuc3RhdHVzQ29kZXx8e30scmVxdWVzdEhlYWRlcnM9e30scmVxdWVzdEhlYWRlcnNOYW1lcz17fSxzdGF0ZT0wLHN0ckFib3J0PVwiY2FuY2VsZWRcIixqcVhIUj17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGtleSl7dmFyIG1hdGNoO2lmKDI9PT1zdGF0ZSl7aWYoIXJlc3BvbnNlSGVhZGVycylmb3IocmVzcG9uc2VIZWFkZXJzPXt9O21hdGNoPXJoZWFkZXJzLmV4ZWMocmVzcG9uc2VIZWFkZXJzU3RyaW5nKTspcmVzcG9uc2VIZWFkZXJzW21hdGNoWzFdLnRvTG93ZXJDYXNlKCldPW1hdGNoWzJdO21hdGNoPXJlc3BvbnNlSGVhZGVyc1trZXkudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PW1hdGNoP251bGw6bWF0Y2h9LGdldEFsbFJlc3BvbnNlSGVhZGVyczpmdW5jdGlvbigpe3JldHVybiAyPT09c3RhdGU/cmVzcG9uc2VIZWFkZXJzU3RyaW5nOm51bGx9LHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24obmFtZSx2YWx1ZSl7dmFyIGxuYW1lPW5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gc3RhdGV8fChuYW1lPXJlcXVlc3RIZWFkZXJzTmFtZXNbbG5hbWVdPXJlcXVlc3RIZWFkZXJzTmFtZXNbbG5hbWVdfHxuYW1lLHJlcXVlc3RIZWFkZXJzW25hbWVdPXZhbHVlKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKHR5cGUpe3JldHVybiBzdGF0ZXx8KHMubWltZVR5cGU9dHlwZSksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbihtYXApe3ZhciBjb2RlO2lmKG1hcClpZigyPnN0YXRlKWZvcihjb2RlIGluIG1hcClzdGF0dXNDb2RlW2NvZGVdPVtzdGF0dXNDb2RlW2NvZGVdLG1hcFtjb2RlXV07ZWxzZSBqcVhIUi5hbHdheXMobWFwW2pxWEhSLnN0YXR1c10pO3JldHVybiB0aGlzfSxhYm9ydDpmdW5jdGlvbihzdGF0dXNUZXh0KXt2YXIgZmluYWxUZXh0PXN0YXR1c1RleHR8fHN0ckFib3J0O3JldHVybiB0cmFuc3BvcnQmJnRyYW5zcG9ydC5hYm9ydChmaW5hbFRleHQpLGRvbmUoMCxmaW5hbFRleHQpLHRoaXN9fTtpZihkZWZlcnJlZC5wcm9taXNlKGpxWEhSKS5jb21wbGV0ZT1jb21wbGV0ZURlZmVycmVkLmFkZCxqcVhIUi5zdWNjZXNzPWpxWEhSLmRvbmUsanFYSFIuZXJyb3I9anFYSFIuZmFpbCxzLnVybD0oKHVybHx8cy51cmx8fGFqYXhMb2NhdGlvbikrXCJcIikucmVwbGFjZShyaGFzaCxcIlwiKS5yZXBsYWNlKHJwcm90b2NvbCxhamF4TG9jUGFydHNbMV0rXCIvL1wiKSxzLnR5cGU9b3B0aW9ucy5tZXRob2R8fG9wdGlvbnMudHlwZXx8cy5tZXRob2R8fHMudHlwZSxzLmRhdGFUeXBlcz1qUXVlcnkudHJpbShzLmRhdGFUeXBlfHxcIipcIikudG9Mb3dlckNhc2UoKS5tYXRjaChybm90d2hpdGUpfHxbXCJcIl0sXG5udWxsPT1zLmNyb3NzRG9tYWluJiYocGFydHM9cnVybC5leGVjKHMudXJsLnRvTG93ZXJDYXNlKCkpLHMuY3Jvc3NEb21haW49ISghcGFydHN8fHBhcnRzWzFdPT09YWpheExvY1BhcnRzWzFdJiZwYXJ0c1syXT09PWFqYXhMb2NQYXJ0c1syXSYmKHBhcnRzWzNdfHwoXCJodHRwOlwiPT09cGFydHNbMV0/XCI4MFwiOlwiNDQzXCIpKT09PShhamF4TG9jUGFydHNbM118fChcImh0dHA6XCI9PT1hamF4TG9jUGFydHNbMV0/XCI4MFwiOlwiNDQzXCIpKSkpLHMuZGF0YSYmcy5wcm9jZXNzRGF0YSYmXCJzdHJpbmdcIiE9dHlwZW9mIHMuZGF0YSYmKHMuZGF0YT1qUXVlcnkucGFyYW0ocy5kYXRhLHMudHJhZGl0aW9uYWwpKSxpbnNwZWN0UHJlZmlsdGVyc09yVHJhbnNwb3J0cyhwcmVmaWx0ZXJzLHMsb3B0aW9ucyxqcVhIUiksMj09PXN0YXRlKXJldHVybiBqcVhIUjtmaXJlR2xvYmFscz1qUXVlcnkuZXZlbnQmJnMuZ2xvYmFsLGZpcmVHbG9iYWxzJiYwPT09alF1ZXJ5LmFjdGl2ZSsrJiZqUXVlcnkuZXZlbnQudHJpZ2dlcihcImFqYXhTdGFydFwiKSxzLnR5cGU9cy50eXBlLnRvVXBwZXJDYXNlKCkscy5oYXNDb250ZW50PSFybm9Db250ZW50LnRlc3Qocy50eXBlKSxjYWNoZVVSTD1zLnVybCxzLmhhc0NvbnRlbnR8fChzLmRhdGEmJihjYWNoZVVSTD1zLnVybCs9KHJxdWVyeS50ZXN0KGNhY2hlVVJMKT9cIiZcIjpcIj9cIikrcy5kYXRhLGRlbGV0ZSBzLmRhdGEpLHMuY2FjaGU9PT0hMSYmKHMudXJsPXJ0cy50ZXN0KGNhY2hlVVJMKT9jYWNoZVVSTC5yZXBsYWNlKHJ0cyxcIiQxXz1cIitub25jZSsrKTpjYWNoZVVSTCsocnF1ZXJ5LnRlc3QoY2FjaGVVUkwpP1wiJlwiOlwiP1wiKStcIl89XCIrbm9uY2UrKykpLHMuaWZNb2RpZmllZCYmKGpRdWVyeS5sYXN0TW9kaWZpZWRbY2FjaGVVUkxdJiZqcVhIUi5zZXRSZXF1ZXN0SGVhZGVyKFwiSWYtTW9kaWZpZWQtU2luY2VcIixqUXVlcnkubGFzdE1vZGlmaWVkW2NhY2hlVVJMXSksalF1ZXJ5LmV0YWdbY2FjaGVVUkxdJiZqcVhIUi5zZXRSZXF1ZXN0SGVhZGVyKFwiSWYtTm9uZS1NYXRjaFwiLGpRdWVyeS5ldGFnW2NhY2hlVVJMXSkpLChzLmRhdGEmJnMuaGFzQ29udGVudCYmcy5jb250ZW50VHlwZSE9PSExfHxvcHRpb25zLmNvbnRlbnRUeXBlKSYmanFYSFIuc2V0UmVxdWVzdEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLHMuY29udGVudFR5cGUpLGpxWEhSLnNldFJlcXVlc3RIZWFkZXIoXCJBY2NlcHRcIixzLmRhdGFUeXBlc1swXSYmcy5hY2NlcHRzW3MuZGF0YVR5cGVzWzBdXT9zLmFjY2VwdHNbcy5kYXRhVHlwZXNbMF1dKyhcIipcIiE9PXMuZGF0YVR5cGVzWzBdP1wiLCBcIithbGxUeXBlcytcIjsgcT0wLjAxXCI6XCJcIik6cy5hY2NlcHRzW1wiKlwiXSk7Zm9yKGkgaW4gcy5oZWFkZXJzKWpxWEhSLnNldFJlcXVlc3RIZWFkZXIoaSxzLmhlYWRlcnNbaV0pO2lmKHMuYmVmb3JlU2VuZCYmKHMuYmVmb3JlU2VuZC5jYWxsKGNhbGxiYWNrQ29udGV4dCxqcVhIUixzKT09PSExfHwyPT09c3RhdGUpKXJldHVybiBqcVhIUi5hYm9ydCgpO3N0ckFib3J0PVwiYWJvcnRcIjtmb3IoaSBpbntzdWNjZXNzOjEsZXJyb3I6MSxjb21wbGV0ZToxfSlqcVhIUltpXShzW2ldKTtpZih0cmFuc3BvcnQ9aW5zcGVjdFByZWZpbHRlcnNPclRyYW5zcG9ydHModHJhbnNwb3J0cyxzLG9wdGlvbnMsanFYSFIpKXtqcVhIUi5yZWFkeVN0YXRlPTEsZmlyZUdsb2JhbHMmJmdsb2JhbEV2ZW50Q29udGV4dC50cmlnZ2VyKFwiYWpheFNlbmRcIixbanFYSFIsc10pLHMuYXN5bmMmJnMudGltZW91dD4wJiYodGltZW91dFRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtqcVhIUi5hYm9ydChcInRpbWVvdXRcIil9LHMudGltZW91dCkpO3RyeXtzdGF0ZT0xLHRyYW5zcG9ydC5zZW5kKHJlcXVlc3RIZWFkZXJzLGRvbmUpfWNhdGNoKGUpe2lmKCEoMj5zdGF0ZSkpdGhyb3cgZTtkb25lKC0xLGUpfX1lbHNlIGRvbmUoLTEsXCJObyBUcmFuc3BvcnRcIik7cmV0dXJuIGpxWEhSfSxnZXRKU09OOmZ1bmN0aW9uKHVybCxkYXRhLGNhbGxiYWNrKXtyZXR1cm4galF1ZXJ5LmdldCh1cmwsZGF0YSxjYWxsYmFjayxcImpzb25cIil9LGdldFNjcmlwdDpmdW5jdGlvbih1cmwsY2FsbGJhY2spe3JldHVybiBqUXVlcnkuZ2V0KHVybCx2b2lkIDAsY2FsbGJhY2ssXCJzY3JpcHRcIil9fSksalF1ZXJ5LmVhY2goW1wiZ2V0XCIsXCJwb3N0XCJdLGZ1bmN0aW9uKGksbWV0aG9kKXtqUXVlcnlbbWV0aG9kXT1mdW5jdGlvbih1cmwsZGF0YSxjYWxsYmFjayx0eXBlKXtyZXR1cm4galF1ZXJ5LmlzRnVuY3Rpb24oZGF0YSkmJih0eXBlPXR5cGV8fGNhbGxiYWNrLGNhbGxiYWNrPWRhdGEsZGF0YT12b2lkIDApLGpRdWVyeS5hamF4KHt1cmw6dXJsLHR5cGU6bWV0aG9kLGRhdGFUeXBlOnR5cGUsZGF0YTpkYXRhLHN1Y2Nlc3M6Y2FsbGJhY2t9KX19KSxqUXVlcnkuX2V2YWxVcmw9ZnVuY3Rpb24odXJsKXtyZXR1cm4galF1ZXJ5LmFqYXgoe3VybDp1cmwsdHlwZTpcIkdFVFwiLGRhdGFUeXBlOlwic2NyaXB0XCIsYXN5bmM6ITEsZ2xvYmFsOiExLFwidGhyb3dzXCI6ITB9KX0salF1ZXJ5LmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihodG1sKXtpZihqUXVlcnkuaXNGdW5jdGlvbihodG1sKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVyeSh0aGlzKS53cmFwQWxsKGh0bWwuY2FsbCh0aGlzLGkpKX0pO2lmKHRoaXNbMF0pe3ZhciB3cmFwPWpRdWVyeShodG1sLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApO3RoaXNbMF0ucGFyZW50Tm9kZSYmd3JhcC5pbnNlcnRCZWZvcmUodGhpc1swXSksd3JhcC5tYXAoZnVuY3Rpb24oKXtmb3IodmFyIGVsZW09dGhpcztlbGVtLmZpcnN0Q2hpbGQmJjE9PT1lbGVtLmZpcnN0Q2hpbGQubm9kZVR5cGU7KWVsZW09ZWxlbS5maXJzdENoaWxkO3JldHVybiBlbGVtfSkuYXBwZW5kKHRoaXMpfXJldHVybiB0aGlzfSx3cmFwSW5uZXI6ZnVuY3Rpb24oaHRtbCl7cmV0dXJuIGpRdWVyeS5pc0Z1bmN0aW9uKGh0bWwpP3RoaXMuZWFjaChmdW5jdGlvbihpKXtqUXVlcnkodGhpcykud3JhcElubmVyKGh0bWwuY2FsbCh0aGlzLGkpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBzZWxmPWpRdWVyeSh0aGlzKSxjb250ZW50cz1zZWxmLmNvbnRlbnRzKCk7Y29udGVudHMubGVuZ3RoP2NvbnRlbnRzLndyYXBBbGwoaHRtbCk6c2VsZi5hcHBlbmQoaHRtbCl9KX0sd3JhcDpmdW5jdGlvbihodG1sKXt2YXIgaXNGdW5jdGlvbj1qUXVlcnkuaXNGdW5jdGlvbihodG1sKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGkpe2pRdWVyeSh0aGlzKS53cmFwQWxsKGlzRnVuY3Rpb24/aHRtbC5jYWxsKHRoaXMsaSk6aHRtbCl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe2pRdWVyeS5ub2RlTmFtZSh0aGlzLFwiYm9keVwiKXx8alF1ZXJ5KHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5lbmQoKX19KSxqUXVlcnkuZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihlbGVtKXtyZXR1cm4gZWxlbS5vZmZzZXRXaWR0aDw9MCYmZWxlbS5vZmZzZXRIZWlnaHQ8PTB8fCFzdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpJiZcIm5vbmVcIj09PShlbGVtLnN0eWxlJiZlbGVtLnN0eWxlLmRpc3BsYXl8fGpRdWVyeS5jc3MoZWxlbSxcImRpc3BsYXlcIikpfSxqUXVlcnkuZXhwci5maWx0ZXJzLnZpc2libGU9ZnVuY3Rpb24oZWxlbSl7cmV0dXJuIWpRdWVyeS5leHByLmZpbHRlcnMuaGlkZGVuKGVsZW0pfTt2YXIgcjIwPS8lMjAvZyxyYnJhY2tldD0vXFxbXFxdJC8sckNSTEY9L1xccj9cXG4vZyxyc3VibWl0dGVyVHlwZXM9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLHJzdWJtaXR0YWJsZT0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxrZXlnZW4pL2k7alF1ZXJ5LnBhcmFtPWZ1bmN0aW9uKGEsdHJhZGl0aW9uYWwpe3ZhciBwcmVmaXgscz1bXSxhZGQ9ZnVuY3Rpb24oa2V5LHZhbHVlKXt2YWx1ZT1qUXVlcnkuaXNGdW5jdGlvbih2YWx1ZSk/dmFsdWUoKTpudWxsPT12YWx1ZT9cIlwiOnZhbHVlLHNbcy5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChrZXkpK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSl9O2lmKHZvaWQgMD09PXRyYWRpdGlvbmFsJiYodHJhZGl0aW9uYWw9alF1ZXJ5LmFqYXhTZXR0aW5ncyYmalF1ZXJ5LmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksalF1ZXJ5LmlzQXJyYXkoYSl8fGEuanF1ZXJ5JiYhalF1ZXJ5LmlzUGxhaW5PYmplY3QoYSkpalF1ZXJ5LmVhY2goYSxmdW5jdGlvbigpe2FkZCh0aGlzLm5hbWUsdGhpcy52YWx1ZSl9KTtlbHNlIGZvcihwcmVmaXggaW4gYSlidWlsZFBhcmFtcyhwcmVmaXgsYVtwcmVmaXhdLHRyYWRpdGlvbmFsLGFkZCk7cmV0dXJuIHMuam9pbihcIiZcIikucmVwbGFjZShyMjAsXCIrXCIpfSxqUXVlcnkuZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4galF1ZXJ5LnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGVsZW1lbnRzPWpRdWVyeS5wcm9wKHRoaXMsXCJlbGVtZW50c1wiKTtyZXR1cm4gZWxlbWVudHM/alF1ZXJ5Lm1ha2VBcnJheShlbGVtZW50cyk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3ZhciB0eXBlPXRoaXMudHlwZTtyZXR1cm4gdGhpcy5uYW1lJiYhalF1ZXJ5KHRoaXMpLmlzKFwiOmRpc2FibGVkXCIpJiZyc3VibWl0dGFibGUudGVzdCh0aGlzLm5vZGVOYW1lKSYmIXJzdWJtaXR0ZXJUeXBlcy50ZXN0KHR5cGUpJiYodGhpcy5jaGVja2VkfHwhcmNoZWNrYWJsZVR5cGUudGVzdCh0eXBlKSl9KS5tYXAoZnVuY3Rpb24oaSxlbGVtKXt2YXIgdmFsPWpRdWVyeSh0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09dmFsP251bGw6alF1ZXJ5LmlzQXJyYXkodmFsKT9qUXVlcnkubWFwKHZhbCxmdW5jdGlvbih2YWwpe3JldHVybntuYW1lOmVsZW0ubmFtZSx2YWx1ZTp2YWwucmVwbGFjZShyQ1JMRixcIlxcclxcblwiKX19KTp7bmFtZTplbGVtLm5hbWUsdmFsdWU6dmFsLnJlcGxhY2UockNSTEYsXCJcXHJcXG5cIil9fSkuZ2V0KCl9fSksalF1ZXJ5LmFqYXhTZXR0aW5ncy54aHI9dm9pZCAwIT09d2luZG93LkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0xvY2FsJiYvXihnZXR8cG9zdHxoZWFkfHB1dHxkZWxldGV8b3B0aW9ucykkL2kudGVzdCh0aGlzLnR5cGUpJiZjcmVhdGVTdGFuZGFyZFhIUigpfHxjcmVhdGVBY3RpdmVYSFIoKX06Y3JlYXRlU3RhbmRhcmRYSFI7dmFyIHhocklkPTAseGhyQ2FsbGJhY2tzPXt9LHhoclN1cHBvcnRlZD1qUXVlcnkuYWpheFNldHRpbmdzLnhocigpO3dpbmRvdy5hdHRhY2hFdmVudCYmd2luZG93LmF0dGFjaEV2ZW50KFwib251bmxvYWRcIixmdW5jdGlvbigpe2Zvcih2YXIga2V5IGluIHhockNhbGxiYWNrcyl4aHJDYWxsYmFja3Nba2V5XSh2b2lkIDAsITApfSksc3VwcG9ydC5jb3JzPSEheGhyU3VwcG9ydGVkJiZcIndpdGhDcmVkZW50aWFsc1wiaW4geGhyU3VwcG9ydGVkLHhoclN1cHBvcnRlZD1zdXBwb3J0LmFqYXg9ISF4aHJTdXBwb3J0ZWQseGhyU3VwcG9ydGVkJiZqUXVlcnkuYWpheFRyYW5zcG9ydChmdW5jdGlvbihvcHRpb25zKXtpZighb3B0aW9ucy5jcm9zc0RvbWFpbnx8c3VwcG9ydC5jb3JzKXt2YXIgY2FsbGJhY2s7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oaGVhZGVycyxjb21wbGV0ZSl7dmFyIGkseGhyPW9wdGlvbnMueGhyKCksaWQ9Kyt4aHJJZDtpZih4aHIub3BlbihvcHRpb25zLnR5cGUsb3B0aW9ucy51cmwsb3B0aW9ucy5hc3luYyxvcHRpb25zLnVzZXJuYW1lLG9wdGlvbnMucGFzc3dvcmQpLG9wdGlvbnMueGhyRmllbGRzKWZvcihpIGluIG9wdGlvbnMueGhyRmllbGRzKXhocltpXT1vcHRpb25zLnhockZpZWxkc1tpXTtvcHRpb25zLm1pbWVUeXBlJiZ4aHIub3ZlcnJpZGVNaW1lVHlwZSYmeGhyLm92ZXJyaWRlTWltZVR5cGUob3B0aW9ucy5taW1lVHlwZSksb3B0aW9ucy5jcm9zc0RvbWFpbnx8aGVhZGVyc1tcIlgtUmVxdWVzdGVkLVdpdGhcIl18fChoZWFkZXJzW1wiWC1SZXF1ZXN0ZWQtV2l0aFwiXT1cIlhNTEh0dHBSZXF1ZXN0XCIpO2ZvcihpIGluIGhlYWRlcnMpdm9pZCAwIT09aGVhZGVyc1tpXSYmeGhyLnNldFJlcXVlc3RIZWFkZXIoaSxoZWFkZXJzW2ldK1wiXCIpO3hoci5zZW5kKG9wdGlvbnMuaGFzQ29udGVudCYmb3B0aW9ucy5kYXRhfHxudWxsKSxjYWxsYmFjaz1mdW5jdGlvbihfLGlzQWJvcnQpe3ZhciBzdGF0dXMsc3RhdHVzVGV4dCxyZXNwb25zZXM7aWYoY2FsbGJhY2smJihpc0Fib3J0fHw0PT09eGhyLnJlYWR5U3RhdGUpKWlmKGRlbGV0ZSB4aHJDYWxsYmFja3NbaWRdLGNhbGxiYWNrPXZvaWQgMCx4aHIub25yZWFkeXN0YXRlY2hhbmdlPWpRdWVyeS5ub29wLGlzQWJvcnQpNCE9PXhoci5yZWFkeVN0YXRlJiZ4aHIuYWJvcnQoKTtlbHNle3Jlc3BvbnNlcz17fSxzdGF0dXM9eGhyLnN0YXR1cyxcInN0cmluZ1wiPT10eXBlb2YgeGhyLnJlc3BvbnNlVGV4dCYmKHJlc3BvbnNlcy50ZXh0PXhoci5yZXNwb25zZVRleHQpO3RyeXtzdGF0dXNUZXh0PXhoci5zdGF0dXNUZXh0fWNhdGNoKGUpe3N0YXR1c1RleHQ9XCJcIn1zdGF0dXN8fCFvcHRpb25zLmlzTG9jYWx8fG9wdGlvbnMuY3Jvc3NEb21haW4/MTIyMz09PXN0YXR1cyYmKHN0YXR1cz0yMDQpOnN0YXR1cz1yZXNwb25zZXMudGV4dD8yMDA6NDA0fXJlc3BvbnNlcyYmY29tcGxldGUoc3RhdHVzLHN0YXR1c1RleHQscmVzcG9uc2VzLHhoci5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSl9LG9wdGlvbnMuYXN5bmM/ND09PXhoci5yZWFkeVN0YXRlP3NldFRpbWVvdXQoY2FsbGJhY2spOnhoci5vbnJlYWR5c3RhdGVjaGFuZ2U9eGhyQ2FsbGJhY2tzW2lkXT1jYWxsYmFjazpjYWxsYmFjaygpfSxhYm9ydDpmdW5jdGlvbigpe2NhbGxiYWNrJiZjYWxsYmFjayh2b2lkIDAsITApfX19fSksalF1ZXJ5LmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OlwidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHRcIn0sY29udGVudHM6e3NjcmlwdDovKD86amF2YXxlY21hKXNjcmlwdC99LGNvbnZlcnRlcnM6e1widGV4dCBzY3JpcHRcIjpmdW5jdGlvbih0ZXh0KXtyZXR1cm4galF1ZXJ5Lmdsb2JhbEV2YWwodGV4dCksdGV4dH19fSksalF1ZXJ5LmFqYXhQcmVmaWx0ZXIoXCJzY3JpcHRcIixmdW5jdGlvbihzKXt2b2lkIDA9PT1zLmNhY2hlJiYocy5jYWNoZT0hMSkscy5jcm9zc0RvbWFpbiYmKHMudHlwZT1cIkdFVFwiLHMuZ2xvYmFsPSExKX0pLGpRdWVyeS5hamF4VHJhbnNwb3J0KFwic2NyaXB0XCIsZnVuY3Rpb24ocyl7aWYocy5jcm9zc0RvbWFpbil7dmFyIHNjcmlwdCxoZWFkPWRvY3VtZW50LmhlYWR8fGpRdWVyeShcImhlYWRcIilbMF18fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihfLGNhbGxiYWNrKXtzY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKSxzY3JpcHQuYXN5bmM9ITAscy5zY3JpcHRDaGFyc2V0JiYoc2NyaXB0LmNoYXJzZXQ9cy5zY3JpcHRDaGFyc2V0KSxzY3JpcHQuc3JjPXMudXJsLHNjcmlwdC5vbmxvYWQ9c2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbihfLGlzQWJvcnQpeyhpc0Fib3J0fHwhc2NyaXB0LnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3Qoc2NyaXB0LnJlYWR5U3RhdGUpKSYmKHNjcmlwdC5vbmxvYWQ9c2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLHNjcmlwdC5wYXJlbnROb2RlJiZzY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzY3JpcHQpLHNjcmlwdD1udWxsLGlzQWJvcnR8fGNhbGxiYWNrKDIwMCxcInN1Y2Nlc3NcIikpfSxoZWFkLmluc2VydEJlZm9yZShzY3JpcHQsaGVhZC5maXJzdENoaWxkKX0sYWJvcnQ6ZnVuY3Rpb24oKXtzY3JpcHQmJnNjcmlwdC5vbmxvYWQodm9pZCAwLCEwKX19fX0pO3ZhciBvbGRDYWxsYmFja3M9W10scmpzb25wPS8oPSlcXD8oPz0mfCQpfFxcP1xcPy87alF1ZXJ5LmFqYXhTZXR1cCh7anNvbnA6XCJjYWxsYmFja1wiLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgY2FsbGJhY2s9b2xkQ2FsbGJhY2tzLnBvcCgpfHxqUXVlcnkuZXhwYW5kbytcIl9cIitub25jZSsrO3JldHVybiB0aGlzW2NhbGxiYWNrXT0hMCxjYWxsYmFja319KSxqUXVlcnkuYWpheFByZWZpbHRlcihcImpzb24ganNvbnBcIixmdW5jdGlvbihzLG9yaWdpbmFsU2V0dGluZ3MsanFYSFIpe3ZhciBjYWxsYmFja05hbWUsb3ZlcndyaXR0ZW4scmVzcG9uc2VDb250YWluZXIsanNvblByb3A9cy5qc29ucCE9PSExJiYocmpzb25wLnRlc3Qocy51cmwpP1widXJsXCI6XCJzdHJpbmdcIj09dHlwZW9mIHMuZGF0YSYmIShzLmNvbnRlbnRUeXBlfHxcIlwiKS5pbmRleE9mKFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIpJiZyanNvbnAudGVzdChzLmRhdGEpJiZcImRhdGFcIik7cmV0dXJuIGpzb25Qcm9wfHxcImpzb25wXCI9PT1zLmRhdGFUeXBlc1swXT8oY2FsbGJhY2tOYW1lPXMuanNvbnBDYWxsYmFjaz1qUXVlcnkuaXNGdW5jdGlvbihzLmpzb25wQ2FsbGJhY2spP3MuanNvbnBDYWxsYmFjaygpOnMuanNvbnBDYWxsYmFjayxqc29uUHJvcD9zW2pzb25Qcm9wXT1zW2pzb25Qcm9wXS5yZXBsYWNlKHJqc29ucCxcIiQxXCIrY2FsbGJhY2tOYW1lKTpzLmpzb25wIT09ITEmJihzLnVybCs9KHJxdWVyeS50ZXN0KHMudXJsKT9cIiZcIjpcIj9cIikrcy5qc29ucCtcIj1cIitjYWxsYmFja05hbWUpLHMuY29udmVydGVyc1tcInNjcmlwdCBqc29uXCJdPWZ1bmN0aW9uKCl7cmV0dXJuIHJlc3BvbnNlQ29udGFpbmVyfHxqUXVlcnkuZXJyb3IoY2FsbGJhY2tOYW1lK1wiIHdhcyBub3QgY2FsbGVkXCIpLHJlc3BvbnNlQ29udGFpbmVyWzBdfSxzLmRhdGFUeXBlc1swXT1cImpzb25cIixvdmVyd3JpdHRlbj13aW5kb3dbY2FsbGJhY2tOYW1lXSx3aW5kb3dbY2FsbGJhY2tOYW1lXT1mdW5jdGlvbigpe3Jlc3BvbnNlQ29udGFpbmVyPWFyZ3VtZW50c30sanFYSFIuYWx3YXlzKGZ1bmN0aW9uKCl7d2luZG93W2NhbGxiYWNrTmFtZV09b3ZlcndyaXR0ZW4sc1tjYWxsYmFja05hbWVdJiYocy5qc29ucENhbGxiYWNrPW9yaWdpbmFsU2V0dGluZ3MuanNvbnBDYWxsYmFjayxvbGRDYWxsYmFja3MucHVzaChjYWxsYmFja05hbWUpKSxyZXNwb25zZUNvbnRhaW5lciYmalF1ZXJ5LmlzRnVuY3Rpb24ob3ZlcndyaXR0ZW4pJiZvdmVyd3JpdHRlbihyZXNwb25zZUNvbnRhaW5lclswXSkscmVzcG9uc2VDb250YWluZXI9b3ZlcndyaXR0ZW49dm9pZCAwfSksXCJzY3JpcHRcIik6dm9pZCAwfSksalF1ZXJ5LnBhcnNlSFRNTD1mdW5jdGlvbihkYXRhLGNvbnRleHQsa2VlcFNjcmlwdHMpe2lmKCFkYXRhfHxcInN0cmluZ1wiIT10eXBlb2YgZGF0YSlyZXR1cm4gbnVsbDtcImJvb2xlYW5cIj09dHlwZW9mIGNvbnRleHQmJihrZWVwU2NyaXB0cz1jb250ZXh0LGNvbnRleHQ9ITEpLGNvbnRleHQ9Y29udGV4dHx8ZG9jdW1lbnQ7dmFyIHBhcnNlZD1yc2luZ2xlVGFnLmV4ZWMoZGF0YSksc2NyaXB0cz0ha2VlcFNjcmlwdHMmJltdO3JldHVybiBwYXJzZWQ/W2NvbnRleHQuY3JlYXRlRWxlbWVudChwYXJzZWRbMV0pXToocGFyc2VkPWpRdWVyeS5idWlsZEZyYWdtZW50KFtkYXRhXSxjb250ZXh0LHNjcmlwdHMpLHNjcmlwdHMmJnNjcmlwdHMubGVuZ3RoJiZqUXVlcnkoc2NyaXB0cykucmVtb3ZlKCksalF1ZXJ5Lm1lcmdlKFtdLHBhcnNlZC5jaGlsZE5vZGVzKSl9O3ZhciBfbG9hZD1qUXVlcnkuZm4ubG9hZDtqUXVlcnkuZm4ubG9hZD1mdW5jdGlvbih1cmwscGFyYW1zLGNhbGxiYWNrKXtpZihcInN0cmluZ1wiIT10eXBlb2YgdXJsJiZfbG9hZClyZXR1cm4gX2xvYWQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBzZWxlY3RvcixyZXNwb25zZSx0eXBlLHNlbGY9dGhpcyxvZmY9dXJsLmluZGV4T2YoXCIgXCIpO3JldHVybiBvZmY+PTAmJihzZWxlY3Rvcj1qUXVlcnkudHJpbSh1cmwuc2xpY2Uob2ZmLHVybC5sZW5ndGgpKSx1cmw9dXJsLnNsaWNlKDAsb2ZmKSksalF1ZXJ5LmlzRnVuY3Rpb24ocGFyYW1zKT8oY2FsbGJhY2s9cGFyYW1zLHBhcmFtcz12b2lkIDApOnBhcmFtcyYmXCJvYmplY3RcIj09dHlwZW9mIHBhcmFtcyYmKHR5cGU9XCJQT1NUXCIpLHNlbGYubGVuZ3RoPjAmJmpRdWVyeS5hamF4KHt1cmw6dXJsLHR5cGU6dHlwZSxkYXRhVHlwZTpcImh0bWxcIixkYXRhOnBhcmFtc30pLmRvbmUoZnVuY3Rpb24ocmVzcG9uc2VUZXh0KXtyZXNwb25zZT1hcmd1bWVudHMsc2VsZi5odG1sKHNlbGVjdG9yP2pRdWVyeShcIjxkaXY+XCIpLmFwcGVuZChqUXVlcnkucGFyc2VIVE1MKHJlc3BvbnNlVGV4dCkpLmZpbmQoc2VsZWN0b3IpOnJlc3BvbnNlVGV4dCl9KS5jb21wbGV0ZShjYWxsYmFjayYmZnVuY3Rpb24oanFYSFIsc3RhdHVzKXtzZWxmLmVhY2goY2FsbGJhY2sscmVzcG9uc2V8fFtqcVhIUi5yZXNwb25zZVRleHQsc3RhdHVzLGpxWEhSXSl9KSx0aGlzfSxqUXVlcnkuZWFjaChbXCJhamF4U3RhcnRcIixcImFqYXhTdG9wXCIsXCJhamF4Q29tcGxldGVcIixcImFqYXhFcnJvclwiLFwiYWpheFN1Y2Nlc3NcIixcImFqYXhTZW5kXCJdLGZ1bmN0aW9uKGksdHlwZSl7alF1ZXJ5LmZuW3R5cGVdPWZ1bmN0aW9uKGZuKXtyZXR1cm4gdGhpcy5vbih0eXBlLGZuKX19KSxqUXVlcnkuZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGVsZW0pe3JldHVybiBqUXVlcnkuZ3JlcChqUXVlcnkudGltZXJzLGZ1bmN0aW9uKGZuKXtyZXR1cm4gZWxlbT09PWZuLmVsZW19KS5sZW5ndGh9O3ZhciBkb2NFbGVtPXdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7alF1ZXJ5Lm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGVsZW0sb3B0aW9ucyxpKXt2YXIgY3VyUG9zaXRpb24sY3VyTGVmdCxjdXJDU1NUb3AsY3VyVG9wLGN1ck9mZnNldCxjdXJDU1NMZWZ0LGNhbGN1bGF0ZVBvc2l0aW9uLHBvc2l0aW9uPWpRdWVyeS5jc3MoZWxlbSxcInBvc2l0aW9uXCIpLGN1ckVsZW09alF1ZXJ5KGVsZW0pLHByb3BzPXt9O1wic3RhdGljXCI9PT1wb3NpdGlvbiYmKGVsZW0uc3R5bGUucG9zaXRpb249XCJyZWxhdGl2ZVwiKSxjdXJPZmZzZXQ9Y3VyRWxlbS5vZmZzZXQoKSxjdXJDU1NUb3A9alF1ZXJ5LmNzcyhlbGVtLFwidG9wXCIpLGN1ckNTU0xlZnQ9alF1ZXJ5LmNzcyhlbGVtLFwibGVmdFwiKSxjYWxjdWxhdGVQb3NpdGlvbj0oXCJhYnNvbHV0ZVwiPT09cG9zaXRpb258fFwiZml4ZWRcIj09PXBvc2l0aW9uKSYmalF1ZXJ5LmluQXJyYXkoXCJhdXRvXCIsW2N1ckNTU1RvcCxjdXJDU1NMZWZ0XSk+LTEsY2FsY3VsYXRlUG9zaXRpb24/KGN1clBvc2l0aW9uPWN1ckVsZW0ucG9zaXRpb24oKSxjdXJUb3A9Y3VyUG9zaXRpb24udG9wLGN1ckxlZnQ9Y3VyUG9zaXRpb24ubGVmdCk6KGN1clRvcD1wYXJzZUZsb2F0KGN1ckNTU1RvcCl8fDAsY3VyTGVmdD1wYXJzZUZsb2F0KGN1ckNTU0xlZnQpfHwwKSxqUXVlcnkuaXNGdW5jdGlvbihvcHRpb25zKSYmKG9wdGlvbnM9b3B0aW9ucy5jYWxsKGVsZW0saSxjdXJPZmZzZXQpKSxudWxsIT1vcHRpb25zLnRvcCYmKHByb3BzLnRvcD1vcHRpb25zLnRvcC1jdXJPZmZzZXQudG9wK2N1clRvcCksbnVsbCE9b3B0aW9ucy5sZWZ0JiYocHJvcHMubGVmdD1vcHRpb25zLmxlZnQtY3VyT2Zmc2V0LmxlZnQrY3VyTGVmdCksXCJ1c2luZ1wiaW4gb3B0aW9ucz9vcHRpb25zLnVzaW5nLmNhbGwoZWxlbSxwcm9wcyk6Y3VyRWxlbS5jc3MocHJvcHMpfX0salF1ZXJ5LmZuLmV4dGVuZCh7b2Zmc2V0OmZ1bmN0aW9uKG9wdGlvbnMpe2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PW9wdGlvbnM/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oaSl7alF1ZXJ5Lm9mZnNldC5zZXRPZmZzZXQodGhpcyxvcHRpb25zLGkpfSk7dmFyIGRvY0VsZW0sd2luLGJveD17dG9wOjAsbGVmdDowfSxlbGVtPXRoaXNbMF0sZG9jPWVsZW0mJmVsZW0ub3duZXJEb2N1bWVudDtpZihkb2MpcmV0dXJuIGRvY0VsZW09ZG9jLmRvY3VtZW50RWxlbWVudCxqUXVlcnkuY29udGFpbnMoZG9jRWxlbSxlbGVtKT8odHlwZW9mIGVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0IT09c3RydW5kZWZpbmVkJiYoYm94PWVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLHdpbj1nZXRXaW5kb3coZG9jKSx7dG9wOmJveC50b3ArKHdpbi5wYWdlWU9mZnNldHx8ZG9jRWxlbS5zY3JvbGxUb3ApLShkb2NFbGVtLmNsaWVudFRvcHx8MCksbGVmdDpib3gubGVmdCsod2luLnBhZ2VYT2Zmc2V0fHxkb2NFbGVtLnNjcm9sbExlZnQpLShkb2NFbGVtLmNsaWVudExlZnR8fDApfSk6Ym94fSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBvZmZzZXRQYXJlbnQsb2Zmc2V0LHBhcmVudE9mZnNldD17dG9wOjAsbGVmdDowfSxlbGVtPXRoaXNbMF07cmV0dXJuXCJmaXhlZFwiPT09alF1ZXJ5LmNzcyhlbGVtLFwicG9zaXRpb25cIik/b2Zmc2V0PWVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6KG9mZnNldFBhcmVudD10aGlzLm9mZnNldFBhcmVudCgpLG9mZnNldD10aGlzLm9mZnNldCgpLGpRdWVyeS5ub2RlTmFtZShvZmZzZXRQYXJlbnRbMF0sXCJodG1sXCIpfHwocGFyZW50T2Zmc2V0PW9mZnNldFBhcmVudC5vZmZzZXQoKSkscGFyZW50T2Zmc2V0LnRvcCs9alF1ZXJ5LmNzcyhvZmZzZXRQYXJlbnRbMF0sXCJib3JkZXJUb3BXaWR0aFwiLCEwKSxwYXJlbnRPZmZzZXQubGVmdCs9alF1ZXJ5LmNzcyhvZmZzZXRQYXJlbnRbMF0sXCJib3JkZXJMZWZ0V2lkdGhcIiwhMCkpLHt0b3A6b2Zmc2V0LnRvcC1wYXJlbnRPZmZzZXQudG9wLWpRdWVyeS5jc3MoZWxlbSxcIm1hcmdpblRvcFwiLCEwKSxsZWZ0Om9mZnNldC5sZWZ0LXBhcmVudE9mZnNldC5sZWZ0LWpRdWVyeS5jc3MoZWxlbSxcIm1hcmdpbkxlZnRcIiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBvZmZzZXRQYXJlbnQ9dGhpcy5vZmZzZXRQYXJlbnR8fGRvY0VsZW07b2Zmc2V0UGFyZW50JiYhalF1ZXJ5Lm5vZGVOYW1lKG9mZnNldFBhcmVudCxcImh0bWxcIikmJlwic3RhdGljXCI9PT1qUXVlcnkuY3NzKG9mZnNldFBhcmVudCxcInBvc2l0aW9uXCIpOylvZmZzZXRQYXJlbnQ9b2Zmc2V0UGFyZW50Lm9mZnNldFBhcmVudDtyZXR1cm4gb2Zmc2V0UGFyZW50fHxkb2NFbGVtfSl9fSksalF1ZXJ5LmVhY2goe3Njcm9sbExlZnQ6XCJwYWdlWE9mZnNldFwiLHNjcm9sbFRvcDpcInBhZ2VZT2Zmc2V0XCJ9LGZ1bmN0aW9uKG1ldGhvZCxwcm9wKXt2YXIgdG9wPS9ZLy50ZXN0KHByb3ApO2pRdWVyeS5mblttZXRob2RdPWZ1bmN0aW9uKHZhbCl7cmV0dXJuIGFjY2Vzcyh0aGlzLGZ1bmN0aW9uKGVsZW0sbWV0aG9kLHZhbCl7dmFyIHdpbj1nZXRXaW5kb3coZWxlbSk7cmV0dXJuIHZvaWQgMD09PXZhbD93aW4/cHJvcCBpbiB3aW4/d2luW3Byb3BdOndpbi5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbbWV0aG9kXTplbGVtW21ldGhvZF06dm9pZCh3aW4/d2luLnNjcm9sbFRvKHRvcD9qUXVlcnkod2luKS5zY3JvbGxMZWZ0KCk6dmFsLHRvcD92YWw6alF1ZXJ5KHdpbikuc2Nyb2xsVG9wKCkpOmVsZW1bbWV0aG9kXT12YWwpfSxtZXRob2QsdmFsLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksalF1ZXJ5LmVhY2goW1widG9wXCIsXCJsZWZ0XCJdLGZ1bmN0aW9uKGkscHJvcCl7alF1ZXJ5LmNzc0hvb2tzW3Byb3BdPWFkZEdldEhvb2tJZihzdXBwb3J0LnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oZWxlbSxjb21wdXRlZCl7cmV0dXJuIGNvbXB1dGVkPyhjb21wdXRlZD1jdXJDU1MoZWxlbSxwcm9wKSxybnVtbm9ucHgudGVzdChjb21wdXRlZCk/alF1ZXJ5KGVsZW0pLnBvc2l0aW9uKClbcHJvcF0rXCJweFwiOmNvbXB1dGVkKTp2b2lkIDB9KX0pLGpRdWVyeS5lYWNoKHtIZWlnaHQ6XCJoZWlnaHRcIixXaWR0aDpcIndpZHRoXCJ9LGZ1bmN0aW9uKG5hbWUsdHlwZSl7alF1ZXJ5LmVhY2goe3BhZGRpbmc6XCJpbm5lclwiK25hbWUsY29udGVudDp0eXBlLFwiXCI6XCJvdXRlclwiK25hbWV9LGZ1bmN0aW9uKGRlZmF1bHRFeHRyYSxmdW5jTmFtZSl7alF1ZXJ5LmZuW2Z1bmNOYW1lXT1mdW5jdGlvbihtYXJnaW4sdmFsdWUpe3ZhciBjaGFpbmFibGU9YXJndW1lbnRzLmxlbmd0aCYmKGRlZmF1bHRFeHRyYXx8XCJib29sZWFuXCIhPXR5cGVvZiBtYXJnaW4pLGV4dHJhPWRlZmF1bHRFeHRyYXx8KG1hcmdpbj09PSEwfHx2YWx1ZT09PSEwP1wibWFyZ2luXCI6XCJib3JkZXJcIik7cmV0dXJuIGFjY2Vzcyh0aGlzLGZ1bmN0aW9uKGVsZW0sdHlwZSx2YWx1ZSl7dmFyIGRvYztyZXR1cm4galF1ZXJ5LmlzV2luZG93KGVsZW0pP2VsZW0uZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50W1wiY2xpZW50XCIrbmFtZV06OT09PWVsZW0ubm9kZVR5cGU/KGRvYz1lbGVtLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChlbGVtLmJvZHlbXCJzY3JvbGxcIituYW1lXSxkb2NbXCJzY3JvbGxcIituYW1lXSxlbGVtLmJvZHlbXCJvZmZzZXRcIituYW1lXSxkb2NbXCJvZmZzZXRcIituYW1lXSxkb2NbXCJjbGllbnRcIituYW1lXSkpOnZvaWQgMD09PXZhbHVlP2pRdWVyeS5jc3MoZWxlbSx0eXBlLGV4dHJhKTpqUXVlcnkuc3R5bGUoZWxlbSx0eXBlLHZhbHVlLGV4dHJhKX0sdHlwZSxjaGFpbmFibGU/bWFyZ2luOnZvaWQgMCxjaGFpbmFibGUsbnVsbCl9fSl9KSxqUXVlcnkuZm4uc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0salF1ZXJ5LmZuLmFuZFNlbGY9alF1ZXJ5LmZuLmFkZEJhY2ssXCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoXCJqcXVlcnlcIixbXSxmdW5jdGlvbigpe3JldHVybiBqUXVlcnl9KTt2YXIgX2pRdWVyeT13aW5kb3cualF1ZXJ5LF8kPXdpbmRvdy4kO3JldHVybiBqUXVlcnkubm9Db25mbGljdD1mdW5jdGlvbihkZWVwKXtyZXR1cm4gd2luZG93LiQ9PT1qUXVlcnkmJih3aW5kb3cuJD1fJCksZGVlcCYmd2luZG93LmpRdWVyeT09PWpRdWVyeSYmKHdpbmRvdy5qUXVlcnk9X2pRdWVyeSksalF1ZXJ5fSx0eXBlb2Ygbm9HbG9iYWw9PT1zdHJ1bmRlZmluZWQmJih3aW5kb3cualF1ZXJ5PXdpbmRvdy4kPWpRdWVyeSksalF1ZXJ5fSk7Il0sIm1hcHBpbmdzIjoiOztBQUFBLENBQUMsVUFBU0EsTUFBTSxFQUFDQyxPQUFPLEVBQUM7RUFBQyxRQUFRLElBQUUsT0FBT0MsTUFBTSxJQUFFLFFBQVEsSUFBRSxPQUFPQSxNQUFNLENBQUNDLE9BQU8sR0FBQ0QsTUFBTSxDQUFDQyxPQUFPLEdBQUNILE1BQU0sQ0FBQ0ksUUFBUSxHQUFDSCxPQUFPLENBQUNELE1BQU0sRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLFVBQVNLLENBQUMsRUFBQztJQUFDLElBQUcsQ0FBQ0EsQ0FBQyxDQUFDRCxRQUFRLEVBQUMsTUFBTSxJQUFJRSxLQUFLLENBQUMsMENBQTBDLENBQUM7SUFBQyxPQUFPTCxPQUFPLENBQUNJLENBQUMsQ0FBQztFQUFBLENBQUMsR0FBQ0osT0FBTyxDQUFDRCxNQUFNLENBQUM7QUFBQSxDQUFDLENBQUMsV0FBVyxJQUFFLE9BQU9PLE1BQU0sR0FBQ0EsTUFBTSxTQUFLLEVBQUMsVUFBU0EsTUFBTSxFQUFDQyxRQUFRLEVBQUM7RUFBQyxTQUFTQyxXQUFXQSxDQUFDQyxHQUFHLEVBQUM7SUFBQyxJQUFJQyxNQUFNLEdBQUMsUUFBUSxJQUFHRCxHQUFHLElBQUVBLEdBQUcsQ0FBQ0MsTUFBTTtNQUFDQyxJQUFJLEdBQUNDLE1BQU0sQ0FBQ0QsSUFBSSxDQUFDRixHQUFHLENBQUM7SUFBQyxPQUFNLFVBQVUsS0FBR0UsSUFBSSxJQUFFQyxNQUFNLENBQUNDLFFBQVEsQ0FBQ0osR0FBRyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxLQUFHQSxHQUFHLENBQUNLLFFBQVEsSUFBRUosTUFBTSxHQUFDLENBQUMsQ0FBQyxHQUFDLE9BQU8sS0FBR0MsSUFBSSxJQUFFLENBQUMsS0FBR0QsTUFBTSxJQUFFLFFBQVEsSUFBRSxPQUFPQSxNQUFNLElBQUVBLE1BQU0sR0FBQyxDQUFDLElBQUVBLE1BQU0sR0FB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
|