yv66vgAAADMAQAcAAgEALm9yZy9hcGFjaGUvaHRyYWNlL2ltcGwvVGVzdEhUcmFjZWRSRVNUUmVjZWl2ZXIHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQANcmVzdFNlcnZlclVybAEABUxVUkw7AQAHZGF0YURpcgEAIExvcmcvYXBhY2hlL2h0cmFjZS91dGlsL0RhdGFEaXI7AQAHaHRyYWNlZAEAJ0xvcmcvYXBhY2hlL2h0cmFjZS91dGlsL0hUcmFjZWRQcm9jZXNzOwEACmpzb25NYXBwZXIBAA5MT2JqZWN0TWFwcGVyOwEABjxpbml0PgEAAygpVgEABENvZGUHABEBAA9qYXZhL2xhbmcvRXJyb3IIABMBCy5VbnJlc29sdmVkIGNvbXBpbGF0aW9uIHByb2JsZW1zOiAKCVRoZSBpbXBvcnQgb3JnLmp1bml0IGNhbm5vdCBiZSByZXNvbHZlZAoJVGhlIGltcG9ydCBqYXZhLmlvIGNhbm5vdCBiZSByZXNvbHZlZAoJVGhlIGltcG9ydCBqYXZhLm5ldCBjYW5ub3QgYmUgcmVzb2x2ZWQKCVRoZSBpbXBvcnQgb3JnLmFwYWNoZS5odHJhY2UuSFRyYWNlQ29uZmlndXJhdGlvbiBjYW5ub3QgYmUgcmVzb2x2ZWQKCVRoZSBpbXBvcnQgb3JnLmFwYWNoZS5odHJhY2UuU3BhbiBjYW5ub3QgYmUgcmVzb2x2ZWQKCVRoZSBpbXBvcnQgb3JnLmVjbGlwc2UgY2Fubm90IGJlIHJlc29sdmVkCglUaGUgaW1wb3J0IG9yZy5lY2xpcHNlIGNhbm5vdCBiZSByZXNvbHZlZAoJVGhlIGltcG9ydCBvcmcuanVuaXQgY2Fubm90IGJlIHJlc29sdmVkCglUaGUgaW1wb3J0IG9yZy5qdW5pdCBjYW5ub3QgYmUgcmVzb2x2ZWQKCVRoZSBpbXBvcnQgb3JnLmp1bml0IGNhbm5vdCBiZSByZXNvbHZlZAoJVGhlIGltcG9ydCBjb20gY2Fubm90IGJlIHJlc29sdmVkCglJbXBsaWNpdCBzdXBlciBjb25zdHJ1Y3RvciBPYmplY3QoKSBpcyB1bmRlZmluZWQgZm9yIGRlZmF1bHQgY29uc3RydWN0b3IuIE11c3QgZGVmaW5lIGFuIGV4cGxpY2l0IGNvbnN0cnVjdG9yCglVUkwgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJT2JqZWN0TWFwcGVyIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCU9iamVjdE1hcHBlciBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglCZWZvcmUgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJRXhjZXB0aW9uIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVVSTCBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglVUkwgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJRmlsZSBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglUaGUgbWV0aG9kIGdldERhdGFEaXIoKSBmcm9tIHRoZSB0eXBlIERhdGFEaXIgcmVmZXJzIHRvIHRoZSBtaXNzaW5nIHR5cGUgRmlsZQoJRmlsZSBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglUaGUgbWV0aG9kIGdldERhdGFEaXIoKSBmcm9tIHRoZSB0eXBlIERhdGFEaXIgcmVmZXJzIHRvIHRoZSBtaXNzaW5nIHR5cGUgRmlsZQoJVVJMIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCUFmdGVyIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCUV4Y2VwdGlvbiBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglIVHJhY2VDb25maWd1cmF0aW9uIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCU92ZXJyaWRlIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVN0cmluZyBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglTdHJpbmcgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJT3ZlcnJpZGUgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJU3RyaW5nIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVN0cmluZyBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglTdHJpbmcgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJVGVzdCBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglFeGNlcHRpb24gY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJVGhlIGNvbnN0cnVjdG9yIEhUcmFjZWRSRVNUUmVjZWl2ZXIoSFRyYWNlQ29uZmlndXJhdGlvbikgcmVmZXJzIHRvIHRoZSBtaXNzaW5nIHR5cGUgSFRyYWNlQ29uZmlndXJhdGlvbgoJQ29udGVudFJlc3BvbnNlIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCUh0dHBDbGllbnQgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJVVJMIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVN0cmluZyBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglTeXN0ZW0gY2Fubm90IGJlIHJlc29sdmVkCglUaGUgbWV0aG9kIGNsb3NlKCkgZnJvbSB0aGUgdHlwZSBIVHJhY2VkUkVTVFJlY2VpdmVyIHJlZmVycyB0byB0aGUgbWlzc2luZyB0eXBlIElPRXhjZXB0aW9uCglTdHJpbmcgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJQ29udGVudFJlc3BvbnNlIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCUh0dHBTdGF0dXMgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdmFyaWFibGUKCUh0dHBTdGF0dXMgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdmFyaWFibGUKCVRlc3QgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJRXhjZXB0aW9uIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVRoZSBjb25zdHJ1Y3RvciBIVHJhY2VkUkVTVFJlY2VpdmVyKEhUcmFjZUNvbmZpZ3VyYXRpb24pIHJlZmVycyB0byB0aGUgbWlzc2luZyB0eXBlIEhUcmFjZUNvbmZpZ3VyYXRpb24KCVNwYW4gY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJTWlsbGlTcGFuIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVN0cmluZyBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglTdHJpbmcgY2Fubm90IGJlIHJlc29sdmVkCglDb250ZW50UmVzcG9uc2UgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJSHR0cENsaWVudCBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglVUkwgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJU3RyaW5nIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVNwYW4gY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJT2JqZWN0TWFwcGVyIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVNwYW4gY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJVGhlIG1ldGhvZCBjbG9zZSgpIGZyb20gdGhlIHR5cGUgSFRyYWNlZFJFU1RSZWNlaXZlciByZWZlcnMgdG8gdGhlIG1pc3NpbmcgdHlwZSBJT0V4Y2VwdGlvbgoKABAAFQwADQAWAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAPTGluZU51bWJlclRhYmxlAQASTG9jYWxWYXJpYWJsZVRhYmxlAQAEdGhpcwEAMExvcmcvYXBhY2hlL2h0cmFjZS9pbXBsL1Rlc3RIVHJhY2VkUkVTVFJlY2VpdmVyOwEABXNldFVwAQAKRXhjZXB0aW9ucwcAHgEACUV4Y2VwdGlvbgEAG1J1bnRpbWVJbnZpc2libGVBbm5vdGF0aW9ucwEACExCZWZvcmU7CAAiAQG5VW5yZXNvbHZlZCBjb21waWxhdGlvbiBwcm9ibGVtczogCglCZWZvcmUgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJRXhjZXB0aW9uIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVVSTCBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglVUkwgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJRmlsZSBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglUaGUgbWV0aG9kIGdldERhdGFEaXIoKSBmcm9tIHRoZSB0eXBlIERhdGFEaXIgcmVmZXJzIHRvIHRoZSBtaXNzaW5nIHR5cGUgRmlsZQoJRmlsZSBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglUaGUgbWV0aG9kIGdldERhdGFEaXIoKSBmcm9tIHRoZSB0eXBlIERhdGFEaXIgcmVmZXJzIHRvIHRoZSBtaXNzaW5nIHR5cGUgRmlsZQoJVVJMIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKAQAIdGVhckRvd24BAAdMQWZ0ZXI7CAAmAQBuVW5yZXNvbHZlZCBjb21waWxhdGlvbiBwcm9ibGVtczogCglBZnRlciBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglFeGNlcHRpb24gY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoBAAx0ZXN0QmFzaWNHZXQIACkBAexVbnJlc29sdmVkIGNvbXBpbGF0aW9uIHByb2JsZW1zOiAKCVRlc3QgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJRXhjZXB0aW9uIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVRoZSBjb25zdHJ1Y3RvciBIVHJhY2VkUkVTVFJlY2VpdmVyKEhUcmFjZUNvbmZpZ3VyYXRpb24pIHJlZmVycyB0byB0aGUgbWlzc2luZyB0eXBlIEhUcmFjZUNvbmZpZ3VyYXRpb24KCUNvbnRlbnRSZXNwb25zZSBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglIdHRwQ2xpZW50IGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVVSTCBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglTdHJpbmcgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJU3lzdGVtIGNhbm5vdCBiZSByZXNvbHZlZAoJVGhlIG1ldGhvZCBjbG9zZSgpIGZyb20gdGhlIHR5cGUgSFRyYWNlZFJFU1RSZWNlaXZlciByZWZlcnMgdG8gdGhlIG1pc3NpbmcgdHlwZSBJT0V4Y2VwdGlvbgoBAApwcm9jZXNzR0VUAQAlKExDb250ZW50UmVzcG9uc2U7KUxqYXZhL2xhbmcvU3RyaW5nOwgALQEAz1VucmVzb2x2ZWQgY29tcGlsYXRpb24gcHJvYmxlbXM6IAoJU3RyaW5nIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCUNvbnRlbnRSZXNwb25zZSBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglIdHRwU3RhdHVzIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHZhcmlhYmxlCglIdHRwU3RhdHVzIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHZhcmlhYmxlCgEAEHRlc3RTZW5kaW5nU3BhbnMIADABAs1VbnJlc29sdmVkIGNvbXBpbGF0aW9uIHByb2JsZW1zOiAKCVRlc3QgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJRXhjZXB0aW9uIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVRoZSBjb25zdHJ1Y3RvciBIVHJhY2VkUkVTVFJlY2VpdmVyKEhUcmFjZUNvbmZpZ3VyYXRpb24pIHJlZmVycyB0byB0aGUgbWlzc2luZyB0eXBlIEhUcmFjZUNvbmZpZ3VyYXRpb24KCVNwYW4gY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJTWlsbGlTcGFuIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVN0cmluZyBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglTdHJpbmcgY2Fubm90IGJlIHJlc29sdmVkCglDb250ZW50UmVzcG9uc2UgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJSHR0cENsaWVudCBjYW5ub3QgYmUgcmVzb2x2ZWQgdG8gYSB0eXBlCglVUkwgY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJU3RyaW5nIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVNwYW4gY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJT2JqZWN0TWFwcGVyIGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIHR5cGUKCVNwYW4gY2Fubm90IGJlIHJlc29sdmVkIHRvIGEgdHlwZQoJVGhlIG1ldGhvZCBjbG9zZSgpIGZyb20gdGhlIHR5cGUgSFRyYWNlZFJFU1RSZWNlaXZlciByZWZlcnMgdG8gdGhlIG1pc3NpbmcgdHlwZSBJT0V4Y2VwdGlvbgoBAApTb3VyY2VGaWxlAQAcVGVzdEhUcmFjZWRSRVNUUmVjZWl2ZXIuamF2YQEADElubmVyQ2xhc3NlcwcANQEARm9yZy9hcGFjaGUvaHRyYWNlL2ltcGwvVGVzdEhUcmFjZWRSRVNUUmVjZWl2ZXIkVGVzdEhUcmFjZUNvbmZpZ3VyYXRpb24BABdUZXN0SFRyYWNlQ29uZmlndXJhdGlvbgcAOAEAD0NvbnRlbnRSZXNwb25zZQcAOgEADE9iamVjdE1hcHBlcgcAPAEAA1VSTAcAPgEAEGphdmEvbGFuZy9TdHJpbmcBAAxNaXNzaW5nVHlwZXMAIQABAAMAAAAEAAIABQAGAAAAAgAHAAgAAAAAAAkACgAAABIACwAMAAAABgABAA0ADgABAA8AAAA0AAMAAQAAAAq7ABBZEhK3ABS/AAAAAgAXAAAABgABAAAAFAAYAAAADAABAAAACgAZABoAAAABABsADgADABwAAAAEAAEAHQAfAAAABgABACAAAAAPAAAANAADAAEAAAAKuwAQWRIhtwAUvwAAAAIAFwAAAAYAAQAAACsAGAAAAAwAAQAAAAoAGQAaAAAAAQAjAA4AAwAcAAAABAABAB0AHwAAAAYAAQAkAAAADwAAADQAAwABAAAACrsAEFkSJbcAFL8AAAACABcAAAAGAAEAAAA1ABgAAAAMAAEAAAAKABkAGgAAAAEAJwAOAAIAHAAAAAQAAQAdAA8AAAA0AAMAAQAAAAq7ABBZEii3ABS/AAAAAgAXAAAABgABAAAASQAYAAAADAABAAAACgAZABoAAAAAACoAKwABAA8AAAA0AAMAAgAAAAq7ABBZEiy3ABS/AAAAAgAXAAAABgABAAAAWAAYAAAADAABAAAACgAZABoAAAABAC4ADgACABwAAAAEAAEAHQAPAAAANAADAAEAAAAKuwAQWRIvtwAUvwAAAAIAFwAAAAYAAQAAAF4AGAAAAAwAAQAAAAoAGQAaAAAAAwAxAAAAAgAyADMAAAAKAAEANAABADYAEgA/AAAADAAFADcAHQA5ADsAPQ==