UNPKG

@finbourne/lusid-sdk-angular6

Version:

An angular (6+) SDK for secure access to the LUSID® by FINBOURNE web API

109 lines (108 loc) 52 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ export var ErrorResponse; (function (ErrorResponse) { ErrorResponse.CodeEnum = { Unknown: /** @type {?} */ ('Unknown'), PersonalisationNotFound: /** @type {?} */ ('PersonalisationNotFound'), NonRecursivePersonalisation: /** @type {?} */ ('NonRecursivePersonalisation'), VersionNotFound: /** @type {?} */ ('VersionNotFound'), InstrumentNotFound: /** @type {?} */ ('InstrumentNotFound'), PropertyNotFound: /** @type {?} */ ('PropertyNotFound'), PortfolioRecursionDepth: /** @type {?} */ ('PortfolioRecursionDepth'), GroupNotFound: /** @type {?} */ ('GroupNotFound'), PortfolioNotFound: /** @type {?} */ ('PortfolioNotFound'), PropertySchemaNotFound: /** @type {?} */ ('PropertySchemaNotFound'), PortfolioAncestryNotFound: /** @type {?} */ ('PortfolioAncestryNotFound'), PortfolioWithIdAlreadyExists: /** @type {?} */ ('PortfolioWithIdAlreadyExists'), OrphanedPortfolio: /** @type {?} */ ('OrphanedPortfolio'), MissingBaseClaims: /** @type {?} */ ('MissingBaseClaims'), PropertyNotDefined: /** @type {?} */ ('PropertyNotDefined'), CannotDeleteSystemProperty: /** @type {?} */ ('CannotDeleteSystemProperty'), CannotModifyImmutablePropertyField: /** @type {?} */ ('CannotModifyImmutablePropertyField'), PropertyAlreadyExists: /** @type {?} */ ('PropertyAlreadyExists'), InvalidPropertyLifeTime: /** @type {?} */ ('InvalidPropertyLifeTime'), CannotModifyDefaultDataType: /** @type {?} */ ('CannotModifyDefaultDataType'), GroupAlreadyExists: /** @type {?} */ ('GroupAlreadyExists'), NoSuchDataType: /** @type {?} */ ('NoSuchDataType'), ValidationError: /** @type {?} */ ('ValidationError'), LoopDetectedInGroupHierarchy: /** @type {?} */ ('LoopDetectedInGroupHierarchy'), SubGroupAlreadyExists: /** @type {?} */ ('SubGroupAlreadyExists'), PriceSourceNotFound: /** @type {?} */ ('PriceSourceNotFound'), AnalyticStoreNotFound: /** @type {?} */ ('AnalyticStoreNotFound'), AnalyticStoreAlreadyExists: /** @type {?} */ ('AnalyticStoreAlreadyExists'), ClientInstrumentAlreadyExists: /** @type {?} */ ('ClientInstrumentAlreadyExists'), DuplicateInParameterSet: /** @type {?} */ ('DuplicateInParameterSet'), ResultsNotFound: /** @type {?} */ ('ResultsNotFound'), OrderFieldNotInResultSet: /** @type {?} */ ('OrderFieldNotInResultSet'), OperationFailed: /** @type {?} */ ('OperationFailed'), ElasticSearchError: /** @type {?} */ ('ElasticSearchError'), InvalidParameterValue: /** @type {?} */ ('InvalidParameterValue'), CommandProcessingFailure: /** @type {?} */ ('CommandProcessingFailure'), EntityStateConstructionFailure: /** @type {?} */ ('EntityStateConstructionFailure'), EntityTimelineDoesNotExist: /** @type {?} */ ('EntityTimelineDoesNotExist'), EventPublishFailure: /** @type {?} */ ('EventPublishFailure'), InvalidRequestFailure: /** @type {?} */ ('InvalidRequestFailure'), EventPublishUnknown: /** @type {?} */ ('EventPublishUnknown'), EventQueryFailure: /** @type {?} */ ('EventQueryFailure'), BlobDidNotExistFailure: /** @type {?} */ ('BlobDidNotExistFailure'), SubSystemRequestFailure: /** @type {?} */ ('SubSystemRequestFailure'), SubSystemConfigurationFailure: /** @type {?} */ ('SubSystemConfigurationFailure'), FailedToDelete: /** @type {?} */ ('FailedToDelete'), UpsertClientInstrumentFailure: /** @type {?} */ ('UpsertClientInstrumentFailure'), IllegalAsAtInterval: /** @type {?} */ ('IllegalAsAtInterval'), IllegalBitemporalQuery: /** @type {?} */ ('IllegalBitemporalQuery'), InvalidAlternateId: /** @type {?} */ ('InvalidAlternateId'), CannotAddSourcePortfolioPropertyExplicitly: /** @type {?} */ ('CannotAddSourcePortfolioPropertyExplicitly'), EntityAlreadyExistsInGroup: /** @type {?} */ ('EntityAlreadyExistsInGroup'), EntityWithIdAlreadyExists: /** @type {?} */ ('EntityWithIdAlreadyExists'), PortfolioDetailsDoNotExist: /** @type {?} */ ('PortfolioDetailsDoNotExist'), PortfolioWithNameAlreadyExists: /** @type {?} */ ('PortfolioWithNameAlreadyExists'), InvalidTransactions: /** @type {?} */ ('InvalidTransactions'), ReferencePortfolioNotFound: /** @type {?} */ ('ReferencePortfolioNotFound'), DuplicateIdFailure: /** @type {?} */ ('DuplicateIdFailure'), CommandRetrievalFailure: /** @type {?} */ ('CommandRetrievalFailure'), DataFilterApplicationFailure: /** @type {?} */ ('DataFilterApplicationFailure'), SearchFailed: /** @type {?} */ ('SearchFailed'), MovementsEngineConfigurationKeyFailure: /** @type {?} */ ('MovementsEngineConfigurationKeyFailure'), FxRateSourceNotFound: /** @type {?} */ ('FxRateSourceNotFound'), AccrualSourceNotFound: /** @type {?} */ ('AccrualSourceNotFound'), EntitlementsFailure: /** @type {?} */ ('EntitlementsFailure'), InvalidIdentityToken: /** @type {?} */ ('InvalidIdentityToken'), InvalidRequestHeaders: /** @type {?} */ ('InvalidRequestHeaders'), PriceNotFound: /** @type {?} */ ('PriceNotFound'), InvalidSubHoldingKeysProvided: /** @type {?} */ ('InvalidSubHoldingKeysProvided'), DuplicateSubHoldingKeysProvided: /** @type {?} */ ('DuplicateSubHoldingKeysProvided'), CutDefinitionNotFound: /** @type {?} */ ('CutDefinitionNotFound'), CutDefinitionInvalid: /** @type {?} */ ('CutDefinitionInvalid'), ServerConfigurationError: /** @type {?} */ ('ServerConfigurationError'), InvalidUnitForDataType: /** @type {?} */ ('InvalidUnitForDataType'), InvalidTypeForDataType: /** @type {?} */ ('InvalidTypeForDataType'), InvalidValueForDataType: /** @type {?} */ ('InvalidValueForDataType'), UnitNotDefinedForDataType: /** @type {?} */ ('UnitNotDefinedForDataType'), UnitsNotSupportedOnDataType: /** @type {?} */ ('UnitsNotSupportedOnDataType'), CannotSpecifyUnitsOnDataType: /** @type {?} */ ('CannotSpecifyUnitsOnDataType'), UnitSchemaInconsistentWithDataType: /** @type {?} */ ('UnitSchemaInconsistentWithDataType'), UnitDefinitionNotSpecified: /** @type {?} */ ('UnitDefinitionNotSpecified'), DuplicateUnitDefinitionsSpecified: /** @type {?} */ ('DuplicateUnitDefinitionsSpecified'), InvalidUnitsDefinition: /** @type {?} */ ('InvalidUnitsDefinition'), InvalidInstrumentIdentifierUnit: /** @type {?} */ ('InvalidInstrumentIdentifierUnit'), HoldingsAdjustmentDoesNotExist: /** @type {?} */ ('HoldingsAdjustmentDoesNotExist'), CouldNotBuildExcelUrl: /** @type {?} */ ('CouldNotBuildExcelUrl'), CouldNotGetExcelVersion: /** @type {?} */ ('CouldNotGetExcelVersion'), InstrumentByCodeNotFound: /** @type {?} */ ('InstrumentByCodeNotFound'), EntitySchemaDoesNotExist: /** @type {?} */ ('EntitySchemaDoesNotExist'), FeatureNotSupportedOnPortfolioType: /** @type {?} */ ('FeatureNotSupportedOnPortfolioType'), QuoteNotFoundFailure: /** @type {?} */ ('QuoteNotFoundFailure'), ReferencePortfolioRequestNotSupported: /** @type {?} */ ('ReferencePortfolioRequestNotSupported'), TransactionPortfolioRequestNotSupported: /** @type {?} */ ('TransactionPortfolioRequestNotSupported'), InvalidInstrumentDefinition: /** @type {?} */ ('InvalidInstrumentDefinition'), InstrumentUpsertFailure: /** @type {?} */ ('InstrumentUpsertFailure'), TransactionTypeNotFound: /** @type {?} */ ('TransactionTypeNotFound'), TransactionTypeDuplication: /** @type {?} */ ('TransactionTypeDuplication'), InvalidPropertyValueAssignment: /** @type {?} */ ('InvalidPropertyValueAssignment') }; })(ErrorResponse || (ErrorResponse = {})); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JSZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaW5ib3VybmUvbHVzaWQtc2RrLWFuZ3VsYXI2LyIsInNvdXJjZXMiOlsibGliL2dlbmVyYXRlZC9tb2RlbC9lcnJvclJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFzQkEsTUFBTSxLQUFXLGFBQWE7QUFBOUIsV0FBaUIsYUFBYTtJQUViLHNCQUFRLEdBQUc7UUFDcEIsT0FBTyxvQkFBRSxTQUFxQixDQUFBO1FBQzlCLHVCQUF1QixvQkFBRSx5QkFBcUMsQ0FBQTtRQUM5RCwyQkFBMkIsb0JBQUUsNkJBQXlDLENBQUE7UUFDdEUsZUFBZSxvQkFBRSxpQkFBNkIsQ0FBQTtRQUM5QyxrQkFBa0Isb0JBQUUsb0JBQWdDLENBQUE7UUFDcEQsZ0JBQWdCLG9CQUFFLGtCQUE4QixDQUFBO1FBQ2hELHVCQUF1QixvQkFBRSx5QkFBcUMsQ0FBQTtRQUM5RCxhQUFhLG9CQUFFLGVBQTJCLENBQUE7UUFDMUMsaUJBQWlCLG9CQUFFLG1CQUErQixDQUFBO1FBQ2xELHNCQUFzQixvQkFBRSx3QkFBb0MsQ0FBQTtRQUM1RCx5QkFBeUIsb0JBQUUsMkJBQXVDLENBQUE7UUFDbEUsNEJBQTRCLG9CQUFFLDhCQUEwQyxDQUFBO1FBQ3hFLGlCQUFpQixvQkFBRSxtQkFBK0IsQ0FBQTtRQUNsRCxpQkFBaUIsb0JBQUUsbUJBQStCLENBQUE7UUFDbEQsa0JBQWtCLG9CQUFFLG9CQUFnQyxDQUFBO1FBQ3BELDBCQUEwQixvQkFBRSw0QkFBd0MsQ0FBQTtRQUNwRSxrQ0FBa0Msb0JBQUUsb0NBQWdELENBQUE7UUFDcEYscUJBQXFCLG9CQUFFLHVCQUFtQyxDQUFBO1FBQzFELHVCQUF1QixvQkFBRSx5QkFBcUMsQ0FBQTtRQUM5RCwyQkFBMkIsb0JBQUUsNkJBQXlDLENBQUE7UUFDdEUsa0JBQWtCLG9CQUFFLG9CQUFnQyxDQUFBO1FBQ3BELGNBQWMsb0JBQUUsZ0JBQTRCLENBQUE7UUFDNUMs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QXdDLENBQUE7UUFDcEUsaUNBQWlDLG9CQUFFLG1DQUErQyxDQUFBO1FBQ2xGLHNCQUFzQixvQkFBRSx3QkFBb0MsQ0FBQTtRQUM1RCwrQkFBK0Isb0JBQUUsaUNBQTZDLENBQUE7UUFDOUUsOEJBQThCLG9CQUFFLGdDQUE0QyxDQUFBO1FBQzVFLHFCQUFxQixvQkFBRSx1QkFBbUMsQ0FBQTtRQUMxRCx1QkFBdUIsb0JBQUUseUJBQXFDLENBQUE7UUFDOUQsd0JBQXdCLG9CQUFFLDBCQUFzQyxDQUFBO1FBQ2hFLHdCQUF3QixvQkFBRSwwQkFBc0MsQ0FBQTtRQUNoRSxrQ0FBa0Msb0JBQUUsb0NBQWdELENBQUE7UUFDcEYsb0JBQW9CLG9CQUFFLHNCQUFrQyxDQUFBO1FBQ3hELHFDQUFxQyxvQkFBRSx1Q0FBbUQsQ0FBQTtRQUMxRix1Q0FBdUMsb0JBQUUseUNBQXFELENBQUE7UUFDOUYsMkJBQTJCLG9CQUFFLDZCQUF5QyxDQUFBO1FBQ3RFLHVCQUF1QixvQkFBRSx5QkFBcUMsQ0FBQTtRQUM5RCx1QkFBdUIsb0JBQUUseUJBQXFDLENBQUE7UUFDOUQsMEJBQTBCLG9CQUFFLDRCQUF3QyxDQUFBO1FBQ3BFLDhCQUE4QixvQkFBRSxnQ0FBNEMsQ0FBQTtLQUMvRTtHQXJHWSxhQUFhLEtBQWIsYUFBYSxRQXNHN0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogTFVTSUQgQVBJXHJcbiAqICMgSW50cm9kdWN0aW9uICBUaGlzIHBhZ2UgZG9jdW1lbnRzIHRoZSBbTFVTSUQgQVBJc10oaHR0cHM6Ly9hcGkuZmluYm91cm5lLmNvbS9zd2FnZ2VyKSwgd2hpY2ggYWxsb3dzIGF1dGhvcmlzZWQgY2xpZW50cyB0byBxdWVyeSBhbmQgdXBkYXRlIHRoZWlyIGRhdGEgd2l0aGluIHRoZSBMVVNJRCBwbGF0Zm9ybS4gIFNES3MgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgTFVTSUQgQVBJcyBhcmUgYXZhaWxhYmxlIGluIHRoZSBmb2xsb3dpbmcgbGFuZ3VhZ2VzIDogICogW0MjXShodHRwczovL2dpdGh1Yi5jb20vZmluYm91cm5lL2x1c2lkLXNkay1jc2hhcnApICogW0phdmFdKGh0dHBzOi8vZ2l0aHViLmNvbS9maW5ib3VybmUvbHVzaWQtc2RrLWphdmEpICogW0phdmFTY3JpcHRdKGh0dHBzOi8vZ2l0aHViLmNvbS9maW5ib3VybmUvbHVzaWQtc2RrLWpzKSAqIFtQeXRob25dKGh0dHBzOi8vZ2l0aHViLmNvbS9maW5ib3VybmUvbHVzaWQtc2RrLXB5dGhvbikgICMgRGF0YSBNb2RlbCAgVGhlIExVU0lEIEFQSSBoYXMgYSByZWxhdGl2ZWx5IGxpZ2h0d2VpZ2h0IGJ1dCBleHRyZW1lbHkgcG93ZXJmdWwgZGF0YSBtb2RlbC4gICBPbmUgb2YgdGhlIGdvYWxzIG9mIExVU0lEIHdhcyBub3QgdG8gZW5mb3JjZSBvbiBjbGllbnRzIGEgc2luZ2xlIHJpZ2lkIGRhdGEgbW9kZWwgYnV0IHJhdGhlciB0byBwcm92aWRlIGEgZmxleGlibGUgZm91bmRhdGlvbiBvbnRvIHdoaWNoIGNsaWVudHMgY2FuIHN0cmVhbWxpbmUgdGhlaXIgZGF0YS4gICBPbmUgb2YgdGhlIHByaW1hcnkgdG9vbHMgdG8gZXh0ZW5kIHRoZSBkYXRhIG1vZGVsIGlzIHRocm91Z2ggdXNpbmcgcHJvcGVydGllcy4gIFByb3BlcnRpZXMgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBhbW9uZ3N0IG90aGVyczogLSAqIFRyYW5zYWN0aW9ucyAqIEluc3RydW1lbnRzICogUG9ydGZvbGlvcyAgIFRoZSBMVVNJRCBkYXRhIG1vZGVsIGlzIGV4cG9zZWQgdGhyb3VnaCB0aGUgTFVTSUQgQVBJcy4gIFRoZSBBUElzIHByb3ZpZGUgYWNjZXNzIHRvIGJvdGggYnVzaW5lc3Mgb2JqZWN0cyBhbmQgdGhlIG1ldGEgZGF0YSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgc3lzdGVtcyBiZWhhdmlvdXJzLiAgIFRoZSBrZXkgYnVzaW5lc3MgZW50aXRpZXMgYXJlOiAtICogKipQb3J0Zm9saW9zKiogQSBwb3J0Zm9saW8gaXMgdGhlIHByaW1hcnkgY29udGFpbmVyIGZvciB0cmFuc2FjdGlvbnMgYW5kIGhvbGRpbmdzLiAgKiAqKkRlcml2ZWQgUG9ydGZvbGlvcyoqIERlcml2ZWQgcG9ydGZvbGlvcyBhbGxvdyBwb3J0Zm9saW9zIHRvIGJlIGNyZWF0ZWQgYmFzZWQgb24gb3RoZXIgcG9ydGZvbGlvcywgYnkgb3ZlcnJpZGluZyBvciBvdmVybGF5aW5nIHNwZWNpZmljIGl0ZW1zICogKipIb2xkaW5ncyoqIEEgaG9sZGluZyBpcyBhIHBvc2l0aW9uIGFjY291bnQgZm9yIGEgaW5zdHJ1bWVudCB3aXRoaW4gYSBwb3J0Zm9saW8uICBIb2xkaW5ncyBjYW4gb25seSBiZSBhZGp1c3RlZCB2aWEgdHJhbnNhY3Rpb25zLiAqICoqVHJhbnNhY3Rpb25zKiogQSBUcmFuc2FjdGlvbiBpcyBhIHNvdXJjZSBvZiB0cmFuc2FjdGlvbnMgdXNlZCB0byBtYW5pcHVsYXRlIGhvbGRpbmdzLiAgKiAqKkNvcnBvcmF0ZSBBY3Rpb25zKiogQSBjb3Jwb3JhdGUgYWN0aW9uIGlzIGEgbWFya2V0IGV2ZW50IHdoaWNoIG9jY3VycyB0byBhIGluc3RydW1lbnQsIGZvciBleGFtcGxlIGEgc3RvY2sgc3BsaXQgKiAqKkluc3RydW1lbnRzKiogIEEgaW5zdHJ1bWVudCByZXByZXNlbnRzIGEgY3VycmVuY3ksIHRyYWRhYmxlIGluc3RydW1lbnQgb3IgT1RDIGNvbnRyYWN0IHRoYXQgaXMgYXR0YWNoZWQgdG8gYSB0cmFuc2FjdGlvbiBhbmQgYSBob2xkaW5nLiAqICoqUHJvcGVydGllcyoqIFNldmVyYWwgZW50aXRpZXMgYWxsb3cgYWRkaXRpb25hbCB1c2VyIGRlZmluZWQgcHJvcGVydGllcyB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlbS4gICBGb3IgZXhhbXBsZSwgYSBQb3J0Zm9saW8gbWFuYWdlciBtYXkgYmUgYXNzb2NpYXRlZCB3aXRoIGEgcG9ydGZvbGlvICBNZXRhIGRhdGEgaW5jbHVkZXM6IC0gKiAqKlRyYW5zYWN0aW9uIFR5cGVzKiogVHJhbnNhY3Rpb25zIGFyZSBib29rZWQgd2l0aCBhIHNwZWNpZmljIHRyYW5zYWN0aW9uIHR5cGUuICBUaGUgdHlwZXMgYXJlIGNsaWVudCBkZWZpbmVkIGFuZCBhcmUgdXNlZCB0byBtYXAgdGhlIFRyYW5zYWN0aW9uIHRvIGEgc2VyaWVzIG9mIG1vdmVtZW50cyB3aGljaCB1cGRhdGUgdGhlIHBvcnRmb2xpbyBob2xkaW5ncy4gICogKipQcm9wZXJ0aWVzIFR5cGVzKiogVHlwZXMgb2YgdXNlciBkZWZpbmVkIHByb3BlcnRpZXMgdXNlZCB3aXRoaW4gdGhlIHN5c3RlbS4gIFRoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlIGRhdGEgbW9kZWwgdGhhdCBMVVNJRCBleHBvc2VzIHZpYSB0aGUgQVBJcy4gICMjIFNjb3BlICBBbGwgZGF0YSBpbiBMVVNJRCBpcyBzZWdyZWdhdGVkIGF0IHRoZSBjbGllbnQgbGV2ZWwuICBFbnRpdGllcyBpbiBMVVNJRCBhcmUgaWRlbnRpZmlhYmxlIGJ5IGEgdW5pcXVlIGNvZGUuICBFdmVyeSBlbnRpdHkgbGl2ZXMgd2l0aGluIGEgbG9naWNhbCBkYXRhIHBhcnRpdGlvbiBrbm93biBhcyBhIFNjb3BlLiAgU2NvcGUgaXMgYW4gaWRlbnRpdHkgbmFtZXNwYWNlIGFsbG93aW5nIHR3byBlbnRpdGllcyB3aXRoIHRoZSBzYW1lIHVuaXF1ZSBjb2RlIHRvIGNvLWV4aXN0IHdpdGhpbiBpbmRpdmlkdWFsIGFkZHJlc3Mgc3BhY2VzLiAgRm9yIGV4YW1wbGUsIHByaWNlcyBmb3IgZXF1aXRpZXMgZnJvbSBkaWZmZXJlbnQgdmVuZG9ycyBtYXkgYmUgdXBsb2FkZWQgaW50byBkaWZmZXJlbnQgc2NvcGVzIHN1Y2ggYXMgYGNsaWVudC92ZW5kb3IxYCBhbmQgYGNsaWVudC92ZW5kb3IyYC4gIEEgcG9ydGZvbGlvIG1heSB0aGVuIGJlIHZhbHVlZCB1c2luZyBlaXRoZXIgb2YgdGhlIHByaWNlIHNvdXJjZXMgYnkgcmVmZXJlbmNpbmcgdGhlIGFwcHJvcHJpYXRlIHNjb3BlLiAgTFVTSUQgQ2xpZW50cyBjYW5ub3QgYWNjZXNzIHNjb3BlcyBvZiBvdGhlciBjbGllbnRzLiAgIyMgU2NoZW1hICBBIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBlbnRpdGllcyB1c2VkIGJ5IHRoZSBBUEkgYW5kIHBhcmFtZXRlcnMgZm9yIGVuZHBvaW50cyB3aGljaCB0YWtlIGEgSlNPTiBkb2N1bWVudCBjYW4gYmUgcmV0cmlldmVkIHZpYSB0aGUgYHNjaGVtYWAgZW5kcG9pbnQuICAjIyBJbnN0cnVtZW50cyAgTFVTSUQgaGFzIGl0cyBvd24gYnVpbHQtaW4gaW5zdHJ1bWVudCBtYXN0ZXIgd2hpY2ggeW91IGNhbiB1c2UgdG8gbWFzdGVyIHlvdXIgb3duIGluc3RydW1lbnQgdW5pdmVyc2UuICBFdmVyeSBpbnN0cnVtZW50IG11c3QgYmUgY3JlYXRlZCB3aXRoIG9uZSBvciBtb3JlIHVuaXF1ZSBtYXJrZXQgaWRlbnRpZmllcnMsIHN1Y2ggYXMgW0ZJR0ldKGh0dHBzOi8vb3BlbmZpZ2kuY29tLykgb3IgUklDIGNvZGUuIEZvciBhbnkgbm9uLWxpc3RlZCBpbnN0cnVtZW50cyAoZWcgT1RDcyksIHlvdSBjYW4gdXBsb2FkIGFuIGluc3RydW1lbnQgYWdhaW5zdCBhIGN1c3RvbSBJRCBvZiB5b3VyIGNob29zaW5nLiAgSW4gYWRkaXRpb24sIExVU0lEIHdpbGwgYWxsb2NhdGUgZWFjaCBpbnN0cnVtZW50IGEgdW5pcXVlICdMVVNJRCBpbnN0cnVtZW50IGlkZW50aWZpZXInLiBUaGUgTFVTSUQgaW5zdHJ1bWVudCBpZGVudGlmaWVyIGlzIHdoYXQgaXMgdXNlZCB3aGVuIHVwbG9hZGluZyB0cmFuc2FjdGlvbnMsIGhvbGRpbmdzLCBwcmljZXMsIGV0Yy4gVGhlIEFQSSBleHBvc2VzIGFuIGBpbnN0cnVtZW50L2xvb2t1cGAgZW5kcG9pbnQgd2hpY2ggY2FuIGJlIHVzZWQgdG8gbG9va3VwIHRoZXNlIExVU0lEIGlkZW50aWZpZXJzIHVzaW5nIHRoZWlyIG1hcmtldCBpZGVudGlmaWVycy4gIENhc2ggY2FuIGJlIHJlZmVyZW5jZWQgdXNpbmcgdGhlIElTTyBjdXJyZW5jeSBjb2RlIHByZWZpeGVkIHdpdGggXFxcImBDQ1lfYFxcXCIgZS5nLiBgQ0NZX0dCUGAgICMjIEluc3RydW1lbnQgUHJpY2VzIChBbmFseXRpY3MpICBJbnN0cnVtZW50IHByaWNlcyBhcmUgc3RvcmVkIGluIExVU0lEJ3MgQW5hbHl0aWNzIFN0b3JlICB8IEZpZWxkfFR5cGV8RGVzY3JpcHRpb24gfCB8IC0tLXwtLS18LS0tIHwgfCBJbnN0cnVtZW50VWlkfHN0cmluZ3xVbmlxdWUgaW5zdHJ1bWVudCBpZGVudGlmaWVyIHwgfCBWYWx1ZXxkZWNpbWFsfFZhbHVlIG9mIHRoZSBhbmFseXRpYywgZWcgcHJpY2UgfCB8IERlbm9taW5hdGlvbnxzdHJpbmd8VW5kZXJseWluZyB1bml0IG9mIHRoZSBhbmFseXRpYywgZWcgY3VycmVuY3ksIEVQUyBldGMuIHwgICAjIyBJbnN0cnVtZW50IERhdGEgIEluc3RydW1lbnQgZGF0YSBjYW4gYmUgdXBsb2FkZWQgdG8gdGhlIHN5c3RlbSB1c2luZyB0aGUgW0luc3RydW1lbnQgUHJvcGVydGllc10oI3RhZy9JbnN0cnVtZW50UHJvcGVydGllcykgZW5kcG9pbnQuICB8IEZpZWxkfFR5cGV8RGVzY3JpcHRpb24gfCB8IC0tLXwtLS18LS0tIHwgfCBJbnN0cnVtZW50VWlkfHN0cmluZ3xVbmlxdWUgaW5zdHJ1bWVudCBpZGVudGlmaWVyIHwgICAjIyBQb3J0Zm9saW9zICBQb3J0Zm9saW9zIGFyZSB0aGUgdG9wLWxldmVsIGVudGl0eSBjb250YWluZXJzIHdpdGhpbiBMVVNJRCwgY29udGFpbmluZyB0cmFuc2FjdGlvbnMsIGNvcnBvcmF0ZSBhY3Rpb25zIGFuZCBob2xkaW5ncy4gICAgVGhlIHRyYW5zYWN0aW9ucyBidWlsZCB1cCB0aGUgcG9ydGZvbGlvIGhvbGRpbmdzIG9uIHdoaWNoIHZhbHVhdGlvbnMsIGFuYWx5dGljcyBwcm9maXQgJiBsb3NzIGFuZCByaXNrIGNhbiBiZSBjYWxjdWxhdGVkLiAgICAgUHJvcGVydGllcyBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIFBvcnRmb2xpb3MgdG8gYWRkIGluIGFkZGl0aW9uYWwgbW9kZWwgZGF0YS4gIFBvcnRmb2xpbyBwcm9wZXJ0aWVzIGNhbiBiZSBjaGFuZ2VkIG92ZXIgdGltZSBhcyB3ZWxsLiAgRm9yIGV4YW1wbGUsIHRvIGFsbG93IGEgUG9ydGZvbGlvIE1hbmFnZXIgdG8gYmUgbGlua2VkIHdpdGggYSBQb3J0Zm9saW8uICBBZGRpdGlvbmFsbHksIHBvcnRmb2xpb3MgY2FuIGJlIHNlY3VyaXRpc2VkIGFuZCBoZWxkIGJ5IG90aGVyIHBvcnRmb2xpb3MsIGFsbG93aW5nIExVU0lEIHRvIHBlcmZvcm0gXFxcImRyaWxsLXRocm91Z2hcXFwiIGludG8gdW5kZXJseWluZyBmdW5kIGhvbGRpbmdzICAjIyMgUmVmZXJlbmNlIFBvcnRmb2xpb3MgUmVmZXJlbmNlIHBvcnRmb2xpb3MgYXJlIHBvcnRmb2xpb3MgdGhhdCBjb250YWluIG9ubHkgd2VpZ2h0cywgYXMgb3Bwb3NlZCB0byB0cmFuc2FjdGlvbnMsIGFuZCBhcmUgZGVzaWduZWQgdG8gcmVwcmVzZW50IGVudGl0aWVzIHN1Y2ggYXMgaW5kaWNlcy4gICMjIyBEZXJpdmVkIFBvcnRmb2xpb3MgIExVU0lEIGFsc28gYWxsb3dzIGZvciBhIHBvcnRmb2xpbyB0byBiZSBjb21wb3NlZCBvZiBhbm90aGVyIHBvcnRmb2xpbyB2aWEgZGVyaXZlZCBwb3J0Zm9saW9zLiAgQSBkZXJpdmVkIHBvcnRmb2xpbyBjYW4gY29udGFpbiBpdHMgb3duIHRyYW5zYWN0aW9ucyBhbmQgYWxzbyBpbmhlcml0cyBhbnkgdHJhbnNhY3Rpb25zIGZyb20gaXRzIHBhcmVudCBwb3J0Zm9saW8uICBBbnkgY2hhbmdlcyBtYWRlIHRvIHRoZSBwYXJlbnQgcG9ydGZvbGlvIGFyZSBhdXRvbWF0aWNhbGx5IHJlZmxlY3RlZCBpbiBkZXJpdmVkIHBvcnRmb2xpby4gIERlcml2ZWQgcG9ydGZvbGlvcyBpbiBjb25qdW5jdGlvbiB3aXRoIHNjb3BlcyBhcmUgYSBwb3dlcmZ1bCBjb25zdHJ1Y3QuICBGb3IgZXhhbXBsZSwgdG8gZG8gcHJlLXRyYWRlIHdoYXQtaWYgYW5hbHlzaXMsIGEgZGVyaXZlZCBwb3J0Zm9saW8gY291bGQgYmUgY3JlYXRlZCBhIG5ldyBuYW1lc3BhY2UgbGlua2VkIHRvIHRoZSB1bmRlcmx5aW5nIGxpdmUgKHBhcmVudCkgcG9ydGZvbGlvLiAgQW5hbHlzaXMgY2FuIHRoZW4gYmUgdW5kZXJ0YWtlbiBvbiB0aGUgZGVyaXZlZCBwb3J0Zm9saW8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIGxpdmUgcG9ydGZvbGlvLiAgIyMjIFBvcnRmb2xpbyBHcm91cHMgUG9ydGZvbGlvIGdyb3VwcyBhbGxvdyB0aGUgY29uc3RydWN0aW9uIG9mIGEgaGllcmFyY2h5IGZyb20gcG9ydGZvbGlvcyBhbmQgZ3JvdXBzLiAgUG9ydGZvbGlvIG9wZXJhdGlvbnMgb24gdGhlIGdyb3VwIGFyZSBleGVjdXRlZCBvbiBhbiBhZ2dyZWdhdGVkIHNldCBvZiBwb3J0Zm9saW9zIGluIHRoZSBoaWVyYXJjaHkuICAgRm9yIGV4YW1wbGU6ICAgKiBHbG9iYWwgUG9ydGZvbGlvcyBfKGdyb3VwKV8gICAqIEFQQUMgXyhncm91cClfICAgICAqIEhvbmcgS29uZyBfKHBvcnRmb2xpbylfICAgICAqIEphcGFuIF8ocG9ydGZvbGlvKV8gICAqIEV1cm9wZSBfKGdyb3VwKV8gICAgICogRnJhbmNlIF8ocG9ydGZvbGlvKV8gICAgICogR2VybWFueSBfKHBvcnRmb2xpbylfICAgKiBVSyBfKHBvcnRmb2xpbylfICAgSW4gdGhpcyBleGFtcGxlICoqR2xvYmFsIFBvcnRmb2xpb3MqKiBpcyBhIGdyb3VwIHRoYXQgY29uc2lzdHMgb2YgYW4gYWdncmVnYXRlIG9mICoqSG9uZyBLb25nKiosICoqSmFwYW4qKiwgKipGcmFuY2UqKiwgKipHZXJtYW55KiogYW5kICoqVUsqKiBwb3J0Zm9saW9zLiAgIyMjIE1vdmVtZW50cyBFbmdpbmUgVGhlIE1vdmVtZW50cyBlbmdpbmUgc2l0cyBvbiB0b3Agb2YgdGhlIGltbXV0YWJsZSBldmVudCBzdG9yZSBhbmQgaXMgdXNlZCB0byBtYW5hZ2UgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGlucHV0IHRyYWRpbmcgYWN0aW9ucyBhbmQgdGhlaXIgYXNzb2NpYXRlZCBwb3J0Zm9saW8gaG9sZGluZ3MuICAgICBUaGUgbW92ZW1lbnRzIGVuZ2luZSByZWFkcyBpbiB0aGUgZm9sbG93aW5nIGVudGl0eSB0eXBlczotICogUG9zdGluZyBUcmFuc2FjdGlvbnMgKiBBcHBseWluZyBDb3Jwb3JhdGUgQWN0aW9ucyAgKiBIb2xkaW5nIEFkanVzdG1lbnRzICBUaGVzZSBhcmUgY29udmVydGVkIHRvIG9uZSBvciBtb3JlIG1vdmVtZW50cyBhbmQgdXNlZCBieSB0aGUgbW92ZW1lbnRzIGVuZ2luZSB0byBjYWxjdWxhdGUgaG9sZGluZ3MuICBBdCB0aGUgc2FtZSB0aW1lIGl0IGFsc28gY2FsY3VsYXRlcyBydW5uaW5nIGJhbGFuY2VzLCBhbmQgcmVhbGlzZWQgUCZMLiAgVGhlIG91dHB1dHMgZnJvbSB0aGUgbW92ZW1lbnRzIGVuZ2luZSBhcmUgaG9sZGluZ3MgYW5kIHRyYW5zYWN0aW9ucy4gICMjIFRyYW5zYWN0aW9ucyAgQSB0cmFuc2FjdGlvbiByZXByZXNlbnRzIGFuIGVjb25vbWljIGFjdGl2aXR5IGFnYWluc3QgYSBQb3J0Zm9saW8uICBUcmFuc2FjdGlvbnMgYXJlIHByb2Nlc3NlZCBhY2NvcmRpbmcgdG8gYSBjb25maWd1cmF0aW9uLiBUaGlzIHdpbGwgdGVsbCB0aGUgTFVTSUQgZW5naW5lIGhvdyB0byBpbnRlcnByZXQgdGhlIHRyYW5zYWN0aW9uIGFuZCBjb3JyZWN0bHkgdXBkYXRlIHRoZSBob2xkaW5ncy4gTFVTSUQgY29tZXMgd2l0aCBhIHNldCBvZiB0cmFuc2FjdGlvbiB0eXBlcyB5b3UgY2FuIHVzZSBvdXQgb2YgdGhlIGJveCwgb3IgeW91IGNhbiBjb25maWd1cmUgeW91ciBvd24gc2V0KHMpIG9mIHRyYW5zYWN0aW9ucy4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHRoZSBbTFVTSUQgR2V0dGluZyBTdGFydGVkIEd1aWRlIGZvciB0cmFuc2FjdGlvbiBjb25maWd1cmF0aW9uLl0oaHR0cHM6Ly9zdXBwb3J0LmZpbmJvdXJuZS5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvMzYwMDE2NzM3NTExLUNvbmZpZ3VyaW5nLVRyYW5zYWN0aW9uLVR5cGVzKSAgfCBGaWVsZHxUeXBlfERlc2NyaXB0aW9uIHwgfCAtLS18LS0tfC0tLSB8IHwgVHJhbnNhY3Rpb25JZHxzdHJpbmd8VW5pcXVlIHRyYW5zYWN0aW9uIGlkZW50aWZpZXIgfCB8IFR5cGV8c3RyaW5nfExVU0lEIHRyYW5zYWN0aW9uIHR5cGUgY29kZSAtIEJ1eSwgU2VsbCwgU3RvY2tJbiwgU3RvY2tPdXQsIGV0YyB8IHwgSW5zdHJ1bWVudFVpZHxzdHJpbmd8VW5pcXVlIGluc3RydW1lbnQgaWRlbnRpZmllciB8IHwgVHJhbnNhY3Rpb25EYXRlfGRhdGV0aW1lfFRyYW5zYWN0aW9uIGRhdGUgfCB8IFNldHRsZW1lbnREYXRlfGRhdGV0aW1lfFNldHRsZW1lbnQgZGF0ZSB8IHwgVW5pdHN8ZGVjaW1hbHxRdWFudGl0eSBvZiB0cmFuc2FjdGlvbiBpbiB1bml0cyBvZiB0aGUgaW5zdHJ1bWVudCB8IHwgVHJhbnNhY3Rpb25QcmljZXx0cmFkZXByaWNlfEV4ZWN1dGlvbiBwcmljZSBmb3IgdGhlIHRyYW5zYWN0aW9uIHwgfCBUb3RhbENvbnNpZGVyYXRpb258Y3VycmVuY3lhbmRhbW91bnR8VG90YWwgdmFsdWUgb2YgdGhlIHRyYW5zYWN0aW9uIHwgfCBFeGNoYW5nZVJhdGV8ZGVjaW1hbHxSYXRlIGJldHdlZW4gdHJhbnNhY3Rpb24gYW5kIHNldHRsZSBjdXJyZW5jeSB8IHwgVHJhbnNhY3Rpb25DdXJyZW5jeXxjdXJyZW5jeXxUcmFuc2FjdGlvbiBjdXJyZW5jeSB8IHwgQ291bnRlcnBhcnR5SWR8c3RyaW5nfENvdW50ZXJwYXJ0eSBpZGVudGlmaWVyIHwgfCBTb3VyY2V8c3RyaW5nfFdoZXJlIHRoaXMgdHJhbnNhY3Rpb24gY2FtZSBmcm9tIHwgfCBOZXR0aW5nU2V0fHN0cmluZ3wgIHwgICAjIyMgRXhhbXBsZSBUcmFuc2FjdGlvbnMgICMjIyMgQSBDb21tb24gUHVyY2hhc2UgRXhhbXBsZSBUaHJlZSBleGFtcGxlIHRyYW5zYWN0aW9ucyBhcmUgc2hvd24gaW4gdGhlIHRhYmxlIGJlbG93LiAgIFRoZXkgcmVwcmVzZW50IGEgcHVyY2hhc2Ugb2YgVVNEIGRlbm9taW5hdGVkIElCTSBzaGFyZXMgd2l0aGluIGEgU3RlcmxpbmcgZGVub21pbmF0ZWQgcG9ydGZvbGlvLiAgICogVGhlIGZpcnN0IHR3byB0cmFuc2FjdGlvbnMgYXJlIGZvciBzZXBhcmF0ZSBidXkgYW5kIGZ4IHRyYWRlcyAgICAqIEJ1eWluZyA1MDAgSUJNIHNoYXJlcyBmb3IgJDcxLDQ4MC4wMCAgICAqIEEgZm9yZWlnbiBleGNoYW5nZSBjb252ZXJzaW9uIHRvIGZ1bmQgdGhlIElCTSBwdXJjaGFzZS4gKEJ1eSAkNzEsNDgwLjAwIGZvciAmIzE2Mzs1NCw4NDYuNjApICAqIFRoZSB0aGlyZCB0cmFuc2FjdGlvbiBpcyBhbiBhbHRlcm5hdGUgdmVyc2lvbiBvZiB0aGUgYWJvdmUgdHJhZGVzLiBCdXlpbmcgNTAwIElCTSBzaGFyZXMgYW5kIHNldHRsaW5nIGRpcmVjdGx5IGluIFN0ZXJsaW5nLiAgfCBDb2x1bW4gfCAgQnV5IFRyYWRlIHwgRnggVHJhZGUgfCBCdXkgVHJhZGUgd2l0aCBmb3JlaWduIFNldHRsZW1lbnQgfCB8IC0tLS0tIHwgLS0tLS0gfCAtLS0tLSB8IC0tLS0tIHwgfCBUcmFuc2FjdGlvbklkIHwgRkJOMDAwMDEgfCBGQk4wMDAwMiB8IEZCTjAwMDAzIHwgfCBUeXBlIHwgQnV5IHwgRnhCdXkgfCBCdXkgfCB8IEluc3RydW1lbnRVaWQgfCBGSUdJX0JCRzAwMEJMTk5INiB8IENDWV9VU0QgfCBGSUdJX0JCRzAwMEJMTk5INiB8IHwgVHJhbnNhY3Rpb25EYXRlIHwgMjAxOC0wOC0wMiB8IDIwMTgtMDgtMDIgfCAyMDE4LTA4LTAyIHwgfCBTZXR0bGVtZW50RGF0ZSB8IDIwMTgtMDgtMDYgfCAyMDE4LTA4LTA2IHwgMjAxOC0wOC0wNiB8IHwgVW5pdHMgfCA1MDAgfCA3MTQ4MCB8IDUwMCB8IHwgVHJhbnNhY3Rpb25QcmljZSB8IDE0Mi45NiB8IDEgfCAxNDIuOTYgfCB8IFRyYWRlQ3VycmVuY3kgfCBVU0QgfCBVU0QgfCBVU0QgfCB8IEV4Y2hhbmdlUmF0ZSB8IDEgfCAwLjc2NzMgfCAwLjc2NzMgfCB8IFRvdGFsQ29uc2lkZXJhdGlvbi5BbW91bnQgfCA3MTQ4MC4wMCB8IDU0ODQ2LjYwIHwgNTQ4NDYuNjAgfCB8IFRvdGFsQ29uc2lkZXJhdGlvbi5DdXJyZW5jeSB8IFVTRCB8IEdCUCB8IEdCUCB8IHwgVHJhZGUvZGVmYXVsdC9UcmFkZVRvUG9ydGZvbGlvUmF0ZSZhc3Q7IHwgMC43NjczIHwgMC43NjczIHwgMC43NjczIHwgIFsmYXN0OyBUaGlzIGlzIGEgcHJvcGVydHkgZmllbGRdICAjIyMjIEEgRm9yd2FyZCBGWCBFeGFtcGxlICBMVVNJRCBoYXMgYSBmbGV4aWJsZSB0cmFuc2FjdGlvbiBtb2RlbGxpbmcgc3lzdGVtLCBhbmQgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIGRpZmZlcmVudCB3YXlzIG9mIG1vZGVsbGluZyBmb3J3YXJkIGZ4IHRyYWRlcy4gIFRoZSBkZWZhdWx0IExVU0lEIHRyYW5zYWN0aW9uIHR5cGVzIGFyZSBGd2RGeEJ1eSBhbmQgRndkRnhTZWxsLiBPdGhlciB0eXBlcyBhbmQgYmVoYXZpb3VycyBjYW4gYmUgY29uZmlndXJlZCBhcyByZXF1aXJlZC4gIFVzaW5nIHRoZXNlIHRyYW5zYWN0aW9uIHR5cGVzLCB0aGUgaG9sZGluZ3MgcXVlcnkgd2lsbCByZXBvcnQgdHdvIGZvcndhcmQgcG9zaXRpb25zLiBPbmUgaW4gZWFjaCBjdXJyZW5jeS4gICBTaW5jZSBhbiBGWCB0cmFkZSBpcyBhbiBleGNoYW5nZSBvZiBvbmUgY3VycmVuY3kgZm9yIGFub3RoZXIsIHRoZSBmb2xsb3dpbmcgdHdvIDYgbW9udGggZm9yd2FyZCB0cmFuc2FjdGlvbnMgYXJlIGVxdWl2YWxlbnQ6ICB8IENvbHVtbiB8ICBGb3J3YXJkICdTZWxsJyBUcmFkZSB8IEZvcndhcmQgJ0J1eScgVHJhZGUgfCB8IC0tLS0tIHwgLS0tLS0gfCAtLS0tLSB8IHwgVHJhbnNhY3Rpb25JZCB8IEZCTjAwMDA0IHwgRkJOMDAwMDUgfCB8IFR5cGUgfCBGd2RGeFNlbGwgfCBGd2RGeEJ1eSB8IHwgSW5zdHJ1bWVudFVpZCB8IENDWV9HQlAgfCBDQ1lfVVNEIHwgfCBUcmFuc2FjdGlvbkRhdGUgfCAyMDE4LTA4LTAyIHwgMjAxOC0wOC0wMiB8IHwgU2V0dGxlbWVudERhdGUgfCAyMDE5LTAyLTA2IHwgMjAxOS0wMi0wNiB8IHwgVW5pdHMgfCAxMDAwMC4wMCB8IDEzMTQyLjAwIHwgfCBUcmFuc2FjdGlvblByaWNlIHwxIHwgMSB8IHwgVHJhZGVDdXJyZW5jeSB8IEdCUCB8IFVTRCB8IHwgRXhjaGFuZ2VSYXRlIHwgMS4zMTQyIHwgMC43NjA5MTkgfCB8IFRvdGFsQ29uc2lkZXJhdGlvbi5BbW91bnQgfCAxMzE0Mi4wMCB8IDEwMDAwLjAwIHwgfCBUb3RhbENvbnNpZGVyYXRpb24uQ3VycmVuY3kgfCBVU0QgfCBHQlAgfCB8IFRyYWRlL2RlZmF1bHQvVHJhZGVUb1BvcnRmb2xpb1JhdGUgfCAxLjAgfCAwLjc2MDkxOSB8ICAjIyBIb2xkaW5ncyAgQSBob2xkaW5nIHJlcHJlc2VudHMgYSBwb3NpdGlvbiBpbiBhIGluc3RydW1lbnQgb3IgY2FzaCBvbiBhIGdpdmVuIGRhdGUuICB8IEZpZWxkfFR5cGV8RGVzY3JpcHRpb24gfCB8IC0tLXwtLS18LS0tIHwgfCBJbnN0cnVtZW50VWlkfHN0cmluZ3xVbmlxdWUgaW5zdHJ1bWVudCBpZGVudGlmaWVyIHwgfCBIb2xkaW5nVHlwZXxzdHJpbmd8VHlwZSBvZiBob2xkaW5nLCBlZyBQb3NpdGlvbiwgQmFsYW5jZSwgQ2FzaENvbW1pdG1lbnQsIFJlY2VpdmFibGUsIEZvcndhcmRGWCB8IHwgVW5pdHN8ZGVjaW1hbHxRdWFudGl0eSBvZiBob2xkaW5nIHwgfCBTZXR0bGVkVW5pdHN8ZGVjaW1hbHxTZXR0bGVkIHF1YW50aXR5IG9mIGhvbGRpbmcgfCB8IENvc3R8Y3VycmVuY3lhbmRhbW91bnR8Qm9vayBjb3N0IG9mIGhvbGRpbmcgaW4gdHJhbnNhY3Rpb24gY3VycmVuY3kgfCB8IENvc3RQb3J0Zm9saW9DY3l8Y3VycmVuY3lhbmRhbW91bnR8Qm9vayBjb3N0IG9mIGhvbGRpbmcgaW4gcG9ydGZvbGlvIGN1cnJlbmN5IHwgfCBUcmFuc2FjdGlvbnxUcmFuc2FjdGlvbkR0b3xJZiB0aGlzIGlzIGNvbW1pdG1lbnQtdHlwZSBob2xkaW5nLCB0aGUgdHJhbnNhY3Rpb24gYmVoaW5kIGl0IHwgICAjIyBDb3Jwb3JhdGUgQWN0aW9ucyAgQ29ycG9yYXRlIGFjdGlvbnMgYXJlIHJlcHJlc2VudGVkIHdpdGhpbiBMVVNJRCBpbiB0ZXJtcyBvZiBhIHNldCBvZiBpbnN0cnVtZW50LXNwZWNpZmljICd0cmFuc2l0aW9ucycuICBUaGVzZSB0cmFuc2l0aW9ucyBhcmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBwYXJ0aWNpcGFudHMgb2YgdGhlIGNvcnBvcmF0ZSBhY3Rpb24sIGFuZCB0aGUgZWZmZWN0IHRoYXQgdGhlIGNvcnBvcmF0ZSBhY3Rpb24gd2lsbCBoYXZlIG9uIGhvbGRpbmdzIGluIHRob3NlIHBhcnRpY2lwYW50cy4gICpDb3Jwb3JhdGUgYWN0aW9uKiAgfCBGaWVsZHxUeXBlfERlc2NyaXB0aW9uIHwgfCAtLS18LS0tfC0tLSB8IHwgU291cmNlSWR8aWR8ICB8IHwgQ29ycG9yYXRlQWN0aW9uQ29kZXxjb2RlfCAgfCB8IEFubm91bmNlbWVudERhdGV8ZGF0ZXRpbWV8ICB8IHwgRXhEYXRlfGRhdGV0aW1lfCAgfCB8IFJlY29yZERhdGV8ZGF0ZXRpbWV8ICB8IHwgUGF5bWVudERhdGV8ZGF0ZXRpbWV8ICB8ICAgICpUcmFuc2l0aW9uKiAgfCBGaWVsZHxUeXBlfERlc2NyaXB0aW9uIHwgfCAtLS18LS0tfC0tLSB8ICAgIyMgUHJvcGVydHkgIFByb3BlcnRpZXMgYXJlIGtleS12YWx1ZSBwYWlycyB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvIGFueSBlbnRpdHkgd2l0aGluIGEgZG9tYWluICh3aGVyZSBhIGRvbWFpbiBpcyBgdHJhZGVgLCBgcG9ydGZvbGlvYCwgYHNlY3VyaXR5YCBldGMpLiAgUHJvcGVydGllcyBtdXN0IGJlIGRlZmluZWQgYmVmb3JlIHVzZSB3aXRoIGEgYFByb3BlcnR5RGVmaW5pdGlvbmAgYW5kIGNhbiB0aGVuIHN1YnNlcXVlbnRseSBiZSBhZGRlZCB0byBlbnRpdGllcy4gICMgU2NoZW1hcyAgVGhlIGZvbGxvd2luZyBoZWFkZXJzIGFyZSByZXR1cm5lZCBvbiBhbGwgcmVzcG9uc2VzIGZyb20gTFVTSUQgIHwgTmFtZSB8IFB1cnBvc2UgfCB8IC0tLSB8IC0tLSB8IHwgbHVzaWQtbWV0YS1kdXJhdGlvbiB8IER1cmF0aW9uIG9mIHRoZSByZXF1ZXN0IHwgfCBsdXNpZC1tZXRhLXN1Y2Nlc3MgfCBXaGV0aGVyIG9yIG5vdCBMVVNJRCBjb25zaWRlcmVkIHRoZSByZXF1ZXN0IHRvIGJlIHN1Y2Nlc3NmdWwgfCB8IGx1c2lkLW1ldGEtcmVxdWVzdElkIHwgVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcmVxdWVzdCB8IHwgbHVzaWQtc2NoZW1hLXVybCB8IFVybCBvZiB0aGUgc2NoZW1hIGZvciB0aGUgZGF0YSBiZWluZyByZXR1cm5lZCB8IHwgbHVzaWQtcHJvcGVydHktc2NoZW1hLXVybCB8IFVybCBvZiB0aGUgc2NoZW1hIGZvciBhbnkgcHJvcGVydGllcyB8ICAjIEVycm9yIENvZGVzICB8IENvZGV8TmFtZXxEZXNjcmlwdGlvbiB8IHwgLS0tfC0tLXwtLS0gfCB8IDxhIG5hbWU9XFxcIjEwMFxcXCI+MTAwPC9hPnxQZXJzb25hbGlzYXRpb25zIG5vdCBmb3VuZHxUaGUgcGVyc29uYWxpc2F0aW9uKHMpIGlkZW50aWZpZWQgYnkgdGhlIHBhdHRlcm4gcHJvdmlkZWQgY291bGQgbm90IGJlIGZvdW5kLCBlaXRoZXIgYmVjYXVzZSBpdCBkb2VzIG5vdCBleGlzdCBvciBpdCBoYXMgYmVlbiBkZWxldGVkLiBQbGVhc2UgY2hlY2sgdGhlIHBhdHRlcm4geW91ciBwcm92aWRlZC4gfCB8IDxhIG5hbWU9XFxcIjEwMVxcXCI+MTAxPC9hPnxOb25SZWN1cnNpdmVQZXJzb25hbGlzYXRpb258ICB8IHwgPGEgbmFtZT1cXFwiMTAyXFxcIj4xMDI8L2E+fFZlcnNpb25Ob3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxMDRcXFwiPjEwNDwvYT58SW5zdHJ1bWVudE5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjEwNVxcXCI+MTA1PC9hPnxQcm9wZXJ0eU5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjEwNlxcXCI+MTA2PC9hPnxQb3J0Zm9saW9SZWN1cnNpb25EZXB0aHwgIHwgfCA8YSBuYW1lPVxcXCIxMDhcXFwiPjEwODwvYT58R3JvdXBOb3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxMDlcXFwiPjEwOTwvYT58UG9ydGZvbGlvTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTEwXFxcIj4xMTA8L2E+fFByb3BlcnR5U2NoZW1hTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTExXFxcIj4xMTE8L2E+fFBvcnRmb2xpb0FuY2VzdHJ5Tm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTEyXFxcIj4xMTI8L2E+fFBvcnRmb2xpb1dpdGhJZEFscmVhZHlFeGlzdHN8ICB8IHwgPGEgbmFtZT1cXFwiMTEzXFxcIj4xMTM8L2E+fE9ycGhhbmVkUG9ydGZvbGlvfCAgfCB8IDxhIG5hbWU9XFxcIjExOVxcXCI+MTE5PC9hPnxNaXNzaW5nQmFzZUNsYWltc3wgIHwgfCA8YSBuYW1lPVxcXCIxMjFcXFwiPjEyMTwvYT58UHJvcGVydHlOb3REZWZpbmVkfCAgfCB8IDxhIG5hbWU9XFxcIjEyMlxcXCI+MTIyPC9hPnxDYW5ub3REZWxldGVTeXN0ZW1Qcm9wZXJ0eXwgIHwgfCA8YSBuYW1lPVxcXCIxMjNcXFwiPjEyMzwvYT58Q2Fubm90TW9kaWZ5SW1tdXRhYmxlUHJvcGVydHlGaWVsZHwgIHwgfCA8YSBuYW1lPVxcXCIxMjRcXFwiPjEyNDwvYT58UHJvcGVydHlBbHJlYWR5RXhpc3RzfCAgfCB8IDxhIG5hbWU9XFxcIjEyNVxcXCI+MTI1PC9hPnxJbnZhbGlkUHJvcGVydHlMaWZlVGltZXwgIHwgfCA8YSBuYW1lPVxcXCIxMjdcXFwiPjEyNzwvYT58Q2Fubm90TW9kaWZ5RGVmYXVsdERhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjEyOFxcXCI+MTI4PC9hPnxHcm91cEFscmVhZHlFeGlzdHN8ICB8IHwgPGEgbmFtZT1cXFwiMTI5XFxcIj4xMjk8L2E+fE5vU3VjaERhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjEzMlxcXCI+MTMyPC9hPnxWYWxpZGF0aW9uRXJyb3J8ICB8IHwgPGEgbmFtZT1cXFwiMTMzXFxcIj4xMzM8L2E+fExvb3BEZXRlY3RlZEluR3JvdXBIaWVyYXJjaHl8ICB8IHwgPGEgbmFtZT1cXFwiMTM1XFxcIj4xMzU8L2E+fFN1Ykdyb3VwQWxyZWFkeUV4aXN0c3wgIHwgfCA8YSBuYW1lPVxcXCIxMzhcXFwiPjEzODwvYT58UHJpY2VTb3VyY2VOb3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxMzlcXFwiPjEzOTwvYT58QW5hbHl0aWNTdG9yZU5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjE0MVxcXCI+MTQxPC9hPnxBbmFseXRpY1N0b3JlQWxyZWFkeUV4aXN0c3wgIHwgfCA8YSBuYW1lPVxcXCIxNDNcXFwiPjE0MzwvYT58Q2xpZW50SW5zdHJ1bWVudEFscmVhZHlFeGlzdHN8ICB8IHwgPGEgbmFtZT1cXFwiMTQ0XFxcIj4xNDQ8L2E+fER1cGxpY2F0ZUluUGFyYW1ldGVyU2V0fCAgfCB8IDxhIG5hbWU9XFxcIjE0N1xcXCI+MTQ3PC9hPnxSZXN1bHRzTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTQ4XFxcIj4xNDg8L2E+fE9yZGVyRmllbGROb3RJblJlc3VsdFNldHwgIHwgfCA8YSBuYW1lPVxcXCIxNDlcXFwiPjE0OTwvYT58T3BlcmF0aW9uRmFpbGVkfCAgfCB8IDxhIG5hbWU9XFxcIjE1MFxcXCI+MTUwPC9hPnxFbGFzdGljU2VhcmNoRXJyb3J8ICB8IHwgPGEgbmFtZT1cXFwiMTUxXFxcIj4xNTE8L2E+fEludmFsaWRQYXJhbWV0ZXJWYWx1ZXwgIHwgfCA8YSBuYW1lPVxcXCIxNTNcXFwiPjE1MzwvYT58Q29tbWFuZFByb2Nlc3NpbmdGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE1NFxcXCI+MTU0PC9hPnxFbnRpdHlTdGF0ZUNvbnN0cnVjdGlvbkZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTU1XFxcIj4xNTU8L2E+fEVudGl0eVRpbWVsaW5lRG9lc05vdEV4aXN0fCAgfCB8IDxhIG5hbWU9XFxcIjE1NlxcXCI+MTU2PC9hPnxFdmVudFB1Ymxpc2hGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE1N1xcXCI+MTU3PC9hPnxJbnZhbGlkUmVxdWVzdEZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTU4XFxcIj4xNTg8L2E+fEV2ZW50UHVibGlzaFVua25vd258ICB8IHwgPGEgbmFtZT1cXFwiMTU5XFxcIj4xNTk8L2E+fEV2ZW50UXVlcnlGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE2MFxcXCI+MTYwPC9hPnxCbG9iRGlkTm90RXhpc3RGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE2MlxcXCI+MTYyPC9hPnxTdWJTeXN0ZW1SZXF1ZXN0RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxNjNcXFwiPjE2MzwvYT58U3ViU3lzdGVtQ29uZmlndXJhdGlvbkZhaWx1cmV8ICB8IHwgPGEgbmFtZT1cXFwiMTY1XFxcIj4xNjU8L2E+fEZhaWxlZFRvRGVsZXRlfCAgfCB8IDxhIG5hbWU9XFxcIjE2NlxcXCI+MTY2PC9hPnxVcHNlcnRDbGllbnRJbnN0cnVtZW50RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxNjdcXFwiPjE2NzwvYT58SWxsZWdhbEFzQXRJbnRlcnZhbHwgIHwgfCA8YSBuYW1lPVxcXCIxNjhcXFwiPjE2ODwvYT58SWxsZWdhbEJpdGVtcG9yYWxRdWVyeXwgIHwgfCA8YSBuYW1lPVxcXCIxNjlcXFwiPjE2OTwvYT58SW52YWxpZEFsdGVybmF0ZUlkfCAgfCB8IDxhIG5hbWU9XFxcIjE3MFxcXCI+MTcwPC9hPnxDYW5ub3RBZGRTb3VyY2VQb3J0Zm9saW9Qcm9wZXJ0eUV4cGxpY2l0bHl8ICB8IHwgPGEgbmFtZT1cXFwiMTcxXFxcIj4xNzE8L2E+fEVudGl0eUFscmVhZHlFeGlzdHNJbkdyb3VwfCAgfCB8IDxhIG5hbWU9XFxcIjE3M1xcXCI+MTczPC9hPnxFbnRpdHlXaXRoSWRBbHJlYWR5RXhpc3RzfCAgfCB8IDxhIG5hbWU9XFxcIjE3NFxcXCI+MTc0PC9hPnxQb3J0Zm9saW9EZXRhaWxzRG9Ob3RFeGlzdHwgIHwgfCA8YSBuYW1lPVxcXCIxNzZcXFwiPjE3NjwvYT58UG9ydGZvbGlvV2l0aE5hbWVBbHJlYWR5RXhpc3RzfCAgfCB8IDxhIG5hbWU9XFxcIjE3N1xcXCI+MTc3PC9hPnxJbnZhbGlkVHJhbnNhY3Rpb25zfCAgfCB8IDxhIG5hbWU9XFxcIjE3OFxcXCI+MTc4PC9hPnxSZWZlcmVuY2VQb3J0Zm9saW9Ob3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxNzlcXFwiPjE3OTwvYT58RHVwbGljYXRlSWRGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjE4MFxcXCI+MTgwPC9hPnxDb21tYW5kUmV0cmlldmFsRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxODFcXFwiPjE4MTwvYT58RGF0YUZpbHRlckFwcGxpY2F0aW9uRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxODJcXFwiPjE4MjwvYT58U2VhcmNoRmFpbGVkfCAgfCB8IDxhIG5hbWU9XFxcIjE4M1xcXCI+MTgzPC9hPnxNb3ZlbWVudHNFbmdpbmVDb25maWd1cmF0aW9uS2V5RmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxODRcXFwiPjE4NDwvYT58RnhSYXRlU291cmNlTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMTg1XFxcIj4xODU8L2E+fEFjY3J1YWxTb3VyY2VOb3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxODZcXFwiPjE4NjwvYT58RW50aXRsZW1lbnRzRmFpbHVyZXwgIHwgfCA8YSBuYW1lPVxcXCIxODdcXFwiPjE4NzwvYT58SW52YWxpZElkZW50aXR5VG9rZW58ICB8IHwgPGEgbmFtZT1cXFwiMTg4XFxcIj4xODg8L2E+fEludmFsaWRSZXF1ZXN0SGVhZGVyc3wgIHwgfCA8YSBuYW1lPVxcXCIxODlcXFwiPjE4OTwvYT58UHJpY2VOb3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxOTBcXFwiPjE5MDwvYT58SW52YWxpZFN1YkhvbGRpbmdLZXlzUHJvdmlkZWR8ICB8IHwgPGEgbmFtZT1cXFwiMTkxXFxcIj4xOTE8L2E+fER1cGxpY2F0ZVN1YkhvbGRpbmdLZXlzUHJvdmlkZWR8ICB8IHwgPGEgbmFtZT1cXFwiMTkyXFxcIj4xOTI8L2E+fEN1dERlZmluaXRpb25Ob3RGb3VuZHwgIHwgfCA8YSBuYW1lPVxcXCIxOTNcXFwiPjE5MzwvYT58Q3V0RGVmaW5pdGlvbkludmFsaWR8ICB8IHwgPGEgbmFtZT1cXFwiMjAwXFxcIj4yMDA8L2E+fEludmFsaWRVbml0Rm9yRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjAxXFxcIj4yMDE8L2E+fEludmFsaWRUeXBlRm9yRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjAyXFxcIj4yMDI8L2E+fEludmFsaWRWYWx1ZUZvckRhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjIwM1xcXCI+MjAzPC9hPnxVbml0Tm90RGVmaW5lZEZvckRhdGFUeXBlfCAgfCB8IDxhIG5hbWU9XFxcIjIwNFxcXCI+MjA0PC9hPnxVbml0c05vdFN1cHBvcnRlZE9uRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjA1XFxcIj4yMDU8L2E+fENhbm5vdFNwZWNpZnlVbml0c09uRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjA2XFxcIj4yMDY8L2E+fFVuaXRTY2hlbWFJbmNvbnNpc3RlbnRXaXRoRGF0YVR5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjA3XFxcIj4yMDc8L2E+fFVuaXREZWZpbml0aW9uTm90U3BlY2lmaWVkfCAgfCB8IDxhIG5hbWU9XFxcIjIwOFxcXCI+MjA4PC9hPnxEdXBsaWNhdGVVbml0RGVmaW5pdGlvbnNTcGVjaWZpZWR8ICB8IHwgPGEgbmFtZT1cXFwiMjA5XFxcIj4yMDk8L2E+fEludmFsaWRVbml0c0RlZmluaXRpb258ICB8IHwgPGEgbmFtZT1cXFwiMjEwXFxcIj4yMTA8L2E+fEludmFsaWRJbnN0cnVtZW50SWRlbnRpZmllclVuaXR8ICB8IHwgPGEgbmFtZT1cXFwiMjExXFxcIj4yMTE8L2E+fEhvbGRpbmdzQWRqdXN0bWVudERvZXNOb3RFeGlzdHwgIHwgfCA8YSBuYW1lPVxcXCIyMTJcXFwiPjIxMjwvYT58Q291bGROb3RCdWlsZEV4Y2VsVXJsfCAgfCB8IDxhIG5hbWU9XFxcIjIxM1xcXCI+MjEzPC9hPnxDb3VsZE5vdEdldEV4Y2VsVmVyc2lvbnwgIHwgfCA8YSBuYW1lPVxcXCIyMTRcXFwiPjIxNDwvYT58SW5zdHJ1bWVudEJ5Q29kZU5vdEZvdW5kfCAgfCB8IDxhIG5hbWU9XFxcIjIxNVxcXCI+MjE1PC9hPnxFbnRpdHlTY2hlbWFEb2VzTm90RXhpc3R8ICB8IHwgPGEgbmFtZT1cXFwiMjE2XFxcIj4yMTY8L2E+fEZlYXR1cmVOb3RTdXBwb3J0ZWRPblBvcnRmb2xpb1R5cGV8ICB8IHwgPGEgbmFtZT1cXFwiMjE3XFxcIj4yMTc8L2E+fFF1b3RlTm90Rm91bmRGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjIxOVxcXCI+MjE5PC9hPnxJbnZhbGlkSW5zdHJ1bWVudERlZmluaXRpb258ICB8IHwgPGEgbmFtZT1cXFwiMjIxXFxcIj4yMjE8L2E+fEluc3RydW1lbnRVcHNlcnRGYWlsdXJlfCAgfCB8IDxhIG5hbWU9XFxcIjIyMlxcXCI+MjIyPC9hPnxSZWZlcmVuY2VQb3J0Zm9saW9SZXF1ZXN0Tm90U3VwcG9ydGVkfCAgfCB8IDxhIG5hbWU9XFxcIjIyM1xcXCI+MjIzPC9hPnxUcmFuc2FjdGlvblBvcnRmb2xpb1JlcXVlc3ROb3RTdXBwb3J0ZWR8ICB8IHwgPGEgbmFtZT1cXFwiMjI0XFxcIj4yMjQ8L2E+fEludmFsaWRQcm9wZXJ0eVZhbHVlQXNzaWdubWVudHwgIHwgfCA8YSBuYW1lPVxcXCIyMzBcXFwiPjIzMDwvYT58VHJhbnNhY3Rpb25UeXBlTm90Rm91bmR8ICB8IHwgPGEgbmFtZT1cXFwiMjMxXFxcIj4yMzE8L2E+fFRyYW5zYWN0aW9uVHlwZUR1cGxpY2F0aW9ufCAgfCB8IDxhIG5hbWU9XFxcIi0xMFxcXCI+LTEwPC9hPnxTZXJ2ZXJDb25maWd1cmF0aW9uRXJyb3J8ICB8IHwgPGEgbmFtZT1cXFwiLTFcXFwiPi0xPC9hPnxVbmtub3duIGVycm9yfCAgfCBcclxuICpcclxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDAuNy4xMjRcclxuICogQ29udGFjdDogaW5mb0BmaW5ib3VybmUuY29tXHJcbiAqXHJcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cclxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuaW1wb3J0IHsgRXJyb3JEZXRhaWxCYXNlIH0gZnJvbSAnLi9lcnJvckRldGFpbEJhc2UnO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JSZXNwb25zZSB7IFxyXG4gICAgcmVhZG9ubHkgc3RhdHVzPzogbnVtYmVyO1xyXG4gICAgcmVhZG9ubHkgY29kZT86IEVycm9yUmVzcG9uc2UuQ29kZUVudW07XHJcbiAgICByZWFkb25seSBtZXNzYWdlPzogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgZGV0YWlsZWRNZXNzYWdlPzogc3RyaW5nO1xyXG4gICAgaXRlbXM/OiBBcnJheTxFcnJvckRldGFpbEJhc2U+O1xyXG4gICAgcmVhZG9ubHkgbW9yZUluZm8/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IG5hbWVzcGFjZSBFcnJvclJlc3BvbnNlIHtcclxuICAgIGV4cG9ydCB0eXBlIENvZGVFbnVtID0gJ1Vua25vd24nIHwgJ1BlcnNvbmFsaXNhdGlvbk5vdEZvdW5kJyB8ICdOb25SZWN1cnNpdmVQZXJzb25hbGlzYXRpb24nIHwgJ1ZlcnNpb25Ob3RGb3VuZCcgfCAnSW5zdHJ1bWVudE5vdEZvdW5kJyB8ICdQcm9wZXJ0eU5vdEZvdW5kJyB8ICdQb3J0Zm9saW9SZWN1cnNpb25EZXB0aCcgfCAnR3JvdXBOb3RGb3VuZCcgfCAnUG9ydGZvbGlvTm90Rm91bmQnIHwgJ1Byb3BlcnR5U2NoZW1hTm90Rm91bmQnIHwgJ1BvcnRmb2xpb0FuY2VzdHJ5Tm90Rm91bmQnIHwgJ1BvcnRmb2xpb1dpdGhJZEFscmVhZHlFeGlzdHMnIHwgJ09ycGhhbmVkUG9ydGZvbGlvJyB8ICdNaXNzaW5nQmFzZUNsYWltcycgfCAnUHJvcGVydHlOb3REZWZpbmVkJyB8ICdDYW5ub3REZWxldGVTeXN0ZW1Qcm9wZXJ0eScgfCAnQ2Fubm90TW9kaWZ5SW1tdXRhYmxlUHJvcGVydHlGaWVsZCcgfCAnUHJvcGVydHlBbHJlYWR5RXhpc3RzJyB8ICdJbnZhbGlkUHJvcGVydHlMaWZlVGltZScgfCAnQ2Fubm90TW9kaWZ5RGVmYXVsdERhdGFUeXBlJyB8ICdHcm91cEFscmVhZHlFeGlzdHMnIHwgJ05vU3VjaERhdGFUeXBlJyB8ICdWYWxpZGF0aW9uRXJyb3InIHwgJ0xvb3BEZXRlY3RlZEluR3JvdXBIaWVyYXJjaHknIHwgJ1N1Ykdyb3VwQWxyZWFkeUV4aXN0cycgfCAnUHJpY2VTb3VyY2VOb3RGb3VuZCcgfCAnQW5hbHl0aWNTdG9yZU5vdEZvdW5kJyB8ICdBbmFseXRpY1N0b3JlQWxyZWFkeUV4aXN0cycgfCAnQ2xpZW50SW5zdHJ1bWVudEFscmVhZHlFeGlzdHMnIHwgJ0R1cGxpY2F0ZUluUGFyYW1ldGVyU2V0JyB8ICdSZXN1bHRzTm90Rm91bmQnIHwgJ09yZGVyRmllbGROb3RJblJlc3VsdFNldCcgfCAnT3BlcmF0aW9uRmFpbGVkJyB8ICdFbGFzdGljU2VhcmNoRXJyb3InIHwgJ0ludmFsaWRQYXJhbWV0ZXJWYWx1ZScgfCAnQ29tbWFuZFByb2Nlc3NpbmdGYWlsdXJlJyB8ICdFbnRpdHlTdGF0ZUNvbnN0cnVjdGlvbkZhaWx1cmUnIHwgJ0VudGl0eVRpbWVsaW5lRG9lc05vdEV4aXN0JyB8ICdFdmVudFB1Ymxpc2hGYWlsdXJlJyB8ICdJbnZhbGlkUmVxdWVzdEZhaWx1cmUnIHwgJ0V2ZW50UHVibGlzaFVua25vd24nIHwgJ0V2ZW50UXVlcnlGYWlsdXJlJyB8ICdCbG9iRGlkTm90RXhpc3RGYWlsdXJlJyB8ICdTdWJTeXN0ZW1SZXF1ZXN0RmFpbHVyZScgfCAnU3ViU3lzdGVtQ29uZmlndXJhdGlvbkZhaWx1cmUnIHwgJ0ZhaWxlZFRvRGVsZXRlJyB8ICdVcHNlcnRDbGllbnRJbnN0cnVtZW50RmFpbHVyZScgfCAnSWxsZWdhbEFzQXRJbnRlcnZhbCcgfCAnSWxsZWdhbEJpdGVtcG9yYWxRdWVyeScgfCAnSW52YWxpZEFsdGVybmF0ZUlkJyB8ICdDYW5ub3RBZGRTb3VyY2VQb3J0Zm9saW9Qcm9wZXJ0eUV4cGxpY2l0bHknIHwgJ0VudGl0eUFscmVhZHlFeGlzdHNJbkdyb3VwJyB8ICdFbnRpdHlXaXRoSWRBbHJlYWR5RXhpc3RzJyB8ICdQb3J0Zm9saW9EZXRhaWxzRG9Ob3RFeGlzdCcgfCAnUG9ydGZvbGlvV2l0aE5hbWVBbHJlYWR5RXhpc3RzJyB8ICdJbnZhbGlkVHJhbnNhY3Rpb25zJyB8ICdSZWZlcmVuY2VQb3J0Zm9saW9Ob3RGb3VuZCcgfCAnRHVwbGljYXRlSWRGYWlsdXJlJyB8ICdDb21tYW5kUmV0cmlldmFsRmFpbHVyZScgfCAnRGF0YUZpbHRlckFwcGxpY2F0aW9uRmFpbHVyZScgfCAnU2VhcmNoRmFpbGVkJyB8ICdNb3ZlbWVudHNFbmdpbmVDb25maWd1cmF0aW9uS2V5RmFpbHVyZScgfCAnRnhSYXRlU291cmNlTm90Rm91bmQnIHwgJ0FjY3J1YWxTb3VyY2VOb3RGb3VuZCcgfCAnRW50aXRsZW1lbnRzRmFpbHVyZScgfCAnSW52YWxpZElkZW50aXR5VG9rZW4nIHwgJ0ludmFsaWRSZXF1ZXN0SGVhZGVycycgfCAnUHJpY2VOb3RGb3VuZCcgfCAnSW52YWxpZFN1YkhvbGRpbmdLZXlzUHJvdmlkZWQnIHwgJ0R1cGxpY2F0ZVN1YkhvbGRpbmdLZXlzUHJvdmlkZWQnIHwgJ0N1dERlZmluaXRpb25Ob3RGb3VuZCcgfCAnQ3V0RGVmaW5pdGlvbkludmFsaWQnIHwgJ1NlcnZlckNvbmZpZ3VyYXRpb25FcnJvcicgfCAnSW52YWxpZFVuaXRGb3JEYXRhVHlwZScgfCAnSW52YWxpZFR5cGVGb3JEYXRhVHlwZScgfCAnSW52YWxpZFZhbHVlRm9yRGF0YVR5cGUnIHwgJ1VuaXROb3REZWZpbmVkRm9yRGF0YVR5cGUnIHwgJ1VuaXRzTm90U3VwcG9ydGVkT25EYXRhVHlwZScgfCAnQ2Fubm90U3BlY2lmeVVuaXRzT25EYXRhVHlwZScgfCAnVW5pdFNjaGVtYUluY29uc2lzdGVudFdpdGhEYXRhVHlwZScgfCAnVW5pdERlZmluaXRpb25Ob3RTcGVjaWZpZWQnIHwgJ0R1cGxpY2F0ZVVuaXREZWZpbml0aW9uc1NwZWNpZmllZCcgfCAnSW52YWxpZFVuaXRzRGVmaW5pdGlvbicgfCAnSW52YWxpZEluc3RydW1lbnRJZGVudGlmaWVyVW5pdCcgfCAnSG9sZGluZ3NBZGp1c3RtZW50RG9lc05vdEV4aXN0JyB8ICdDb3VsZE5vdEJ1aWxkRXhjZWxVcmwnIHwgJ0NvdWxkTm90R2V0RXhjZWxWZXJzaW9uJyB8ICdJbnN0cnVtZW50QnlDb2RlTm90Rm91bmQnIHwgJ0VudGl0eVNjaGVtYURvZXNOb3RFeGlzdCcgfCAnRmVhdHVyZU5vdFN1cHBvcnRlZE9uUG9ydGZvbGlvVHlwZScgfCAnUXVvdGVOb3RGb3VuZEZhaWx1cmUnIHwgJ1JlZmVyZW5jZVBvcnRmb2xpb1JlcXVlc3ROb3RTdXBwb3J0ZWQnIHwgJ1RyYW5zYWN0aW9uUG9ydGZvbGlvUmVxdWVzdE5vdFN1cHBvcnRlZCcgfCAnSW52YWxpZEluc3RydW1lbnREZWZpbml0aW9uJyB8ICdJbnN0cnVtZW50VXBzZXJ0RmFpbHVyZScgfCAnVHJhbnNhY3Rpb25UeXBlTm90Rm91bmQnIHwgJ1RyYW5zYWN0aW9uVHlwZUR1cGxpY2F0aW9uJyB8ICdJbnZhbGlkUHJvcGVydHlWYWx1ZUFzc2lnbm1lbnQnO1xyXG4gICAgZXhwb3J0IGNvbnN0IENvZGVFbnVtID0ge1xyXG4gICAgICAgIFVua25vd246ICdVbmtub3duJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBQZXJzb25hbGlzYXRpb25Ob3RGb3VuZDogJ1BlcnNvbmFsaXNhdGlvbk5vdEZvdW5kJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBOb25SZWN1cnNpdmVQZXJzb25hbGlzYXRpb246ICdOb25SZWN1cnNpdmVQZXJzb25hbGlzYXRpb24nIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIFZlcnNpb25Ob3RGb3VuZDogJ1ZlcnNpb25Ob3RGb3VuZCcgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgSW5zdHJ1bWVudE5vdEZvdW5kOiAnSW5zdHJ1bWVudE5vdEZvdW5kJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBQcm9wZXJ0eU5vdEZvdW5kOiAnUHJvcGVydHlOb3RGb3VuZCcgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgUG9ydGZvbGlvUmVjdXJzaW9uRGVwdGg6ICdQb3J0Zm9saW9SZWN1cnNpb25EZXB0aCcgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgR3JvdXBOb3RGb3VuZDogJ0dyb3VwTm90Rm91bmQnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIFBvcnRmb2xpb05vdEZvdW5kOiAnUG9ydGZvbGlvTm90Rm91bmQnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIFByb3BlcnR5U2NoZW1hTm90Rm91bmQ6ICdQcm9wZXJ0eVNjaGVtYU5vdEZvdW5kJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBQb3J0Zm9saW9BbmNlc3RyeU5vdEZvdW5kOiAnUG9ydGZvbGlvQW5jZXN0cnlOb3RGb3VuZCcgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgUG9ydGZvbGlvV2l0aElkQWxyZWFkeUV4aXN0czogJ1BvcnRmb2xpb1dpdGhJZEFscmVhZHlFeGlzdHMnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIE9ycGhhbmVkUG9ydGZvbGlvOiAnT3JwaGFuZWRQb3J0Zm9saW8nIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIE1pc3NpbmdCYXNlQ2xhaW1zOiAnTWlzc2luZ0Jhc2VDbGFpbXMnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIFByb3BlcnR5Tm90RGVmaW5lZDogJ1Byb3BlcnR5Tm90RGVmaW5lZCcgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgQ2Fubm90RGVsZXRlU3lzdGVtUHJvcGVydHk6ICdDYW5ub3REZWxldGVTeXN0ZW1Qcm9wZXJ0eScgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgQ2Fubm90TW9kaWZ5SW1tdXRhYmxlUHJvcGVydHlGaWVsZDogJ0Nhbm5vdE1vZGlmeUltbXV0YWJsZVByb3BlcnR5RmllbGQnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIFByb3BlcnR5QWxyZWFkeUV4aXN0czogJ1Byb3BlcnR5QWxyZWFkeUV4aXN0cycgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgSW52YWxpZFByb3BlcnR5TGlmZVRpbWU6ICdJbnZhbGlkUHJvcGVydHlMaWZlVGltZScgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgQ2Fubm90TW9kaWZ5RGVmYXVsdERhdGFUeXBlOiAnQ2Fubm90TW9kaWZ5RGVmYXVsdERhdGFUeXBlJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBHcm91cEFscmVhZHlFeGlzdHM6ICdHcm91cEFscmVhZHlFeGlzdHMnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIE5vU3VjaERhdGFUeXBlOiAnTm9TdWNoRGF0YVR5cGUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIFZhbGlkYXRpb25FcnJvcjogJ1ZhbGlkYXRpb25FcnJvcicgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgTG9vcERldGVjdGVkSW5Hcm91cEhpZXJhcmNoeTogJ0xvb3BEZXRlY3RlZEluR3JvdXBIaWVyYXJjaHknIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIFN1Ykdyb3VwQWxyZWFkeUV4aXN0czogJ1N1Ykdyb3VwQWxyZWFkeUV4aXN0cycgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgUHJpY2VTb3VyY2VOb3RGb3VuZDogJ1ByaWNlU291cmNlTm90Rm91bmQnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEFuYWx5dGljU3RvcmVOb3RGb3VuZDogJ0FuYWx5dGljU3RvcmVOb3RGb3VuZCcgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgQW5hbHl0aWNTdG9yZUFscmVhZHlFeGlzdHM6ICdBbmFseXRpY1N0b3JlQWxyZWFkeUV4aXN0cycgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgQ2xpZW50SW5zdHJ1bWVudEFscmVhZHlFeGlzdHM6ICdDbGllbnRJbnN0cnVtZW50QWxyZWFkeUV4aXN0cycgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgRHVwbGljYXRlSW5QYXJhbWV0ZXJTZXQ6ICdEdXBsaWNhdGVJblBhcmFtZXRlclNldCcgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgUmVzdWx0c05vdEZvdW5kOiAnUmVzdWx0c05vdEZvdW5kJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBPcmRlckZpZWxkTm90SW5SZXN1bHRTZXQ6ICdPcmRlckZpZWxkTm90SW5SZXN1bHRTZXQnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIE9wZXJhdGlvbkZhaWxlZDogJ09wZXJhdGlvbkZhaWxlZCcgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgRWxhc3RpY1NlYXJjaEVycm9yOiAnRWxhc3RpY1NlYXJjaEVycm9yJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBJbnZhbGlkUGFyYW1ldGVyVmFsdWU6ICdJbnZhbGlkUGFyYW1ldGVyVmFsdWUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIENvbW1hbmRQcm9jZXNzaW5nRmFpbHVyZTogJ0NvbW1hbmRQcm9jZXNzaW5nRmFpbHVyZScgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgRW50aXR5U3RhdGVDb25zdHJ1Y3Rpb25GYWlsdXJlOiAnRW50aXR5U3RhdGVDb25zdHJ1Y3Rpb25GYWlsdXJlJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBFbnRpdHlUaW1lbGluZURvZXNOb3RFeGlzdDogJ0VudGl0eVRpbWVsaW5lRG9lc05vdEV4aXN0JyBhcyBDb2RlRW51bSxcclxuICAgICAgICBFdmVudFB1Ymxpc2hGYWlsdXJlOiAnRXZlbnRQdWJsaXNoRmFpbHVyZScgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgSW52YWxpZFJlcXVlc3RGYWlsdXJlOiAnSW52YWxpZFJlcXVlc3RGYWlsdXJlJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBFdmVudFB1Ymxpc2hVbmtub3duOiAnRXZlbnRQdWJsaXNoVW5rbm93bicgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgRXZlbnRRdWVyeUZhaWx1cmU6ICdFdmVudFF1ZXJ5RmFpbHVyZScgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgQmxvYkRpZE5vdEV4aXN0RmFpbHVyZTogJ0Jsb2JEaWROb3RFeGlzdEZhaWx1cmUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIFN1YlN5c3RlbVJlcXVlc3RGYWlsdXJlOiAnU3ViU3lzdGVtUmVxdWVzdEZhaWx1cmUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIFN1YlN5c3RlbUNvbmZpZ3VyYXRpb25GYWlsdXJlOiAnU3ViU3lzdGVtQ29uZmlndXJhdGlvbkZhaWx1cmUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEZhaWxlZFRvRGVsZXRlOiAnRmFpbGVkVG9EZWxldGUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIFVwc2VydENsaWVudEluc3RydW1lbnRGYWlsdXJlOiAnVXBzZXJ0Q2xpZW50SW5zdHJ1bWVudEZhaWx1cmUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIElsbGVnYWxBc0F0SW50ZXJ2YWw6ICdJbGxlZ2FsQXNBdEludGVydmFsJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBJbGxlZ2FsQml0ZW1wb3JhbFF1ZXJ5OiAnSWxsZWdhbEJpdGVtcG9yYWxRdWVyeScgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgSW52YWxpZEFsdGVybmF0ZUlkOiAnSW52YWxpZEFsdGVybmF0ZUlkJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBDYW5ub3RBZGRTb3VyY2VQb3J0Zm9saW9Qcm9wZXJ0eUV4cGxpY2l0bHk6ICdDYW5ub3RBZGRTb3VyY2VQb3J0Zm9saW9Qcm9wZXJ0eUV4cGxpY2l0bHknIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEVudGl0eUFscmVhZHlFeGlzdHNJbkdyb3VwOiAnRW50aXR5QWxyZWFkeUV4aXN0c0luR3JvdXAnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEVudGl0eVdpdGhJZEFscmVhZHlFeGlzdHM6ICdFbnRpdHlXaXRoSWRBbHJlYWR5RXhpc3RzJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBQb3J0Zm9saW9EZXRhaWxzRG9Ob3RFeGlzdDogJ1BvcnRmb2xpb0RldGFpbHNEb05vdEV4aXN0JyBhcyBDb2RlRW51bSxcclxuICAgICAgICBQb3J0Zm9saW9XaXRoTmFtZUFscmVhZHlFeGlzdHM6ICdQb3J0Zm9saW9XaXRoTmFtZUFscmVhZHlFeGlzdHMnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEludmFsaWRUcmFuc2FjdGlvbnM6ICdJbnZhbGlkVHJhbnNhY3Rpb25zJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBSZWZlcmVuY2VQb3J0Zm9saW9Ob3RGb3VuZDogJ1JlZmVyZW5jZVBvcnRmb2xpb05vdEZvdW5kJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBEdXBsaWNhdGVJZEZhaWx1cmU6ICdEdXBsaWNhdGVJZEZhaWx1cmUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIENvbW1hbmRSZXRyaWV2YWxGYWlsdXJlOiAnQ29tbWFuZFJldHJpZXZhbEZhaWx1cmUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIERhdGFGaWx0ZXJBcHBsaWNhdGlvbkZhaWx1cmU6ICdEYXRhRmlsdGVyQXBwbGljYXRpb25GYWlsdXJlJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBTZWFyY2hGYWlsZWQ6ICdTZWFyY2hGYWlsZWQnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIE1vdmVtZW50c0VuZ2luZUNvbmZpZ3VyYXRpb25LZXlGYWlsdXJlOiAnTW92ZW1lbnRzRW5naW5lQ29uZmlndXJhdGlvbktleUZhaWx1cmUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEZ4UmF0ZVNvdXJjZU5vdEZvdW5kOiAnRnhSYXRlU291cmNlTm90Rm91bmQnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEFjY3J1YWxTb3VyY2VOb3RGb3VuZDogJ0FjY3J1YWxTb3VyY2VOb3RGb3VuZCcgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgRW50aXRsZW1lbnRzRmFpbHVyZTogJ0VudGl0bGVtZW50c0ZhaWx1cmUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEludmFsaWRJZGVudGl0eVRva2VuOiAnSW52YWxpZElkZW50aXR5VG9rZW4nIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEludmFsaWRSZXF1ZXN0SGVhZGVyczogJ0ludmFsaWRSZXF1ZXN0SGVhZGVycycgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgUHJpY2VOb3RGb3VuZDogJ1ByaWNlTm90Rm91bmQnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEludmFsaWRTdWJIb2xkaW5nS2V5c1Byb3ZpZGVkOiAnSW52YWxpZFN1YkhvbGRpbmdLZXlzUHJvdmlkZWQnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIER1cGxpY2F0ZVN1YkhvbGRpbmdLZXlzUHJvdmlkZWQ6ICdEdXBsaWNhdGVTdWJIb2xkaW5nS2V5c1Byb3ZpZGVkJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBDdXREZWZpbml0aW9uTm90Rm91bmQ6ICdDdXREZWZpbml0aW9uTm90Rm91bmQnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEN1dERlZmluaXRpb25JbnZhbGlkOiAnQ3V0RGVmaW5pdGlvbkludmFsaWQnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIFNlcnZlckNvbmZpZ3VyYXRpb25FcnJvcjogJ1NlcnZlckNvbmZpZ3VyYXRpb25FcnJvcicgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgSW52YWxpZFVuaXRGb3JEYXRhVHlwZTogJ0ludmFsaWRVbml0Rm9yRGF0YVR5cGUnIGFzIENvZGVFbnVtLFxyXG4gICAgICAgIEludmFsaWRUeXBlRm9yRGF0YVR5cGU6ICdJbnZhbGlkVHlwZUZvckRhdGFUeXBlJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBJbnZhbGlkVmFsdWVGb3JEYXRhVHlwZTogJ0ludmFsaWRWYWx1ZUZvckRhdGFUeXBlJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBVbml0Tm90RGVmaW5lZEZvckRhdGFUeXBlOiAnVW5pdE5vdERlZmluZWRGb3JEYXRhVHlwZScgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgVW5pdHNOb3RTdXBwb3J0ZWRPbkRhdGFUeXBlOiAnVW5pdHNOb3RTdXBwb3J0ZWRPbkRhdGFUeXBlJyBhcyBDb2RlRW51bSxcclxuICAgICAgICBDYW5ub3RTcGVjaWZ5VW5pdHNPbkRhdGFUeXBlOiAnQ2Fubm90U3BlY2lmeVVuaXRzT25EYXRhVHlwZScgYXMgQ29kZUVudW0sXHJcbiAgICAgICAgVW5pdFNjaGVtYUluY29uc2lzdGVudFdpdGhEYXRhVHlwZTogJ1VuaXRTY2hlbWFJbmNvbnNpc3RlbnRXaXRoRGF0YVR5cGUnIGFzIENvZGVFbn