ZGlmZiAtLWdpdCBhL05hdFRhYmxlLy5jbGFzc3BhdGggYi9OYXRUYWJsZS8uY2xhc3NwYXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ZWM2MDMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS8uY2xhc3NwYXRoCkBAIC0wLDAgKzEsOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxjbGFzc3BhdGg+CisJPGNsYXNzcGF0aGVudHJ5IGtpbmQ9InNyYyIgcGF0aD0ic3JjIi8+CisJPGNsYXNzcGF0aGVudHJ5IGtpbmQ9InNyYyIgcGF0aD0ieHRlbmQtZ2VuIi8+CisJPGNsYXNzcGF0aGVudHJ5IGtpbmQ9InNyYyIgb3V0cHV0PSJiaW5fdGVzdCIgcGF0aD0idGVzdCIvPgorCTxjbGFzc3BhdGhlbnRyeSBraW5kPSJjb24iIHBhdGg9Im9yZy5lY2xpcHNlLmpkdC5sYXVuY2hpbmcuSlJFX0NPTlRBSU5FUi9vcmcuZWNsaXBzZS5qZHQuaW50ZXJuYWwuZGVidWcudWkubGF1bmNoZXIuU3RhbmRhcmRWTVR5cGUvSmF2YVNFLTEuNyIvPgorCTxjbGFzc3BhdGhlbnRyeSBraW5kPSJjb24iIHBhdGg9ImFRdXRlLmJuZC5jbGFzc3BhdGguY29udGFpbmVyIi8+CisJPGNsYXNzcGF0aGVudHJ5IGtpbmQ9Im91dHB1dCIgcGF0aD0iYmluIi8+Cis8L2NsYXNzcGF0aD4KZGlmZiAtLWdpdCBhL05hdFRhYmxlLy5naXRpZ25vcmUgYi9OYXRUYWJsZS8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczZTk1MjYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsMyBAQAorL2Jpbl90ZXN0CisvZ2VuZXJhdGVkCisveHRlbmQtZ2VuCmRpZmYgLS1naXQgYS9OYXRUYWJsZS8ucHJvamVjdCBiL05hdFRhYmxlLy5wcm9qZWN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1YjBmNjcKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS8ucHJvamVjdApAQCAtMCwwICsxLDI5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPHByb2plY3REZXNjcmlwdGlvbj4KKwk8bmFtZT5OYXRUYWJsZTwvbmFtZT4KKwk8Y29tbWVudD48L2NvbW1lbnQ+CisJPHByb2plY3RzPgorCTwvcHJvamVjdHM+CisJPGJ1aWxkU3BlYz4KKwkJPGJ1aWxkQ29tbWFuZD4KKwkJCTxuYW1lPm9yZy5lY2xpcHNlLnh0ZXh0LnVpLnNoYXJlZC54dGV4dEJ1aWxkZXI8L25hbWU+CisJCQk8YXJndW1lbnRzPgorCQkJPC9hcmd1bWVudHM+CisJCTwvYnVpbGRDb21tYW5kPgorCQk8YnVpbGRDb21tYW5kPgorCQkJPG5hbWU+b3JnLmVjbGlwc2UuamR0LmNvcmUuamF2YWJ1aWxkZXI8L25hbWU+CisJCQk8YXJndW1lbnRzPgorCQkJPC9hcmd1bWVudHM+CisJCTwvYnVpbGRDb21tYW5kPgorCQk8YnVpbGRDb21tYW5kPgorCQkJPG5hbWU+Ym5kdG9vbHMuY29yZS5ibmRidWlsZGVyPC9uYW1lPgorCQkJPGFyZ3VtZW50cz4KKwkJCTwvYXJndW1lbnRzPgorCQk8L2J1aWxkQ29tbWFuZD4KKwk8L2J1aWxkU3BlYz4KKwk8bmF0dXJlcz4KKwkJPG5hdHVyZT5vcmcuZWNsaXBzZS5qZHQuY29yZS5qYXZhbmF0dXJlPC9uYXR1cmU+CisJCTxuYXR1cmU+Ym5kdG9vbHMuY29yZS5ibmRuYXR1cmU8L25hdHVyZT4KKwkJPG5hdHVyZT5vcmcuZWNsaXBzZS54dGV4dC51aS5zaGFyZWQueHRleHROYXR1cmU8L25hdHVyZT4KKwk8L25hdHVyZXM+Cis8L3Byb2plY3REZXNjcmlwdGlvbj4KZGlmZiAtLWdpdCBhL05hdFRhYmxlLy5zZXR0aW5ncy9vcmcuZWNsaXBzZS5qZHQuY29yZS5wcmVmcyBiL05hdFRhYmxlLy5zZXR0aW5ncy9vcmcuZWNsaXBzZS5qZHQuY29yZS5wcmVmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzQxYWIxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvLnNldHRpbmdzL29yZy5lY2xpcHNlLmpkdC5jb3JlLnByZWZzCkBAIC0wLDAgKzEsMTEgQEAKK2VjbGlwc2UucHJlZmVyZW5jZXMudmVyc2lvbj0xCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5jb2RlZ2VuLmlubGluZUpzckJ5dGVjb2RlPWVuYWJsZWQKK29yZy5lY2xpcHNlLmpkdC5jb3JlLmNvbXBpbGVyLmNvZGVnZW4udGFyZ2V0UGxhdGZvcm09MS43CitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5jb2RlZ2VuLnVudXNlZExvY2FsPXByZXNlcnZlCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5jb21wbGlhbmNlPTEuNworb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuZGVidWcubGluZU51bWJlcj1nZW5lcmF0ZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuZGVidWcubG9jYWxWYXJpYWJsZT1nZW5lcmF0ZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIuZGVidWcuc291cmNlRmlsZT1nZW5lcmF0ZQorb3JnLmVjbGlwc2UuamR0LmNvcmUuY29tcGlsZXIucHJvYmxlbS5hc3NlcnRJZGVudGlmaWVyPWVycm9yCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5wcm9ibGVtLmVudW1JZGVudGlmaWVyPWVycm9yCitvcmcuZWNsaXBzZS5qZHQuY29yZS5jb21waWxlci5zb3VyY2U9MS43CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9ibmQuYm5kIGIvTmF0VGFibGUvYm5kLmJuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODRhNzdlCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvYm5kLmJuZApAQCAtMCwwICsxLDMgQEAKKy1idWlsZHBhdGg6IG9yZy5lY2xpcHNlLnh0ZW5kLmxpYixcCisJb3JnLmVjbGlwc2UueHRleHQueGJhc2UubGliCitFeHBvcnQtUGFja2FnZTogb3JnLmVjbGlwc2UubmVidWxhLndpZGdldHMubmF0dGFibGUuY29yZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2J1aWxkLnhtbCBiL05hdFRhYmxlL2J1aWxkLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDc2NTBmCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvYnVpbGQueG1sCkBAIC0wLDAgKzEsNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxwcm9qZWN0IG5hbWU9InByb2plY3QiIGRlZmF1bHQ9ImJ1aWxkIj4KKworCTwhLS0gLS0+CisKKwk8aW1wb3J0IGZpbGU9Ii4uL2NuZi9idWlsZC54bWwiIC8+Cis8L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvYXJ0aWZhY3RzLmphciBiL05hdFRhYmxlL2V4cG9ydC9hcnRpZmFjdHMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliYWMwOGEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvYXJ0aWZhY3RzLmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvYmluYXJ5L29yZy5lY2xpcHNlLnh0ZW5kLnNka19yb290XzIuNC4xLnYyMDEzMDQxODA4NTUgYi9OYXRUYWJsZS9leHBvcnQvYmluYXJ5L29yZy5lY2xpcHNlLnh0ZW5kLnNka19yb290XzIuNC4xLnYyMDEzMDQxODA4NTUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNkYTlmZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9iaW5hcnkvb3JnLmVjbGlwc2UueHRlbmQuc2RrX3Jvb3RfMi40LjEudjIwMTMwNDE4MDg1NQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvYmluYXJ5L29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfcm9vdF8yLjQuMS52MjAxMzA0MTgwODU1IGIvTmF0VGFibGUvZXhwb3J0L2JpbmFyeS9vcmcuZWNsaXBzZS54dGV4dC5ydW50aW1lX3Jvb3RfMi40LjEudjIwMTMwNDE4MDg1NQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWM0ODY0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2JpbmFyeS9vcmcuZWNsaXBzZS54dGV4dC5ydW50aW1lX3Jvb3RfMi40LjEudjIwMTMwNDE4MDg1NQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvYmluYXJ5L29yZy5lY2xpcHNlLnh0ZXh0LnVpX3Jvb3RfMi40LjEudjIwMTMwNDE4MDg1NSBiL05hdFRhYmxlL2V4cG9ydC9iaW5hcnkvb3JnLmVjbGlwc2UueHRleHQudWlfcm9vdF8yLjQuMS52MjAxMzA0MTgwODU1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlYzQ4NjQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvYmluYXJ5L29yZy5lY2xpcHNlLnh0ZXh0LnVpX3Jvb3RfMi40LjEudjIwMTMwNDE4MDg1NQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvY29udGVudC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvY29udGVudC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY3ZTVkMwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9jb250ZW50LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRlbmQuc2RrXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uUlNBIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZW5kLnNka18yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL0VDTElQU0VfLlJTQQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTczZmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZW5kLnNka18yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL0VDTElQU0VfLlJTQQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRlbmQuc2RrXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uU0YgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRlbmQuc2RrXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uU0YKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQ0OGE3YwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGVuZC5zZGtfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9FQ0xJUFNFXy5TRgpAQCAtMCwwICsxLDIzIEBACitTaWduYXR1cmUtVmVyc2lvbjogMS4wDQorU0hBMS1EaWdlc3QtTWFuaWZlc3Q6IDZ4WHBGWUR5dnhlZEd3K0k2WFljcVA5OWV5bz0NCitDcmVhdGVkLUJ5OiAxLjYuMCAoSUJNIENvcnBvcmF0aW9uKQ0KK1NIQTEtRGlnZXN0LU1hbmlmZXN0LU1haW4tQXR0cmlidXRlczogNGdJZlRQNXkzRXp3STVlY3llYlFMdWdCTWdvPQ0KKw0KK05hbWU6IGVwbC12MTAuaHRtbA0KK1NIQTEtRGlnZXN0OiA4Z2ZlSTRiSHRjT1FYQzNkWWZnZ3h2c0F5V2M9DQorDQorTmFtZTogTUVUQS1JTkYvZWNsaXBzZS5pbmYNCitTSEExLURpZ2VzdDogUWRyeVF2SmxWeXdsRTBNR0x1d1lDa21reVdrPQ0KKw0KK05hbWU6IGxpY2Vuc2UuaHRtbA0KK1NIQTEtRGlnZXN0OiBScDlBblJ5ZVVJeE5XZTEwZmphTURrUUI4clU9DQorDQorTmFtZTogZmVhdHVyZS5wcm9wZXJ0aWVzDQorU0hBMS1EaWdlc3Q6IHlDQVRtOHNyNkVPQ052L0xWQ081ZVBGcmVXUT0NCisNCitOYW1lOiBhYm91dC5odG1sDQorU0hBMS1EaWdlc3Q6IHA3N1dvVy90cHVHcEUrZGZiYUV1THArYkgvbz0NCisNCitOYW1lOiBmZWF0dXJlLnhtbA0KK1NIQTEtRGlnZXN0OiBoMm8yR01ORUhYVUlMaVJtOXQ3Zk5ZYm1XeXc9DQorDQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZW5kLnNka18yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL01BTklGRVNULk1GIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZW5kLnNka18yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL01BTklGRVNULk1GCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNjY5ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRlbmQuc2RrXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvTUFOSUZFU1QuTUYKQEAgLTAsMCArMSwyMSBAQAorTWFuaWZlc3QtVmVyc2lvbjogMS4wDQorQ3JlYXRlZC1CeTogMS42LjAgKElCTSBDb3Jwb3JhdGlvbikNCisNCitOYW1lOiBlcGwtdjEwLmh0bWwNCitTSEExLURpZ2VzdDogaE5QUlIzam9PNVVWOCt1L0wwcWpLVi9ZMkVFPQ0KKw0KK05hbWU6IE1FVEEtSU5GL2VjbGlwc2UuaW5mDQorU0hBMS1EaWdlc3Q6IDA5Z04wNXRvYmdTL01kdHF5VE5RaE9oQjczTT0NCisNCitOYW1lOiBsaWNlbnNlLmh0bWwNCitTSEExLURpZ2VzdDogL3ZMWmpsSGtaU1hNU2ZQcld3TnFPVURxcWJNPQ0KKw0KK05hbWU6IGZlYXR1cmUucHJvcGVydGllcw0KK1NIQTEtRGlnZXN0OiAwdndsUDBFbGFHTDlRT0xJcCtpOFRJZzBpaVE9DQorDQorTmFtZTogYWJvdXQuaHRtbA0KK1NIQTEtRGlnZXN0OiBtTGttUkx0RzNhbWtjWTBJN0tTWVpYNnFLaHM9DQorDQorTmFtZTogZmVhdHVyZS54bWwNCitTSEExLURpZ2VzdDogTjZQYXc4UzBZRTErZklvdnR4YUxNUGw4ZFNRPQ0KKw0KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGVuZC5zZGtfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9lY2xpcHNlLmluZiBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGVuZC5zZGtfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9lY2xpcHNlLmluZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmZmZWQyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZW5kLnNka18yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL2VjbGlwc2UuaW5mCkBAIC0wLDAgKzEsMiBAQAorI1Byb2Nlc3NlZCB1c2luZyBKYXJwcm9jZXNzb3IKK3BhY2syMDAuY29uZGl0aW9uZWQgPSB0cnVlCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRlbmQuc2RrXzIuNC4xLnYyMDEzMDQxODA4NTUvYWJvdXQuaHRtbCBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGVuZC5zZGtfMi40LjEudjIwMTMwNDE4MDg1NS9hYm91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzNWQ1YWUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRlbmQuc2RrXzIuNC4xLnYyMDEzMDQxODA4NTUvYWJvdXQuaHRtbApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgorICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSIvPgorPHRpdGxlPkFib3V0PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5IGxhbmc9IkVOLVVTIj4KKzxoMj5BYm91dCBUaGlzIENvbnRlbnQ8L2gyPgorIAorPHA+SnVuZSA1LCAyMDA3PC9wPgkKKzxoMz5MaWNlbnNlPC9oMz4KKworPHA+VGhlIEVjbGlwc2UgRm91bmRhdGlvbiBtYWtlcyBhdmFpbGFibGUgYWxsIGNvbnRlbnQgaW4gdGhpcyBwbHVnLWluICgmcXVvdDtDb250ZW50JnF1b3Q7KS4gIFVubGVzcyBvdGhlcndpc2UgCitpbmRpY2F0ZWQgYmVsb3csIHRoZSBDb250ZW50IGlzIHByb3ZpZGVkIHRvIHlvdSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlCitFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wICgmcXVvdDtFUEwmcXVvdDspLiAgQSBjb3B5IG9mIHRoZSBFUEwgaXMgYXZhaWxhYmxlIAorYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sPC9hPi4KK0ZvciBwdXJwb3NlcyBvZiB0aGUgRVBMLCAmcXVvdDtQcm9ncmFtJnF1b3Q7IHdpbGwgbWVhbiB0aGUgQ29udGVudC48L3A+CisKKzxwPklmIHlvdSBkaWQgbm90IHJlY2VpdmUgdGhpcyBDb250ZW50IGRpcmVjdGx5IGZyb20gdGhlIEVjbGlwc2UgRm91bmRhdGlvbiwgdGhlIENvbnRlbnQgaXMgCitiZWluZyByZWRpc3RyaWJ1dGVkIGJ5IGFub3RoZXIgcGFydHkgKCZxdW90O1JlZGlzdHJpYnV0b3ImcXVvdDspIGFuZCBkaWZmZXJlbnQgdGVybXMgYW5kIGNvbmRpdGlvbnMgbWF5CithcHBseSB0byB5b3VyIHVzZSBvZiBhbnkgb2JqZWN0IGNvZGUgaW4gdGhlIENvbnRlbnQuICBDaGVjayB0aGUgUmVkaXN0cmlidXRvcidzIGxpY2Vuc2UgdGhhdCB3YXMgCitwcm92aWRlZCB3aXRoIHRoZSBDb250ZW50LiAgSWYgbm8gc3VjaCBsaWNlbnNlIGV4aXN0cywgY29udGFjdCB0aGUgUmVkaXN0cmlidXRvci4gIFVubGVzcyBvdGhlcndpc2UKK2luZGljYXRlZCBiZWxvdywgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBFUEwgc3RpbGwgYXBwbHkgdG8gYW55IHNvdXJjZSBjb2RlIGluIHRoZSBDb250ZW50CithbmQgc3VjaCBzb3VyY2UgY29kZSBtYXkgYmUgb2J0YWluZWQgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy8iPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmc8L2E+LjwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZW5kLnNka18yLjQuMS52MjAxMzA0MTgwODU1L2VwbC12MTAuaHRtbCBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGVuZC5zZGtfMi40LjEudjIwMTMwNDE4MDg1NS9lcGwtdjEwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2IxMDczYQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGVuZC5zZGtfMi40LjEudjIwMTMwNDE4MDg1NS9lcGwtdjEwLmh0bWwKQEAgLTAsMCArMSwzMDQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAvL0VOIj4KKzxodG1sIHhtbG5zOm89InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIKK3htbG5zOnc9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOndvcmQiCit4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+CisKKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Cis8bGluayByZWw9RmlsZS1MaXN0CitocmVmPSIuL0VjbGlwc2UlMjBFUEwlMjAyMDAzXzExXzEwJTIwRmluYWxfZmlsZXMvZmlsZWxpc3QueG1sIj4KKzx0aXRsZT5FY2xpcHNlIFB1YmxpYyBMaWNlbnNlIC0gVmVyc2lvbiAxLjA8L3RpdGxlPgorPHN0eWxlPgorPCEtLQorIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8KK0Bmb250LWZhY2UKKwl7CisJcGFub3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7CisJbXNvLWZvbnQtY2hhcnNldDowOworCW1zby1mb250LXBpdGNoOnZhcmlhYmxlOworCW1zby1mb250LXNpZ25hdHVyZTo1NTM2Nzk0OTUgLTIxNDc0ODM2NDggOCAwIDY2MDQ3IDA7fQorIC8qIFN0eWxlIERlZmluaXRpb25zICovCitwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsCisJe21zby1zdHlsZS1wYXJlbnQ6IiI7CisJbWFyZ2luOjBpbjsKKwltYXJnaW4tYm90dG9tOi4wMDAxcHQ7CisJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOworCWZvbnQtc2l6ZToxMi4wcHQ7CisJfQorcAorCXttYXJnaW4tcmlnaHQ6MGluOworCW1zby1tYXJnaW4tdG9wLWFsdDphdXRvOworCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOworCW1hcmdpbi1sZWZ0OjBpbjsKKwltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47CisJZm9udC1zaXplOjEyLjBwdDsKKwl9CitwLkJhbGxvb25UZXh0LCBsaS5CYWxsb29uVGV4dCwgZGl2LkJhbGxvb25UZXh0CisJe21zby1zdHlsZS1uYW1lOiJCYWxsb29uIFRleHQiOworCW1hcmdpbjowaW47CisJbWFyZ2luLWJvdHRvbTouMDAwMXB0OworCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsKKwlmb250LXNpemU6OC4wcHQ7CisJCisJfQorQHBhZ2UgU2VjdGlvbjEKKwl7c2l6ZTo4LjVpbiAxMS4waW47CisJbWFyZ2luOjEuMGluIDEuMjVpbiAxLjBpbiAxLjI1aW47CisJbXNvLWhlYWRlci1tYXJnaW46LjVpbjsKKwltc28tZm9vdGVyLW1hcmdpbjouNWluOworCW1zby1wYXBlci1zb3VyY2U6MDt9CitkaXYuU2VjdGlvbjEKKwl7cGFnZTpTZWN0aW9uMTt9CistLT4KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5IGxhbmc9IkVOLVVTIiBzdHlsZT0ndGFiLWludGVydmFsOi41aW4nPgorCis8ZGl2IGNsYXNzPVNlY3Rpb24xPgorCis8cCBhbGlnbj1jZW50ZXIgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyJz48Yj5FY2xpcHNlIFB1YmxpYyBMaWNlbnNlIC0gdiAxLjA8L2I+Cis8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5USEUgQUNDT01QQU5ZSU5HIFBST0dSQU0gSVMgUFJPVklERUQgVU5ERVIKK1RIRSBURVJNUyBPRiBUSElTIEVDTElQU0UgUFVCTElDIExJQ0VOU0UgKCZxdW90O0FHUkVFTUVOVCZxdW90OykuIEFOWSBVU0UsCitSRVBST0RVQ1RJT04gT1IgRElTVFJJQlVUSU9OIE9GIFRIRSBQUk9HUkFNIENPTlNUSVRVVEVTIFJFQ0lQSUVOVCdTIEFDQ0VQVEFOQ0UKK09GIFRISVMgQUdSRUVNRU5ULjwvc3Bhbj4gPC9wPgorCis8cD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+MS4gREVGSU5JVElPTlM8L3NwYW4+PC9iPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz4mcXVvdDtDb250cmlidXRpb24mcXVvdDsgbWVhbnM6PC9zcGFuPiA8L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmEpCitpbiB0aGUgY2FzZSBvZiB0aGUgaW5pdGlhbCBDb250cmlidXRvciwgdGhlIGluaXRpYWwgY29kZSBhbmQgZG9jdW1lbnRhdGlvbgorZGlzdHJpYnV0ZWQgdW5kZXIgdGhpcyBBZ3JlZW1lbnQsIGFuZDxiciBjbGVhcj1sZWZ0PgorYikgaW4gdGhlIGNhc2Ugb2YgZWFjaCBzdWJzZXF1ZW50IENvbnRyaWJ1dG9yOjwvc3Bhbj48L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmkpCitjaGFuZ2VzIHRvIHRoZSBQcm9ncmFtLCBhbmQ8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5paSkKK2FkZGl0aW9ucyB0byB0aGUgUHJvZ3JhbTs8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz53aGVyZQorc3VjaCBjaGFuZ2VzIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhlIFByb2dyYW0gb3JpZ2luYXRlIGZyb20gYW5kIGFyZSBkaXN0cmlidXRlZAorYnkgdGhhdCBwYXJ0aWN1bGFyIENvbnRyaWJ1dG9yLiBBIENvbnRyaWJ1dGlvbiAnb3JpZ2luYXRlcycgZnJvbSBhIENvbnRyaWJ1dG9yCitpZiBpdCB3YXMgYWRkZWQgdG8gdGhlIFByb2dyYW0gYnkgc3VjaCBDb250cmlidXRvciBpdHNlbGYgb3IgYW55b25lIGFjdGluZyBvbgorc3VjaCBDb250cmlidXRvcidzIGJlaGFsZi4gQ29udHJpYnV0aW9ucyBkbyBub3QgaW5jbHVkZSBhZGRpdGlvbnMgdG8gdGhlCitQcm9ncmFtIHdoaWNoOiAoaSkgYXJlIHNlcGFyYXRlIG1vZHVsZXMgb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQgaW4gY29uanVuY3Rpb24KK3dpdGggdGhlIFByb2dyYW0gdW5kZXIgdGhlaXIgb3duIGxpY2Vuc2UgYWdyZWVtZW50LCBhbmQgKGlpKSBhcmUgbm90IGRlcml2YXRpdmUKK3dvcmtzIG9mIHRoZSBQcm9ncmFtLiA8L3NwYW4+PC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+JnF1b3Q7Q29udHJpYnV0b3ImcXVvdDsgbWVhbnMgYW55IHBlcnNvbiBvcgorZW50aXR5IHRoYXQgZGlzdHJpYnV0ZXMgdGhlIFByb2dyYW0uPC9zcGFuPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz4mcXVvdDtMaWNlbnNlZCBQYXRlbnRzICZxdW90OyBtZWFuIHBhdGVudAorY2xhaW1zIGxpY2Vuc2FibGUgYnkgYSBDb250cmlidXRvciB3aGljaCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZSB1c2UKK29yIHNhbGUgb2YgaXRzIENvbnRyaWJ1dGlvbiBhbG9uZSBvciB3aGVuIGNvbWJpbmVkIHdpdGggdGhlIFByb2dyYW0uIDwvc3Bhbj48L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz4mcXVvdDtQcm9ncmFtJnF1b3Q7IG1lYW5zIHRoZSBDb250cmlidXRpb25zCitkaXN0cmlidXRlZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhpcyBBZ3JlZW1lbnQuPC9zcGFuPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz4mcXVvdDtSZWNpcGllbnQmcXVvdDsgbWVhbnMgYW55b25lIHdobworcmVjZWl2ZXMgdGhlIFByb2dyYW0gdW5kZXIgdGhpcyBBZ3JlZW1lbnQsIGluY2x1ZGluZyBhbGwgQ29udHJpYnV0b3JzLjwvc3Bhbj4gPC9wPgorCis8cD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+Mi4gR1JBTlQgT0YgUklHSFRTPC9zcGFuPjwvYj4gPC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5hKQorU3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyBSZWNpcGllbnQKK2Egbm9uLWV4Y2x1c2l2ZSwgd29ybGR3aWRlLCByb3lhbHR5LWZyZWUgY29weXJpZ2h0IGxpY2Vuc2UgdG88c3Bhbgorc3R5bGU9J2NvbG9yOnJlZCc+IDwvc3Bhbj5yZXByb2R1Y2UsIHByZXBhcmUgZGVyaXZhdGl2ZSB3b3JrcyBvZiwgcHVibGljbHkKK2Rpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIGRpc3RyaWJ1dGUgYW5kIHN1YmxpY2Vuc2UgdGhlIENvbnRyaWJ1dGlvbiBvZiBzdWNoCitDb250cmlidXRvciwgaWYgYW55LCBhbmQgc3VjaCBkZXJpdmF0aXZlIHdvcmtzLCBpbiBzb3VyY2UgY29kZSBhbmQgb2JqZWN0IGNvZGUKK2Zvcm0uPC9zcGFuPjwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+YikKK1N1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoaXMgQWdyZWVtZW50LCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMKK1JlY2lwaWVudCBhIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSw8c3BhbiBzdHlsZT0nY29sb3I6Z3JlZW4nPiA8L3NwYW4+cm95YWx0eS1mcmVlCitwYXRlbnQgbGljZW5zZSB1bmRlciBMaWNlbnNlZCBQYXRlbnRzIHRvIG1ha2UsIHVzZSwgc2VsbCwgb2ZmZXIgdG8gc2VsbCwgaW1wb3J0CithbmQgb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBDb250cmlidXRpb24gb2Ygc3VjaCBDb250cmlidXRvciwgaWYgYW55LCBpbiBzb3VyY2UKK2NvZGUgYW5kIG9iamVjdCBjb2RlIGZvcm0uIFRoaXMgcGF0ZW50IGxpY2Vuc2Ugc2hhbGwgYXBwbHkgdG8gdGhlIGNvbWJpbmF0aW9uCitvZiB0aGUgQ29udHJpYnV0aW9uIGFuZCB0aGUgUHJvZ3JhbSBpZiwgYXQgdGhlIHRpbWUgdGhlIENvbnRyaWJ1dGlvbiBpcyBhZGRlZAorYnkgdGhlIENvbnRyaWJ1dG9yLCBzdWNoIGFkZGl0aW9uIG9mIHRoZSBDb250cmlidXRpb24gY2F1c2VzIHN1Y2ggY29tYmluYXRpb24KK3RvIGJlIGNvdmVyZWQgYnkgdGhlIExpY2Vuc2VkIFBhdGVudHMuIFRoZSBwYXRlbnQgbGljZW5zZSBzaGFsbCBub3QgYXBwbHkgdG8KK2FueSBvdGhlciBjb21iaW5hdGlvbnMgd2hpY2ggaW5jbHVkZSB0aGUgQ29udHJpYnV0aW9uLiBObyBoYXJkd2FyZSBwZXIgc2UgaXMKK2xpY2Vuc2VkIGhlcmV1bmRlci4gPC9zcGFuPjwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+YykKK1JlY2lwaWVudCB1bmRlcnN0YW5kcyB0aGF0IGFsdGhvdWdoIGVhY2ggQ29udHJpYnV0b3IgZ3JhbnRzIHRoZSBsaWNlbnNlcyB0byBpdHMKK0NvbnRyaWJ1dGlvbnMgc2V0IGZvcnRoIGhlcmVpbiwgbm8gYXNzdXJhbmNlcyBhcmUgcHJvdmlkZWQgYnkgYW55IENvbnRyaWJ1dG9yCit0aGF0IHRoZSBQcm9ncmFtIGRvZXMgbm90IGluZnJpbmdlIHRoZSBwYXRlbnQgb3Igb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5CityaWdodHMgb2YgYW55IG90aGVyIGVudGl0eS4gRWFjaCBDb250cmlidXRvciBkaXNjbGFpbXMgYW55IGxpYWJpbGl0eSB0byBSZWNpcGllbnQKK2ZvciBjbGFpbXMgYnJvdWdodCBieSBhbnkgb3RoZXIgZW50aXR5IGJhc2VkIG9uIGluZnJpbmdlbWVudCBvZiBpbnRlbGxlY3R1YWwKK3Byb3BlcnR5IHJpZ2h0cyBvciBvdGhlcndpc2UuIEFzIGEgY29uZGl0aW9uIHRvIGV4ZXJjaXNpbmcgdGhlIHJpZ2h0cyBhbmQKK2xpY2Vuc2VzIGdyYW50ZWQgaGVyZXVuZGVyLCBlYWNoIFJlY2lwaWVudCBoZXJlYnkgYXNzdW1lcyBzb2xlIHJlc3BvbnNpYmlsaXR5Cit0byBzZWN1cmUgYW55IG90aGVyIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgbmVlZGVkLCBpZiBhbnkuIEZvciBleGFtcGxlLAoraWYgYSB0aGlyZCBwYXJ0eSBwYXRlbnQgbGljZW5zZSBpcyByZXF1aXJlZCB0byBhbGxvdyBSZWNpcGllbnQgdG8gZGlzdHJpYnV0ZQordGhlIFByb2dyYW0sIGl0IGlzIFJlY2lwaWVudCdzIHJlc3BvbnNpYmlsaXR5IHRvIGFjcXVpcmUgdGhhdCBsaWNlbnNlIGJlZm9yZQorZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtLjwvc3Bhbj48L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmQpCitFYWNoIENvbnRyaWJ1dG9yIHJlcHJlc2VudHMgdGhhdCB0byBpdHMga25vd2xlZGdlIGl0IGhhcyBzdWZmaWNpZW50IGNvcHlyaWdodAorcmlnaHRzIGluIGl0cyBDb250cmlidXRpb24sIGlmIGFueSwgdG8gZ3JhbnQgdGhlIGNvcHlyaWdodCBsaWNlbnNlIHNldCBmb3J0aCBpbgordGhpcyBBZ3JlZW1lbnQuIDwvc3Bhbj48L3A+CisKKzxwPjxiPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz4zLiBSRVFVSVJFTUVOVFM8L3NwYW4+PC9iPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5BIENvbnRyaWJ1dG9yIG1heSBjaG9vc2UgdG8gZGlzdHJpYnV0ZSB0aGUKK1Byb2dyYW0gaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciBpdHMgb3duIGxpY2Vuc2UgYWdyZWVtZW50LCBwcm92aWRlZCB0aGF0Ojwvc3Bhbj4KKzwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+YSkKK2l0IGNvbXBsaWVzIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoaXMgQWdyZWVtZW50OyBhbmQ8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5iKQoraXRzIGxpY2Vuc2UgYWdyZWVtZW50Ojwvc3Bhbj48L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmkpCitlZmZlY3RpdmVseSBkaXNjbGFpbXMgb24gYmVoYWxmIG9mIGFsbCBDb250cmlidXRvcnMgYWxsIHdhcnJhbnRpZXMgYW5kCitjb25kaXRpb25zLCBleHByZXNzIGFuZCBpbXBsaWVkLCBpbmNsdWRpbmcgd2FycmFudGllcyBvciBjb25kaXRpb25zIG9mIHRpdGxlCithbmQgbm9uLWluZnJpbmdlbWVudCwgYW5kIGltcGxpZWQgd2FycmFudGllcyBvciBjb25kaXRpb25zIG9mIG1lcmNoYW50YWJpbGl0eQorYW5kIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlOyA8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5paSkKK2VmZmVjdGl2ZWx5IGV4Y2x1ZGVzIG9uIGJlaGFsZiBvZiBhbGwgQ29udHJpYnV0b3JzIGFsbCBsaWFiaWxpdHkgZm9yIGRhbWFnZXMsCitpbmNsdWRpbmcgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwgaW5jaWRlbnRhbCBhbmQgY29uc2VxdWVudGlhbCBkYW1hZ2VzLCBzdWNoCithcyBsb3N0IHByb2ZpdHM7IDwvc3Bhbj48L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmlpaSkKK3N0YXRlcyB0aGF0IGFueSBwcm92aXNpb25zIHdoaWNoIGRpZmZlciBmcm9tIHRoaXMgQWdyZWVtZW50IGFyZSBvZmZlcmVkIGJ5IHRoYXQKK0NvbnRyaWJ1dG9yIGFsb25lIGFuZCBub3QgYnkgYW55IG90aGVyIHBhcnR5OyBhbmQ8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5pdikKK3N0YXRlcyB0aGF0IHNvdXJjZSBjb2RlIGZvciB0aGUgUHJvZ3JhbSBpcyBhdmFpbGFibGUgZnJvbSBzdWNoIENvbnRyaWJ1dG9yLCBhbmQKK2luZm9ybXMgbGljZW5zZWVzIGhvdyB0byBvYnRhaW4gaXQgaW4gYSByZWFzb25hYmxlIG1hbm5lciBvbiBvciB0aHJvdWdoIGEKK21lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBleGNoYW5nZS48c3BhbiBzdHlsZT0nY29sb3I6Ymx1ZSc+IDwvc3Bhbj48L3NwYW4+PC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+V2hlbiB0aGUgUHJvZ3JhbSBpcyBtYWRlIGF2YWlsYWJsZSBpbiBzb3VyY2UKK2NvZGUgZm9ybTo8L3NwYW4+IDwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+YSkKK2l0IG11c3QgYmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhpcyBBZ3JlZW1lbnQ7IGFuZCA8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5iKSBhCitjb3B5IG9mIHRoaXMgQWdyZWVtZW50IG11c3QgYmUgaW5jbHVkZWQgd2l0aCBlYWNoIGNvcHkgb2YgdGhlIFByb2dyYW0uIDwvc3Bhbj48L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5Db250cmlidXRvcnMgbWF5IG5vdCByZW1vdmUgb3IgYWx0ZXIgYW55Citjb3B5cmlnaHQgbm90aWNlcyBjb250YWluZWQgd2l0aGluIHRoZSBQcm9ncmFtLiA8L3NwYW4+PC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+RWFjaCBDb250cmlidXRvciBtdXN0IGlkZW50aWZ5IGl0c2VsZiBhcyB0aGUKK29yaWdpbmF0b3Igb2YgaXRzIENvbnRyaWJ1dGlvbiwgaWYgYW55LCBpbiBhIG1hbm5lciB0aGF0IHJlYXNvbmFibHkgYWxsb3dzCitzdWJzZXF1ZW50IFJlY2lwaWVudHMgdG8gaWRlbnRpZnkgdGhlIG9yaWdpbmF0b3Igb2YgdGhlIENvbnRyaWJ1dGlvbi4gPC9zcGFuPjwvcD4KKworPHA+PGI+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPjQuIENPTU1FUkNJQUwgRElTVFJJQlVUSU9OPC9zcGFuPjwvYj4gPC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+Q29tbWVyY2lhbCBkaXN0cmlidXRvcnMgb2Ygc29mdHdhcmUgbWF5CithY2NlcHQgY2VydGFpbiByZXNwb25zaWJpbGl0aWVzIHdpdGggcmVzcGVjdCB0byBlbmQgdXNlcnMsIGJ1c2luZXNzIHBhcnRuZXJzCithbmQgdGhlIGxpa2UuIFdoaWxlIHRoaXMgbGljZW5zZSBpcyBpbnRlbmRlZCB0byBmYWNpbGl0YXRlIHRoZSBjb21tZXJjaWFsIHVzZQorb2YgdGhlIFByb2dyYW0sIHRoZSBDb250cmlidXRvciB3aG8gaW5jbHVkZXMgdGhlIFByb2dyYW0gaW4gYSBjb21tZXJjaWFsCitwcm9kdWN0IG9mZmVyaW5nIHNob3VsZCBkbyBzbyBpbiBhIG1hbm5lciB3aGljaCBkb2VzIG5vdCBjcmVhdGUgcG90ZW50aWFsCitsaWFiaWxpdHkgZm9yIG90aGVyIENvbnRyaWJ1dG9ycy4gVGhlcmVmb3JlLCBpZiBhIENvbnRyaWJ1dG9yIGluY2x1ZGVzIHRoZQorUHJvZ3JhbSBpbiBhIGNvbW1lcmNpYWwgcHJvZHVjdCBvZmZlcmluZywgc3VjaCBDb250cmlidXRvciAoJnF1b3Q7Q29tbWVyY2lhbAorQ29udHJpYnV0b3ImcXVvdDspIGhlcmVieSBhZ3JlZXMgdG8gZGVmZW5kIGFuZCBpbmRlbW5pZnkgZXZlcnkgb3RoZXIKK0NvbnRyaWJ1dG9yICgmcXVvdDtJbmRlbW5pZmllZCBDb250cmlidXRvciZxdW90OykgYWdhaW5zdCBhbnkgbG9zc2VzLCBkYW1hZ2VzIGFuZAorY29zdHMgKGNvbGxlY3RpdmVseSAmcXVvdDtMb3NzZXMmcXVvdDspIGFyaXNpbmcgZnJvbSBjbGFpbXMsIGxhd3N1aXRzIGFuZCBvdGhlcgorbGVnYWwgYWN0aW9ucyBicm91Z2h0IGJ5IGEgdGhpcmQgcGFydHkgYWdhaW5zdCB0aGUgSW5kZW1uaWZpZWQgQ29udHJpYnV0b3IgdG8KK3RoZSBleHRlbnQgY2F1c2VkIGJ5IHRoZSBhY3RzIG9yIG9taXNzaW9ucyBvZiBzdWNoIENvbW1lcmNpYWwgQ29udHJpYnV0b3IgaW4KK2Nvbm5lY3Rpb24gd2l0aCBpdHMgZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtIGluIGEgY29tbWVyY2lhbCBwcm9kdWN0CitvZmZlcmluZy4gVGhlIG9ibGlnYXRpb25zIGluIHRoaXMgc2VjdGlvbiBkbyBub3QgYXBwbHkgdG8gYW55IGNsYWltcyBvciBMb3NzZXMKK3JlbGF0aW5nIHRvIGFueSBhY3R1YWwgb3IgYWxsZWdlZCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgaW5mcmluZ2VtZW50LiBJbiBvcmRlcgordG8gcXVhbGlmeSwgYW4gSW5kZW1uaWZpZWQgQ29udHJpYnV0b3IgbXVzdDogYSkgcHJvbXB0bHkgbm90aWZ5IHRoZSBDb21tZXJjaWFsCitDb250cmlidXRvciBpbiB3cml0aW5nIG9mIHN1Y2ggY2xhaW0sIGFuZCBiKSBhbGxvdyB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvcgordG8gY29udHJvbCwgYW5kIGNvb3BlcmF0ZSB3aXRoIHRoZSBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIGluLCB0aGUgZGVmZW5zZSBhbmQKK2FueSByZWxhdGVkIHNldHRsZW1lbnQgbmVnb3RpYXRpb25zLiBUaGUgSW5kZW1uaWZpZWQgQ29udHJpYnV0b3IgbWF5IHBhcnRpY2lwYXRlCitpbiBhbnkgc3VjaCBjbGFpbSBhdCBpdHMgb3duIGV4cGVuc2UuPC9zcGFuPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5Gb3IgZXhhbXBsZSwgYSBDb250cmlidXRvciBtaWdodCBpbmNsdWRlIHRoZQorUHJvZ3JhbSBpbiBhIGNvbW1lcmNpYWwgcHJvZHVjdCBvZmZlcmluZywgUHJvZHVjdCBYLiBUaGF0IENvbnRyaWJ1dG9yIGlzIHRoZW4gYQorQ29tbWVyY2lhbCBDb250cmlidXRvci4gSWYgdGhhdCBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIHRoZW4gbWFrZXMgcGVyZm9ybWFuY2UKK2NsYWltcywgb3Igb2ZmZXJzIHdhcnJhbnRpZXMgcmVsYXRlZCB0byBQcm9kdWN0IFgsIHRob3NlIHBlcmZvcm1hbmNlIGNsYWltcyBhbmQKK3dhcnJhbnRpZXMgYXJlIHN1Y2ggQ29tbWVyY2lhbCBDb250cmlidXRvcidzIHJlc3BvbnNpYmlsaXR5IGFsb25lLiBVbmRlciB0aGlzCitzZWN0aW9uLCB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciB3b3VsZCBoYXZlIHRvIGRlZmVuZCBjbGFpbXMgYWdhaW5zdCB0aGUKK290aGVyIENvbnRyaWJ1dG9ycyByZWxhdGVkIHRvIHRob3NlIHBlcmZvcm1hbmNlIGNsYWltcyBhbmQgd2FycmFudGllcywgYW5kIGlmIGEKK2NvdXJ0IHJlcXVpcmVzIGFueSBvdGhlciBDb250cmlidXRvciB0byBwYXkgYW55IGRhbWFnZXMgYXMgYSByZXN1bHQsIHRoZQorQ29tbWVyY2lhbCBDb250cmlidXRvciBtdXN0IHBheSB0aG9zZSBkYW1hZ2VzLjwvc3Bhbj4gPC9wPgorCis8cD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+NS4gTk8gV0FSUkFOVFk8L3NwYW4+PC9iPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5FWENFUFQgQVMgRVhQUkVTU0xZIFNFVCBGT1JUSCBJTiBUSElTCitBR1JFRU1FTlQsIFRIRSBQUk9HUkFNIElTIFBST1ZJREVEIE9OIEFOICZxdW90O0FTIElTJnF1b3Q7IEJBU0lTLCBXSVRIT1VUCitXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLAorV0lUSE9VVCBMSU1JVEFUSU9OLCBBTlkgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULAorTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBFYWNoIFJlY2lwaWVudCBpcyBzb2xlbHkKK3Jlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIGFuZCBkaXN0cmlidXRpbmcgdGhlCitQcm9ncmFtIGFuZCBhc3N1bWVzIGFsbCByaXNrcyBhc3NvY2lhdGVkIHdpdGggaXRzIGV4ZXJjaXNlIG9mIHJpZ2h0cyB1bmRlciB0aGlzCitBZ3JlZW1lbnQgLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHRoZSByaXNrcyBhbmQgY29zdHMgb2YgcHJvZ3JhbSBlcnJvcnMsCitjb21wbGlhbmNlIHdpdGggYXBwbGljYWJsZSBsYXdzLCBkYW1hZ2UgdG8gb3IgbG9zcyBvZiBkYXRhLCBwcm9ncmFtcyBvcgorZXF1aXBtZW50LCBhbmQgdW5hdmFpbGFiaWxpdHkgb3IgaW50ZXJydXB0aW9uIG9mIG9wZXJhdGlvbnMuIDwvc3Bhbj48L3A+CisKKzxwPjxiPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz42LiBESVNDTEFJTUVSIE9GIExJQUJJTElUWTwvc3Bhbj48L2I+IDwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPkVYQ0VQVCBBUyBFWFBSRVNTTFkgU0VUIEZPUlRIIElOIFRISVMKK0FHUkVFTUVOVCwgTkVJVEhFUiBSRUNJUElFTlQgTk9SIEFOWSBDT05UUklCVVRPUlMgU0hBTEwgSEFWRSBBTlkgTElBQklMSVRZIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTiBMT1NUIFBST0ZJVFMpLCBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKK05FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT1IgRElTVFJJQlVUSU9OIE9GCitUSEUgUFJPR1JBTSBPUiBUSEUgRVhFUkNJU0UgT0YgQU5ZIFJJR0hUUyBHUkFOVEVEIEhFUkVVTkRFUiwgRVZFTiBJRiBBRFZJU0VEIE9GCitUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTLjwvc3Bhbj4gPC9wPgorCis8cD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+Ny4gR0VORVJBTDwvc3Bhbj48L2I+IDwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPklmIGFueSBwcm92aXNpb24gb2YgdGhpcyBBZ3JlZW1lbnQgaXMgaW52YWxpZAorb3IgdW5lbmZvcmNlYWJsZSB1bmRlciBhcHBsaWNhYmxlIGxhdywgaXQgc2hhbGwgbm90IGFmZmVjdCB0aGUgdmFsaWRpdHkgb3IKK2VuZm9yY2VhYmlsaXR5IG9mIHRoZSByZW1haW5kZXIgb2YgdGhlIHRlcm1zIG9mIHRoaXMgQWdyZWVtZW50LCBhbmQgd2l0aG91dAorZnVydGhlciBhY3Rpb24gYnkgdGhlIHBhcnRpZXMgaGVyZXRvLCBzdWNoIHByb3Zpc2lvbiBzaGFsbCBiZSByZWZvcm1lZCB0byB0aGUKK21pbmltdW0gZXh0ZW50IG5lY2Vzc2FyeSB0byBtYWtlIHN1Y2ggcHJvdmlzaW9uIHZhbGlkIGFuZCBlbmZvcmNlYWJsZS48L3NwYW4+IDwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPklmIFJlY2lwaWVudCBpbnN0aXR1dGVzIHBhdGVudCBsaXRpZ2F0aW9uCithZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpCithbGxlZ2luZyB0aGF0IHRoZSBQcm9ncmFtIGl0c2VsZiAoZXhjbHVkaW5nIGNvbWJpbmF0aW9ucyBvZiB0aGUgUHJvZ3JhbSB3aXRoCitvdGhlciBzb2Z0d2FyZSBvciBoYXJkd2FyZSkgaW5mcmluZ2VzIHN1Y2ggUmVjaXBpZW50J3MgcGF0ZW50KHMpLCB0aGVuIHN1Y2gKK1JlY2lwaWVudCdzIHJpZ2h0cyBncmFudGVkIHVuZGVyIFNlY3Rpb24gMihiKSBzaGFsbCB0ZXJtaW5hdGUgYXMgb2YgdGhlIGRhdGUKK3N1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4gPC9zcGFuPjwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPkFsbCBSZWNpcGllbnQncyByaWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQKK3NoYWxsIHRlcm1pbmF0ZSBpZiBpdCBmYWlscyB0byBjb21wbHkgd2l0aCBhbnkgb2YgdGhlIG1hdGVyaWFsIHRlcm1zIG9yCitjb25kaXRpb25zIG9mIHRoaXMgQWdyZWVtZW50IGFuZCBkb2VzIG5vdCBjdXJlIHN1Y2ggZmFpbHVyZSBpbiBhIHJlYXNvbmFibGUKK3BlcmlvZCBvZiB0aW1lIGFmdGVyIGJlY29taW5nIGF3YXJlIG9mIHN1Y2ggbm9uY29tcGxpYW5jZS4gSWYgYWxsIFJlY2lwaWVudCdzCityaWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQgdGVybWluYXRlLCBSZWNpcGllbnQgYWdyZWVzIHRvIGNlYXNlIHVzZSBhbmQKK2Rpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBhcyBzb29uIGFzIHJlYXNvbmFibHkgcHJhY3RpY2FibGUuIEhvd2V2ZXIsCitSZWNpcGllbnQncyBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzIEFncmVlbWVudCBhbmQgYW55IGxpY2Vuc2VzIGdyYW50ZWQgYnkKK1JlY2lwaWVudCByZWxhdGluZyB0byB0aGUgUHJvZ3JhbSBzaGFsbCBjb250aW51ZSBhbmQgc3Vydml2ZS4gPC9zcGFuPjwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPkV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlCitjb3BpZXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGJ1dCBpbiBvcmRlciB0byBhdm9pZCBpbmNvbnNpc3RlbmN5IHRoZSBBZ3JlZW1lbnQgaXMKK2NvcHlyaWdodGVkIGFuZCBtYXkgb25seSBiZSBtb2RpZmllZCBpbiB0aGUgZm9sbG93aW5nIG1hbm5lci4gVGhlIEFncmVlbWVudAorU3Rld2FyZCByZXNlcnZlcyB0aGUgcmlnaHQgdG8gcHVibGlzaCBuZXcgdmVyc2lvbnMgKGluY2x1ZGluZyByZXZpc2lvbnMpIG9mCit0aGlzIEFncmVlbWVudCBmcm9tIHRpbWUgdG8gdGltZS4gTm8gb25lIG90aGVyIHRoYW4gdGhlIEFncmVlbWVudCBTdGV3YXJkIGhhcwordGhlIHJpZ2h0IHRvIG1vZGlmeSB0aGlzIEFncmVlbWVudC4gVGhlIEVjbGlwc2UgRm91bmRhdGlvbiBpcyB0aGUgaW5pdGlhbAorQWdyZWVtZW50IFN0ZXdhcmQuIFRoZSBFY2xpcHNlIEZvdW5kYXRpb24gbWF5IGFzc2lnbiB0aGUgcmVzcG9uc2liaWxpdHkgdG8KK3NlcnZlIGFzIHRoZSBBZ3JlZW1lbnQgU3Rld2FyZCB0byBhIHN1aXRhYmxlIHNlcGFyYXRlIGVudGl0eS4gRWFjaCBuZXcgdmVyc2lvbgorb2YgdGhlIEFncmVlbWVudCB3aWxsIGJlIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuIFRoZSBQcm9ncmFtCisoaW5jbHVkaW5nIENvbnRyaWJ1dGlvbnMpIG1heSBhbHdheXMgYmUgZGlzdHJpYnV0ZWQgc3ViamVjdCB0byB0aGUgdmVyc2lvbiBvZgordGhlIEFncmVlbWVudCB1bmRlciB3aGljaCBpdCB3YXMgcmVjZWl2ZWQuIEluIGFkZGl0aW9uLCBhZnRlciBhIG5ldyB2ZXJzaW9uIG9mCit0aGUgQWdyZWVtZW50IGlzIHB1Ymxpc2hlZCwgQ29udHJpYnV0b3IgbWF5IGVsZWN0IHRvIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0KKyhpbmNsdWRpbmcgaXRzIENvbnRyaWJ1dGlvbnMpIHVuZGVyIHRoZSBuZXcgdmVyc2lvbi4gRXhjZXB0IGFzIGV4cHJlc3NseSBzdGF0ZWQKK2luIFNlY3Rpb25zIDIoYSkgYW5kIDIoYikgYWJvdmUsIFJlY2lwaWVudCByZWNlaXZlcyBubyByaWdodHMgb3IgbGljZW5zZXMgdG8KK3RoZSBpbnRlbGxlY3R1YWwgcHJvcGVydHkgb2YgYW55IENvbnRyaWJ1dG9yIHVuZGVyIHRoaXMgQWdyZWVtZW50LCB3aGV0aGVyCitleHByZXNzbHksIGJ5IGltcGxpY2F0aW9uLCBlc3RvcHBlbCBvciBvdGhlcndpc2UuIEFsbCByaWdodHMgaW4gdGhlIFByb2dyYW0gbm90CitleHByZXNzbHkgZ3JhbnRlZCB1bmRlciB0aGlzIEFncmVlbWVudCBhcmUgcmVzZXJ2ZWQuPC9zcGFuPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5UaGlzIEFncmVlbWVudCBpcyBnb3Zlcm5lZCBieSB0aGUgbGF3cyBvZiB0aGUKK1N0YXRlIG9mIE5ldyBZb3JrIGFuZCB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGxhd3Mgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YKK0FtZXJpY2EuIE5vIHBhcnR5IHRvIHRoaXMgQWdyZWVtZW50IHdpbGwgYnJpbmcgYSBsZWdhbCBhY3Rpb24gdW5kZXIgdGhpcworQWdyZWVtZW50IG1vcmUgdGhhbiBvbmUgeWVhciBhZnRlciB0aGUgY2F1c2Ugb2YgYWN0aW9uIGFyb3NlLiBFYWNoIHBhcnR5IHdhaXZlcworaXRzIHJpZ2h0cyB0byBhIGp1cnkgdHJpYWwgaW4gYW55IHJlc3VsdGluZyBsaXRpZ2F0aW9uLjwvc3Bhbj4gPC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWw+PC9wPgorCis8L2Rpdj4KKworPC9ib2R5PgorCis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZW5kLnNka18yLjQuMS52MjAxMzA0MTgwODU1L2ZlYXR1cmUucHJvcGVydGllcyBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGVuZC5zZGtfMi40LjEudjIwMTMwNDE4MDg1NS9mZWF0dXJlLnByb3BlcnRpZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzI1ZTAwOAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGVuZC5zZGtfMi40LjEudjIwMTMwNDE4MDg1NS9mZWF0dXJlLnByb3BlcnRpZXMKQEAgLTAsMCArMSwxMjggQEAKK2ZlYXR1cmVOYW1lPVh0ZW5kIFNESyAKKyMgInByb3ZpZGVyTmFtZSIgcHJvcGVydHkgLSBuYW1lIG9mIHRoZSBjb21wYW55IHRoYXQgcHJvdmlkZXMgdGhlIGZlYXR1cmUKK3Byb3ZpZGVyTmFtZT0gRWNsaXBzZSBYdGVuZAorbGljZW5zZT1cCitFY2xpcHNlIEZvdW5kYXRpb24gU29mdHdhcmUgVXNlciBBZ3JlZW1lbnRcblwKK0ZlYnJ1YXJ5IDEsIDIwMTFcblwKK1xuXAorVXNhZ2UgT2YgQ29udGVudFxuXAorXG5cCitUSEUgRUNMSVBTRSBGT1VOREFUSU9OIE1BS0VTIEFWQUlMQUJMRSBTT0ZUV0FSRSwgRE9DVU1FTlRBVElPTiwgSU5GT1JNQVRJT04gQU5EL09SXG5cCitPVEhFUiBNQVRFUklBTFMgRk9SIE9QRU4gU09VUkNFIFBST0pFQ1RTIChDT0xMRUNUSVZFTFkgIkNPTlRFTlQiKS5cblwKK1VTRSBPRiBUSEUgQ09OVEVOVCBJUyBHT1ZFUk5FRCBCWSBUSEUgVEVSTVMgQU5EIENPTkRJVElPTlMgT0YgVEhJU1xuXAorQUdSRUVNRU5UIEFORC9PUiBUSEUgVEVSTVMgQU5EIENPTkRJVElPTlMgT0YgTElDRU5TRSBBR1JFRU1FTlRTIE9SXG5cCitOT1RJQ0VTIElORElDQVRFRCBPUiBSRUZFUkVOQ0VEIEJFTE9XLiAgQlkgVVNJTkcgVEhFIENPTlRFTlQsIFlPVVxuXAorQUdSRUUgVEhBVCBZT1VSIFVTRSBPRiBUSEUgQ09OVEVOVCBJUyBHT1ZFUk5FRCBCWSBUSElTIEFHUkVFTUVOVFxuXAorQU5EL09SIFRIRSBURVJNUyBBTkQgQ09ORElUSU9OUyBPRiBBTlkgQVBQTElDQUJMRSBMSUNFTlNFIEFHUkVFTUVOVFNcblwKK09SIE5PVElDRVMgSU5ESUNBVEVEIE9SIFJFRkVSRU5DRUQgQkVMT1cuICBJRiBZT1UgRE8gTk9UIEFHUkVFIFRPIFRIRVxuXAorVEVSTVMgQU5EIENPTkRJVElPTlMgT0YgVEhJUyBBR1JFRU1FTlQgQU5EIFRIRSBURVJNUyBBTkQgQ09ORElUSU9OU1xuXAorT0YgQU5ZIEFQUExJQ0FCTEUgTElDRU5TRSBBR1JFRU1FTlRTIE9SIE5PVElDRVMgSU5ESUNBVEVEIE9SIFJFRkVSRU5DRURcblwKK0JFTE9XLCBUSEVOIFlPVSBNQVkgTk9UIFVTRSBUSEUgQ09OVEVOVC5cblwKK1xuXAorQXBwbGljYWJsZSBMaWNlbnNlc1xuXAorXG5cCitVbmxlc3Mgb3RoZXJ3aXNlIGluZGljYXRlZCwgYWxsIENvbnRlbnQgbWFkZSBhdmFpbGFibGUgYnkgdGhlXG5cCitFY2xpcHNlIEZvdW5kYXRpb24gaXMgcHJvdmlkZWQgdG8geW91IHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZlxuXAordGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjAgKCJFUEwiKS4gQSBjb3B5IG9mIHRoZSBFUEwgaXNcblwKK3Byb3ZpZGVkIHdpdGggdGhpcyBDb250ZW50IGFuZCBpcyBhbHNvIGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbC5cblwKK0ZvciBwdXJwb3NlcyBvZiB0aGUgRVBMLCAiUHJvZ3JhbSIgd2lsbCBtZWFuIHRoZSBDb250ZW50LlxuXAorXG5cCitDb250ZW50IGluY2x1ZGVzLCBidXQgaXMgbm90IGxpbWl0ZWQgdG8sIHNvdXJjZSBjb2RlLCBvYmplY3QgY29kZSxcblwKK2RvY3VtZW50YXRpb24gYW5kIG90aGVyIGZpbGVzIG1haW50YWluZWQgaW4gdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBzb3VyY2UgY29kZVxuXAorcmVwb3NpdG9yeSAoIlJlcG9zaXRvcnkiKSBpbiBzb2Z0d2FyZSBtb2R1bGVzICgiTW9kdWxlcyIpIGFuZCBtYWRlIGF2YWlsYWJsZVxuXAorYXMgZG93bmxvYWRhYmxlIGFyY2hpdmVzICgiRG93bmxvYWRzIikuXG5cCitcblwKKyAgICAgICAtIENvbnRlbnQgbWF5IGJlIHN0cnVjdHVyZWQgYW5kIHBhY2thZ2VkIGludG8gbW9kdWxlcyB0byBmYWNpbGl0YXRlIGRlbGl2ZXJpbmcsXG5cCisgICAgICAgICBleHRlbmRpbmcsIGFuZCB1cGdyYWRpbmcgdGhlIENvbnRlbnQuIFR5cGljYWwgbW9kdWxlcyBtYXkgaW5jbHVkZSBwbHVnLWlucyAoIlBsdWctaW5zIiksXG5cCisgICAgICAgICBwbHVnLWluIGZyYWdtZW50cyAoIkZyYWdtZW50cyIpLCBhbmQgZmVhdHVyZXMgKCJGZWF0dXJlcyIpLlxuXAorICAgICAgIC0gRWFjaCBQbHVnLWluIG9yIEZyYWdtZW50IG1heSBiZSBwYWNrYWdlZCBhcyBhIHN1Yi1kaXJlY3Rvcnkgb3IgSkFSIChKYXZhKFRNKSBBUmNoaXZlKVxuXAorICAgICAgICAgaW4gYSBkaXJlY3RvcnkgbmFtZWQgInBsdWdpbnMiLlxuXAorICAgICAgIC0gQSBGZWF0dXJlIGlzIGEgYnVuZGxlIG9mIG9uZSBvciBtb3JlIFBsdWctaW5zIGFuZC9vciBGcmFnbWVudHMgYW5kIGFzc29jaWF0ZWQgbWF0ZXJpYWwuXG5cCisgICAgICAgICBFYWNoIEZlYXR1cmUgbWF5IGJlIHBhY2thZ2VkIGFzIGEgc3ViLWRpcmVjdG9yeSBpbiBhIGRpcmVjdG9yeSBuYW1lZCAiZmVhdHVyZXMiLlxuXAorICAgICAgICAgV2l0aGluIGEgRmVhdHVyZSwgZmlsZXMgbmFtZWQgImZlYXR1cmUueG1sIiBtYXkgY29udGFpbiBhIGxpc3Qgb2YgdGhlIG5hbWVzIGFuZCB2ZXJzaW9uXG5cCisgICAgICAgICBudW1iZXJzIG9mIHRoZSBQbHVnLWlucyBhbmQvb3IgRnJhZ21lbnRzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IEZlYXR1cmUuXG5cCisgICAgICAgLSBGZWF0dXJlcyBtYXkgYWxzbyBpbmNsdWRlIG90aGVyIEZlYXR1cmVzICgiSW5jbHVkZWQgRmVhdHVyZXMiKS4gV2l0aGluIGEgRmVhdHVyZSwgZmlsZXNcblwKKyAgICAgICAgIG5hbWVkICJmZWF0dXJlLnhtbCIgbWF5IGNvbnRhaW4gYSBsaXN0IG9mIHRoZSBuYW1lcyBhbmQgdmVyc2lvbiBudW1iZXJzIG9mIEluY2x1ZGVkIEZlYXR1cmVzLlxuXAorXG5cCitUaGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZ292ZXJuaW5nIFBsdWctaW5zIGFuZCBGcmFnbWVudHMgc2hvdWxkIGJlXG5cCitjb250YWluZWQgaW4gZmlsZXMgbmFtZWQgImFib3V0Lmh0bWwiICgiQWJvdXRzIikuIFRoZSB0ZXJtcyBhbmRcblwKK2NvbmRpdGlvbnMgZ292ZXJuaW5nIEZlYXR1cmVzIGFuZCBJbmNsdWRlZCBGZWF0dXJlcyBzaG91bGQgYmUgY29udGFpbmVkXG5cCitpbiBmaWxlcyBuYW1lZCAibGljZW5zZS5odG1sIiAoIkZlYXR1cmUgTGljZW5zZXMiKS4gQWJvdXRzIGFuZCBGZWF0dXJlXG5cCitMaWNlbnNlcyBtYXkgYmUgbG9jYXRlZCBpbiBhbnkgZGlyZWN0b3J5IG9mIGEgRG93bmxvYWQgb3IgTW9kdWxlXG5cCitpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0byB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczpcblwKK1xuXAorICAgICAgIC0gVGhlIHRvcC1sZXZlbCAocm9vdCkgZGlyZWN0b3J5XG5cCisgICAgICAgLSBQbHVnLWluIGFuZCBGcmFnbWVudCBkaXJlY3Rvcmllc1xuXAorICAgICAgIC0gSW5zaWRlIFBsdWctaW5zIGFuZCBGcmFnbWVudHMgcGFja2FnZWQgYXMgSkFSc1xuXAorICAgICAgIC0gU3ViLWRpcmVjdG9yaWVzIG9mIHRoZSBkaXJlY3RvcnkgbmFtZWQgInNyYyIgb2YgY2VydGFpbiBQbHVnLWluc1xuXAorICAgICAgIC0gRmVhdHVyZSBkaXJlY3Rvcmllc1xuXAorXG5cCitOb3RlOiBpZiBhIEZlYXR1cmUgbWFkZSBhdmFpbGFibGUgYnkgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBpcyBpbnN0YWxsZWQgdXNpbmcgdGhlXG5cCitQcm92aXNpb25pbmcgVGVjaG5vbG9neSAoYXMgZGVmaW5lZCBiZWxvdyksIHlvdSBtdXN0IGFncmVlIHRvIGEgbGljZW5zZSAoIkZlYXR1cmUgXG5cCitVcGRhdGUgTGljZW5zZSIpIGR1cmluZyB0aGUgaW5zdGFsbGF0aW9uIHByb2Nlc3MuIElmIHRoZSBGZWF0dXJlIGNvbnRhaW5zXG5cCitJbmNsdWRlZCBGZWF0dXJlcywgdGhlIEZlYXR1cmUgVXBkYXRlIExpY2Vuc2Ugc2hvdWxkIGVpdGhlciBwcm92aWRlIHlvdVxuXAord2l0aCB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZ292ZXJuaW5nIHRoZSBJbmNsdWRlZCBGZWF0dXJlcyBvciBpbmZvcm1cblwKK3lvdSB3aGVyZSB5b3UgY2FuIGxvY2F0ZSB0aGVtLiBGZWF0dXJlIFVwZGF0ZSBMaWNlbnNlcyBtYXkgYmUgZm91bmQgaW5cblwKK3RoZSAibGljZW5zZSIgcHJvcGVydHkgb2YgZmlsZXMgbmFtZWQgImZlYXR1cmUucHJvcGVydGllcyIgZm91bmQgd2l0aGluIGEgRmVhdHVyZS5cblwKK1N1Y2ggQWJvdXRzLCBGZWF0dXJlIExpY2Vuc2VzLCBhbmQgRmVhdHVyZSBVcGRhdGUgTGljZW5zZXMgY29udGFpbiB0aGVcblwKK3Rlcm1zIGFuZCBjb25kaXRpb25zIChvciByZWZlcmVuY2VzIHRvIHN1Y2ggdGVybXMgYW5kIGNvbmRpdGlvbnMpIHRoYXRcblwKK2dvdmVybiB5b3VyIHVzZSBvZiB0aGUgYXNzb2NpYXRlZCBDb250ZW50IGluIHRoYXQgZGlyZWN0b3J5LlxuXAorXG5cCitUSEUgQUJPVVRTLCBGRUFUVVJFIExJQ0VOU0VTLCBBTkQgRkVBVFVSRSBVUERBVEUgTElDRU5TRVMgTUFZIFJFRkVSXG5cCitUTyBUSEUgRVBMIE9SIE9USEVSIExJQ0VOU0UgQUdSRUVNRU5UUywgTk9USUNFUyBPUiBURVJNUyBBTkQgQ09ORElUSU9OUy5cblwKK1NPTUUgT0YgVEhFU0UgT1RIRVIgTElDRU5TRSBBR1JFRU1FTlRTIE1BWSBJTkNMVURFIChCVVQgQVJFIE5PVCBMSU1JVEVEIFRPKTpcblwKK1xuXAorICAgICAgIC0gRWNsaXBzZSBEaXN0cmlidXRpb24gTGljZW5zZSBWZXJzaW9uIDEuMCAoYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGljZW5zZXMvZWRsLXYxLjAuaHRtbClcblwKKyAgICAgICAtIENvbW1vbiBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDEuMCAoYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sKVxuXAorICAgICAgIC0gQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMS4xIChhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UpXG5cCisgICAgICAgLSBBcGFjaGUgU29mdHdhcmUgTGljZW5zZSAyLjAgKGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjApXG5cCisgICAgICAgLSBNZXRybyBMaW5rIFB1YmxpYyBMaWNlbnNlIDEuMDAgKGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb3Blbm1vdGlmL3N1cHBvcnRlcnMvbWV0cm9saW5rL2xpY2Vuc2UuaHRtbClcblwKKyAgICAgICAtIE1vemlsbGEgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjEgKGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3Lm1vemlsbGEub3JnL01QTC9NUEwtMS4xLmh0bWwpXG5cCitcblwKK0lUIElTIFlPVVIgT0JMSUdBVElPTiBUTyBSRUFEIEFORCBBQ0NFUFQgQUxMIFNVQ0ggVEVSTVMgQU5EIENPTkRJVElPTlMgUFJJT1JcblwKK1RPIFVTRSBPRiBUSEUgQ09OVEVOVC4gSWYgbm8gQWJvdXQsIEZlYXR1cmUgTGljZW5zZSwgb3IgRmVhdHVyZSBVcGRhdGUgTGljZW5zZVxuXAoraXMgcHJvdmlkZWQsIHBsZWFzZSBjb250YWN0IHRoZSBFY2xpcHNlIEZvdW5kYXRpb24gdG8gZGV0ZXJtaW5lIHdoYXQgdGVybXMgYW5kIGNvbmRpdGlvbnNcblwKK2dvdmVybiB0aGF0IHBhcnRpY3VsYXIgQ29udGVudC5cblwKK1xuXAorXG5cVXNlIG9mIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5XG5cCitcblwKK1RoZSBFY2xpcHNlIEZvdW5kYXRpb24gbWFrZXMgYXZhaWxhYmxlIHByb3Zpc2lvbmluZyBzb2Z0d2FyZSwgZXhhbXBsZXMgb2Ygd2hpY2ggaW5jbHVkZSxcblwKK2J1dCBhcmUgbm90IGxpbWl0ZWQgdG8sIHAyIGFuZCB0aGUgRWNsaXBzZSBVcGRhdGUgTWFuYWdlciAoIlByb3Zpc2lvbmluZyBUZWNobm9sb2d5IikgZm9yXG5cCit0aGUgcHVycG9zZSBvZiBhbGxvd2luZyB1c2VycyB0byBpbnN0YWxsIHNvZnR3YXJlLCBkb2N1bWVudGF0aW9uLCBpbmZvcm1hdGlvbiBhbmQvb3JcblwKK290aGVyIG1hdGVyaWFscyAoY29sbGVjdGl2ZWx5ICJJbnN0YWxsYWJsZSBTb2Z0d2FyZSIpLiBUaGlzIGNhcGFiaWxpdHkgaXMgcHJvdmlkZWQgd2l0aFxuXAordGhlIGludGVudCBvZiBhbGxvd2luZyBzdWNoIHVzZXJzIHRvIGluc3RhbGwsIGV4dGVuZCBhbmQgdXBkYXRlIEVjbGlwc2UtYmFzZWQgcHJvZHVjdHMuXG5cCitJbmZvcm1hdGlvbiBhYm91dCBwYWNrYWdpbmcgSW5zdGFsbGFibGUgU29mdHdhcmUgaXMgYXZhaWxhYmxlIGF0XG5cCitodHRwOi8vZWNsaXBzZS5vcmcvZXF1aW5veC9wMi9yZXBvc2l0b3J5X3BhY2thZ2luZy5odG1sICgiU3BlY2lmaWNhdGlvbiIpLlxuXAorXG5cCitZb3UgbWF5IHVzZSBQcm92aXNpb25pbmcgVGVjaG5vbG9neSB0byBhbGxvdyBvdGhlciBwYXJ0aWVzIHRvIGluc3RhbGwgSW5zdGFsbGFibGUgU29mdHdhcmUuXG5cCitZb3Ugc2hhbGwgYmUgcmVzcG9uc2libGUgZm9yIGVuYWJsaW5nIHRoZSBhcHBsaWNhYmxlIGxpY2Vuc2UgYWdyZWVtZW50cyByZWxhdGluZyB0byB0aGVcblwKK0luc3RhbGxhYmxlIFNvZnR3YXJlIHRvIGJlIHByZXNlbnRlZCB0bywgYW5kIGFjY2VwdGVkIGJ5LCB0aGUgdXNlcnMgb2YgdGhlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5XG5cCitpbiBhY2NvcmRhbmNlIHdpdGggdGhlIFNwZWNpZmljYXRpb24uIEJ5IHVzaW5nIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5IGluIHN1Y2ggYSBtYW5uZXIgYW5kXG5cCittYWtpbmcgaXQgYXZhaWxhYmxlIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgU3BlY2lmaWNhdGlvbiwgeW91IGZ1cnRoZXIgYWNrbm93bGVkZ2UgeW91clxuXAorYWdyZWVtZW50IHRvLCBhbmQgdGhlIGFjcXVpc2l0aW9uIG9mIGFsbCBuZWNlc3NhcnkgcmlnaHRzIHRvIHBlcm1pdCB0aGUgZm9sbG93aW5nOlxuXAorXG5cCisgICAgICAgMS4gQSBzZXJpZXMgb2YgYWN0aW9ucyBtYXkgb2NjdXIgKCJQcm92aXNpb25pbmcgUHJvY2VzcyIpIGluIHdoaWNoIGEgdXNlciBtYXkgZXhlY3V0ZVxuXAorICAgICAgICAgIHRoZSBQcm92aXNpb25pbmcgVGVjaG5vbG9neSBvbiBhIG1hY2hpbmUgKCJUYXJnZXQgTWFjaGluZSIpIHdpdGggdGhlIGludGVudCBvZiBpbnN0YWxsaW5nLFxuXAorICAgICAgICAgIGV4dGVuZGluZyBvciB1cGRhdGluZyB0aGUgZnVuY3Rpb25hbGl0eSBvZiBhbiBFY2xpcHNlLWJhc2VkIHByb2R1Y3QuXG5cCisgICAgICAgMi4gRHVyaW5nIHRoZSBQcm92aXNpb25pbmcgUHJvY2VzcywgdGhlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5IG1heSBjYXVzZSB0aGlyZCBwYXJ0eVxuXAorICAgICAgICAgIEluc3RhbGxhYmxlIFNvZnR3YXJlIG9yIGEgcG9ydGlvbiB0aGVyZW9mIHRvIGJlIGFjY2Vzc2VkIGFuZCBjb3BpZWQgdG8gdGhlIFRhcmdldCBNYWNoaW5lLlxuXAorICAgICAgIDMuIFB1cnN1YW50IHRvIHRoZSBTcGVjaWZpY2F0aW9uLCB5b3Ugd2lsbCBwcm92aWRlIHRvIHRoZSB1c2VyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGF0XG5cCisgICAgICAgICAgZ292ZXJuIHRoZSB1c2Ugb2YgdGhlIEluc3RhbGxhYmxlIFNvZnR3YXJlICgiSW5zdGFsbGFibGUgU29mdHdhcmUgQWdyZWVtZW50IikgYW5kIHN1Y2hcblwKKyAgICAgICAgICBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQgc2hhbGwgYmUgYWNjZXNzZWQgZnJvbSB0aGUgVGFyZ2V0IE1hY2hpbmUgaW4gYWNjb3JkYW5jZVxuXAorICAgICAgICAgIHdpdGggdGhlIFNwZWNpZmljYXRpb24uIFN1Y2ggSW5zdGFsbGFibGUgU29mdHdhcmUgQWdyZWVtZW50IG11c3QgaW5mb3JtIHRoZSB1c2VyIG9mIHRoZVxuXAorICAgICAgICAgIHRlcm1zIGFuZCBjb25kaXRpb25zIHRoYXQgZ292ZXJuIHRoZSBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBhbmQgbXVzdCBzb2xpY2l0IGFjY2VwdGFuY2UgYnlcblwKKyAgICAgICAgICB0aGUgZW5kIHVzZXIgaW4gdGhlIG1hbm5lciBwcmVzY3JpYmVkIGluIHN1Y2ggSW5zdGFsbGFibGUgU29mdHdhcmUgQWdyZWVtZW50LiBVcG9uIHN1Y2hcblwKKyAgICAgICAgICBpbmRpY2F0aW9uIG9mIGFncmVlbWVudCBieSB0aGUgdXNlciwgdGhlIHByb3Zpc2lvbmluZyBUZWNobm9sb2d5IHdpbGwgY29tcGxldGUgaW5zdGFsbGF0aW9uXG5cCisgICAgICAgICAgb2YgdGhlIEluc3RhbGxhYmxlIFNvZnR3YXJlLlxuXAorXG5cCitDcnlwdG9ncmFwaHlcblwKK1xuXAorQ29udGVudCBtYXkgY29udGFpbiBlbmNyeXB0aW9uIHNvZnR3YXJlLiBUaGUgY291bnRyeSBpbiB3aGljaCB5b3UgYXJlXG5cCitjdXJyZW50bHkgbWF5IGhhdmUgcmVzdHJpY3Rpb25zIG9uIHRoZSBpbXBvcnQsIHBvc3Nlc3Npb24sIGFuZCB1c2UsXG5cCithbmQvb3IgcmUtZXhwb3J0IHRvIGFub3RoZXIgY291bnRyeSwgb2YgZW5jcnlwdGlvbiBzb2Z0d2FyZS4gQkVGT1JFXG5cCit1c2luZyBhbnkgZW5jcnlwdGlvbiBzb2Z0d2FyZSwgcGxlYXNlIGNoZWNrIHRoZSBjb3VudHJ5J3MgbGF3cyxcblwKK3JlZ3VsYXRpb25zIGFuZCBwb2xpY2llcyBjb25jZXJuaW5nIHRoZSBpbXBvcnQsIHBvc3Nlc3Npb24sIG9yIHVzZSwgYW5kXG5cCityZS1leHBvcnQgb2YgZW5jcnlwdGlvbiBzb2Z0d2FyZSwgdG8gc2VlIGlmIHRoaXMgaXMgcGVybWl0dGVkLlxuXAorXG5cCitKYXZhIGFuZCBhbGwgSmF2YS1iYXNlZCB0cmFkZW1hcmtzIGFyZSB0cmFkZW1hcmtzIG9mIE9yYWNsZSBDb3Jwb3JhdGlvbiBpbiB0aGUgVW5pdGVkIFN0YXRlcywgb3RoZXIgY291bnRyaWVzLCBvciBib3RoLlxuCitkZXNjcmlwdGlvbj0gWHRlbmQgU0RLLiBJbmNsdWRlcyBYdGVuZCBTREsgYW5kIHNvdXJjZXMuCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRlbmQuc2RrXzIuNC4xLnYyMDEzMDQxODA4NTUvZmVhdHVyZS54bWwgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRlbmQuc2RrXzIuNC4xLnYyMDEzMDQxODA4NTUvZmVhdHVyZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM3YjRlYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGVuZC5zZGtfMi40LjEudjIwMTMwNDE4MDg1NS9mZWF0dXJlLnhtbApAQCAtMCwwICsxLDE2MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxmZWF0dXJlCisgICAgICBpZD0ib3JnLmVjbGlwc2UueHRlbmQuc2RrIgorICAgICAgbGFiZWw9IiVmZWF0dXJlTmFtZSIKKyAgICAgIHZlcnNpb249IjIuNC4xLnYyMDEzMDQxODA4NTUiCisgICAgICBwcm92aWRlci1uYW1lPSIlcHJvdmlkZXJOYW1lIgorICAgICAgcGx1Z2luPSJvcmcuZWNsaXBzZS54dGVuZC5pZGUiPgorCisgICA8ZGVzY3JpcHRpb24+CisgICAgICAlZGVzY3JpcHRpb24KKyAgIDwvZGVzY3JpcHRpb24+CisKKyAgIDxjb3B5cmlnaHQ+CisgICAgICBDb3B5cmlnaHQgKGMpIDIwMTEgaXRlbWlzIEFHIChodHRwOi8vd3d3Lml0ZW1pcy5ldSkgYW5kIG90aGVycy4KKworQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscworYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZQordjEuMCB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAoraHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwgRGVzY3JpcHRpb24gaGVyZS4KKyAgIDwvY29weXJpZ2h0PgorCisgICA8bGljZW5zZSB1cmw9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sIj4KKyAgICAgICVsaWNlbnNlCisgICA8L2xpY2Vuc2U+CisKKyAgIDxpbmNsdWRlcworICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZXh0LnVpIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRlbmQuY29yZSIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRlbmQuY29yZS5zb3VyY2UiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZW5kLmxpYiIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRlbmQubGliLnNvdXJjZSIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRlbmQyLmxpYiIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRlbmQyLmxpYi5zb3VyY2UiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZW5kLmlkZSIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRlbmQuaWRlLnNvdXJjZSIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRlbmQuZXhhbXBsZXMiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZW5kLmRvYyIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRlbmQubTJlIgorICAgICAgICAgZG93bmxvYWQtc2l6ZT0iMCIKKyAgICAgICAgIGluc3RhbGwtc2l6ZT0iMCIKKyAgICAgICAgIHZlcnNpb249IjIuNC4xLnYyMDEzMDQxODA4NTUiCisgICAgICAgICB1bnBhY2s9ImZhbHNlIi8+CisKKyAgIDxwbHVnaW4KKyAgICAgICAgIGlkPSJvcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWIiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlLmxpYi5zb3VyY2UiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9ImNvbS5nb29nbGUuZ3VhdmEiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMTAuMC4xLnYyMDEyMDMwNTE1MTUiCisgICAgICAgICB1bnBhY2s9ImZhbHNlIi8+CisKKyAgIDxwbHVnaW4KKyAgICAgICAgIGlkPSJjb20uZ29vZ2xlLmd1YXZhLnNvdXJjZSIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIxMC4wLjEudjIwMTIwMzA1MTUxNSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5hcGFjaGUuY29tbW9ucy5sYW5nIgorICAgICAgICAgZG93bmxvYWQtc2l6ZT0iMCIKKyAgICAgICAgIGluc3RhbGwtc2l6ZT0iMCIKKyAgICAgICAgIHZlcnNpb249IjIuNi4wLnYyMDEyMDUwMzA5MDkiCisgICAgICAgICB1bnBhY2s9ImZhbHNlIi8+CisKKyAgIDxwbHVnaW4KKyAgICAgICAgIGlkPSJvcmcuYXBhY2hlLmNvbW1vbnMubGFuZy5zb3VyY2UiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi42LjAudjIwMTIwNTAzMDkwOSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZW5kLnN0YW5kYWxvbmUiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZS5zb3VyY2UiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIvPgorCis8L2ZlYXR1cmU+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRlbmQuc2RrXzIuNC4xLnYyMDEzMDQxODA4NTUvbGljZW5zZS5odG1sIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZW5kLnNka18yLjQuMS52MjAxMzA0MTgwODU1L2xpY2Vuc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTljNDgzCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZW5kLnNka18yLjQuMS52MjAxMzA0MTgwODU1L2xpY2Vuc2UuaHRtbApAQCAtMCwwICsxLDEwOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSIgLz4KKzx0aXRsZT5FY2xpcHNlIEZvdW5kYXRpb24gU29mdHdhcmUgVXNlciBBZ3JlZW1lbnQ8L3RpdGxlPgorPC9oZWFkPgorCis8Ym9keSBsYW5nPSJFTi1VUyI+Cis8aDI+RWNsaXBzZSBGb3VuZGF0aW9uIFNvZnR3YXJlIFVzZXIgQWdyZWVtZW50PC9oMj4KKzxwPkZlYnJ1YXJ5IDEsIDIwMTE8L3A+CisKKzxoMz5Vc2FnZSBPZiBDb250ZW50PC9oMz4KKworPHA+VEhFIEVDTElQU0UgRk9VTkRBVElPTiBNQUtFUyBBVkFJTEFCTEUgU09GVFdBUkUsIERPQ1VNRU5UQVRJT04sIElORk9STUFUSU9OIEFORC9PUiBPVEhFUiBNQVRFUklBTFMgRk9SIE9QRU4gU09VUkNFIFBST0pFQ1RTCisgICAoQ09MTEVDVElWRUxZICZxdW90O0NPTlRFTlQmcXVvdDspLiAgVVNFIE9GIFRIRSBDT05URU5UIElTIEdPVkVSTkVEIEJZIFRIRSBURVJNUyBBTkQgQ09ORElUSU9OUyBPRiBUSElTIEFHUkVFTUVOVCBBTkQvT1IgVEhFIFRFUk1TIEFORAorICAgQ09ORElUSU9OUyBPRiBMSUNFTlNFIEFHUkVFTUVOVFMgT1IgTk9USUNFUyBJTkRJQ0FURUQgT1IgUkVGRVJFTkNFRCBCRUxPVy4gIEJZIFVTSU5HIFRIRSBDT05URU5ULCBZT1UgQUdSRUUgVEhBVCBZT1VSIFVTRQorICAgT0YgVEhFIENPTlRFTlQgSVMgR09WRVJORUQgQlkgVEhJUyBBR1JFRU1FTlQgQU5EL09SIFRIRSBURVJNUyBBTkQgQ09ORElUSU9OUyBPRiBBTlkgQVBQTElDQUJMRSBMSUNFTlNFIEFHUkVFTUVOVFMgT1IKKyAgIE5PVElDRVMgSU5ESUNBVEVEIE9SIFJFRkVSRU5DRUQgQkVMT1cuICBJRiBZT1UgRE8gTk9UIEFHUkVFIFRPIFRIRSBURVJNUyBBTkQgQ09ORElUSU9OUyBPRiBUSElTIEFHUkVFTUVOVCBBTkQgVEhFIFRFUk1TIEFORAorICAgQ09ORElUSU9OUyBPRiBBTlkgQVBQTElDQUJMRSBMSUNFTlNFIEFHUkVFTUVOVFMgT1IgTk9USUNFUyBJTkRJQ0FURUQgT1IgUkVGRVJFTkNFRCBCRUxPVywgVEhFTiBZT1UgTUFZIE5PVCBVU0UgVEhFIENPTlRFTlQuPC9wPgorCis8aDM+QXBwbGljYWJsZSBMaWNlbnNlczwvaDM+CisKKzxwPlVubGVzcyBvdGhlcndpc2UgaW5kaWNhdGVkLCBhbGwgQ29udGVudCBtYWRlIGF2YWlsYWJsZSBieSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIGlzIHByb3ZpZGVkIHRvIHlvdSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjAKKyAgICgmcXVvdDtFUEwmcXVvdDspLiAgQSBjb3B5IG9mIHRoZSBFUEwgaXMgcHJvdmlkZWQgd2l0aCB0aGlzIENvbnRlbnQgYW5kIGlzIGFsc28gYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sIj5odHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbDwvYT4uCisgICBGb3IgcHVycG9zZXMgb2YgdGhlIEVQTCwgJnF1b3Q7UHJvZ3JhbSZxdW90OyB3aWxsIG1lYW4gdGhlIENvbnRlbnQuPC9wPgorCis8cD5Db250ZW50IGluY2x1ZGVzLCBidXQgaXMgbm90IGxpbWl0ZWQgdG8sIHNvdXJjZSBjb2RlLCBvYmplY3QgY29kZSwgZG9jdW1lbnRhdGlvbiBhbmQgb3RoZXIgZmlsZXMgbWFpbnRhaW5lZCBpbiB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIHNvdXJjZSBjb2RlCisgICByZXBvc2l0b3J5ICgmcXVvdDtSZXBvc2l0b3J5JnF1b3Q7KSBpbiBzb2Z0d2FyZSBtb2R1bGVzICgmcXVvdDtNb2R1bGVzJnF1b3Q7KSBhbmQgbWFkZSBhdmFpbGFibGUgYXMgZG93bmxvYWRhYmxlIGFyY2hpdmVzICgmcXVvdDtEb3dubG9hZHMmcXVvdDspLjwvcD4KKworPHVsPgorICAgICAgIDxsaT5Db250ZW50IG1heSBiZSBzdHJ1Y3R1cmVkIGFuZCBwYWNrYWdlZCBpbnRvIG1vZHVsZXMgdG8gZmFjaWxpdGF0ZSBkZWxpdmVyaW5nLCBleHRlbmRpbmcsIGFuZCB1cGdyYWRpbmcgdGhlIENvbnRlbnQuICBUeXBpY2FsIG1vZHVsZXMgbWF5IGluY2x1ZGUgcGx1Zy1pbnMgKCZxdW90O1BsdWctaW5zJnF1b3Q7KSwgcGx1Zy1pbiBmcmFnbWVudHMgKCZxdW90O0ZyYWdtZW50cyZxdW90OyksIGFuZCBmZWF0dXJlcyAoJnF1b3Q7RmVhdHVyZXMmcXVvdDspLjwvbGk+CisgICAgICAgPGxpPkVhY2ggUGx1Zy1pbiBvciBGcmFnbWVudCBtYXkgYmUgcGFja2FnZWQgYXMgYSBzdWItZGlyZWN0b3J5IG9yIEpBUiAoSmF2YSZ0cmFkZTsgQVJjaGl2ZSkgaW4gYSBkaXJlY3RvcnkgbmFtZWQgJnF1b3Q7cGx1Z2lucyZxdW90Oy48L2xpPgorICAgICAgIDxsaT5BIEZlYXR1cmUgaXMgYSBidW5kbGUgb2Ygb25lIG9yIG1vcmUgUGx1Zy1pbnMgYW5kL29yIEZyYWdtZW50cyBhbmQgYXNzb2NpYXRlZCBtYXRlcmlhbC4gIEVhY2ggRmVhdHVyZSBtYXkgYmUgcGFja2FnZWQgYXMgYSBzdWItZGlyZWN0b3J5IGluIGEgZGlyZWN0b3J5IG5hbWVkICZxdW90O2ZlYXR1cmVzJnF1b3Q7LiAgV2l0aGluIGEgRmVhdHVyZSwgZmlsZXMgbmFtZWQgJnF1b3Q7ZmVhdHVyZS54bWwmcXVvdDsgbWF5IGNvbnRhaW4gYSBsaXN0IG9mIHRoZSBuYW1lcyBhbmQgdmVyc2lvbiBudW1iZXJzIG9mIHRoZSBQbHVnLWlucworICAgICAgYW5kL29yIEZyYWdtZW50cyBhc3NvY2lhdGVkIHdpdGggdGhhdCBGZWF0dXJlLjwvbGk+CisgICAgICAgPGxpPkZlYXR1cmVzIG1heSBhbHNvIGluY2x1ZGUgb3RoZXIgRmVhdHVyZXMgKCZxdW90O0luY2x1ZGVkIEZlYXR1cmVzJnF1b3Q7KS4gV2l0aGluIGEgRmVhdHVyZSwgZmlsZXMgbmFtZWQgJnF1b3Q7ZmVhdHVyZS54bWwmcXVvdDsgbWF5IGNvbnRhaW4gYSBsaXN0IG9mIHRoZSBuYW1lcyBhbmQgdmVyc2lvbiBudW1iZXJzIG9mIEluY2x1ZGVkIEZlYXR1cmVzLjwvbGk+Cis8L3VsPgorCis8cD5UaGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZ292ZXJuaW5nIFBsdWctaW5zIGFuZCBGcmFnbWVudHMgc2hvdWxkIGJlIGNvbnRhaW5lZCBpbiBmaWxlcyBuYW1lZCAmcXVvdDthYm91dC5odG1sJnF1b3Q7ICgmcXVvdDtBYm91dHMmcXVvdDspLiBUaGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZ292ZXJuaW5nIEZlYXR1cmVzIGFuZAorSW5jbHVkZWQgRmVhdHVyZXMgc2hvdWxkIGJlIGNvbnRhaW5lZCBpbiBmaWxlcyBuYW1lZCAmcXVvdDtsaWNlbnNlLmh0bWwmcXVvdDsgKCZxdW90O0ZlYXR1cmUgTGljZW5zZXMmcXVvdDspLiAgQWJvdXRzIGFuZCBGZWF0dXJlIExpY2Vuc2VzIG1heSBiZSBsb2NhdGVkIGluIGFueSBkaXJlY3Rvcnkgb2YgYSBEb3dubG9hZCBvciBNb2R1bGUKK2luY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvIHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOjwvcD4KKworPHVsPgorICAgICAgIDxsaT5UaGUgdG9wLWxldmVsIChyb290KSBkaXJlY3Rvcnk8L2xpPgorICAgICAgIDxsaT5QbHVnLWluIGFuZCBGcmFnbWVudCBkaXJlY3RvcmllczwvbGk+CisgICAgICAgPGxpPkluc2lkZSBQbHVnLWlucyBhbmQgRnJhZ21lbnRzIHBhY2thZ2VkIGFzIEpBUnM8L2xpPgorICAgICAgIDxsaT5TdWItZGlyZWN0b3JpZXMgb2YgdGhlIGRpcmVjdG9yeSBuYW1lZCAmcXVvdDtzcmMmcXVvdDsgb2YgY2VydGFpbiBQbHVnLWluczwvbGk+CisgICAgICAgPGxpPkZlYXR1cmUgZGlyZWN0b3JpZXM8L2xpPgorPC91bD4KKworPHA+Tm90ZTogaWYgYSBGZWF0dXJlIG1hZGUgYXZhaWxhYmxlIGJ5IHRoZSBFY2xpcHNlIEZvdW5kYXRpb24gaXMgaW5zdGFsbGVkIHVzaW5nIHRoZSBQcm92aXNpb25pbmcgVGVjaG5vbG9neSAoYXMgZGVmaW5lZCBiZWxvdyksIHlvdSBtdXN0IGFncmVlIHRvIGEgbGljZW5zZSAoJnF1b3Q7RmVhdHVyZSBVcGRhdGUgTGljZW5zZSZxdW90OykgZHVyaW5nIHRoZQoraW5zdGFsbGF0aW9uIHByb2Nlc3MuICBJZiB0aGUgRmVhdHVyZSBjb250YWlucyBJbmNsdWRlZCBGZWF0dXJlcywgdGhlIEZlYXR1cmUgVXBkYXRlIExpY2Vuc2Ugc2hvdWxkIGVpdGhlciBwcm92aWRlIHlvdSB3aXRoIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBnb3Zlcm5pbmcgdGhlIEluY2x1ZGVkIEZlYXR1cmVzIG9yCitpbmZvcm0geW91IHdoZXJlIHlvdSBjYW4gbG9jYXRlIHRoZW0uICBGZWF0dXJlIFVwZGF0ZSBMaWNlbnNlcyBtYXkgYmUgZm91bmQgaW4gdGhlICZxdW90O2xpY2Vuc2UmcXVvdDsgcHJvcGVydHkgb2YgZmlsZXMgbmFtZWQgJnF1b3Q7ZmVhdHVyZS5wcm9wZXJ0aWVzJnF1b3Q7IGZvdW5kIHdpdGhpbiBhIEZlYXR1cmUuCitTdWNoIEFib3V0cywgRmVhdHVyZSBMaWNlbnNlcywgYW5kIEZlYXR1cmUgVXBkYXRlIExpY2Vuc2VzIGNvbnRhaW4gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIChvciByZWZlcmVuY2VzIHRvIHN1Y2ggdGVybXMgYW5kIGNvbmRpdGlvbnMpIHRoYXQgZ292ZXJuIHlvdXIgdXNlIG9mIHRoZSBhc3NvY2lhdGVkIENvbnRlbnQgaW4KK3RoYXQgZGlyZWN0b3J5LjwvcD4KKworPHA+VEhFIEFCT1VUUywgRkVBVFVSRSBMSUNFTlNFUywgQU5EIEZFQVRVUkUgVVBEQVRFIExJQ0VOU0VTIE1BWSBSRUZFUiBUTyBUSEUgRVBMIE9SIE9USEVSIExJQ0VOU0UgQUdSRUVNRU5UUywgTk9USUNFUyBPUiBURVJNUyBBTkQgQ09ORElUSU9OUy4gIFNPTUUgT0YgVEhFU0UKK09USEVSIExJQ0VOU0UgQUdSRUVNRU5UUyBNQVkgSU5DTFVERSAoQlVUIEFSRSBOT1QgTElNSVRFRCBUTyk6PC9wPgorCis8dWw+CisgICAgICAgPGxpPkVjbGlwc2UgRGlzdHJpYnV0aW9uIExpY2Vuc2UgVmVyc2lvbiAxLjAgKGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xpY2Vuc2VzL2VkbC12MTAuaHRtbCI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZy9saWNlbnNlcy9lZGwtdjEuMC5odG1sPC9hPik8L2xpPgorICAgICAgIDxsaT5Db21tb24gUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjAgKGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2NwbC12MTAuaHRtbCI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9jcGwtdjEwLmh0bWw8L2E+KTwvbGk+CisgICAgICAgPGxpPkFwYWNoZSBTb2Z0d2FyZSBMaWNlbnNlIDEuMSAoYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFIj5odHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRTwvYT4pPC9saT4KKyAgICAgICA8bGk+QXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wIChhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIj5odHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjA8L2E+KTwvbGk+CisgICAgICAgPGxpPk1ldHJvIExpbmsgUHVibGljIExpY2Vuc2UgMS4wMCAoYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vcGVubW90aWYvc3VwcG9ydGVycy9tZXRyb2xpbmsvbGljZW5zZS5odG1sIj5odHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb3Blbm1vdGlmL3N1cHBvcnRlcnMvbWV0cm9saW5rL2xpY2Vuc2UuaHRtbDwvYT4pPC9saT4KKyAgICAgICA8bGk+TW96aWxsYSBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDEuMSAoYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcvTVBML01QTC0xLjEuaHRtbCI+aHR0cDovL3d3dy5tb3ppbGxhLm9yZy9NUEwvTVBMLTEuMS5odG1sPC9hPik8L2xpPgorPC91bD4KKworPHA+SVQgSVMgWU9VUiBPQkxJR0FUSU9OIFRPIFJFQUQgQU5EIEFDQ0VQVCBBTEwgU1VDSCBURVJNUyBBTkQgQ09ORElUSU9OUyBQUklPUiBUTyBVU0UgT0YgVEhFIENPTlRFTlQuICBJZiBubyBBYm91dCwgRmVhdHVyZSBMaWNlbnNlLCBvciBGZWF0dXJlIFVwZGF0ZSBMaWNlbnNlIGlzIHByb3ZpZGVkLCBwbGVhc2UKK2NvbnRhY3QgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiB0byBkZXRlcm1pbmUgd2hhdCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBnb3Zlcm4gdGhhdCBwYXJ0aWN1bGFyIENvbnRlbnQuPC9wPgorCisKKzxoMz5Vc2Ugb2YgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3k8L2gzPgorCis8cD5UaGUgRWNsaXBzZSBGb3VuZGF0aW9uIG1ha2VzIGF2YWlsYWJsZSBwcm92aXNpb25pbmcgc29mdHdhcmUsIGV4YW1wbGVzIG9mIHdoaWNoIGluY2x1ZGUsIGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG8sIHAyIGFuZCB0aGUgRWNsaXBzZQorICAgVXBkYXRlIE1hbmFnZXIgKCZxdW90O1Byb3Zpc2lvbmluZyBUZWNobm9sb2d5JnF1b3Q7KSBmb3IgdGhlIHB1cnBvc2Ugb2YgYWxsb3dpbmcgdXNlcnMgdG8gaW5zdGFsbCBzb2Z0d2FyZSwgZG9jdW1lbnRhdGlvbiwgaW5mb3JtYXRpb24gYW5kL29yCisgICBvdGhlciBtYXRlcmlhbHMgKGNvbGxlY3RpdmVseSAmcXVvdDtJbnN0YWxsYWJsZSBTb2Z0d2FyZSZxdW90OykuIFRoaXMgY2FwYWJpbGl0eSBpcyBwcm92aWRlZCB3aXRoIHRoZSBpbnRlbnQgb2YgYWxsb3dpbmcgc3VjaCB1c2VycyB0bworICAgaW5zdGFsbCwgZXh0ZW5kIGFuZCB1cGRhdGUgRWNsaXBzZS1iYXNlZCBwcm9kdWN0cy4gSW5mb3JtYXRpb24gYWJvdXQgcGFja2FnaW5nIEluc3RhbGxhYmxlIFNvZnR3YXJlIGlzIGF2YWlsYWJsZSBhdCA8YQorICAgICAgIGhyZWY9Imh0dHA6Ly9lY2xpcHNlLm9yZy9lcXVpbm94L3AyL3JlcG9zaXRvcnlfcGFja2FnaW5nLmh0bWwiPmh0dHA6Ly9lY2xpcHNlLm9yZy9lcXVpbm94L3AyL3JlcG9zaXRvcnlfcGFja2FnaW5nLmh0bWw8L2E+CisgICAoJnF1b3Q7U3BlY2lmaWNhdGlvbiZxdW90OykuPC9wPgorCis8cD5Zb3UgbWF5IHVzZSBQcm92aXNpb25pbmcgVGVjaG5vbG9neSB0byBhbGxvdyBvdGhlciBwYXJ0aWVzIHRvIGluc3RhbGwgSW5zdGFsbGFibGUgU29mdHdhcmUuIFlvdSBzaGFsbCBiZSByZXNwb25zaWJsZSBmb3IgZW5hYmxpbmcgdGhlCisgICBhcHBsaWNhYmxlIGxpY2Vuc2UgYWdyZWVtZW50cyByZWxhdGluZyB0byB0aGUgSW5zdGFsbGFibGUgU29mdHdhcmUgdG8gYmUgcHJlc2VudGVkIHRvLCBhbmQgYWNjZXB0ZWQgYnksIHRoZSB1c2VycyBvZiB0aGUgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kKKyAgIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgU3BlY2lmaWNhdGlvbi4gQnkgdXNpbmcgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgaW4gc3VjaCBhIG1hbm5lciBhbmQgbWFraW5nIGl0IGF2YWlsYWJsZSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlCisgICBTcGVjaWZpY2F0aW9uLCB5b3UgZnVydGhlciBhY2tub3dsZWRnZSB5b3VyIGFncmVlbWVudCB0bywgYW5kIHRoZSBhY3F1aXNpdGlvbiBvZiBhbGwgbmVjZXNzYXJ5IHJpZ2h0cyB0byBwZXJtaXQgdGhlIGZvbGxvd2luZzo8L3A+CisKKzxvbD4KKyAgICAgICA8bGk+QSBzZXJpZXMgb2YgYWN0aW9ucyBtYXkgb2NjdXIgKCZxdW90O1Byb3Zpc2lvbmluZyBQcm9jZXNzJnF1b3Q7KSBpbiB3aGljaCBhIHVzZXIgbWF5IGV4ZWN1dGUgdGhlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5CisgICAgICAgb24gYSBtYWNoaW5lICgmcXVvdDtUYXJnZXQgTWFjaGluZSZxdW90Oykgd2l0aCB0aGUgaW50ZW50IG9mIGluc3RhbGxpbmcsIGV4dGVuZGluZyBvciB1cGRhdGluZyB0aGUgZnVuY3Rpb25hbGl0eSBvZiBhbiBFY2xpcHNlLWJhc2VkCisgICAgICAgcHJvZHVjdC48L2xpPgorICAgICAgIDxsaT5EdXJpbmcgdGhlIFByb3Zpc2lvbmluZyBQcm9jZXNzLCB0aGUgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgbWF5IGNhdXNlIHRoaXJkIHBhcnR5IEluc3RhbGxhYmxlIFNvZnR3YXJlIG9yIGEgcG9ydGlvbiB0aGVyZW9mIHRvIGJlCisgICAgICAgYWNjZXNzZWQgYW5kIGNvcGllZCB0byB0aGUgVGFyZ2V0IE1hY2hpbmUuPC9saT4KKyAgICAgICA8bGk+UHVyc3VhbnQgdG8gdGhlIFNwZWNpZmljYXRpb24sIHlvdSB3aWxsIHByb3ZpZGUgdG8gdGhlIHVzZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRoYXQgZ292ZXJuIHRoZSB1c2Ugb2YgdGhlIEluc3RhbGxhYmxlCisgICAgICAgU29mdHdhcmUgKCZxdW90O0luc3RhbGxhYmxlIFNvZnR3YXJlIEFncmVlbWVudCZxdW90OykgYW5kIHN1Y2ggSW5zdGFsbGFibGUgU29mdHdhcmUgQWdyZWVtZW50IHNoYWxsIGJlIGFjY2Vzc2VkIGZyb20gdGhlIFRhcmdldAorICAgICAgIE1hY2hpbmUgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBTcGVjaWZpY2F0aW9uLiBTdWNoIEluc3RhbGxhYmxlIFNvZnR3YXJlIEFncmVlbWVudCBtdXN0IGluZm9ybSB0aGUgdXNlciBvZiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhhdCBnb3Zlcm4KKyAgICAgICB0aGUgSW5zdGFsbGFibGUgU29mdHdhcmUgYW5kIG11c3Qgc29saWNpdCBhY2NlcHRhbmNlIGJ5IHRoZSBlbmQgdXNlciBpbiB0aGUgbWFubmVyIHByZXNjcmliZWQgaW4gc3VjaCBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQuIFVwb24gc3VjaAorICAgICAgIGluZGljYXRpb24gb2YgYWdyZWVtZW50IGJ5IHRoZSB1c2VyLCB0aGUgcHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgd2lsbCBjb21wbGV0ZSBpbnN0YWxsYXRpb24gb2YgdGhlIEluc3RhbGxhYmxlIFNvZnR3YXJlLjwvbGk+Cis8L29sPgorCis8aDM+Q3J5cHRvZ3JhcGh5PC9oMz4KKworPHA+Q29udGVudCBtYXkgY29udGFpbiBlbmNyeXB0aW9uIHNvZnR3YXJlLiBUaGUgY291bnRyeSBpbiB3aGljaCB5b3UgYXJlIGN1cnJlbnRseSBtYXkgaGF2ZSByZXN0cmljdGlvbnMgb24gdGhlIGltcG9ydCwgcG9zc2Vzc2lvbiwgYW5kIHVzZSwgYW5kL29yIHJlLWV4cG9ydCB0bworICAgYW5vdGhlciBjb3VudHJ5LCBvZiBlbmNyeXB0aW9uIHNvZnR3YXJlLiBCRUZPUkUgdXNpbmcgYW55IGVuY3J5cHRpb24gc29mdHdhcmUsIHBsZWFzZSBjaGVjayB0aGUgY291bnRyeSdzIGxhd3MsIHJlZ3VsYXRpb25zIGFuZCBwb2xpY2llcyBjb25jZXJuaW5nIHRoZSBpbXBvcnQsCisgICBwb3NzZXNzaW9uLCBvciB1c2UsIGFuZCByZS1leHBvcnQgb2YgZW5jcnlwdGlvbiBzb2Z0d2FyZSwgdG8gc2VlIGlmIHRoaXMgaXMgcGVybWl0dGVkLjwvcD4KKworPHA+PHNtYWxsPkphdmEgYW5kIGFsbCBKYXZhLWJhc2VkIHRyYWRlbWFya3MgYXJlIHRyYWRlbWFya3Mgb2YgT3JhY2xlIENvcnBvcmF0aW9uIGluIHRoZSBVbml0ZWQgU3RhdGVzLCBvdGhlciBjb3VudHJpZXMsIG9yIGJvdGguPC9zbWFsbD48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQucnVudGltZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL0VDTElQU0VfLlJTQSBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC5ydW50aW1lXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uUlNBCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiMTRhZDYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQucnVudGltZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL0VDTElQU0VfLlJTQQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQucnVudGltZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL0VDTElQU0VfLlNGIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9FQ0xJUFNFXy5TRgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTM3ODA1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9FQ0xJUFNFXy5TRgpAQCAtMCwwICsxLDIzIEBACitTaWduYXR1cmUtVmVyc2lvbjogMS4wDQorU0hBMS1EaWdlc3QtTWFuaWZlc3Q6IEJBeHJtbzJrNFU5WVFDbTlLZThjT3BmMW5vRT0NCitDcmVhdGVkLUJ5OiAxLjYuMCAoSUJNIENvcnBvcmF0aW9uKQ0KK1NIQTEtRGlnZXN0LU1hbmlmZXN0LU1haW4tQXR0cmlidXRlczogNGdJZlRQNXkzRXp3STVlY3llYlFMdWdCTWdvPQ0KKw0KK05hbWU6IGVwbC12MTAuaHRtbA0KK1NIQTEtRGlnZXN0OiA4Z2ZlSTRiSHRjT1FYQzNkWWZnZ3h2c0F5V2M9DQorDQorTmFtZTogTUVUQS1JTkYvZWNsaXBzZS5pbmYNCitTSEExLURpZ2VzdDogUWRyeVF2SmxWeXdsRTBNR0x1d1lDa21reVdrPQ0KKw0KK05hbWU6IGxpY2Vuc2UuaHRtbA0KK1NIQTEtRGlnZXN0OiBScDlBblJ5ZVVJeE5XZTEwZmphTURrUUI4clU9DQorDQorTmFtZTogZmVhdHVyZS5wcm9wZXJ0aWVzDQorU0hBMS1EaWdlc3Q6IG1RckVkKzdoWlFWWjhDMkhvUTZsVkN0bCtZVT0NCisNCitOYW1lOiBhYm91dC5odG1sDQorU0hBMS1EaWdlc3Q6IHA3N1dvVy90cHVHcEUrZGZiYUV1THArYkgvbz0NCisNCitOYW1lOiBmZWF0dXJlLnhtbA0KK1NIQTEtRGlnZXN0OiAxeGdjUVVEQkswSGpuRXdwZndCRVRIUWtGUHM9DQorDQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9NQU5JRkVTVC5NRiBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC5ydW50aW1lXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvTUFOSUZFU1QuTUYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg5NzE1YQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC5ydW50aW1lXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvTUFOSUZFU1QuTUYKQEAgLTAsMCArMSwyMSBAQAorTWFuaWZlc3QtVmVyc2lvbjogMS4wDQorQ3JlYXRlZC1CeTogMS42LjAgKElCTSBDb3Jwb3JhdGlvbikNCisNCitOYW1lOiBlcGwtdjEwLmh0bWwNCitTSEExLURpZ2VzdDogaE5QUlIzam9PNVVWOCt1L0wwcWpLVi9ZMkVFPQ0KKw0KK05hbWU6IE1FVEEtSU5GL2VjbGlwc2UuaW5mDQorU0hBMS1EaWdlc3Q6IDA5Z04wNXRvYmdTL01kdHF5VE5RaE9oQjczTT0NCisNCitOYW1lOiBsaWNlbnNlLmh0bWwNCitTSEExLURpZ2VzdDogL3ZMWmpsSGtaU1hNU2ZQcld3TnFPVURxcWJNPQ0KKw0KK05hbWU6IGZlYXR1cmUucHJvcGVydGllcw0KK1NIQTEtRGlnZXN0OiBtZzJmbzlGZHp3NmpnU2gwQ2RNQkFFaEYzZUU9DQorDQorTmFtZTogYWJvdXQuaHRtbA0KK1NIQTEtRGlnZXN0OiBtTGttUkx0RzNhbWtjWTBJN0tTWVpYNnFLaHM9DQorDQorTmFtZTogZmVhdHVyZS54bWwNCitTSEExLURpZ2VzdDogZmRTL0Fmd3U3Q1NvVU5NMmRkNE5iUmtZdGZzPQ0KKw0KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC5ydW50aW1lXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvZWNsaXBzZS5pbmYgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQucnVudGltZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL2VjbGlwc2UuaW5mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZmZlZDIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQucnVudGltZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL2VjbGlwc2UuaW5mCkBAIC0wLDAgKzEsMiBAQAorI1Byb2Nlc3NlZCB1c2luZyBKYXJwcm9jZXNzb3IKK3BhY2syMDAuY29uZGl0aW9uZWQgPSB0cnVlCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQucnVudGltZV8yLjQuMS52MjAxMzA0MTgwODU1L2Fib3V0Lmh0bWwgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQucnVudGltZV8yLjQuMS52MjAxMzA0MTgwODU1L2Fib3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM1ZDVhZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC5ydW50aW1lXzIuNC4xLnYyMDEzMDQxODA4NTUvYWJvdXQuaHRtbApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgorICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSIvPgorPHRpdGxlPkFib3V0PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5IGxhbmc9IkVOLVVTIj4KKzxoMj5BYm91dCBUaGlzIENvbnRlbnQ8L2gyPgorIAorPHA+SnVuZSA1LCAyMDA3PC9wPgkKKzxoMz5MaWNlbnNlPC9oMz4KKworPHA+VGhlIEVjbGlwc2UgRm91bmRhdGlvbiBtYWtlcyBhdmFpbGFibGUgYWxsIGNvbnRlbnQgaW4gdGhpcyBwbHVnLWluICgmcXVvdDtDb250ZW50JnF1b3Q7KS4gIFVubGVzcyBvdGhlcndpc2UgCitpbmRpY2F0ZWQgYmVsb3csIHRoZSBDb250ZW50IGlzIHByb3ZpZGVkIHRvIHlvdSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlCitFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wICgmcXVvdDtFUEwmcXVvdDspLiAgQSBjb3B5IG9mIHRoZSBFUEwgaXMgYXZhaWxhYmxlIAorYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sPC9hPi4KK0ZvciBwdXJwb3NlcyBvZiB0aGUgRVBMLCAmcXVvdDtQcm9ncmFtJnF1b3Q7IHdpbGwgbWVhbiB0aGUgQ29udGVudC48L3A+CisKKzxwPklmIHlvdSBkaWQgbm90IHJlY2VpdmUgdGhpcyBDb250ZW50IGRpcmVjdGx5IGZyb20gdGhlIEVjbGlwc2UgRm91bmRhdGlvbiwgdGhlIENvbnRlbnQgaXMgCitiZWluZyByZWRpc3RyaWJ1dGVkIGJ5IGFub3RoZXIgcGFydHkgKCZxdW90O1JlZGlzdHJpYnV0b3ImcXVvdDspIGFuZCBkaWZmZXJlbnQgdGVybXMgYW5kIGNvbmRpdGlvbnMgbWF5CithcHBseSB0byB5b3VyIHVzZSBvZiBhbnkgb2JqZWN0IGNvZGUgaW4gdGhlIENvbnRlbnQuICBDaGVjayB0aGUgUmVkaXN0cmlidXRvcidzIGxpY2Vuc2UgdGhhdCB3YXMgCitwcm92aWRlZCB3aXRoIHRoZSBDb250ZW50LiAgSWYgbm8gc3VjaCBsaWNlbnNlIGV4aXN0cywgY29udGFjdCB0aGUgUmVkaXN0cmlidXRvci4gIFVubGVzcyBvdGhlcndpc2UKK2luZGljYXRlZCBiZWxvdywgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBFUEwgc3RpbGwgYXBwbHkgdG8gYW55IHNvdXJjZSBjb2RlIGluIHRoZSBDb250ZW50CithbmQgc3VjaCBzb3VyY2UgY29kZSBtYXkgYmUgb2J0YWluZWQgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy8iPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmc8L2E+LjwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfMi40LjEudjIwMTMwNDE4MDg1NS9lcGwtdjEwLmh0bWwgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQucnVudGltZV8yLjQuMS52MjAxMzA0MTgwODU1L2VwbC12MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjEwNzNhCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfMi40LjEudjIwMTMwNDE4MDg1NS9lcGwtdjEwLmh0bWwKQEAgLTAsMCArMSwzMDQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAvL0VOIj4KKzxodG1sIHhtbG5zOm89InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIKK3htbG5zOnc9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOndvcmQiCit4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+CisKKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+Cis8bGluayByZWw9RmlsZS1MaXN0CitocmVmPSIuL0VjbGlwc2UlMjBFUEwlMjAyMDAzXzExXzEwJTIwRmluYWxfZmlsZXMvZmlsZWxpc3QueG1sIj4KKzx0aXRsZT5FY2xpcHNlIFB1YmxpYyBMaWNlbnNlIC0gVmVyc2lvbiAxLjA8L3RpdGxlPgorPHN0eWxlPgorPCEtLQorIC8qIEZvbnQgRGVmaW5pdGlvbnMgKi8KK0Bmb250LWZhY2UKKwl7CisJcGFub3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7CisJbXNvLWZvbnQtY2hhcnNldDowOworCW1zby1mb250LXBpdGNoOnZhcmlhYmxlOworCW1zby1mb250LXNpZ25hdHVyZTo1NTM2Nzk0OTUgLTIxNDc0ODM2NDggOCAwIDY2MDQ3IDA7fQorIC8qIFN0eWxlIERlZmluaXRpb25zICovCitwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsCisJe21zby1zdHlsZS1wYXJlbnQ6IiI7CisJbWFyZ2luOjBpbjsKKwltYXJnaW4tYm90dG9tOi4wMDAxcHQ7CisJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOworCWZvbnQtc2l6ZToxMi4wcHQ7CisJfQorcAorCXttYXJnaW4tcmlnaHQ6MGluOworCW1zby1tYXJnaW4tdG9wLWFsdDphdXRvOworCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOworCW1hcmdpbi1sZWZ0OjBpbjsKKwltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47CisJZm9udC1zaXplOjEyLjBwdDsKKwl9CitwLkJhbGxvb25UZXh0LCBsaS5CYWxsb29uVGV4dCwgZGl2LkJhbGxvb25UZXh0CisJe21zby1zdHlsZS1uYW1lOiJCYWxsb29uIFRleHQiOworCW1hcmdpbjowaW47CisJbWFyZ2luLWJvdHRvbTouMDAwMXB0OworCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsKKwlmb250LXNpemU6OC4wcHQ7CisJCisJfQorQHBhZ2UgU2VjdGlvbjEKKwl7c2l6ZTo4LjVpbiAxMS4waW47CisJbWFyZ2luOjEuMGluIDEuMjVpbiAxLjBpbiAxLjI1aW47CisJbXNvLWhlYWRlci1tYXJnaW46LjVpbjsKKwltc28tZm9vdGVyLW1hcmdpbjouNWluOworCW1zby1wYXBlci1zb3VyY2U6MDt9CitkaXYuU2VjdGlvbjEKKwl7cGFnZTpTZWN0aW9uMTt9CistLT4KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5IGxhbmc9IkVOLVVTIiBzdHlsZT0ndGFiLWludGVydmFsOi41aW4nPgorCis8ZGl2IGNsYXNzPVNlY3Rpb24xPgorCis8cCBhbGlnbj1jZW50ZXIgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyJz48Yj5FY2xpcHNlIFB1YmxpYyBMaWNlbnNlIC0gdiAxLjA8L2I+Cis8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5USEUgQUNDT01QQU5ZSU5HIFBST0dSQU0gSVMgUFJPVklERUQgVU5ERVIKK1RIRSBURVJNUyBPRiBUSElTIEVDTElQU0UgUFVCTElDIExJQ0VOU0UgKCZxdW90O0FHUkVFTUVOVCZxdW90OykuIEFOWSBVU0UsCitSRVBST0RVQ1RJT04gT1IgRElTVFJJQlVUSU9OIE9GIFRIRSBQUk9HUkFNIENPTlNUSVRVVEVTIFJFQ0lQSUVOVCdTIEFDQ0VQVEFOQ0UKK09GIFRISVMgQUdSRUVNRU5ULjwvc3Bhbj4gPC9wPgorCis8cD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+MS4gREVGSU5JVElPTlM8L3NwYW4+PC9iPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz4mcXVvdDtDb250cmlidXRpb24mcXVvdDsgbWVhbnM6PC9zcGFuPiA8L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmEpCitpbiB0aGUgY2FzZSBvZiB0aGUgaW5pdGlhbCBDb250cmlidXRvciwgdGhlIGluaXRpYWwgY29kZSBhbmQgZG9jdW1lbnRhdGlvbgorZGlzdHJpYnV0ZWQgdW5kZXIgdGhpcyBBZ3JlZW1lbnQsIGFuZDxiciBjbGVhcj1sZWZ0PgorYikgaW4gdGhlIGNhc2Ugb2YgZWFjaCBzdWJzZXF1ZW50IENvbnRyaWJ1dG9yOjwvc3Bhbj48L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmkpCitjaGFuZ2VzIHRvIHRoZSBQcm9ncmFtLCBhbmQ8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5paSkKK2FkZGl0aW9ucyB0byB0aGUgUHJvZ3JhbTs8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz53aGVyZQorc3VjaCBjaGFuZ2VzIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhlIFByb2dyYW0gb3JpZ2luYXRlIGZyb20gYW5kIGFyZSBkaXN0cmlidXRlZAorYnkgdGhhdCBwYXJ0aWN1bGFyIENvbnRyaWJ1dG9yLiBBIENvbnRyaWJ1dGlvbiAnb3JpZ2luYXRlcycgZnJvbSBhIENvbnRyaWJ1dG9yCitpZiBpdCB3YXMgYWRkZWQgdG8gdGhlIFByb2dyYW0gYnkgc3VjaCBDb250cmlidXRvciBpdHNlbGYgb3IgYW55b25lIGFjdGluZyBvbgorc3VjaCBDb250cmlidXRvcidzIGJlaGFsZi4gQ29udHJpYnV0aW9ucyBkbyBub3QgaW5jbHVkZSBhZGRpdGlvbnMgdG8gdGhlCitQcm9ncmFtIHdoaWNoOiAoaSkgYXJlIHNlcGFyYXRlIG1vZHVsZXMgb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQgaW4gY29uanVuY3Rpb24KK3dpdGggdGhlIFByb2dyYW0gdW5kZXIgdGhlaXIgb3duIGxpY2Vuc2UgYWdyZWVtZW50LCBhbmQgKGlpKSBhcmUgbm90IGRlcml2YXRpdmUKK3dvcmtzIG9mIHRoZSBQcm9ncmFtLiA8L3NwYW4+PC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+JnF1b3Q7Q29udHJpYnV0b3ImcXVvdDsgbWVhbnMgYW55IHBlcnNvbiBvcgorZW50aXR5IHRoYXQgZGlzdHJpYnV0ZXMgdGhlIFByb2dyYW0uPC9zcGFuPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz4mcXVvdDtMaWNlbnNlZCBQYXRlbnRzICZxdW90OyBtZWFuIHBhdGVudAorY2xhaW1zIGxpY2Vuc2FibGUgYnkgYSBDb250cmlidXRvciB3aGljaCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZSB1c2UKK29yIHNhbGUgb2YgaXRzIENvbnRyaWJ1dGlvbiBhbG9uZSBvciB3aGVuIGNvbWJpbmVkIHdpdGggdGhlIFByb2dyYW0uIDwvc3Bhbj48L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz4mcXVvdDtQcm9ncmFtJnF1b3Q7IG1lYW5zIHRoZSBDb250cmlidXRpb25zCitkaXN0cmlidXRlZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhpcyBBZ3JlZW1lbnQuPC9zcGFuPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz4mcXVvdDtSZWNpcGllbnQmcXVvdDsgbWVhbnMgYW55b25lIHdobworcmVjZWl2ZXMgdGhlIFByb2dyYW0gdW5kZXIgdGhpcyBBZ3JlZW1lbnQsIGluY2x1ZGluZyBhbGwgQ29udHJpYnV0b3JzLjwvc3Bhbj4gPC9wPgorCis8cD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+Mi4gR1JBTlQgT0YgUklHSFRTPC9zcGFuPjwvYj4gPC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5hKQorU3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyBSZWNpcGllbnQKK2Egbm9uLWV4Y2x1c2l2ZSwgd29ybGR3aWRlLCByb3lhbHR5LWZyZWUgY29weXJpZ2h0IGxpY2Vuc2UgdG88c3Bhbgorc3R5bGU9J2NvbG9yOnJlZCc+IDwvc3Bhbj5yZXByb2R1Y2UsIHByZXBhcmUgZGVyaXZhdGl2ZSB3b3JrcyBvZiwgcHVibGljbHkKK2Rpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIGRpc3RyaWJ1dGUgYW5kIHN1YmxpY2Vuc2UgdGhlIENvbnRyaWJ1dGlvbiBvZiBzdWNoCitDb250cmlidXRvciwgaWYgYW55LCBhbmQgc3VjaCBkZXJpdmF0aXZlIHdvcmtzLCBpbiBzb3VyY2UgY29kZSBhbmQgb2JqZWN0IGNvZGUKK2Zvcm0uPC9zcGFuPjwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+YikKK1N1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoaXMgQWdyZWVtZW50LCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMKK1JlY2lwaWVudCBhIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSw8c3BhbiBzdHlsZT0nY29sb3I6Z3JlZW4nPiA8L3NwYW4+cm95YWx0eS1mcmVlCitwYXRlbnQgbGljZW5zZSB1bmRlciBMaWNlbnNlZCBQYXRlbnRzIHRvIG1ha2UsIHVzZSwgc2VsbCwgb2ZmZXIgdG8gc2VsbCwgaW1wb3J0CithbmQgb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBDb250cmlidXRpb24gb2Ygc3VjaCBDb250cmlidXRvciwgaWYgYW55LCBpbiBzb3VyY2UKK2NvZGUgYW5kIG9iamVjdCBjb2RlIGZvcm0uIFRoaXMgcGF0ZW50IGxpY2Vuc2Ugc2hhbGwgYXBwbHkgdG8gdGhlIGNvbWJpbmF0aW9uCitvZiB0aGUgQ29udHJpYnV0aW9uIGFuZCB0aGUgUHJvZ3JhbSBpZiwgYXQgdGhlIHRpbWUgdGhlIENvbnRyaWJ1dGlvbiBpcyBhZGRlZAorYnkgdGhlIENvbnRyaWJ1dG9yLCBzdWNoIGFkZGl0aW9uIG9mIHRoZSBDb250cmlidXRpb24gY2F1c2VzIHN1Y2ggY29tYmluYXRpb24KK3RvIGJlIGNvdmVyZWQgYnkgdGhlIExpY2Vuc2VkIFBhdGVudHMuIFRoZSBwYXRlbnQgbGljZW5zZSBzaGFsbCBub3QgYXBwbHkgdG8KK2FueSBvdGhlciBjb21iaW5hdGlvbnMgd2hpY2ggaW5jbHVkZSB0aGUgQ29udHJpYnV0aW9uLiBObyBoYXJkd2FyZSBwZXIgc2UgaXMKK2xpY2Vuc2VkIGhlcmV1bmRlci4gPC9zcGFuPjwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+YykKK1JlY2lwaWVudCB1bmRlcnN0YW5kcyB0aGF0IGFsdGhvdWdoIGVhY2ggQ29udHJpYnV0b3IgZ3JhbnRzIHRoZSBsaWNlbnNlcyB0byBpdHMKK0NvbnRyaWJ1dGlvbnMgc2V0IGZvcnRoIGhlcmVpbiwgbm8gYXNzdXJhbmNlcyBhcmUgcHJvdmlkZWQgYnkgYW55IENvbnRyaWJ1dG9yCit0aGF0IHRoZSBQcm9ncmFtIGRvZXMgbm90IGluZnJpbmdlIHRoZSBwYXRlbnQgb3Igb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5CityaWdodHMgb2YgYW55IG90aGVyIGVudGl0eS4gRWFjaCBDb250cmlidXRvciBkaXNjbGFpbXMgYW55IGxpYWJpbGl0eSB0byBSZWNpcGllbnQKK2ZvciBjbGFpbXMgYnJvdWdodCBieSBhbnkgb3RoZXIgZW50aXR5IGJhc2VkIG9uIGluZnJpbmdlbWVudCBvZiBpbnRlbGxlY3R1YWwKK3Byb3BlcnR5IHJpZ2h0cyBvciBvdGhlcndpc2UuIEFzIGEgY29uZGl0aW9uIHRvIGV4ZXJjaXNpbmcgdGhlIHJpZ2h0cyBhbmQKK2xpY2Vuc2VzIGdyYW50ZWQgaGVyZXVuZGVyLCBlYWNoIFJlY2lwaWVudCBoZXJlYnkgYXNzdW1lcyBzb2xlIHJlc3BvbnNpYmlsaXR5Cit0byBzZWN1cmUgYW55IG90aGVyIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgbmVlZGVkLCBpZiBhbnkuIEZvciBleGFtcGxlLAoraWYgYSB0aGlyZCBwYXJ0eSBwYXRlbnQgbGljZW5zZSBpcyByZXF1aXJlZCB0byBhbGxvdyBSZWNpcGllbnQgdG8gZGlzdHJpYnV0ZQordGhlIFByb2dyYW0sIGl0IGlzIFJlY2lwaWVudCdzIHJlc3BvbnNpYmlsaXR5IHRvIGFjcXVpcmUgdGhhdCBsaWNlbnNlIGJlZm9yZQorZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtLjwvc3Bhbj48L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmQpCitFYWNoIENvbnRyaWJ1dG9yIHJlcHJlc2VudHMgdGhhdCB0byBpdHMga25vd2xlZGdlIGl0IGhhcyBzdWZmaWNpZW50IGNvcHlyaWdodAorcmlnaHRzIGluIGl0cyBDb250cmlidXRpb24sIGlmIGFueSwgdG8gZ3JhbnQgdGhlIGNvcHlyaWdodCBsaWNlbnNlIHNldCBmb3J0aCBpbgordGhpcyBBZ3JlZW1lbnQuIDwvc3Bhbj48L3A+CisKKzxwPjxiPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz4zLiBSRVFVSVJFTUVOVFM8L3NwYW4+PC9iPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5BIENvbnRyaWJ1dG9yIG1heSBjaG9vc2UgdG8gZGlzdHJpYnV0ZSB0aGUKK1Byb2dyYW0gaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciBpdHMgb3duIGxpY2Vuc2UgYWdyZWVtZW50LCBwcm92aWRlZCB0aGF0Ojwvc3Bhbj4KKzwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+YSkKK2l0IGNvbXBsaWVzIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoaXMgQWdyZWVtZW50OyBhbmQ8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5iKQoraXRzIGxpY2Vuc2UgYWdyZWVtZW50Ojwvc3Bhbj48L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmkpCitlZmZlY3RpdmVseSBkaXNjbGFpbXMgb24gYmVoYWxmIG9mIGFsbCBDb250cmlidXRvcnMgYWxsIHdhcnJhbnRpZXMgYW5kCitjb25kaXRpb25zLCBleHByZXNzIGFuZCBpbXBsaWVkLCBpbmNsdWRpbmcgd2FycmFudGllcyBvciBjb25kaXRpb25zIG9mIHRpdGxlCithbmQgbm9uLWluZnJpbmdlbWVudCwgYW5kIGltcGxpZWQgd2FycmFudGllcyBvciBjb25kaXRpb25zIG9mIG1lcmNoYW50YWJpbGl0eQorYW5kIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlOyA8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5paSkKK2VmZmVjdGl2ZWx5IGV4Y2x1ZGVzIG9uIGJlaGFsZiBvZiBhbGwgQ29udHJpYnV0b3JzIGFsbCBsaWFiaWxpdHkgZm9yIGRhbWFnZXMsCitpbmNsdWRpbmcgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwgaW5jaWRlbnRhbCBhbmQgY29uc2VxdWVudGlhbCBkYW1hZ2VzLCBzdWNoCithcyBsb3N0IHByb2ZpdHM7IDwvc3Bhbj48L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmlpaSkKK3N0YXRlcyB0aGF0IGFueSBwcm92aXNpb25zIHdoaWNoIGRpZmZlciBmcm9tIHRoaXMgQWdyZWVtZW50IGFyZSBvZmZlcmVkIGJ5IHRoYXQKK0NvbnRyaWJ1dG9yIGFsb25lIGFuZCBub3QgYnkgYW55IG90aGVyIHBhcnR5OyBhbmQ8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5pdikKK3N0YXRlcyB0aGF0IHNvdXJjZSBjb2RlIGZvciB0aGUgUHJvZ3JhbSBpcyBhdmFpbGFibGUgZnJvbSBzdWNoIENvbnRyaWJ1dG9yLCBhbmQKK2luZm9ybXMgbGljZW5zZWVzIGhvdyB0byBvYnRhaW4gaXQgaW4gYSByZWFzb25hYmxlIG1hbm5lciBvbiBvciB0aHJvdWdoIGEKK21lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBleGNoYW5nZS48c3BhbiBzdHlsZT0nY29sb3I6Ymx1ZSc+IDwvc3Bhbj48L3NwYW4+PC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+V2hlbiB0aGUgUHJvZ3JhbSBpcyBtYWRlIGF2YWlsYWJsZSBpbiBzb3VyY2UKK2NvZGUgZm9ybTo8L3NwYW4+IDwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+YSkKK2l0IG11c3QgYmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhpcyBBZ3JlZW1lbnQ7IGFuZCA8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5iKSBhCitjb3B5IG9mIHRoaXMgQWdyZWVtZW50IG11c3QgYmUgaW5jbHVkZWQgd2l0aCBlYWNoIGNvcHkgb2YgdGhlIFByb2dyYW0uIDwvc3Bhbj48L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5Db250cmlidXRvcnMgbWF5IG5vdCByZW1vdmUgb3IgYWx0ZXIgYW55Citjb3B5cmlnaHQgbm90aWNlcyBjb250YWluZWQgd2l0aGluIHRoZSBQcm9ncmFtLiA8L3NwYW4+PC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+RWFjaCBDb250cmlidXRvciBtdXN0IGlkZW50aWZ5IGl0c2VsZiBhcyB0aGUKK29yaWdpbmF0b3Igb2YgaXRzIENvbnRyaWJ1dGlvbiwgaWYgYW55LCBpbiBhIG1hbm5lciB0aGF0IHJlYXNvbmFibHkgYWxsb3dzCitzdWJzZXF1ZW50IFJlY2lwaWVudHMgdG8gaWRlbnRpZnkgdGhlIG9yaWdpbmF0b3Igb2YgdGhlIENvbnRyaWJ1dGlvbi4gPC9zcGFuPjwvcD4KKworPHA+PGI+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPjQuIENPTU1FUkNJQUwgRElTVFJJQlVUSU9OPC9zcGFuPjwvYj4gPC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+Q29tbWVyY2lhbCBkaXN0cmlidXRvcnMgb2Ygc29mdHdhcmUgbWF5CithY2NlcHQgY2VydGFpbiByZXNwb25zaWJpbGl0aWVzIHdpdGggcmVzcGVjdCB0byBlbmQgdXNlcnMsIGJ1c2luZXNzIHBhcnRuZXJzCithbmQgdGhlIGxpa2UuIFdoaWxlIHRoaXMgbGljZW5zZSBpcyBpbnRlbmRlZCB0byBmYWNpbGl0YXRlIHRoZSBjb21tZXJjaWFsIHVzZQorb2YgdGhlIFByb2dyYW0sIHRoZSBDb250cmlidXRvciB3aG8gaW5jbHVkZXMgdGhlIFByb2dyYW0gaW4gYSBjb21tZXJjaWFsCitwcm9kdWN0IG9mZmVyaW5nIHNob3VsZCBkbyBzbyBpbiBhIG1hbm5lciB3aGljaCBkb2VzIG5vdCBjcmVhdGUgcG90ZW50aWFsCitsaWFiaWxpdHkgZm9yIG90aGVyIENvbnRyaWJ1dG9ycy4gVGhlcmVmb3JlLCBpZiBhIENvbnRyaWJ1dG9yIGluY2x1ZGVzIHRoZQorUHJvZ3JhbSBpbiBhIGNvbW1lcmNpYWwgcHJvZHVjdCBvZmZlcmluZywgc3VjaCBDb250cmlidXRvciAoJnF1b3Q7Q29tbWVyY2lhbAorQ29udHJpYnV0b3ImcXVvdDspIGhlcmVieSBhZ3JlZXMgdG8gZGVmZW5kIGFuZCBpbmRlbW5pZnkgZXZlcnkgb3RoZXIKK0NvbnRyaWJ1dG9yICgmcXVvdDtJbmRlbW5pZmllZCBDb250cmlidXRvciZxdW90OykgYWdhaW5zdCBhbnkgbG9zc2VzLCBkYW1hZ2VzIGFuZAorY29zdHMgKGNvbGxlY3RpdmVseSAmcXVvdDtMb3NzZXMmcXVvdDspIGFyaXNpbmcgZnJvbSBjbGFpbXMsIGxhd3N1aXRzIGFuZCBvdGhlcgorbGVnYWwgYWN0aW9ucyBicm91Z2h0IGJ5IGEgdGhpcmQgcGFydHkgYWdhaW5zdCB0aGUgSW5kZW1uaWZpZWQgQ29udHJpYnV0b3IgdG8KK3RoZSBleHRlbnQgY2F1c2VkIGJ5IHRoZSBhY3RzIG9yIG9taXNzaW9ucyBvZiBzdWNoIENvbW1lcmNpYWwgQ29udHJpYnV0b3IgaW4KK2Nvbm5lY3Rpb24gd2l0aCBpdHMgZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtIGluIGEgY29tbWVyY2lhbCBwcm9kdWN0CitvZmZlcmluZy4gVGhlIG9ibGlnYXRpb25zIGluIHRoaXMgc2VjdGlvbiBkbyBub3QgYXBwbHkgdG8gYW55IGNsYWltcyBvciBMb3NzZXMKK3JlbGF0aW5nIHRvIGFueSBhY3R1YWwgb3IgYWxsZWdlZCBpbnRlbGxlY3R1YWwgcHJvcGVydHkgaW5mcmluZ2VtZW50LiBJbiBvcmRlcgordG8gcXVhbGlmeSwgYW4gSW5kZW1uaWZpZWQgQ29udHJpYnV0b3IgbXVzdDogYSkgcHJvbXB0bHkgbm90aWZ5IHRoZSBDb21tZXJjaWFsCitDb250cmlidXRvciBpbiB3cml0aW5nIG9mIHN1Y2ggY2xhaW0sIGFuZCBiKSBhbGxvdyB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvcgordG8gY29udHJvbCwgYW5kIGNvb3BlcmF0ZSB3aXRoIHRoZSBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIGluLCB0aGUgZGVmZW5zZSBhbmQKK2FueSByZWxhdGVkIHNldHRsZW1lbnQgbmVnb3RpYXRpb25zLiBUaGUgSW5kZW1uaWZpZWQgQ29udHJpYnV0b3IgbWF5IHBhcnRpY2lwYXRlCitpbiBhbnkgc3VjaCBjbGFpbSBhdCBpdHMgb3duIGV4cGVuc2UuPC9zcGFuPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5Gb3IgZXhhbXBsZSwgYSBDb250cmlidXRvciBtaWdodCBpbmNsdWRlIHRoZQorUHJvZ3JhbSBpbiBhIGNvbW1lcmNpYWwgcHJvZHVjdCBvZmZlcmluZywgUHJvZHVjdCBYLiBUaGF0IENvbnRyaWJ1dG9yIGlzIHRoZW4gYQorQ29tbWVyY2lhbCBDb250cmlidXRvci4gSWYgdGhhdCBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIHRoZW4gbWFrZXMgcGVyZm9ybWFuY2UKK2NsYWltcywgb3Igb2ZmZXJzIHdhcnJhbnRpZXMgcmVsYXRlZCB0byBQcm9kdWN0IFgsIHRob3NlIHBlcmZvcm1hbmNlIGNsYWltcyBhbmQKK3dhcnJhbnRpZXMgYXJlIHN1Y2ggQ29tbWVyY2lhbCBDb250cmlidXRvcidzIHJlc3BvbnNpYmlsaXR5IGFsb25lLiBVbmRlciB0aGlzCitzZWN0aW9uLCB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciB3b3VsZCBoYXZlIHRvIGRlZmVuZCBjbGFpbXMgYWdhaW5zdCB0aGUKK290aGVyIENvbnRyaWJ1dG9ycyByZWxhdGVkIHRvIHRob3NlIHBlcmZvcm1hbmNlIGNsYWltcyBhbmQgd2FycmFudGllcywgYW5kIGlmIGEKK2NvdXJ0IHJlcXVpcmVzIGFueSBvdGhlciBDb250cmlidXRvciB0byBwYXkgYW55IGRhbWFnZXMgYXMgYSByZXN1bHQsIHRoZQorQ29tbWVyY2lhbCBDb250cmlidXRvciBtdXN0IHBheSB0aG9zZSBkYW1hZ2VzLjwvc3Bhbj4gPC9wPgorCis8cD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+NS4gTk8gV0FSUkFOVFk8L3NwYW4+PC9iPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5FWENFUFQgQVMgRVhQUkVTU0xZIFNFVCBGT1JUSCBJTiBUSElTCitBR1JFRU1FTlQsIFRIRSBQUk9HUkFNIElTIFBST1ZJREVEIE9OIEFOICZxdW90O0FTIElTJnF1b3Q7IEJBU0lTLCBXSVRIT1VUCitXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLAorV0lUSE9VVCBMSU1JVEFUSU9OLCBBTlkgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULAorTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBFYWNoIFJlY2lwaWVudCBpcyBzb2xlbHkKK3Jlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIGFuZCBkaXN0cmlidXRpbmcgdGhlCitQcm9ncmFtIGFuZCBhc3N1bWVzIGFsbCByaXNrcyBhc3NvY2lhdGVkIHdpdGggaXRzIGV4ZXJjaXNlIG9mIHJpZ2h0cyB1bmRlciB0aGlzCitBZ3JlZW1lbnQgLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHRoZSByaXNrcyBhbmQgY29zdHMgb2YgcHJvZ3JhbSBlcnJvcnMsCitjb21wbGlhbmNlIHdpdGggYXBwbGljYWJsZSBsYXdzLCBkYW1hZ2UgdG8gb3IgbG9zcyBvZiBkYXRhLCBwcm9ncmFtcyBvcgorZXF1aXBtZW50LCBhbmQgdW5hdmFpbGFiaWxpdHkgb3IgaW50ZXJydXB0aW9uIG9mIG9wZXJhdGlvbnMuIDwvc3Bhbj48L3A+CisKKzxwPjxiPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz42LiBESVNDTEFJTUVSIE9GIExJQUJJTElUWTwvc3Bhbj48L2I+IDwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPkVYQ0VQVCBBUyBFWFBSRVNTTFkgU0VUIEZPUlRIIElOIFRISVMKK0FHUkVFTUVOVCwgTkVJVEhFUiBSRUNJUElFTlQgTk9SIEFOWSBDT05UUklCVVRPUlMgU0hBTEwgSEFWRSBBTlkgTElBQklMSVRZIEZPUgorQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisoSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTiBMT1NUIFBST0ZJVFMpLCBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKK05FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT1IgRElTVFJJQlVUSU9OIE9GCitUSEUgUFJPR1JBTSBPUiBUSEUgRVhFUkNJU0UgT0YgQU5ZIFJJR0hUUyBHUkFOVEVEIEhFUkVVTkRFUiwgRVZFTiBJRiBBRFZJU0VEIE9GCitUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTLjwvc3Bhbj4gPC9wPgorCis8cD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+Ny4gR0VORVJBTDwvc3Bhbj48L2I+IDwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPklmIGFueSBwcm92aXNpb24gb2YgdGhpcyBBZ3JlZW1lbnQgaXMgaW52YWxpZAorb3IgdW5lbmZvcmNlYWJsZSB1bmRlciBhcHBsaWNhYmxlIGxhdywgaXQgc2hhbGwgbm90IGFmZmVjdCB0aGUgdmFsaWRpdHkgb3IKK2VuZm9yY2VhYmlsaXR5IG9mIHRoZSByZW1haW5kZXIgb2YgdGhlIHRlcm1zIG9mIHRoaXMgQWdyZWVtZW50LCBhbmQgd2l0aG91dAorZnVydGhlciBhY3Rpb24gYnkgdGhlIHBhcnRpZXMgaGVyZXRvLCBzdWNoIHByb3Zpc2lvbiBzaGFsbCBiZSByZWZvcm1lZCB0byB0aGUKK21pbmltdW0gZXh0ZW50IG5lY2Vzc2FyeSB0byBtYWtlIHN1Y2ggcHJvdmlzaW9uIHZhbGlkIGFuZCBlbmZvcmNlYWJsZS48L3NwYW4+IDwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPklmIFJlY2lwaWVudCBpbnN0aXR1dGVzIHBhdGVudCBsaXRpZ2F0aW9uCithZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpCithbGxlZ2luZyB0aGF0IHRoZSBQcm9ncmFtIGl0c2VsZiAoZXhjbHVkaW5nIGNvbWJpbmF0aW9ucyBvZiB0aGUgUHJvZ3JhbSB3aXRoCitvdGhlciBzb2Z0d2FyZSBvciBoYXJkd2FyZSkgaW5mcmluZ2VzIHN1Y2ggUmVjaXBpZW50J3MgcGF0ZW50KHMpLCB0aGVuIHN1Y2gKK1JlY2lwaWVudCdzIHJpZ2h0cyBncmFudGVkIHVuZGVyIFNlY3Rpb24gMihiKSBzaGFsbCB0ZXJtaW5hdGUgYXMgb2YgdGhlIGRhdGUKK3N1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4gPC9zcGFuPjwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPkFsbCBSZWNpcGllbnQncyByaWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQKK3NoYWxsIHRlcm1pbmF0ZSBpZiBpdCBmYWlscyB0byBjb21wbHkgd2l0aCBhbnkgb2YgdGhlIG1hdGVyaWFsIHRlcm1zIG9yCitjb25kaXRpb25zIG9mIHRoaXMgQWdyZWVtZW50IGFuZCBkb2VzIG5vdCBjdXJlIHN1Y2ggZmFpbHVyZSBpbiBhIHJlYXNvbmFibGUKK3BlcmlvZCBvZiB0aW1lIGFmdGVyIGJlY29taW5nIGF3YXJlIG9mIHN1Y2ggbm9uY29tcGxpYW5jZS4gSWYgYWxsIFJlY2lwaWVudCdzCityaWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQgdGVybWluYXRlLCBSZWNpcGllbnQgYWdyZWVzIHRvIGNlYXNlIHVzZSBhbmQKK2Rpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBhcyBzb29uIGFzIHJlYXNvbmFibHkgcHJhY3RpY2FibGUuIEhvd2V2ZXIsCitSZWNpcGllbnQncyBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzIEFncmVlbWVudCBhbmQgYW55IGxpY2Vuc2VzIGdyYW50ZWQgYnkKK1JlY2lwaWVudCByZWxhdGluZyB0byB0aGUgUHJvZ3JhbSBzaGFsbCBjb250aW51ZSBhbmQgc3Vydml2ZS4gPC9zcGFuPjwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPkV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlCitjb3BpZXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGJ1dCBpbiBvcmRlciB0byBhdm9pZCBpbmNvbnNpc3RlbmN5IHRoZSBBZ3JlZW1lbnQgaXMKK2NvcHlyaWdodGVkIGFuZCBtYXkgb25seSBiZSBtb2RpZmllZCBpbiB0aGUgZm9sbG93aW5nIG1hbm5lci4gVGhlIEFncmVlbWVudAorU3Rld2FyZCByZXNlcnZlcyB0aGUgcmlnaHQgdG8gcHVibGlzaCBuZXcgdmVyc2lvbnMgKGluY2x1ZGluZyByZXZpc2lvbnMpIG9mCit0aGlzIEFncmVlbWVudCBmcm9tIHRpbWUgdG8gdGltZS4gTm8gb25lIG90aGVyIHRoYW4gdGhlIEFncmVlbWVudCBTdGV3YXJkIGhhcwordGhlIHJpZ2h0IHRvIG1vZGlmeSB0aGlzIEFncmVlbWVudC4gVGhlIEVjbGlwc2UgRm91bmRhdGlvbiBpcyB0aGUgaW5pdGlhbAorQWdyZWVtZW50IFN0ZXdhcmQuIFRoZSBFY2xpcHNlIEZvdW5kYXRpb24gbWF5IGFzc2lnbiB0aGUgcmVzcG9uc2liaWxpdHkgdG8KK3NlcnZlIGFzIHRoZSBBZ3JlZW1lbnQgU3Rld2FyZCB0byBhIHN1aXRhYmxlIHNlcGFyYXRlIGVudGl0eS4gRWFjaCBuZXcgdmVyc2lvbgorb2YgdGhlIEFncmVlbWVudCB3aWxsIGJlIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuIFRoZSBQcm9ncmFtCisoaW5jbHVkaW5nIENvbnRyaWJ1dGlvbnMpIG1heSBhbHdheXMgYmUgZGlzdHJpYnV0ZWQgc3ViamVjdCB0byB0aGUgdmVyc2lvbiBvZgordGhlIEFncmVlbWVudCB1bmRlciB3aGljaCBpdCB3YXMgcmVjZWl2ZWQuIEluIGFkZGl0aW9uLCBhZnRlciBhIG5ldyB2ZXJzaW9uIG9mCit0aGUgQWdyZWVtZW50IGlzIHB1Ymxpc2hlZCwgQ29udHJpYnV0b3IgbWF5IGVsZWN0IHRvIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0KKyhpbmNsdWRpbmcgaXRzIENvbnRyaWJ1dGlvbnMpIHVuZGVyIHRoZSBuZXcgdmVyc2lvbi4gRXhjZXB0IGFzIGV4cHJlc3NseSBzdGF0ZWQKK2luIFNlY3Rpb25zIDIoYSkgYW5kIDIoYikgYWJvdmUsIFJlY2lwaWVudCByZWNlaXZlcyBubyByaWdodHMgb3IgbGljZW5zZXMgdG8KK3RoZSBpbnRlbGxlY3R1YWwgcHJvcGVydHkgb2YgYW55IENvbnRyaWJ1dG9yIHVuZGVyIHRoaXMgQWdyZWVtZW50LCB3aGV0aGVyCitleHByZXNzbHksIGJ5IGltcGxpY2F0aW9uLCBlc3RvcHBlbCBvciBvdGhlcndpc2UuIEFsbCByaWdodHMgaW4gdGhlIFByb2dyYW0gbm90CitleHByZXNzbHkgZ3JhbnRlZCB1bmRlciB0aGlzIEFncmVlbWVudCBhcmUgcmVzZXJ2ZWQuPC9zcGFuPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5UaGlzIEFncmVlbWVudCBpcyBnb3Zlcm5lZCBieSB0aGUgbGF3cyBvZiB0aGUKK1N0YXRlIG9mIE5ldyBZb3JrIGFuZCB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGxhd3Mgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YKK0FtZXJpY2EuIE5vIHBhcnR5IHRvIHRoaXMgQWdyZWVtZW50IHdpbGwgYnJpbmcgYSBsZWdhbCBhY3Rpb24gdW5kZXIgdGhpcworQWdyZWVtZW50IG1vcmUgdGhhbiBvbmUgeWVhciBhZnRlciB0aGUgY2F1c2Ugb2YgYWN0aW9uIGFyb3NlLiBFYWNoIHBhcnR5IHdhaXZlcworaXRzIHJpZ2h0cyB0byBhIGp1cnkgdHJpYWwgaW4gYW55IHJlc3VsdGluZyBsaXRpZ2F0aW9uLjwvc3Bhbj4gPC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWw+PC9wPgorCis8L2Rpdj4KKworPC9ib2R5PgorCis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfMi40LjEudjIwMTMwNDE4MDg1NS9mZWF0dXJlLnByb3BlcnRpZXMgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQucnVudGltZV8yLjQuMS52MjAxMzA0MTgwODU1L2ZlYXR1cmUucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjI5NWUxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfMi40LjEudjIwMTMwNDE4MDg1NS9mZWF0dXJlLnByb3BlcnRpZXMKQEAgLTAsMCArMSwxMjggQEAKK2ZlYXR1cmVOYW1lPVh0ZXh0IFJ1bnRpbWUgCisjICJwcm92aWRlck5hbWUiIHByb3BlcnR5IC0gbmFtZSBvZiB0aGUgY29tcGFueSB0aGF0IHByb3ZpZGVzIHRoZSBmZWF0dXJlCitwcm92aWRlck5hbWU9RWNsaXBzZSBNb2RlbGluZyBQcm9qZWN0CitsaWNlbnNlPVwKK0VjbGlwc2UgRm91bmRhdGlvbiBTb2Z0d2FyZSBVc2VyIEFncmVlbWVudFxuXAorRmVicnVhcnkgMSwgMjAxMVxuXAorXG5cCitVc2FnZSBPZiBDb250ZW50XG5cCitcblwKK1RIRSBFQ0xJUFNFIEZPVU5EQVRJT04gTUFLRVMgQVZBSUxBQkxFIFNPRlRXQVJFLCBET0NVTUVOVEFUSU9OLCBJTkZPUk1BVElPTiBBTkQvT1JcblwKK09USEVSIE1BVEVSSUFMUyBGT1IgT1BFTiBTT1VSQ0UgUFJPSkVDVFMgKENPTExFQ1RJVkVMWSAiQ09OVEVOVCIpLlxuXAorVVNFIE9GIFRIRSBDT05URU5UIElTIEdPVkVSTkVEIEJZIFRIRSBURVJNUyBBTkQgQ09ORElUSU9OUyBPRiBUSElTXG5cCitBR1JFRU1FTlQgQU5EL09SIFRIRSBURVJNUyBBTkQgQ09ORElUSU9OUyBPRiBMSUNFTlNFIEFHUkVFTUVOVFMgT1JcblwKK05PVElDRVMgSU5ESUNBVEVEIE9SIFJFRkVSRU5DRUQgQkVMT1cuICBCWSBVU0lORyBUSEUgQ09OVEVOVCwgWU9VXG5cCitBR1JFRSBUSEFUIFlPVVIgVVNFIE9GIFRIRSBDT05URU5UIElTIEdPVkVSTkVEIEJZIFRISVMgQUdSRUVNRU5UXG5cCitBTkQvT1IgVEhFIFRFUk1TIEFORCBDT05ESVRJT05TIE9GIEFOWSBBUFBMSUNBQkxFIExJQ0VOU0UgQUdSRUVNRU5UU1xuXAorT1IgTk9USUNFUyBJTkRJQ0FURUQgT1IgUkVGRVJFTkNFRCBCRUxPVy4gIElGIFlPVSBETyBOT1QgQUdSRUUgVE8gVEhFXG5cCitURVJNUyBBTkQgQ09ORElUSU9OUyBPRiBUSElTIEFHUkVFTUVOVCBBTkQgVEhFIFRFUk1TIEFORCBDT05ESVRJT05TXG5cCitPRiBBTlkgQVBQTElDQUJMRSBMSUNFTlNFIEFHUkVFTUVOVFMgT1IgTk9USUNFUyBJTkRJQ0FURUQgT1IgUkVGRVJFTkNFRFxuXAorQkVMT1csIFRIRU4gWU9VIE1BWSBOT1QgVVNFIFRIRSBDT05URU5ULlxuXAorXG5cCitBcHBsaWNhYmxlIExpY2Vuc2VzXG5cCitcblwKK1VubGVzcyBvdGhlcndpc2UgaW5kaWNhdGVkLCBhbGwgQ29udGVudCBtYWRlIGF2YWlsYWJsZSBieSB0aGVcblwKK0VjbGlwc2UgRm91bmRhdGlvbiBpcyBwcm92aWRlZCB0byB5b3UgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mXG5cCit0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDEuMCAoIkVQTCIpLiBBIGNvcHkgb2YgdGhlIEVQTCBpc1xuXAorcHJvdmlkZWQgd2l0aCB0aGlzIENvbnRlbnQgYW5kIGlzIGFsc28gYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sLlxuXAorRm9yIHB1cnBvc2VzIG9mIHRoZSBFUEwsICJQcm9ncmFtIiB3aWxsIG1lYW4gdGhlIENvbnRlbnQuXG5cCitcblwKK0NvbnRlbnQgaW5jbHVkZXMsIGJ1dCBpcyBub3QgbGltaXRlZCB0bywgc291cmNlIGNvZGUsIG9iamVjdCBjb2RlLFxuXAorZG9jdW1lbnRhdGlvbiBhbmQgb3RoZXIgZmlsZXMgbWFpbnRhaW5lZCBpbiB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIHNvdXJjZSBjb2RlXG5cCityZXBvc2l0b3J5ICgiUmVwb3NpdG9yeSIpIGluIHNvZnR3YXJlIG1vZHVsZXMgKCJNb2R1bGVzIikgYW5kIG1hZGUgYXZhaWxhYmxlXG5cCithcyBkb3dubG9hZGFibGUgYXJjaGl2ZXMgKCJEb3dubG9hZHMiKS5cblwKK1xuXAorICAgICAgIC0gQ29udGVudCBtYXkgYmUgc3RydWN0dXJlZCBhbmQgcGFja2FnZWQgaW50byBtb2R1bGVzIHRvIGZhY2lsaXRhdGUgZGVsaXZlcmluZyxcblwKKyAgICAgICAgIGV4dGVuZGluZywgYW5kIHVwZ3JhZGluZyB0aGUgQ29udGVudC4gVHlwaWNhbCBtb2R1bGVzIG1heSBpbmNsdWRlIHBsdWctaW5zICgiUGx1Zy1pbnMiKSxcblwKKyAgICAgICAgIHBsdWctaW4gZnJhZ21lbnRzICgiRnJhZ21lbnRzIiksIGFuZCBmZWF0dXJlcyAoIkZlYXR1cmVzIikuXG5cCisgICAgICAgLSBFYWNoIFBsdWctaW4gb3IgRnJhZ21lbnQgbWF5IGJlIHBhY2thZ2VkIGFzIGEgc3ViLWRpcmVjdG9yeSBvciBKQVIgKEphdmEoVE0pIEFSY2hpdmUpXG5cCisgICAgICAgICBpbiBhIGRpcmVjdG9yeSBuYW1lZCAicGx1Z2lucyIuXG5cCisgICAgICAgLSBBIEZlYXR1cmUgaXMgYSBidW5kbGUgb2Ygb25lIG9yIG1vcmUgUGx1Zy1pbnMgYW5kL29yIEZyYWdtZW50cyBhbmQgYXNzb2NpYXRlZCBtYXRlcmlhbC5cblwKKyAgICAgICAgIEVhY2ggRmVhdHVyZSBtYXkgYmUgcGFja2FnZWQgYXMgYSBzdWItZGlyZWN0b3J5IGluIGEgZGlyZWN0b3J5IG5hbWVkICJmZWF0dXJlcyIuXG5cCisgICAgICAgICBXaXRoaW4gYSBGZWF0dXJlLCBmaWxlcyBuYW1lZCAiZmVhdHVyZS54bWwiIG1heSBjb250YWluIGEgbGlzdCBvZiB0aGUgbmFtZXMgYW5kIHZlcnNpb25cblwKKyAgICAgICAgIG51bWJlcnMgb2YgdGhlIFBsdWctaW5zIGFuZC9vciBGcmFnbWVudHMgYXNzb2NpYXRlZCB3aXRoIHRoYXQgRmVhdHVyZS5cblwKKyAgICAgICAtIEZlYXR1cmVzIG1heSBhbHNvIGluY2x1ZGUgb3RoZXIgRmVhdHVyZXMgKCJJbmNsdWRlZCBGZWF0dXJlcyIpLiBXaXRoaW4gYSBGZWF0dXJlLCBmaWxlc1xuXAorICAgICAgICAgbmFtZWQgImZlYXR1cmUueG1sIiBtYXkgY29udGFpbiBhIGxpc3Qgb2YgdGhlIG5hbWVzIGFuZCB2ZXJzaW9uIG51bWJlcnMgb2YgSW5jbHVkZWQgRmVhdHVyZXMuXG5cCitcblwKK1RoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBnb3Zlcm5pbmcgUGx1Zy1pbnMgYW5kIEZyYWdtZW50cyBzaG91bGQgYmVcblwKK2NvbnRhaW5lZCBpbiBmaWxlcyBuYW1lZCAiYWJvdXQuaHRtbCIgKCJBYm91dHMiKS4gVGhlIHRlcm1zIGFuZFxuXAorY29uZGl0aW9ucyBnb3Zlcm5pbmcgRmVhdHVyZXMgYW5kIEluY2x1ZGVkIEZlYXR1cmVzIHNob3VsZCBiZSBjb250YWluZWRcblwKK2luIGZpbGVzIG5hbWVkICJsaWNlbnNlLmh0bWwiICgiRmVhdHVyZSBMaWNlbnNlcyIpLiBBYm91dHMgYW5kIEZlYXR1cmVcblwKK0xpY2Vuc2VzIG1heSBiZSBsb2NhdGVkIGluIGFueSBkaXJlY3Rvcnkgb2YgYSBEb3dubG9hZCBvciBNb2R1bGVcblwKK2luY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvIHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOlxuXAorXG5cCisgICAgICAgLSBUaGUgdG9wLWxldmVsIChyb290KSBkaXJlY3RvcnlcblwKKyAgICAgICAtIFBsdWctaW4gYW5kIEZyYWdtZW50IGRpcmVjdG9yaWVzXG5cCisgICAgICAgLSBJbnNpZGUgUGx1Zy1pbnMgYW5kIEZyYWdtZW50cyBwYWNrYWdlZCBhcyBKQVJzXG5cCisgICAgICAgLSBTdWItZGlyZWN0b3JpZXMgb2YgdGhlIGRpcmVjdG9yeSBuYW1lZCAic3JjIiBvZiBjZXJ0YWluIFBsdWctaW5zXG5cCisgICAgICAgLSBGZWF0dXJlIGRpcmVjdG9yaWVzXG5cCitcblwKK05vdGU6IGlmIGEgRmVhdHVyZSBtYWRlIGF2YWlsYWJsZSBieSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIGlzIGluc3RhbGxlZCB1c2luZyB0aGVcblwKK1Byb3Zpc2lvbmluZyBUZWNobm9sb2d5IChhcyBkZWZpbmVkIGJlbG93KSwgeW91IG11c3QgYWdyZWUgdG8gYSBsaWNlbnNlICgiRmVhdHVyZSBcblwKK1VwZGF0ZSBMaWNlbnNlIikgZHVyaW5nIHRoZSBpbnN0YWxsYXRpb24gcHJvY2Vzcy4gSWYgdGhlIEZlYXR1cmUgY29udGFpbnNcblwKK0luY2x1ZGVkIEZlYXR1cmVzLCB0aGUgRmVhdHVyZSBVcGRhdGUgTGljZW5zZSBzaG91bGQgZWl0aGVyIHByb3ZpZGUgeW91XG5cCit3aXRoIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBnb3Zlcm5pbmcgdGhlIEluY2x1ZGVkIEZlYXR1cmVzIG9yIGluZm9ybVxuXAoreW91IHdoZXJlIHlvdSBjYW4gbG9jYXRlIHRoZW0uIEZlYXR1cmUgVXBkYXRlIExpY2Vuc2VzIG1heSBiZSBmb3VuZCBpblxuXAordGhlICJsaWNlbnNlIiBwcm9wZXJ0eSBvZiBmaWxlcyBuYW1lZCAiZmVhdHVyZS5wcm9wZXJ0aWVzIiBmb3VuZCB3aXRoaW4gYSBGZWF0dXJlLlxuXAorU3VjaCBBYm91dHMsIEZlYXR1cmUgTGljZW5zZXMsIGFuZCBGZWF0dXJlIFVwZGF0ZSBMaWNlbnNlcyBjb250YWluIHRoZVxuXAordGVybXMgYW5kIGNvbmRpdGlvbnMgKG9yIHJlZmVyZW5jZXMgdG8gc3VjaCB0ZXJtcyBhbmQgY29uZGl0aW9ucykgdGhhdFxuXAorZ292ZXJuIHlvdXIgdXNlIG9mIHRoZSBhc3NvY2lhdGVkIENvbnRlbnQgaW4gdGhhdCBkaXJlY3RvcnkuXG5cCitcblwKK1RIRSBBQk9VVFMsIEZFQVRVUkUgTElDRU5TRVMsIEFORCBGRUFUVVJFIFVQREFURSBMSUNFTlNFUyBNQVkgUkVGRVJcblwKK1RPIFRIRSBFUEwgT1IgT1RIRVIgTElDRU5TRSBBR1JFRU1FTlRTLCBOT1RJQ0VTIE9SIFRFUk1TIEFORCBDT05ESVRJT05TLlxuXAorU09NRSBPRiBUSEVTRSBPVEhFUiBMSUNFTlNFIEFHUkVFTUVOVFMgTUFZIElOQ0xVREUgKEJVVCBBUkUgTk9UIExJTUlURUQgVE8pOlxuXAorXG5cCisgICAgICAgLSBFY2xpcHNlIERpc3RyaWJ1dGlvbiBMaWNlbnNlIFZlcnNpb24gMS4wIChhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9saWNlbnNlcy9lZGwtdjEuMC5odG1sKVxuXAorICAgICAgIC0gQ29tbW9uIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wIChhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9jcGwtdjEwLmh0bWwpXG5cCisgICAgICAgLSBBcGFjaGUgU29mdHdhcmUgTGljZW5zZSAxLjEgKGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRSlcblwKKyAgICAgICAtIEFwYWNoZSBTb2Z0d2FyZSBMaWNlbnNlIDIuMCAoYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMClcblwKKyAgICAgICAtIE1ldHJvIExpbmsgUHVibGljIExpY2Vuc2UgMS4wMCAoYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vcGVubW90aWYvc3VwcG9ydGVycy9tZXRyb2xpbmsvbGljZW5zZS5odG1sKVxuXAorICAgICAgIC0gTW96aWxsYSBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDEuMSAoYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cubW96aWxsYS5vcmcvTVBML01QTC0xLjEuaHRtbClcblwKK1xuXAorSVQgSVMgWU9VUiBPQkxJR0FUSU9OIFRPIFJFQUQgQU5EIEFDQ0VQVCBBTEwgU1VDSCBURVJNUyBBTkQgQ09ORElUSU9OUyBQUklPUlxuXAorVE8gVVNFIE9GIFRIRSBDT05URU5ULiBJZiBubyBBYm91dCwgRmVhdHVyZSBMaWNlbnNlLCBvciBGZWF0dXJlIFVwZGF0ZSBMaWNlbnNlXG5cCitpcyBwcm92aWRlZCwgcGxlYXNlIGNvbnRhY3QgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiB0byBkZXRlcm1pbmUgd2hhdCB0ZXJtcyBhbmQgY29uZGl0aW9uc1xuXAorZ292ZXJuIHRoYXQgcGFydGljdWxhciBDb250ZW50LlxuXAorXG5cCitcblxVc2Ugb2YgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3lcblwKK1xuXAorVGhlIEVjbGlwc2UgRm91bmRhdGlvbiBtYWtlcyBhdmFpbGFibGUgcHJvdmlzaW9uaW5nIHNvZnR3YXJlLCBleGFtcGxlcyBvZiB3aGljaCBpbmNsdWRlLFxuXAorYnV0IGFyZSBub3QgbGltaXRlZCB0bywgcDIgYW5kIHRoZSBFY2xpcHNlIFVwZGF0ZSBNYW5hZ2VyICgiUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kiKSBmb3JcblwKK3RoZSBwdXJwb3NlIG9mIGFsbG93aW5nIHVzZXJzIHRvIGluc3RhbGwgc29mdHdhcmUsIGRvY3VtZW50YXRpb24sIGluZm9ybWF0aW9uIGFuZC9vclxuXAorb3RoZXIgbWF0ZXJpYWxzIChjb2xsZWN0aXZlbHkgIkluc3RhbGxhYmxlIFNvZnR3YXJlIikuIFRoaXMgY2FwYWJpbGl0eSBpcyBwcm92aWRlZCB3aXRoXG5cCit0aGUgaW50ZW50IG9mIGFsbG93aW5nIHN1Y2ggdXNlcnMgdG8gaW5zdGFsbCwgZXh0ZW5kIGFuZCB1cGRhdGUgRWNsaXBzZS1iYXNlZCBwcm9kdWN0cy5cblwKK0luZm9ybWF0aW9uIGFib3V0IHBhY2thZ2luZyBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBpcyBhdmFpbGFibGUgYXRcblwKK2h0dHA6Ly9lY2xpcHNlLm9yZy9lcXVpbm94L3AyL3JlcG9zaXRvcnlfcGFja2FnaW5nLmh0bWwgKCJTcGVjaWZpY2F0aW9uIikuXG5cCitcblwKK1lvdSBtYXkgdXNlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5IHRvIGFsbG93IG90aGVyIHBhcnRpZXMgdG8gaW5zdGFsbCBJbnN0YWxsYWJsZSBTb2Z0d2FyZS5cblwKK1lvdSBzaGFsbCBiZSByZXNwb25zaWJsZSBmb3IgZW5hYmxpbmcgdGhlIGFwcGxpY2FibGUgbGljZW5zZSBhZ3JlZW1lbnRzIHJlbGF0aW5nIHRvIHRoZVxuXAorSW5zdGFsbGFibGUgU29mdHdhcmUgdG8gYmUgcHJlc2VudGVkIHRvLCBhbmQgYWNjZXB0ZWQgYnksIHRoZSB1c2VycyBvZiB0aGUgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3lcblwKK2luIGFjY29yZGFuY2Ugd2l0aCB0aGUgU3BlY2lmaWNhdGlvbi4gQnkgdXNpbmcgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgaW4gc3VjaCBhIG1hbm5lciBhbmRcblwKK21ha2luZyBpdCBhdmFpbGFibGUgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBTcGVjaWZpY2F0aW9uLCB5b3UgZnVydGhlciBhY2tub3dsZWRnZSB5b3VyXG5cCithZ3JlZW1lbnQgdG8sIGFuZCB0aGUgYWNxdWlzaXRpb24gb2YgYWxsIG5lY2Vzc2FyeSByaWdodHMgdG8gcGVybWl0IHRoZSBmb2xsb3dpbmc6XG5cCitcblwKKyAgICAgICAxLiBBIHNlcmllcyBvZiBhY3Rpb25zIG1heSBvY2N1ciAoIlByb3Zpc2lvbmluZyBQcm9jZXNzIikgaW4gd2hpY2ggYSB1c2VyIG1heSBleGVjdXRlXG5cCisgICAgICAgICAgdGhlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5IG9uIGEgbWFjaGluZSAoIlRhcmdldCBNYWNoaW5lIikgd2l0aCB0aGUgaW50ZW50IG9mIGluc3RhbGxpbmcsXG5cCisgICAgICAgICAgZXh0ZW5kaW5nIG9yIHVwZGF0aW5nIHRoZSBmdW5jdGlvbmFsaXR5IG9mIGFuIEVjbGlwc2UtYmFzZWQgcHJvZHVjdC5cblwKKyAgICAgICAyLiBEdXJpbmcgdGhlIFByb3Zpc2lvbmluZyBQcm9jZXNzLCB0aGUgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgbWF5IGNhdXNlIHRoaXJkIHBhcnR5XG5cCisgICAgICAgICAgSW5zdGFsbGFibGUgU29mdHdhcmUgb3IgYSBwb3J0aW9uIHRoZXJlb2YgdG8gYmUgYWNjZXNzZWQgYW5kIGNvcGllZCB0byB0aGUgVGFyZ2V0IE1hY2hpbmUuXG5cCisgICAgICAgMy4gUHVyc3VhbnQgdG8gdGhlIFNwZWNpZmljYXRpb24sIHlvdSB3aWxsIHByb3ZpZGUgdG8gdGhlIHVzZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRoYXRcblwKKyAgICAgICAgICBnb3Zlcm4gdGhlIHVzZSBvZiB0aGUgSW5zdGFsbGFibGUgU29mdHdhcmUgKCJJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQiKSBhbmQgc3VjaFxuXAorICAgICAgICAgIEluc3RhbGxhYmxlIFNvZnR3YXJlIEFncmVlbWVudCBzaGFsbCBiZSBhY2Nlc3NlZCBmcm9tIHRoZSBUYXJnZXQgTWFjaGluZSBpbiBhY2NvcmRhbmNlXG5cCisgICAgICAgICAgd2l0aCB0aGUgU3BlY2lmaWNhdGlvbi4gU3VjaCBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQgbXVzdCBpbmZvcm0gdGhlIHVzZXIgb2YgdGhlXG5cCisgICAgICAgICAgdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhhdCBnb3Zlcm4gdGhlIEluc3RhbGxhYmxlIFNvZnR3YXJlIGFuZCBtdXN0IHNvbGljaXQgYWNjZXB0YW5jZSBieVxuXAorICAgICAgICAgIHRoZSBlbmQgdXNlciBpbiB0aGUgbWFubmVyIHByZXNjcmliZWQgaW4gc3VjaCBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQuIFVwb24gc3VjaFxuXAorICAgICAgICAgIGluZGljYXRpb24gb2YgYWdyZWVtZW50IGJ5IHRoZSB1c2VyLCB0aGUgcHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgd2lsbCBjb21wbGV0ZSBpbnN0YWxsYXRpb25cblwKKyAgICAgICAgICBvZiB0aGUgSW5zdGFsbGFibGUgU29mdHdhcmUuXG5cCitcblwKK0NyeXB0b2dyYXBoeVxuXAorXG5cCitDb250ZW50IG1heSBjb250YWluIGVuY3J5cHRpb24gc29mdHdhcmUuIFRoZSBjb3VudHJ5IGluIHdoaWNoIHlvdSBhcmVcblwKK2N1cnJlbnRseSBtYXkgaGF2ZSByZXN0cmljdGlvbnMgb24gdGhlIGltcG9ydCwgcG9zc2Vzc2lvbiwgYW5kIHVzZSxcblwKK2FuZC9vciByZS1leHBvcnQgdG8gYW5vdGhlciBjb3VudHJ5LCBvZiBlbmNyeXB0aW9uIHNvZnR3YXJlLiBCRUZPUkVcblwKK3VzaW5nIGFueSBlbmNyeXB0aW9uIHNvZnR3YXJlLCBwbGVhc2UgY2hlY2sgdGhlIGNvdW50cnkncyBsYXdzLFxuXAorcmVndWxhdGlvbnMgYW5kIHBvbGljaWVzIGNvbmNlcm5pbmcgdGhlIGltcG9ydCwgcG9zc2Vzc2lvbiwgb3IgdXNlLCBhbmRcblwKK3JlLWV4cG9ydCBvZiBlbmNyeXB0aW9uIHNvZnR3YXJlLCB0byBzZWUgaWYgdGhpcyBpcyBwZXJtaXR0ZWQuXG5cCitcblwKK0phdmEgYW5kIGFsbCBKYXZhLWJhc2VkIHRyYWRlbWFya3MgYXJlIHRyYWRlbWFya3Mgb2YgT3JhY2xlIENvcnBvcmF0aW9uIGluIHRoZSBVbml0ZWQgU3RhdGVzLCBvdGhlciBjb3VudHJpZXMsIG9yIGJvdGguXG4KK2Rlc2NyaXB0aW9uPSBYdGV4dCBSdW50aW1lICBGZWF0dXJlCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQucnVudGltZV8yLjQuMS52MjAxMzA0MTgwODU1L2ZlYXR1cmUueG1sIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfMi40LjEudjIwMTMwNDE4MDg1NS9mZWF0dXJlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzhkNWNhCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfMi40LjEudjIwMTMwNDE4MDg1NS9mZWF0dXJlLnhtbApAQCAtMCwwICsxLDEzMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxmZWF0dXJlCisgICAgICBpZD0ib3JnLmVjbGlwc2UueHRleHQucnVudGltZSIKKyAgICAgIGxhYmVsPSIlZmVhdHVyZU5hbWUiCisgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgcHJvdmlkZXItbmFtZT0iJXByb3ZpZGVyTmFtZSI+CisKKyAgIDxkZXNjcmlwdGlvbj4KKyAgICAgICVkZXNjcmlwdGlvbgorICAgPC9kZXNjcmlwdGlvbj4KKworICAgPGNvcHlyaWdodD4KKyAgICAgIENvcHlyaWdodCAoYykgMjAwOSBpdGVtaXMgQUcgKGh0dHA6Ly93d3cuaXRlbWlzLmV1KSBhbmQgb3RoZXJzLgorCitBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCithcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlCit2MS4wIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CitodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbCBEZXNjcmlwdGlvbiBoZXJlLgorICAgPC9jb3B5cmlnaHQ+CisKKyAgIDxsaWNlbnNlIHVybD0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwiPgorICAgICAgJWxpY2Vuc2UKKyAgIDwvbGljZW5zZT4KKworICAgPHJlcXVpcmVzPgorICAgICAgPGltcG9ydCBwbHVnaW49Im9yZy5lY2xpcHNlLnh0ZW5kIi8+CisgICAgICA8aW1wb3J0IHBsdWdpbj0ib3JnLmVjbGlwc2UueHBhbmQiLz4KKyAgICAgIDxpbXBvcnQgcGx1Z2luPSJvcmcuZWNsaXBzZS54dGVuZC50eXBlc3lzdGVtLmVtZiIvPgorICAgPC9yZXF1aXJlcz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZXh0IgorICAgICAgICAgZG93bmxvYWQtc2l6ZT0iMCIKKyAgICAgICAgIGluc3RhbGwtc2l6ZT0iMCIKKyAgICAgICAgIHZlcnNpb249IjIuNC4xLnYyMDEzMDQxODA4NTUiCisgICAgICAgICB1bnBhY2s9ImZhbHNlIi8+CisKKyAgIDxwbHVnaW4KKyAgICAgICAgIGlkPSJvcmcuZWNsaXBzZS54dGV4dC5nZW5lcmF0b3IiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZXh0LnV0aWwiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5hbnRsci5ydW50aW1lIgorICAgICAgICAgZG93bmxvYWQtc2l6ZT0iMCIKKyAgICAgICAgIGluc3RhbGwtc2l6ZT0iMCIKKyAgICAgICAgIHZlcnNpb249IjMuMi4wLnYyMDExMDEzMTExMzAiCisgICAgICAgICB1bnBhY2s9ImZhbHNlIi8+CisKKyAgIDxwbHVnaW4KKyAgICAgICAgIGlkPSJvcmcuYXBhY2hlLmxvZzRqIgorICAgICAgICAgZG93bmxvYWQtc2l6ZT0iMCIKKyAgICAgICAgIGluc3RhbGwtc2l6ZT0iMCIKKyAgICAgICAgIHZlcnNpb249IjEuMi4xNS52MjAxMDEyMDcwODE1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRleHQubG9nZ2luZyIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIxLjIuMTUudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIGZyYWdtZW50PSJ0cnVlIgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRleHQuY29tbW9uLnR5cGVzIgorICAgICAgICAgZG93bmxvYWQtc2l6ZT0iMCIKKyAgICAgICAgIGluc3RhbGwtc2l6ZT0iMCIKKyAgICAgICAgIHZlcnNpb249IjIuNC4xLnYyMDEzMDQxODA4NTUiCisgICAgICAgICB1bnBhY2s9ImZhbHNlIi8+CisKKyAgIDxwbHVnaW4KKyAgICAgICAgIGlkPSJvcmcuZWNsaXBzZS54dGV4dC5idWlsZGVyIgorICAgICAgICAgZG93bmxvYWQtc2l6ZT0iMCIKKyAgICAgICAgIGluc3RhbGwtc2l6ZT0iMCIKKyAgICAgICAgIHZlcnNpb249IjIuNC4xLnYyMDEzMDQxODA4NTUiCisgICAgICAgICB1bnBhY2s9ImZhbHNlIi8+CisKKyAgIDxwbHVnaW4KKyAgICAgICAgIGlkPSJvcmcuZWNsaXBzZS54dGV4dC5lY29yZSIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRleHQuc21hcCIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0iY29tLmdvb2dsZS5ndWF2YSIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIxMC4wLjEudjIwMTIwMzA1MTUxNSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9ImphdmF4LmluamVjdCIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIxLjAuMC52MjAwOTEwMzAiCisgICAgICAgICB1bnBhY2s9ImZhbHNlIi8+CisKKyAgIDxwbHVnaW4KKyAgICAgICAgIGlkPSJjb20uZ29vZ2xlLmluamVjdCIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIzLjAuMC52MjAxMjAzMDYyMDQ1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLm9iamVjdHdlYi5hc20iCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMy4zLjEudjIwMTEwNTIxMTY1NSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworPC9mZWF0dXJlPgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfMi40LjEudjIwMTMwNDE4MDg1NS9saWNlbnNlLmh0bWwgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQucnVudGltZV8yLjQuMS52MjAxMzA0MTgwODU1L2xpY2Vuc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTljNDgzCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWVfMi40LjEudjIwMTMwNDE4MDg1NS9saWNlbnNlLmh0bWwKQEAgLTAsMCArMSwxMDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIC8+Cis8dGl0bGU+RWNsaXBzZSBGb3VuZGF0aW9uIFNvZnR3YXJlIFVzZXIgQWdyZWVtZW50PC90aXRsZT4KKzwvaGVhZD4KKworPGJvZHkgbGFuZz0iRU4tVVMiPgorPGgyPkVjbGlwc2UgRm91bmRhdGlvbiBTb2Z0d2FyZSBVc2VyIEFncmVlbWVudDwvaDI+Cis8cD5GZWJydWFyeSAxLCAyMDExPC9wPgorCis8aDM+VXNhZ2UgT2YgQ29udGVudDwvaDM+CisKKzxwPlRIRSBFQ0xJUFNFIEZPVU5EQVRJT04gTUFLRVMgQVZBSUxBQkxFIFNPRlRXQVJFLCBET0NVTUVOVEFUSU9OLCBJTkZPUk1BVElPTiBBTkQvT1IgT1RIRVIgTUFURVJJQUxTIEZPUiBPUEVOIFNPVVJDRSBQUk9KRUNUUworICAgKENPTExFQ1RJVkVMWSAmcXVvdDtDT05URU5UJnF1b3Q7KS4gIFVTRSBPRiBUSEUgQ09OVEVOVCBJUyBHT1ZFUk5FRCBCWSBUSEUgVEVSTVMgQU5EIENPTkRJVElPTlMgT0YgVEhJUyBBR1JFRU1FTlQgQU5EL09SIFRIRSBURVJNUyBBTkQKKyAgIENPTkRJVElPTlMgT0YgTElDRU5TRSBBR1JFRU1FTlRTIE9SIE5PVElDRVMgSU5ESUNBVEVEIE9SIFJFRkVSRU5DRUQgQkVMT1cuICBCWSBVU0lORyBUSEUgQ09OVEVOVCwgWU9VIEFHUkVFIFRIQVQgWU9VUiBVU0UKKyAgIE9GIFRIRSBDT05URU5UIElTIEdPVkVSTkVEIEJZIFRISVMgQUdSRUVNRU5UIEFORC9PUiBUSEUgVEVSTVMgQU5EIENPTkRJVElPTlMgT0YgQU5ZIEFQUExJQ0FCTEUgTElDRU5TRSBBR1JFRU1FTlRTIE9SCisgICBOT1RJQ0VTIElORElDQVRFRCBPUiBSRUZFUkVOQ0VEIEJFTE9XLiAgSUYgWU9VIERPIE5PVCBBR1JFRSBUTyBUSEUgVEVSTVMgQU5EIENPTkRJVElPTlMgT0YgVEhJUyBBR1JFRU1FTlQgQU5EIFRIRSBURVJNUyBBTkQKKyAgIENPTkRJVElPTlMgT0YgQU5ZIEFQUExJQ0FCTEUgTElDRU5TRSBBR1JFRU1FTlRTIE9SIE5PVElDRVMgSU5ESUNBVEVEIE9SIFJFRkVSRU5DRUQgQkVMT1csIFRIRU4gWU9VIE1BWSBOT1QgVVNFIFRIRSBDT05URU5ULjwvcD4KKworPGgzPkFwcGxpY2FibGUgTGljZW5zZXM8L2gzPgorCis8cD5Vbmxlc3Mgb3RoZXJ3aXNlIGluZGljYXRlZCwgYWxsIENvbnRlbnQgbWFkZSBhdmFpbGFibGUgYnkgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBpcyBwcm92aWRlZCB0byB5b3UgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wCisgICAoJnF1b3Q7RVBMJnF1b3Q7KS4gIEEgY29weSBvZiB0aGUgRVBMIGlzIHByb3ZpZGVkIHdpdGggdGhpcyBDb250ZW50IGFuZCBpcyBhbHNvIGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbCI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWw8L2E+LgorICAgRm9yIHB1cnBvc2VzIG9mIHRoZSBFUEwsICZxdW90O1Byb2dyYW0mcXVvdDsgd2lsbCBtZWFuIHRoZSBDb250ZW50LjwvcD4KKworPHA+Q29udGVudCBpbmNsdWRlcywgYnV0IGlzIG5vdCBsaW1pdGVkIHRvLCBzb3VyY2UgY29kZSwgb2JqZWN0IGNvZGUsIGRvY3VtZW50YXRpb24gYW5kIG90aGVyIGZpbGVzIG1haW50YWluZWQgaW4gdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBzb3VyY2UgY29kZQorICAgcmVwb3NpdG9yeSAoJnF1b3Q7UmVwb3NpdG9yeSZxdW90OykgaW4gc29mdHdhcmUgbW9kdWxlcyAoJnF1b3Q7TW9kdWxlcyZxdW90OykgYW5kIG1hZGUgYXZhaWxhYmxlIGFzIGRvd25sb2FkYWJsZSBhcmNoaXZlcyAoJnF1b3Q7RG93bmxvYWRzJnF1b3Q7KS48L3A+CisKKzx1bD4KKyAgICAgICA8bGk+Q29udGVudCBtYXkgYmUgc3RydWN0dXJlZCBhbmQgcGFja2FnZWQgaW50byBtb2R1bGVzIHRvIGZhY2lsaXRhdGUgZGVsaXZlcmluZywgZXh0ZW5kaW5nLCBhbmQgdXBncmFkaW5nIHRoZSBDb250ZW50LiAgVHlwaWNhbCBtb2R1bGVzIG1heSBpbmNsdWRlIHBsdWctaW5zICgmcXVvdDtQbHVnLWlucyZxdW90OyksIHBsdWctaW4gZnJhZ21lbnRzICgmcXVvdDtGcmFnbWVudHMmcXVvdDspLCBhbmQgZmVhdHVyZXMgKCZxdW90O0ZlYXR1cmVzJnF1b3Q7KS48L2xpPgorICAgICAgIDxsaT5FYWNoIFBsdWctaW4gb3IgRnJhZ21lbnQgbWF5IGJlIHBhY2thZ2VkIGFzIGEgc3ViLWRpcmVjdG9yeSBvciBKQVIgKEphdmEmdHJhZGU7IEFSY2hpdmUpIGluIGEgZGlyZWN0b3J5IG5hbWVkICZxdW90O3BsdWdpbnMmcXVvdDsuPC9saT4KKyAgICAgICA8bGk+QSBGZWF0dXJlIGlzIGEgYnVuZGxlIG9mIG9uZSBvciBtb3JlIFBsdWctaW5zIGFuZC9vciBGcmFnbWVudHMgYW5kIGFzc29jaWF0ZWQgbWF0ZXJpYWwuICBFYWNoIEZlYXR1cmUgbWF5IGJlIHBhY2thZ2VkIGFzIGEgc3ViLWRpcmVjdG9yeSBpbiBhIGRpcmVjdG9yeSBuYW1lZCAmcXVvdDtmZWF0dXJlcyZxdW90Oy4gIFdpdGhpbiBhIEZlYXR1cmUsIGZpbGVzIG5hbWVkICZxdW90O2ZlYXR1cmUueG1sJnF1b3Q7IG1heSBjb250YWluIGEgbGlzdCBvZiB0aGUgbmFtZXMgYW5kIHZlcnNpb24gbnVtYmVycyBvZiB0aGUgUGx1Zy1pbnMKKyAgICAgIGFuZC9vciBGcmFnbWVudHMgYXNzb2NpYXRlZCB3aXRoIHRoYXQgRmVhdHVyZS48L2xpPgorICAgICAgIDxsaT5GZWF0dXJlcyBtYXkgYWxzbyBpbmNsdWRlIG90aGVyIEZlYXR1cmVzICgmcXVvdDtJbmNsdWRlZCBGZWF0dXJlcyZxdW90OykuIFdpdGhpbiBhIEZlYXR1cmUsIGZpbGVzIG5hbWVkICZxdW90O2ZlYXR1cmUueG1sJnF1b3Q7IG1heSBjb250YWluIGEgbGlzdCBvZiB0aGUgbmFtZXMgYW5kIHZlcnNpb24gbnVtYmVycyBvZiBJbmNsdWRlZCBGZWF0dXJlcy48L2xpPgorPC91bD4KKworPHA+VGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGdvdmVybmluZyBQbHVnLWlucyBhbmQgRnJhZ21lbnRzIHNob3VsZCBiZSBjb250YWluZWQgaW4gZmlsZXMgbmFtZWQgJnF1b3Q7YWJvdXQuaHRtbCZxdW90OyAoJnF1b3Q7QWJvdXRzJnF1b3Q7KS4gVGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGdvdmVybmluZyBGZWF0dXJlcyBhbmQKK0luY2x1ZGVkIEZlYXR1cmVzIHNob3VsZCBiZSBjb250YWluZWQgaW4gZmlsZXMgbmFtZWQgJnF1b3Q7bGljZW5zZS5odG1sJnF1b3Q7ICgmcXVvdDtGZWF0dXJlIExpY2Vuc2VzJnF1b3Q7KS4gIEFib3V0cyBhbmQgRmVhdHVyZSBMaWNlbnNlcyBtYXkgYmUgbG9jYXRlZCBpbiBhbnkgZGlyZWN0b3J5IG9mIGEgRG93bmxvYWQgb3IgTW9kdWxlCitpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0byB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczo8L3A+CisKKzx1bD4KKyAgICAgICA8bGk+VGhlIHRvcC1sZXZlbCAocm9vdCkgZGlyZWN0b3J5PC9saT4KKyAgICAgICA8bGk+UGx1Zy1pbiBhbmQgRnJhZ21lbnQgZGlyZWN0b3JpZXM8L2xpPgorICAgICAgIDxsaT5JbnNpZGUgUGx1Zy1pbnMgYW5kIEZyYWdtZW50cyBwYWNrYWdlZCBhcyBKQVJzPC9saT4KKyAgICAgICA8bGk+U3ViLWRpcmVjdG9yaWVzIG9mIHRoZSBkaXJlY3RvcnkgbmFtZWQgJnF1b3Q7c3JjJnF1b3Q7IG9mIGNlcnRhaW4gUGx1Zy1pbnM8L2xpPgorICAgICAgIDxsaT5GZWF0dXJlIGRpcmVjdG9yaWVzPC9saT4KKzwvdWw+CisKKzxwPk5vdGU6IGlmIGEgRmVhdHVyZSBtYWRlIGF2YWlsYWJsZSBieSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIGlzIGluc3RhbGxlZCB1c2luZyB0aGUgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgKGFzIGRlZmluZWQgYmVsb3cpLCB5b3UgbXVzdCBhZ3JlZSB0byBhIGxpY2Vuc2UgKCZxdW90O0ZlYXR1cmUgVXBkYXRlIExpY2Vuc2UmcXVvdDspIGR1cmluZyB0aGUKK2luc3RhbGxhdGlvbiBwcm9jZXNzLiAgSWYgdGhlIEZlYXR1cmUgY29udGFpbnMgSW5jbHVkZWQgRmVhdHVyZXMsIHRoZSBGZWF0dXJlIFVwZGF0ZSBMaWNlbnNlIHNob3VsZCBlaXRoZXIgcHJvdmlkZSB5b3Ugd2l0aCB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZ292ZXJuaW5nIHRoZSBJbmNsdWRlZCBGZWF0dXJlcyBvcgoraW5mb3JtIHlvdSB3aGVyZSB5b3UgY2FuIGxvY2F0ZSB0aGVtLiAgRmVhdHVyZSBVcGRhdGUgTGljZW5zZXMgbWF5IGJlIGZvdW5kIGluIHRoZSAmcXVvdDtsaWNlbnNlJnF1b3Q7IHByb3BlcnR5IG9mIGZpbGVzIG5hbWVkICZxdW90O2ZlYXR1cmUucHJvcGVydGllcyZxdW90OyBmb3VuZCB3aXRoaW4gYSBGZWF0dXJlLgorU3VjaCBBYm91dHMsIEZlYXR1cmUgTGljZW5zZXMsIGFuZCBGZWF0dXJlIFVwZGF0ZSBMaWNlbnNlcyBjb250YWluIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyAob3IgcmVmZXJlbmNlcyB0byBzdWNoIHRlcm1zIGFuZCBjb25kaXRpb25zKSB0aGF0IGdvdmVybiB5b3VyIHVzZSBvZiB0aGUgYXNzb2NpYXRlZCBDb250ZW50IGluCit0aGF0IGRpcmVjdG9yeS48L3A+CisKKzxwPlRIRSBBQk9VVFMsIEZFQVRVUkUgTElDRU5TRVMsIEFORCBGRUFUVVJFIFVQREFURSBMSUNFTlNFUyBNQVkgUkVGRVIgVE8gVEhFIEVQTCBPUiBPVEhFUiBMSUNFTlNFIEFHUkVFTUVOVFMsIE5PVElDRVMgT1IgVEVSTVMgQU5EIENPTkRJVElPTlMuICBTT01FIE9GIFRIRVNFCitPVEhFUiBMSUNFTlNFIEFHUkVFTUVOVFMgTUFZIElOQ0xVREUgKEJVVCBBUkUgTk9UIExJTUlURUQgVE8pOjwvcD4KKworPHVsPgorICAgICAgIDxsaT5FY2xpcHNlIERpc3RyaWJ1dGlvbiBMaWNlbnNlIFZlcnNpb24gMS4wIChhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9saWNlbnNlcy9lZGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGljZW5zZXMvZWRsLXYxLjAuaHRtbDwvYT4pPC9saT4KKyAgICAgICA8bGk+Q29tbW9uIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wIChhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9jcGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sPC9hPik8L2xpPgorICAgICAgIDxsaT5BcGFjaGUgU29mdHdhcmUgTGljZW5zZSAxLjEgKGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRSI+aHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0U8L2E+KTwvbGk+CisgICAgICAgPGxpPkFwYWNoZSBTb2Z0d2FyZSBMaWNlbnNlIDIuMCAoYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+aHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wPC9hPik8L2xpPgorICAgICAgIDxsaT5NZXRybyBMaW5rIFB1YmxpYyBMaWNlbnNlIDEuMDAgKGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb3Blbm1vdGlmL3N1cHBvcnRlcnMvbWV0cm9saW5rL2xpY2Vuc2UuaHRtbCI+aHR0cDovL3d3dy5vcGVuZ3JvdXAub3JnL29wZW5tb3RpZi9zdXBwb3J0ZXJzL21ldHJvbGluay9saWNlbnNlLmh0bWw8L2E+KTwvbGk+CisgICAgICAgPGxpPk1vemlsbGEgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjEgKGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3Lm1vemlsbGEub3JnL01QTC9NUEwtMS4xLmh0bWwiPmh0dHA6Ly93d3cubW96aWxsYS5vcmcvTVBML01QTC0xLjEuaHRtbDwvYT4pPC9saT4KKzwvdWw+CisKKzxwPklUIElTIFlPVVIgT0JMSUdBVElPTiBUTyBSRUFEIEFORCBBQ0NFUFQgQUxMIFNVQ0ggVEVSTVMgQU5EIENPTkRJVElPTlMgUFJJT1IgVE8gVVNFIE9GIFRIRSBDT05URU5ULiAgSWYgbm8gQWJvdXQsIEZlYXR1cmUgTGljZW5zZSwgb3IgRmVhdHVyZSBVcGRhdGUgTGljZW5zZSBpcyBwcm92aWRlZCwgcGxlYXNlCitjb250YWN0IHRoZSBFY2xpcHNlIEZvdW5kYXRpb24gdG8gZGV0ZXJtaW5lIHdoYXQgdGVybXMgYW5kIGNvbmRpdGlvbnMgZ292ZXJuIHRoYXQgcGFydGljdWxhciBDb250ZW50LjwvcD4KKworCis8aDM+VXNlIG9mIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5PC9oMz4KKworPHA+VGhlIEVjbGlwc2UgRm91bmRhdGlvbiBtYWtlcyBhdmFpbGFibGUgcHJvdmlzaW9uaW5nIHNvZnR3YXJlLCBleGFtcGxlcyBvZiB3aGljaCBpbmNsdWRlLCBidXQgYXJlIG5vdCBsaW1pdGVkIHRvLCBwMiBhbmQgdGhlIEVjbGlwc2UKKyAgIFVwZGF0ZSBNYW5hZ2VyICgmcXVvdDtQcm92aXNpb25pbmcgVGVjaG5vbG9neSZxdW90OykgZm9yIHRoZSBwdXJwb3NlIG9mIGFsbG93aW5nIHVzZXJzIHRvIGluc3RhbGwgc29mdHdhcmUsIGRvY3VtZW50YXRpb24sIGluZm9ybWF0aW9uIGFuZC9vcgorICAgb3RoZXIgbWF0ZXJpYWxzIChjb2xsZWN0aXZlbHkgJnF1b3Q7SW5zdGFsbGFibGUgU29mdHdhcmUmcXVvdDspLiBUaGlzIGNhcGFiaWxpdHkgaXMgcHJvdmlkZWQgd2l0aCB0aGUgaW50ZW50IG9mIGFsbG93aW5nIHN1Y2ggdXNlcnMgdG8KKyAgIGluc3RhbGwsIGV4dGVuZCBhbmQgdXBkYXRlIEVjbGlwc2UtYmFzZWQgcHJvZHVjdHMuIEluZm9ybWF0aW9uIGFib3V0IHBhY2thZ2luZyBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBpcyBhdmFpbGFibGUgYXQgPGEKKyAgICAgICBocmVmPSJodHRwOi8vZWNsaXBzZS5vcmcvZXF1aW5veC9wMi9yZXBvc2l0b3J5X3BhY2thZ2luZy5odG1sIj5odHRwOi8vZWNsaXBzZS5vcmcvZXF1aW5veC9wMi9yZXBvc2l0b3J5X3BhY2thZ2luZy5odG1sPC9hPgorICAgKCZxdW90O1NwZWNpZmljYXRpb24mcXVvdDspLjwvcD4KKworPHA+WW91IG1heSB1c2UgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgdG8gYWxsb3cgb3RoZXIgcGFydGllcyB0byBpbnN0YWxsIEluc3RhbGxhYmxlIFNvZnR3YXJlLiBZb3Ugc2hhbGwgYmUgcmVzcG9uc2libGUgZm9yIGVuYWJsaW5nIHRoZQorICAgYXBwbGljYWJsZSBsaWNlbnNlIGFncmVlbWVudHMgcmVsYXRpbmcgdG8gdGhlIEluc3RhbGxhYmxlIFNvZnR3YXJlIHRvIGJlIHByZXNlbnRlZCB0bywgYW5kIGFjY2VwdGVkIGJ5LCB0aGUgdXNlcnMgb2YgdGhlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5CisgICBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIFNwZWNpZmljYXRpb24uIEJ5IHVzaW5nIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5IGluIHN1Y2ggYSBtYW5uZXIgYW5kIG1ha2luZyBpdCBhdmFpbGFibGUgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZQorICAgU3BlY2lmaWNhdGlvbiwgeW91IGZ1cnRoZXIgYWNrbm93bGVkZ2UgeW91ciBhZ3JlZW1lbnQgdG8sIGFuZCB0aGUgYWNxdWlzaXRpb24gb2YgYWxsIG5lY2Vzc2FyeSByaWdodHMgdG8gcGVybWl0IHRoZSBmb2xsb3dpbmc6PC9wPgorCis8b2w+CisgICAgICAgPGxpPkEgc2VyaWVzIG9mIGFjdGlvbnMgbWF5IG9jY3VyICgmcXVvdDtQcm92aXNpb25pbmcgUHJvY2VzcyZxdW90OykgaW4gd2hpY2ggYSB1c2VyIG1heSBleGVjdXRlIHRoZSBQcm92aXNpb25pbmcgVGVjaG5vbG9neQorICAgICAgIG9uIGEgbWFjaGluZSAoJnF1b3Q7VGFyZ2V0IE1hY2hpbmUmcXVvdDspIHdpdGggdGhlIGludGVudCBvZiBpbnN0YWxsaW5nLCBleHRlbmRpbmcgb3IgdXBkYXRpbmcgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgYW4gRWNsaXBzZS1iYXNlZAorICAgICAgIHByb2R1Y3QuPC9saT4KKyAgICAgICA8bGk+RHVyaW5nIHRoZSBQcm92aXNpb25pbmcgUHJvY2VzcywgdGhlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5IG1heSBjYXVzZSB0aGlyZCBwYXJ0eSBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBvciBhIHBvcnRpb24gdGhlcmVvZiB0byBiZQorICAgICAgIGFjY2Vzc2VkIGFuZCBjb3BpZWQgdG8gdGhlIFRhcmdldCBNYWNoaW5lLjwvbGk+CisgICAgICAgPGxpPlB1cnN1YW50IHRvIHRoZSBTcGVjaWZpY2F0aW9uLCB5b3Ugd2lsbCBwcm92aWRlIHRvIHRoZSB1c2VyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGF0IGdvdmVybiB0aGUgdXNlIG9mIHRoZSBJbnN0YWxsYWJsZQorICAgICAgIFNvZnR3YXJlICgmcXVvdDtJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQmcXVvdDspIGFuZCBzdWNoIEluc3RhbGxhYmxlIFNvZnR3YXJlIEFncmVlbWVudCBzaGFsbCBiZSBhY2Nlc3NlZCBmcm9tIHRoZSBUYXJnZXQKKyAgICAgICBNYWNoaW5lIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgU3BlY2lmaWNhdGlvbi4gU3VjaCBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQgbXVzdCBpbmZvcm0gdGhlIHVzZXIgb2YgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRoYXQgZ292ZXJuCisgICAgICAgdGhlIEluc3RhbGxhYmxlIFNvZnR3YXJlIGFuZCBtdXN0IHNvbGljaXQgYWNjZXB0YW5jZSBieSB0aGUgZW5kIHVzZXIgaW4gdGhlIG1hbm5lciBwcmVzY3JpYmVkIGluIHN1Y2ggSW5zdGFsbGFibGUgU29mdHdhcmUgQWdyZWVtZW50LiBVcG9uIHN1Y2gKKyAgICAgICBpbmRpY2F0aW9uIG9mIGFncmVlbWVudCBieSB0aGUgdXNlciwgdGhlIHByb3Zpc2lvbmluZyBUZWNobm9sb2d5IHdpbGwgY29tcGxldGUgaW5zdGFsbGF0aW9uIG9mIHRoZSBJbnN0YWxsYWJsZSBTb2Z0d2FyZS48L2xpPgorPC9vbD4KKworPGgzPkNyeXB0b2dyYXBoeTwvaDM+CisKKzxwPkNvbnRlbnQgbWF5IGNvbnRhaW4gZW5jcnlwdGlvbiBzb2Z0d2FyZS4gVGhlIGNvdW50cnkgaW4gd2hpY2ggeW91IGFyZSBjdXJyZW50bHkgbWF5IGhhdmUgcmVzdHJpY3Rpb25zIG9uIHRoZSBpbXBvcnQsIHBvc3Nlc3Npb24sIGFuZCB1c2UsIGFuZC9vciByZS1leHBvcnQgdG8KKyAgIGFub3RoZXIgY291bnRyeSwgb2YgZW5jcnlwdGlvbiBzb2Z0d2FyZS4gQkVGT1JFIHVzaW5nIGFueSBlbmNyeXB0aW9uIHNvZnR3YXJlLCBwbGVhc2UgY2hlY2sgdGhlIGNvdW50cnkncyBsYXdzLCByZWd1bGF0aW9ucyBhbmQgcG9saWNpZXMgY29uY2VybmluZyB0aGUgaW1wb3J0LAorICAgcG9zc2Vzc2lvbiwgb3IgdXNlLCBhbmQgcmUtZXhwb3J0IG9mIGVuY3J5cHRpb24gc29mdHdhcmUsIHRvIHNlZSBpZiB0aGlzIGlzIHBlcm1pdHRlZC48L3A+CisKKzxwPjxzbWFsbD5KYXZhIGFuZCBhbGwgSmF2YS1iYXNlZCB0cmFkZW1hcmtzIGFyZSB0cmFkZW1hcmtzIG9mIE9yYWNsZSBDb3Jwb3JhdGlvbiBpbiB0aGUgVW5pdGVkIFN0YXRlcywgb3RoZXIgY291bnRyaWVzLCBvciBib3RoLjwvc21hbGw+PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uUlNBIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uUlNBCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZTJiMTYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQudWlfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9FQ0xJUFNFXy5SU0EKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uU0YgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQudWlfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9FQ0xJUFNFXy5TRgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTUwYmZkCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uU0YKQEAgLTAsMCArMSwyMyBAQAorU2lnbmF0dXJlLVZlcnNpb246IDEuMA0KK1NIQTEtRGlnZXN0LU1hbmlmZXN0OiBkcy9VdnJDbGNUcnVEbmVzMmZqeVZNaGRmcnM9DQorQ3JlYXRlZC1CeTogMS42LjAgKElCTSBDb3Jwb3JhdGlvbikNCitTSEExLURpZ2VzdC1NYW5pZmVzdC1NYWluLUF0dHJpYnV0ZXM6IDRnSWZUUDV5M0V6d0k1ZWN5ZWJRTHVnQk1nbz0NCisNCitOYW1lOiBlcGwtdjEwLmh0bWwNCitTSEExLURpZ2VzdDogOGdmZUk0Ykh0Y09RWEMzZFlmZ2d4dnNBeVdjPQ0KKw0KK05hbWU6IE1FVEEtSU5GL2VjbGlwc2UuaW5mDQorU0hBMS1EaWdlc3Q6IFFkcnlRdkpsVnl3bEUwTUdMdXdZQ2tta3lXaz0NCisNCitOYW1lOiBsaWNlbnNlLmh0bWwNCitTSEExLURpZ2VzdDogUnA5QW5SeWVVSXhOV2UxMGZqYU1Ea1FCOHJVPQ0KKw0KK05hbWU6IGZlYXR1cmUucHJvcGVydGllcw0KK1NIQTEtRGlnZXN0OiBIdUtIdk9BMFFVanduRXNnQVQwS1BITzhES1U9DQorDQorTmFtZTogYWJvdXQuaHRtbA0KK1NIQTEtRGlnZXN0OiBwNzdXb1cvdHB1R3BFK2RmYmFFdUxwK2JIL289DQorDQorTmFtZTogZmVhdHVyZS54bWwNCitTSEExLURpZ2VzdDogdDhWSGlCWW43dXFaTi9oaHZKb3VRT29IcmRRPQ0KKw0KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL01BTklGRVNULk1GIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvTUFOSUZFU1QuTUYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM5MjNmNAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL01BTklGRVNULk1GCkBAIC0wLDAgKzEsMjEgQEAKK01hbmlmZXN0LVZlcnNpb246IDEuMA0KK0NyZWF0ZWQtQnk6IDEuNi4wIChJQk0gQ29ycG9yYXRpb24pDQorDQorTmFtZTogZXBsLXYxMC5odG1sDQorU0hBMS1EaWdlc3Q6IGhOUFJSM2pvTzVVVjgrdS9MMHFqS1YvWTJFRT0NCisNCitOYW1lOiBNRVRBLUlORi9lY2xpcHNlLmluZg0KK1NIQTEtRGlnZXN0OiAwOWdOMDV0b2JnUy9NZHRxeVROUWhPaEI3M009DQorDQorTmFtZTogbGljZW5zZS5odG1sDQorU0hBMS1EaWdlc3Q6IC92TFpqbEhrWlNYTVNmUHJXd05xT1VEcXFiTT0NCisNCitOYW1lOiBmZWF0dXJlLnByb3BlcnRpZXMNCitTSEExLURpZ2VzdDogRmlIL0c4YVZ4aVU4dXlQd0RuZTErYTNKV1J3PQ0KKw0KK05hbWU6IGFib3V0Lmh0bWwNCitTSEExLURpZ2VzdDogbUxrbVJMdEczYW1rY1kwSTdLU1laWDZxS2hzPQ0KKw0KK05hbWU6IGZlYXR1cmUueG1sDQorU0hBMS1EaWdlc3Q6IDBvLzV2K1NpNjlPR1JmeXdOdE1yZVhFcURhND0NCisNCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQudWlfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9lY2xpcHNlLmluZiBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL2VjbGlwc2UuaW5mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZmZlZDIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQudWlfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9lY2xpcHNlLmluZgpAQCAtMCwwICsxLDIgQEAKKyNQcm9jZXNzZWQgdXNpbmcgSmFycHJvY2Vzc29yCitwYWNrMjAwLmNvbmRpdGlvbmVkID0gdHJ1ZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUvYWJvdXQuaHRtbCBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1L2Fib3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM1ZDVhZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1L2Fib3V0Lmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKKyAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiLz4KKzx0aXRsZT5BYm91dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keSBsYW5nPSJFTi1VUyI+Cis8aDI+QWJvdXQgVGhpcyBDb250ZW50PC9oMj4KKyAKKzxwPkp1bmUgNSwgMjAwNzwvcD4JCis8aDM+TGljZW5zZTwvaDM+CisKKzxwPlRoZSBFY2xpcHNlIEZvdW5kYXRpb24gbWFrZXMgYXZhaWxhYmxlIGFsbCBjb250ZW50IGluIHRoaXMgcGx1Zy1pbiAoJnF1b3Q7Q29udGVudCZxdW90OykuICBVbmxlc3Mgb3RoZXJ3aXNlIAoraW5kaWNhdGVkIGJlbG93LCB0aGUgQ29udGVudCBpcyBwcm92aWRlZCB0byB5b3UgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZQorRWNsaXBzZSBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDEuMCAoJnF1b3Q7RVBMJnF1b3Q7KS4gIEEgY29weSBvZiB0aGUgRVBMIGlzIGF2YWlsYWJsZSAKK2F0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sIj5odHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbDwvYT4uCitGb3IgcHVycG9zZXMgb2YgdGhlIEVQTCwgJnF1b3Q7UHJvZ3JhbSZxdW90OyB3aWxsIG1lYW4gdGhlIENvbnRlbnQuPC9wPgorCis8cD5JZiB5b3UgZGlkIG5vdCByZWNlaXZlIHRoaXMgQ29udGVudCBkaXJlY3RseSBmcm9tIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24sIHRoZSBDb250ZW50IGlzIAorYmVpbmcgcmVkaXN0cmlidXRlZCBieSBhbm90aGVyIHBhcnR5ICgmcXVvdDtSZWRpc3RyaWJ1dG9yJnF1b3Q7KSBhbmQgZGlmZmVyZW50IHRlcm1zIGFuZCBjb25kaXRpb25zIG1heQorYXBwbHkgdG8geW91ciB1c2Ugb2YgYW55IG9iamVjdCBjb2RlIGluIHRoZSBDb250ZW50LiAgQ2hlY2sgdGhlIFJlZGlzdHJpYnV0b3IncyBsaWNlbnNlIHRoYXQgd2FzIAorcHJvdmlkZWQgd2l0aCB0aGUgQ29udGVudC4gIElmIG5vIHN1Y2ggbGljZW5zZSBleGlzdHMsIGNvbnRhY3QgdGhlIFJlZGlzdHJpYnV0b3IuICBVbmxlc3Mgb3RoZXJ3aXNlCitpbmRpY2F0ZWQgYmVsb3csIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgRVBMIHN0aWxsIGFwcGx5IHRvIGFueSBzb3VyY2UgY29kZSBpbiB0aGUgQ29udGVudAorYW5kIHN1Y2ggc291cmNlIGNvZGUgbWF5IGJlIG9idGFpbmVkIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvIj5odHRwOi8vd3d3LmVjbGlwc2Uub3JnPC9hPi48L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1L2VwbC12MTAuaHRtbCBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1L2VwbC12MTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjEwNzNhCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUvZXBsLXYxMC5odG1sCkBAIC0wLDAgKzEsMzA0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wLy9FTiI+Cis8aHRtbCB4bWxuczpvPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiCit4bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIgoreG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiPgorCis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiPgorPGxpbmsgcmVsPUZpbGUtTGlzdAoraHJlZj0iLi9FY2xpcHNlJTIwRVBMJTIwMjAwM18xMV8xMCUyMEZpbmFsX2ZpbGVzL2ZpbGVsaXN0LnhtbCI+Cis8dGl0bGU+RWNsaXBzZSBQdWJsaWMgTGljZW5zZSAtIFZlcnNpb24gMS4wPC90aXRsZT4KKzxzdHlsZT4KKzwhLS0KKyAvKiBGb250IERlZmluaXRpb25zICovCitAZm9udC1mYWNlCisJeworCXBhbm9zZS0xOjIgMTEgNiA0IDMgNSA0IDQgMiA0OworCW1zby1mb250LWNoYXJzZXQ6MDsKKwltc28tZm9udC1waXRjaDp2YXJpYWJsZTsKKwltc28tZm9udC1zaWduYXR1cmU6NTUzNjc5NDk1IC0yMTQ3NDgzNjQ4IDggMCA2NjA0NyAwO30KKyAvKiBTdHlsZSBEZWZpbml0aW9ucyAqLworcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbAorCXttc28tc3R5bGUtcGFyZW50OiIiOworCW1hcmdpbjowaW47CisJbWFyZ2luLWJvdHRvbTouMDAwMXB0OworCW1zby1wYWdpbmF0aW9uOndpZG93LW9ycGhhbjsKKwlmb250LXNpemU6MTIuMHB0OworCX0KK3AKKwl7bWFyZ2luLXJpZ2h0OjBpbjsKKwltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKKwltc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsKKwltYXJnaW4tbGVmdDowaW47CisJbXNvLXBhZ2luYXRpb246d2lkb3ctb3JwaGFuOworCWZvbnQtc2l6ZToxMi4wcHQ7CisJfQorcC5CYWxsb29uVGV4dCwgbGkuQmFsbG9vblRleHQsIGRpdi5CYWxsb29uVGV4dAorCXttc28tc3R5bGUtbmFtZToiQmFsbG9vbiBUZXh0IjsKKwltYXJnaW46MGluOworCW1hcmdpbi1ib3R0b206LjAwMDFwdDsKKwltc28tcGFnaW5hdGlvbjp3aWRvdy1vcnBoYW47CisJZm9udC1zaXplOjguMHB0OworCQorCX0KK0BwYWdlIFNlY3Rpb24xCisJe3NpemU6OC41aW4gMTEuMGluOworCW1hcmdpbjoxLjBpbiAxLjI1aW4gMS4waW4gMS4yNWluOworCW1zby1oZWFkZXItbWFyZ2luOi41aW47CisJbXNvLWZvb3Rlci1tYXJnaW46LjVpbjsKKwltc28tcGFwZXItc291cmNlOjA7fQorZGl2LlNlY3Rpb24xCisJe3BhZ2U6U2VjdGlvbjE7fQorLS0+Cis8L3N0eWxlPgorPC9oZWFkPgorCis8Ym9keSBsYW5nPSJFTi1VUyIgc3R5bGU9J3RhYi1pbnRlcnZhbDouNWluJz4KKworPGRpdiBjbGFzcz1TZWN0aW9uMT4KKworPHAgYWxpZ249Y2VudGVyIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcic+PGI+RWNsaXBzZSBQdWJsaWMgTGljZW5zZSAtIHYgMS4wPC9iPgorPC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+VEhFIEFDQ09NUEFOWUlORyBQUk9HUkFNIElTIFBST1ZJREVEIFVOREVSCitUSEUgVEVSTVMgT0YgVEhJUyBFQ0xJUFNFIFBVQkxJQyBMSUNFTlNFICgmcXVvdDtBR1JFRU1FTlQmcXVvdDspLiBBTlkgVVNFLAorUkVQUk9EVUNUSU9OIE9SIERJU1RSSUJVVElPTiBPRiBUSEUgUFJPR1JBTSBDT05TVElUVVRFUyBSRUNJUElFTlQnUyBBQ0NFUFRBTkNFCitPRiBUSElTIEFHUkVFTUVOVC48L3NwYW4+IDwvcD4KKworPHA+PGI+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPjEuIERFRklOSVRJT05TPC9zcGFuPjwvYj4gPC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+JnF1b3Q7Q29udHJpYnV0aW9uJnF1b3Q7IG1lYW5zOjwvc3Bhbj4gPC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5hKQoraW4gdGhlIGNhc2Ugb2YgdGhlIGluaXRpYWwgQ29udHJpYnV0b3IsIHRoZSBpbml0aWFsIGNvZGUgYW5kIGRvY3VtZW50YXRpb24KK2Rpc3RyaWJ1dGVkIHVuZGVyIHRoaXMgQWdyZWVtZW50LCBhbmQ8YnIgY2xlYXI9bGVmdD4KK2IpIGluIHRoZSBjYXNlIG9mIGVhY2ggc3Vic2VxdWVudCBDb250cmlidXRvcjo8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5pKQorY2hhbmdlcyB0byB0aGUgUHJvZ3JhbSwgYW5kPC9zcGFuPjwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+aWkpCithZGRpdGlvbnMgdG8gdGhlIFByb2dyYW07PC9zcGFuPjwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+d2hlcmUKK3N1Y2ggY2hhbmdlcyBhbmQvb3IgYWRkaXRpb25zIHRvIHRoZSBQcm9ncmFtIG9yaWdpbmF0ZSBmcm9tIGFuZCBhcmUgZGlzdHJpYnV0ZWQKK2J5IHRoYXQgcGFydGljdWxhciBDb250cmlidXRvci4gQSBDb250cmlidXRpb24gJ29yaWdpbmF0ZXMnIGZyb20gYSBDb250cmlidXRvcgoraWYgaXQgd2FzIGFkZGVkIHRvIHRoZSBQcm9ncmFtIGJ5IHN1Y2ggQ29udHJpYnV0b3IgaXRzZWxmIG9yIGFueW9uZSBhY3Rpbmcgb24KK3N1Y2ggQ29udHJpYnV0b3IncyBiZWhhbGYuIENvbnRyaWJ1dGlvbnMgZG8gbm90IGluY2x1ZGUgYWRkaXRpb25zIHRvIHRoZQorUHJvZ3JhbSB3aGljaDogKGkpIGFyZSBzZXBhcmF0ZSBtb2R1bGVzIG9mIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIGluIGNvbmp1bmN0aW9uCit3aXRoIHRoZSBQcm9ncmFtIHVuZGVyIHRoZWlyIG93biBsaWNlbnNlIGFncmVlbWVudCwgYW5kIChpaSkgYXJlIG5vdCBkZXJpdmF0aXZlCit3b3JrcyBvZiB0aGUgUHJvZ3JhbS4gPC9zcGFuPjwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPiZxdW90O0NvbnRyaWJ1dG9yJnF1b3Q7IG1lYW5zIGFueSBwZXJzb24gb3IKK2VudGl0eSB0aGF0IGRpc3RyaWJ1dGVzIHRoZSBQcm9ncmFtLjwvc3Bhbj4gPC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+JnF1b3Q7TGljZW5zZWQgUGF0ZW50cyAmcXVvdDsgbWVhbiBwYXRlbnQKK2NsYWltcyBsaWNlbnNhYmxlIGJ5IGEgQ29udHJpYnV0b3Igd2hpY2ggYXJlIG5lY2Vzc2FyaWx5IGluZnJpbmdlZCBieSB0aGUgdXNlCitvciBzYWxlIG9mIGl0cyBDb250cmlidXRpb24gYWxvbmUgb3Igd2hlbiBjb21iaW5lZCB3aXRoIHRoZSBQcm9ncmFtLiA8L3NwYW4+PC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+JnF1b3Q7UHJvZ3JhbSZxdW90OyBtZWFucyB0aGUgQ29udHJpYnV0aW9ucworZGlzdHJpYnV0ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoaXMgQWdyZWVtZW50Ljwvc3Bhbj4gPC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+JnF1b3Q7UmVjaXBpZW50JnF1b3Q7IG1lYW5zIGFueW9uZSB3aG8KK3JlY2VpdmVzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgQWdyZWVtZW50LCBpbmNsdWRpbmcgYWxsIENvbnRyaWJ1dG9ycy48L3NwYW4+IDwvcD4KKworPHA+PGI+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPjIuIEdSQU5UIE9GIFJJR0hUUzwvc3Bhbj48L2I+IDwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+YSkKK1N1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoaXMgQWdyZWVtZW50LCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgUmVjaXBpZW50CithIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSwgcm95YWx0eS1mcmVlIGNvcHlyaWdodCBsaWNlbnNlIHRvPHNwYW4KK3N0eWxlPSdjb2xvcjpyZWQnPiA8L3NwYW4+cmVwcm9kdWNlLCBwcmVwYXJlIGRlcml2YXRpdmUgd29ya3Mgb2YsIHB1YmxpY2x5CitkaXNwbGF5LCBwdWJsaWNseSBwZXJmb3JtLCBkaXN0cmlidXRlIGFuZCBzdWJsaWNlbnNlIHRoZSBDb250cmlidXRpb24gb2Ygc3VjaAorQ29udHJpYnV0b3IsIGlmIGFueSwgYW5kIHN1Y2ggZGVyaXZhdGl2ZSB3b3JrcywgaW4gc291cmNlIGNvZGUgYW5kIG9iamVjdCBjb2RlCitmb3JtLjwvc3Bhbj48L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmIpCitTdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGlzIEFncmVlbWVudCwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzCitSZWNpcGllbnQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsPHNwYW4gc3R5bGU9J2NvbG9yOmdyZWVuJz4gPC9zcGFuPnJveWFsdHktZnJlZQorcGF0ZW50IGxpY2Vuc2UgdW5kZXIgTGljZW5zZWQgUGF0ZW50cyB0byBtYWtlLCB1c2UsIHNlbGwsIG9mZmVyIHRvIHNlbGwsIGltcG9ydAorYW5kIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgQ29udHJpYnV0aW9uIG9mIHN1Y2ggQ29udHJpYnV0b3IsIGlmIGFueSwgaW4gc291cmNlCitjb2RlIGFuZCBvYmplY3QgY29kZSBmb3JtLiBUaGlzIHBhdGVudCBsaWNlbnNlIHNoYWxsIGFwcGx5IHRvIHRoZSBjb21iaW5hdGlvbgorb2YgdGhlIENvbnRyaWJ1dGlvbiBhbmQgdGhlIFByb2dyYW0gaWYsIGF0IHRoZSB0aW1lIHRoZSBDb250cmlidXRpb24gaXMgYWRkZWQKK2J5IHRoZSBDb250cmlidXRvciwgc3VjaCBhZGRpdGlvbiBvZiB0aGUgQ29udHJpYnV0aW9uIGNhdXNlcyBzdWNoIGNvbWJpbmF0aW9uCit0byBiZSBjb3ZlcmVkIGJ5IHRoZSBMaWNlbnNlZCBQYXRlbnRzLiBUaGUgcGF0ZW50IGxpY2Vuc2Ugc2hhbGwgbm90IGFwcGx5IHRvCithbnkgb3RoZXIgY29tYmluYXRpb25zIHdoaWNoIGluY2x1ZGUgdGhlIENvbnRyaWJ1dGlvbi4gTm8gaGFyZHdhcmUgcGVyIHNlIGlzCitsaWNlbnNlZCBoZXJldW5kZXIuIDwvc3Bhbj48L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmMpCitSZWNpcGllbnQgdW5kZXJzdGFuZHMgdGhhdCBhbHRob3VnaCBlYWNoIENvbnRyaWJ1dG9yIGdyYW50cyB0aGUgbGljZW5zZXMgdG8gaXRzCitDb250cmlidXRpb25zIHNldCBmb3J0aCBoZXJlaW4sIG5vIGFzc3VyYW5jZXMgYXJlIHByb3ZpZGVkIGJ5IGFueSBDb250cmlidXRvcgordGhhdCB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBpbmZyaW5nZSB0aGUgcGF0ZW50IG9yIG90aGVyIGludGVsbGVjdHVhbCBwcm9wZXJ0eQorcmlnaHRzIG9mIGFueSBvdGhlciBlbnRpdHkuIEVhY2ggQ29udHJpYnV0b3IgZGlzY2xhaW1zIGFueSBsaWFiaWxpdHkgdG8gUmVjaXBpZW50Citmb3IgY2xhaW1zIGJyb3VnaHQgYnkgYW55IG90aGVyIGVudGl0eSBiYXNlZCBvbiBpbmZyaW5nZW1lbnQgb2YgaW50ZWxsZWN0dWFsCitwcm9wZXJ0eSByaWdodHMgb3Igb3RoZXJ3aXNlLiBBcyBhIGNvbmRpdGlvbiB0byBleGVyY2lzaW5nIHRoZSByaWdodHMgYW5kCitsaWNlbnNlcyBncmFudGVkIGhlcmV1bmRlciwgZWFjaCBSZWNpcGllbnQgaGVyZWJ5IGFzc3VtZXMgc29sZSByZXNwb25zaWJpbGl0eQordG8gc2VjdXJlIGFueSBvdGhlciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIG5lZWRlZCwgaWYgYW55LiBGb3IgZXhhbXBsZSwKK2lmIGEgdGhpcmQgcGFydHkgcGF0ZW50IGxpY2Vuc2UgaXMgcmVxdWlyZWQgdG8gYWxsb3cgUmVjaXBpZW50IHRvIGRpc3RyaWJ1dGUKK3RoZSBQcm9ncmFtLCBpdCBpcyBSZWNpcGllbnQncyByZXNwb25zaWJpbGl0eSB0byBhY3F1aXJlIHRoYXQgbGljZW5zZSBiZWZvcmUKK2Rpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbS48L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5kKQorRWFjaCBDb250cmlidXRvciByZXByZXNlbnRzIHRoYXQgdG8gaXRzIGtub3dsZWRnZSBpdCBoYXMgc3VmZmljaWVudCBjb3B5cmlnaHQKK3JpZ2h0cyBpbiBpdHMgQ29udHJpYnV0aW9uLCBpZiBhbnksIHRvIGdyYW50IHRoZSBjb3B5cmlnaHQgbGljZW5zZSBzZXQgZm9ydGggaW4KK3RoaXMgQWdyZWVtZW50LiA8L3NwYW4+PC9wPgorCis8cD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+My4gUkVRVUlSRU1FTlRTPC9zcGFuPjwvYj4gPC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+QSBDb250cmlidXRvciBtYXkgY2hvb3NlIHRvIGRpc3RyaWJ1dGUgdGhlCitQcm9ncmFtIGluIG9iamVjdCBjb2RlIGZvcm0gdW5kZXIgaXRzIG93biBsaWNlbnNlIGFncmVlbWVudCwgcHJvdmlkZWQgdGhhdDo8L3NwYW4+Cis8L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmEpCitpdCBjb21wbGllcyB3aXRoIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGlzIEFncmVlbWVudDsgYW5kPC9zcGFuPjwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+YikKK2l0cyBsaWNlbnNlIGFncmVlbWVudDo8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5pKQorZWZmZWN0aXZlbHkgZGlzY2xhaW1zIG9uIGJlaGFsZiBvZiBhbGwgQ29udHJpYnV0b3JzIGFsbCB3YXJyYW50aWVzIGFuZAorY29uZGl0aW9ucywgZXhwcmVzcyBhbmQgaW1wbGllZCwgaW5jbHVkaW5nIHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZiB0aXRsZQorYW5kIG5vbi1pbmZyaW5nZW1lbnQsIGFuZCBpbXBsaWVkIHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZiBtZXJjaGFudGFiaWxpdHkKK2FuZCBmaXRuZXNzIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZTsgPC9zcGFuPjwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+aWkpCitlZmZlY3RpdmVseSBleGNsdWRlcyBvbiBiZWhhbGYgb2YgYWxsIENvbnRyaWJ1dG9ycyBhbGwgbGlhYmlsaXR5IGZvciBkYW1hZ2VzLAoraW5jbHVkaW5nIGRpcmVjdCwgaW5kaXJlY3QsIHNwZWNpYWwsIGluY2lkZW50YWwgYW5kIGNvbnNlcXVlbnRpYWwgZGFtYWdlcywgc3VjaAorYXMgbG9zdCBwcm9maXRzOyA8L3NwYW4+PC9wPgorCis8cCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9J21hcmdpbi1sZWZ0Oi41aW4nPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5paWkpCitzdGF0ZXMgdGhhdCBhbnkgcHJvdmlzaW9ucyB3aGljaCBkaWZmZXIgZnJvbSB0aGlzIEFncmVlbWVudCBhcmUgb2ZmZXJlZCBieSB0aGF0CitDb250cmlidXRvciBhbG9uZSBhbmQgbm90IGJ5IGFueSBvdGhlciBwYXJ0eTsgYW5kPC9zcGFuPjwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+aXYpCitzdGF0ZXMgdGhhdCBzb3VyY2UgY29kZSBmb3IgdGhlIFByb2dyYW0gaXMgYXZhaWxhYmxlIGZyb20gc3VjaCBDb250cmlidXRvciwgYW5kCitpbmZvcm1zIGxpY2Vuc2VlcyBob3cgdG8gb2J0YWluIGl0IGluIGEgcmVhc29uYWJsZSBtYW5uZXIgb24gb3IgdGhyb3VnaCBhCittZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgZXhjaGFuZ2UuPHNwYW4gc3R5bGU9J2NvbG9yOmJsdWUnPiA8L3NwYW4+PC9zcGFuPjwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPldoZW4gdGhlIFByb2dyYW0gaXMgbWFkZSBhdmFpbGFibGUgaW4gc291cmNlCitjb2RlIGZvcm06PC9zcGFuPiA8L3A+CisKKzxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0nbWFyZ2luLWxlZnQ6LjVpbic+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPmEpCitpdCBtdXN0IGJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoaXMgQWdyZWVtZW50OyBhbmQgPC9zcGFuPjwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tbGVmdDouNWluJz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+YikgYQorY29weSBvZiB0aGlzIEFncmVlbWVudCBtdXN0IGJlIGluY2x1ZGVkIHdpdGggZWFjaCBjb3B5IG9mIHRoZSBQcm9ncmFtLiA8L3NwYW4+PC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+Q29udHJpYnV0b3JzIG1heSBub3QgcmVtb3ZlIG9yIGFsdGVyIGFueQorY29weXJpZ2h0IG5vdGljZXMgY29udGFpbmVkIHdpdGhpbiB0aGUgUHJvZ3JhbS4gPC9zcGFuPjwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPkVhY2ggQ29udHJpYnV0b3IgbXVzdCBpZGVudGlmeSBpdHNlbGYgYXMgdGhlCitvcmlnaW5hdG9yIG9mIGl0cyBDb250cmlidXRpb24sIGlmIGFueSwgaW4gYSBtYW5uZXIgdGhhdCByZWFzb25hYmx5IGFsbG93cworc3Vic2VxdWVudCBSZWNpcGllbnRzIHRvIGlkZW50aWZ5IHRoZSBvcmlnaW5hdG9yIG9mIHRoZSBDb250cmlidXRpb24uIDwvc3Bhbj48L3A+CisKKzxwPjxiPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz40LiBDT01NRVJDSUFMIERJU1RSSUJVVElPTjwvc3Bhbj48L2I+IDwvcD4KKworPHA+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPkNvbW1lcmNpYWwgZGlzdHJpYnV0b3JzIG9mIHNvZnR3YXJlIG1heQorYWNjZXB0IGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyB3aXRoIHJlc3BlY3QgdG8gZW5kIHVzZXJzLCBidXNpbmVzcyBwYXJ0bmVycworYW5kIHRoZSBsaWtlLiBXaGlsZSB0aGlzIGxpY2Vuc2UgaXMgaW50ZW5kZWQgdG8gZmFjaWxpdGF0ZSB0aGUgY29tbWVyY2lhbCB1c2UKK29mIHRoZSBQcm9ncmFtLCB0aGUgQ29udHJpYnV0b3Igd2hvIGluY2x1ZGVzIHRoZSBQcm9ncmFtIGluIGEgY29tbWVyY2lhbAorcHJvZHVjdCBvZmZlcmluZyBzaG91bGQgZG8gc28gaW4gYSBtYW5uZXIgd2hpY2ggZG9lcyBub3QgY3JlYXRlIHBvdGVudGlhbAorbGlhYmlsaXR5IGZvciBvdGhlciBDb250cmlidXRvcnMuIFRoZXJlZm9yZSwgaWYgYSBDb250cmlidXRvciBpbmNsdWRlcyB0aGUKK1Byb2dyYW0gaW4gYSBjb21tZXJjaWFsIHByb2R1Y3Qgb2ZmZXJpbmcsIHN1Y2ggQ29udHJpYnV0b3IgKCZxdW90O0NvbW1lcmNpYWwKK0NvbnRyaWJ1dG9yJnF1b3Q7KSBoZXJlYnkgYWdyZWVzIHRvIGRlZmVuZCBhbmQgaW5kZW1uaWZ5IGV2ZXJ5IG90aGVyCitDb250cmlidXRvciAoJnF1b3Q7SW5kZW1uaWZpZWQgQ29udHJpYnV0b3ImcXVvdDspIGFnYWluc3QgYW55IGxvc3NlcywgZGFtYWdlcyBhbmQKK2Nvc3RzIChjb2xsZWN0aXZlbHkgJnF1b3Q7TG9zc2VzJnF1b3Q7KSBhcmlzaW5nIGZyb20gY2xhaW1zLCBsYXdzdWl0cyBhbmQgb3RoZXIKK2xlZ2FsIGFjdGlvbnMgYnJvdWdodCBieSBhIHRoaXJkIHBhcnR5IGFnYWluc3QgdGhlIEluZGVtbmlmaWVkIENvbnRyaWJ1dG9yIHRvCit0aGUgZXh0ZW50IGNhdXNlZCBieSB0aGUgYWN0cyBvciBvbWlzc2lvbnMgb2Ygc3VjaCBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIGluCitjb25uZWN0aW9uIHdpdGggaXRzIGRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBpbiBhIGNvbW1lcmNpYWwgcHJvZHVjdAorb2ZmZXJpbmcuIFRoZSBvYmxpZ2F0aW9ucyBpbiB0aGlzIHNlY3Rpb24gZG8gbm90IGFwcGx5IHRvIGFueSBjbGFpbXMgb3IgTG9zc2VzCityZWxhdGluZyB0byBhbnkgYWN0dWFsIG9yIGFsbGVnZWQgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGluZnJpbmdlbWVudC4gSW4gb3JkZXIKK3RvIHF1YWxpZnksIGFuIEluZGVtbmlmaWVkIENvbnRyaWJ1dG9yIG11c3Q6IGEpIHByb21wdGx5IG5vdGlmeSB0aGUgQ29tbWVyY2lhbAorQ29udHJpYnV0b3IgaW4gd3JpdGluZyBvZiBzdWNoIGNsYWltLCBhbmQgYikgYWxsb3cgdGhlIENvbW1lcmNpYWwgQ29udHJpYnV0b3IKK3RvIGNvbnRyb2wsIGFuZCBjb29wZXJhdGUgd2l0aCB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciBpbiwgdGhlIGRlZmVuc2UgYW5kCithbnkgcmVsYXRlZCBzZXR0bGVtZW50IG5lZ290aWF0aW9ucy4gVGhlIEluZGVtbmlmaWVkIENvbnRyaWJ1dG9yIG1heSBwYXJ0aWNpcGF0ZQoraW4gYW55IHN1Y2ggY2xhaW0gYXQgaXRzIG93biBleHBlbnNlLjwvc3Bhbj4gPC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+Rm9yIGV4YW1wbGUsIGEgQ29udHJpYnV0b3IgbWlnaHQgaW5jbHVkZSB0aGUKK1Byb2dyYW0gaW4gYSBjb21tZXJjaWFsIHByb2R1Y3Qgb2ZmZXJpbmcsIFByb2R1Y3QgWC4gVGhhdCBDb250cmlidXRvciBpcyB0aGVuIGEKK0NvbW1lcmNpYWwgQ29udHJpYnV0b3IuIElmIHRoYXQgQ29tbWVyY2lhbCBDb250cmlidXRvciB0aGVuIG1ha2VzIHBlcmZvcm1hbmNlCitjbGFpbXMsIG9yIG9mZmVycyB3YXJyYW50aWVzIHJlbGF0ZWQgdG8gUHJvZHVjdCBYLCB0aG9zZSBwZXJmb3JtYW5jZSBjbGFpbXMgYW5kCit3YXJyYW50aWVzIGFyZSBzdWNoIENvbW1lcmNpYWwgQ29udHJpYnV0b3IncyByZXNwb25zaWJpbGl0eSBhbG9uZS4gVW5kZXIgdGhpcworc2VjdGlvbiwgdGhlIENvbW1lcmNpYWwgQ29udHJpYnV0b3Igd291bGQgaGF2ZSB0byBkZWZlbmQgY2xhaW1zIGFnYWluc3QgdGhlCitvdGhlciBDb250cmlidXRvcnMgcmVsYXRlZCB0byB0aG9zZSBwZXJmb3JtYW5jZSBjbGFpbXMgYW5kIHdhcnJhbnRpZXMsIGFuZCBpZiBhCitjb3VydCByZXF1aXJlcyBhbnkgb3RoZXIgQ29udHJpYnV0b3IgdG8gcGF5IGFueSBkYW1hZ2VzIGFzIGEgcmVzdWx0LCB0aGUKK0NvbW1lcmNpYWwgQ29udHJpYnV0b3IgbXVzdCBwYXkgdGhvc2UgZGFtYWdlcy48L3NwYW4+IDwvcD4KKworPHA+PGI+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPjUuIE5PIFdBUlJBTlRZPC9zcGFuPjwvYj4gPC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+RVhDRVBUIEFTIEVYUFJFU1NMWSBTRVQgRk9SVEggSU4gVEhJUworQUdSRUVNRU5ULCBUSEUgUFJPR1JBTSBJUyBQUk9WSURFRCBPTiBBTiAmcXVvdDtBUyBJUyZxdW90OyBCQVNJUywgV0lUSE9VVAorV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVEIElOQ0xVRElORywKK1dJVEhPVVQgTElNSVRBVElPTiwgQU5ZIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBUSVRMRSwgTk9OLUlORlJJTkdFTUVOVCwKK01FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gRWFjaCBSZWNpcGllbnQgaXMgc29sZWx5CityZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcgdGhlIGFwcHJvcHJpYXRlbmVzcyBvZiB1c2luZyBhbmQgZGlzdHJpYnV0aW5nIHRoZQorUHJvZ3JhbSBhbmQgYXNzdW1lcyBhbGwgcmlza3MgYXNzb2NpYXRlZCB3aXRoIGl0cyBleGVyY2lzZSBvZiByaWdodHMgdW5kZXIgdGhpcworQWdyZWVtZW50ICwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byB0aGUgcmlza3MgYW5kIGNvc3RzIG9mIHByb2dyYW0gZXJyb3JzLAorY29tcGxpYW5jZSB3aXRoIGFwcGxpY2FibGUgbGF3cywgZGFtYWdlIHRvIG9yIGxvc3Mgb2YgZGF0YSwgcHJvZ3JhbXMgb3IKK2VxdWlwbWVudCwgYW5kIHVuYXZhaWxhYmlsaXR5IG9yIGludGVycnVwdGlvbiBvZiBvcGVyYXRpb25zLiA8L3NwYW4+PC9wPgorCis8cD48Yj48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+Ni4gRElTQ0xBSU1FUiBPRiBMSUFCSUxJVFk8L3NwYW4+PC9iPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5FWENFUFQgQVMgRVhQUkVTU0xZIFNFVCBGT1JUSCBJTiBUSElTCitBR1JFRU1FTlQsIE5FSVRIRVIgUkVDSVBJRU5UIE5PUiBBTlkgQ09OVFJJQlVUT1JTIFNIQUxMIEhBVkUgQU5ZIExJQUJJTElUWSBGT1IKK0FOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gTE9TVCBQUk9GSVRTKSwgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKK09GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCitORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9SIERJU1RSSUJVVElPTiBPRgorVEhFIFBST0dSQU0gT1IgVEhFIEVYRVJDSVNFIE9GIEFOWSBSSUdIVFMgR1JBTlRFRCBIRVJFVU5ERVIsIEVWRU4gSUYgQURWSVNFRCBPRgorVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUy48L3NwYW4+IDwvcD4KKworPHA+PGI+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQnPjcuIEdFTkVSQUw8L3NwYW4+PC9iPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5JZiBhbnkgcHJvdmlzaW9uIG9mIHRoaXMgQWdyZWVtZW50IGlzIGludmFsaWQKK29yIHVuZW5mb3JjZWFibGUgdW5kZXIgYXBwbGljYWJsZSBsYXcsIGl0IHNoYWxsIG5vdCBhZmZlY3QgdGhlIHZhbGlkaXR5IG9yCitlbmZvcmNlYWJpbGl0eSBvZiB0aGUgcmVtYWluZGVyIG9mIHRoZSB0ZXJtcyBvZiB0aGlzIEFncmVlbWVudCwgYW5kIHdpdGhvdXQKK2Z1cnRoZXIgYWN0aW9uIGJ5IHRoZSBwYXJ0aWVzIGhlcmV0bywgc3VjaCBwcm92aXNpb24gc2hhbGwgYmUgcmVmb3JtZWQgdG8gdGhlCittaW5pbXVtIGV4dGVudCBuZWNlc3NhcnkgdG8gbWFrZSBzdWNoIHByb3Zpc2lvbiB2YWxpZCBhbmQgZW5mb3JjZWFibGUuPC9zcGFuPiA8L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5JZiBSZWNpcGllbnQgaW5zdGl0dXRlcyBwYXRlbnQgbGl0aWdhdGlvbgorYWdhaW5zdCBhbnkgZW50aXR5IChpbmNsdWRpbmcgYSBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KQorYWxsZWdpbmcgdGhhdCB0aGUgUHJvZ3JhbSBpdHNlbGYgKGV4Y2x1ZGluZyBjb21iaW5hdGlvbnMgb2YgdGhlIFByb2dyYW0gd2l0aAorb3RoZXIgc29mdHdhcmUgb3IgaGFyZHdhcmUpIGluZnJpbmdlcyBzdWNoIFJlY2lwaWVudCdzIHBhdGVudChzKSwgdGhlbiBzdWNoCitSZWNpcGllbnQncyByaWdodHMgZ3JhbnRlZCB1bmRlciBTZWN0aW9uIDIoYikgc2hhbGwgdGVybWluYXRlIGFzIG9mIHRoZSBkYXRlCitzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuIDwvc3Bhbj48L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5BbGwgUmVjaXBpZW50J3MgcmlnaHRzIHVuZGVyIHRoaXMgQWdyZWVtZW50CitzaGFsbCB0ZXJtaW5hdGUgaWYgaXQgZmFpbHMgdG8gY29tcGx5IHdpdGggYW55IG9mIHRoZSBtYXRlcmlhbCB0ZXJtcyBvcgorY29uZGl0aW9ucyBvZiB0aGlzIEFncmVlbWVudCBhbmQgZG9lcyBub3QgY3VyZSBzdWNoIGZhaWx1cmUgaW4gYSByZWFzb25hYmxlCitwZXJpb2Qgb2YgdGltZSBhZnRlciBiZWNvbWluZyBhd2FyZSBvZiBzdWNoIG5vbmNvbXBsaWFuY2UuIElmIGFsbCBSZWNpcGllbnQncworcmlnaHRzIHVuZGVyIHRoaXMgQWdyZWVtZW50IHRlcm1pbmF0ZSwgUmVjaXBpZW50IGFncmVlcyB0byBjZWFzZSB1c2UgYW5kCitkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0gYXMgc29vbiBhcyByZWFzb25hYmx5IHByYWN0aWNhYmxlLiBIb3dldmVyLAorUmVjaXBpZW50J3Mgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQgYW5kIGFueSBsaWNlbnNlcyBncmFudGVkIGJ5CitSZWNpcGllbnQgcmVsYXRpbmcgdG8gdGhlIFByb2dyYW0gc2hhbGwgY29udGludWUgYW5kIHN1cnZpdmUuIDwvc3Bhbj48L3A+CisKKzxwPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0Jz5FdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZQorY29waWVzIG9mIHRoaXMgQWdyZWVtZW50LCBidXQgaW4gb3JkZXIgdG8gYXZvaWQgaW5jb25zaXN0ZW5jeSB0aGUgQWdyZWVtZW50IGlzCitjb3B5cmlnaHRlZCBhbmQgbWF5IG9ubHkgYmUgbW9kaWZpZWQgaW4gdGhlIGZvbGxvd2luZyBtYW5uZXIuIFRoZSBBZ3JlZW1lbnQKK1N0ZXdhcmQgcmVzZXJ2ZXMgdGhlIHJpZ2h0IHRvIHB1Ymxpc2ggbmV3IHZlcnNpb25zIChpbmNsdWRpbmcgcmV2aXNpb25zKSBvZgordGhpcyBBZ3JlZW1lbnQgZnJvbSB0aW1lIHRvIHRpbWUuIE5vIG9uZSBvdGhlciB0aGFuIHRoZSBBZ3JlZW1lbnQgU3Rld2FyZCBoYXMKK3RoZSByaWdodCB0byBtb2RpZnkgdGhpcyBBZ3JlZW1lbnQuIFRoZSBFY2xpcHNlIEZvdW5kYXRpb24gaXMgdGhlIGluaXRpYWwKK0FncmVlbWVudCBTdGV3YXJkLiBUaGUgRWNsaXBzZSBGb3VuZGF0aW9uIG1heSBhc3NpZ24gdGhlIHJlc3BvbnNpYmlsaXR5IHRvCitzZXJ2ZSBhcyB0aGUgQWdyZWVtZW50IFN0ZXdhcmQgdG8gYSBzdWl0YWJsZSBzZXBhcmF0ZSBlbnRpdHkuIEVhY2ggbmV3IHZlcnNpb24KK29mIHRoZSBBZ3JlZW1lbnQgd2lsbCBiZSBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiBUaGUgUHJvZ3JhbQorKGluY2x1ZGluZyBDb250cmlidXRpb25zKSBtYXkgYWx3YXlzIGJlIGRpc3RyaWJ1dGVkIHN1YmplY3QgdG8gdGhlIHZlcnNpb24gb2YKK3RoZSBBZ3JlZW1lbnQgdW5kZXIgd2hpY2ggaXQgd2FzIHJlY2VpdmVkLiBJbiBhZGRpdGlvbiwgYWZ0ZXIgYSBuZXcgdmVyc2lvbiBvZgordGhlIEFncmVlbWVudCBpcyBwdWJsaXNoZWQsIENvbnRyaWJ1dG9yIG1heSBlbGVjdCB0byBkaXN0cmlidXRlIHRoZSBQcm9ncmFtCisoaW5jbHVkaW5nIGl0cyBDb250cmlidXRpb25zKSB1bmRlciB0aGUgbmV3IHZlcnNpb24uIEV4Y2VwdCBhcyBleHByZXNzbHkgc3RhdGVkCitpbiBTZWN0aW9ucyAyKGEpIGFuZCAyKGIpIGFib3ZlLCBSZWNpcGllbnQgcmVjZWl2ZXMgbm8gcmlnaHRzIG9yIGxpY2Vuc2VzIHRvCit0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IG9mIGFueSBDb250cmlidXRvciB1bmRlciB0aGlzIEFncmVlbWVudCwgd2hldGhlcgorZXhwcmVzc2x5LCBieSBpbXBsaWNhdGlvbiwgZXN0b3BwZWwgb3Igb3RoZXJ3aXNlLiBBbGwgcmlnaHRzIGluIHRoZSBQcm9ncmFtIG5vdAorZXhwcmVzc2x5IGdyYW50ZWQgdW5kZXIgdGhpcyBBZ3JlZW1lbnQgYXJlIHJlc2VydmVkLjwvc3Bhbj4gPC9wPgorCis8cD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjEwLjBwdCc+VGhpcyBBZ3JlZW1lbnQgaXMgZ292ZXJuZWQgYnkgdGhlIGxhd3Mgb2YgdGhlCitTdGF0ZSBvZiBOZXcgWW9yayBhbmQgdGhlIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBsYXdzIG9mIHRoZSBVbml0ZWQgU3RhdGVzIG9mCitBbWVyaWNhLiBObyBwYXJ0eSB0byB0aGlzIEFncmVlbWVudCB3aWxsIGJyaW5nIGEgbGVnYWwgYWN0aW9uIHVuZGVyIHRoaXMKK0FncmVlbWVudCBtb3JlIHRoYW4gb25lIHllYXIgYWZ0ZXIgdGhlIGNhdXNlIG9mIGFjdGlvbiBhcm9zZS4gRWFjaCBwYXJ0eSB3YWl2ZXMKK2l0cyByaWdodHMgdG8gYSBqdXJ5IHRyaWFsIGluIGFueSByZXN1bHRpbmcgbGl0aWdhdGlvbi48L3NwYW4+IDwvcD4KKworPHAgY2xhc3M9TXNvTm9ybWFsPjwvcD4KKworPC9kaXY+CisKKzwvYm9keT4KKworPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1L2ZlYXR1cmUucHJvcGVydGllcyBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1L2ZlYXR1cmUucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTIyZTFlCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUvZmVhdHVyZS5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEsMTI4IEBACitmZWF0dXJlTmFtZT1YdGV4dCBVSSAKKyMgInByb3ZpZGVyTmFtZSIgcHJvcGVydHkgLSBuYW1lIG9mIHRoZSBjb21wYW55IHRoYXQgcHJvdmlkZXMgdGhlIGZlYXR1cmUKK3Byb3ZpZGVyTmFtZT1FY2xpcHNlIE1vZGVsaW5nIFByb2plY3QKK2xpY2Vuc2U9XAorRWNsaXBzZSBGb3VuZGF0aW9uIFNvZnR3YXJlIFVzZXIgQWdyZWVtZW50XG5cCitGZWJydWFyeSAxLCAyMDExXG5cCitcblwKK1VzYWdlIE9mIENvbnRlbnRcblwKK1xuXAorVEhFIEVDTElQU0UgRk9VTkRBVElPTiBNQUtFUyBBVkFJTEFCTEUgU09GVFdBUkUsIERPQ1VNRU5UQVRJT04sIElORk9STUFUSU9OIEFORC9PUlxuXAorT1RIRVIgTUFURVJJQUxTIEZPUiBPUEVOIFNPVVJDRSBQUk9KRUNUUyAoQ09MTEVDVElWRUxZICJDT05URU5UIikuXG5cCitVU0UgT0YgVEhFIENPTlRFTlQgSVMgR09WRVJORUQgQlkgVEhFIFRFUk1TIEFORCBDT05ESVRJT05TIE9GIFRISVNcblwKK0FHUkVFTUVOVCBBTkQvT1IgVEhFIFRFUk1TIEFORCBDT05ESVRJT05TIE9GIExJQ0VOU0UgQUdSRUVNRU5UUyBPUlxuXAorTk9USUNFUyBJTkRJQ0FURUQgT1IgUkVGRVJFTkNFRCBCRUxPVy4gIEJZIFVTSU5HIFRIRSBDT05URU5ULCBZT1VcblwKK0FHUkVFIFRIQVQgWU9VUiBVU0UgT0YgVEhFIENPTlRFTlQgSVMgR09WRVJORUQgQlkgVEhJUyBBR1JFRU1FTlRcblwKK0FORC9PUiBUSEUgVEVSTVMgQU5EIENPTkRJVElPTlMgT0YgQU5ZIEFQUExJQ0FCTEUgTElDRU5TRSBBR1JFRU1FTlRTXG5cCitPUiBOT1RJQ0VTIElORElDQVRFRCBPUiBSRUZFUkVOQ0VEIEJFTE9XLiAgSUYgWU9VIERPIE5PVCBBR1JFRSBUTyBUSEVcblwKK1RFUk1TIEFORCBDT05ESVRJT05TIE9GIFRISVMgQUdSRUVNRU5UIEFORCBUSEUgVEVSTVMgQU5EIENPTkRJVElPTlNcblwKK09GIEFOWSBBUFBMSUNBQkxFIExJQ0VOU0UgQUdSRUVNRU5UUyBPUiBOT1RJQ0VTIElORElDQVRFRCBPUiBSRUZFUkVOQ0VEXG5cCitCRUxPVywgVEhFTiBZT1UgTUFZIE5PVCBVU0UgVEhFIENPTlRFTlQuXG5cCitcblwKK0FwcGxpY2FibGUgTGljZW5zZXNcblwKK1xuXAorVW5sZXNzIG90aGVyd2lzZSBpbmRpY2F0ZWQsIGFsbCBDb250ZW50IG1hZGUgYXZhaWxhYmxlIGJ5IHRoZVxuXAorRWNsaXBzZSBGb3VuZGF0aW9uIGlzIHByb3ZpZGVkIHRvIHlvdSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2ZcblwKK3RoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wICgiRVBMIikuIEEgY29weSBvZiB0aGUgRVBMIGlzXG5cCitwcm92aWRlZCB3aXRoIHRoaXMgQ29udGVudCBhbmQgaXMgYWxzbyBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwuXG5cCitGb3IgcHVycG9zZXMgb2YgdGhlIEVQTCwgIlByb2dyYW0iIHdpbGwgbWVhbiB0aGUgQ29udGVudC5cblwKK1xuXAorQ29udGVudCBpbmNsdWRlcywgYnV0IGlzIG5vdCBsaW1pdGVkIHRvLCBzb3VyY2UgY29kZSwgb2JqZWN0IGNvZGUsXG5cCitkb2N1bWVudGF0aW9uIGFuZCBvdGhlciBmaWxlcyBtYWludGFpbmVkIGluIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24gc291cmNlIGNvZGVcblwKK3JlcG9zaXRvcnkgKCJSZXBvc2l0b3J5IikgaW4gc29mdHdhcmUgbW9kdWxlcyAoIk1vZHVsZXMiKSBhbmQgbWFkZSBhdmFpbGFibGVcblwKK2FzIGRvd25sb2FkYWJsZSBhcmNoaXZlcyAoIkRvd25sb2FkcyIpLlxuXAorXG5cCisgICAgICAgLSBDb250ZW50IG1heSBiZSBzdHJ1Y3R1cmVkIGFuZCBwYWNrYWdlZCBpbnRvIG1vZHVsZXMgdG8gZmFjaWxpdGF0ZSBkZWxpdmVyaW5nLFxuXAorICAgICAgICAgZXh0ZW5kaW5nLCBhbmQgdXBncmFkaW5nIHRoZSBDb250ZW50LiBUeXBpY2FsIG1vZHVsZXMgbWF5IGluY2x1ZGUgcGx1Zy1pbnMgKCJQbHVnLWlucyIpLFxuXAorICAgICAgICAgcGx1Zy1pbiBmcmFnbWVudHMgKCJGcmFnbWVudHMiKSwgYW5kIGZlYXR1cmVzICgiRmVhdHVyZXMiKS5cblwKKyAgICAgICAtIEVhY2ggUGx1Zy1pbiBvciBGcmFnbWVudCBtYXkgYmUgcGFja2FnZWQgYXMgYSBzdWItZGlyZWN0b3J5IG9yIEpBUiAoSmF2YShUTSkgQVJjaGl2ZSlcblwKKyAgICAgICAgIGluIGEgZGlyZWN0b3J5IG5hbWVkICJwbHVnaW5zIi5cblwKKyAgICAgICAtIEEgRmVhdHVyZSBpcyBhIGJ1bmRsZSBvZiBvbmUgb3IgbW9yZSBQbHVnLWlucyBhbmQvb3IgRnJhZ21lbnRzIGFuZCBhc3NvY2lhdGVkIG1hdGVyaWFsLlxuXAorICAgICAgICAgRWFjaCBGZWF0dXJlIG1heSBiZSBwYWNrYWdlZCBhcyBhIHN1Yi1kaXJlY3RvcnkgaW4gYSBkaXJlY3RvcnkgbmFtZWQgImZlYXR1cmVzIi5cblwKKyAgICAgICAgIFdpdGhpbiBhIEZlYXR1cmUsIGZpbGVzIG5hbWVkICJmZWF0dXJlLnhtbCIgbWF5IGNvbnRhaW4gYSBsaXN0IG9mIHRoZSBuYW1lcyBhbmQgdmVyc2lvblxuXAorICAgICAgICAgbnVtYmVycyBvZiB0aGUgUGx1Zy1pbnMgYW5kL29yIEZyYWdtZW50cyBhc3NvY2lhdGVkIHdpdGggdGhhdCBGZWF0dXJlLlxuXAorICAgICAgIC0gRmVhdHVyZXMgbWF5IGFsc28gaW5jbHVkZSBvdGhlciBGZWF0dXJlcyAoIkluY2x1ZGVkIEZlYXR1cmVzIikuIFdpdGhpbiBhIEZlYXR1cmUsIGZpbGVzXG5cCisgICAgICAgICBuYW1lZCAiZmVhdHVyZS54bWwiIG1heSBjb250YWluIGEgbGlzdCBvZiB0aGUgbmFtZXMgYW5kIHZlcnNpb24gbnVtYmVycyBvZiBJbmNsdWRlZCBGZWF0dXJlcy5cblwKK1xuXAorVGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGdvdmVybmluZyBQbHVnLWlucyBhbmQgRnJhZ21lbnRzIHNob3VsZCBiZVxuXAorY29udGFpbmVkIGluIGZpbGVzIG5hbWVkICJhYm91dC5odG1sIiAoIkFib3V0cyIpLiBUaGUgdGVybXMgYW5kXG5cCitjb25kaXRpb25zIGdvdmVybmluZyBGZWF0dXJlcyBhbmQgSW5jbHVkZWQgRmVhdHVyZXMgc2hvdWxkIGJlIGNvbnRhaW5lZFxuXAoraW4gZmlsZXMgbmFtZWQgImxpY2Vuc2UuaHRtbCIgKCJGZWF0dXJlIExpY2Vuc2VzIikuIEFib3V0cyBhbmQgRmVhdHVyZVxuXAorTGljZW5zZXMgbWF5IGJlIGxvY2F0ZWQgaW4gYW55IGRpcmVjdG9yeSBvZiBhIERvd25sb2FkIG9yIE1vZHVsZVxuXAoraW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6XG5cCitcblwKKyAgICAgICAtIFRoZSB0b3AtbGV2ZWwgKHJvb3QpIGRpcmVjdG9yeVxuXAorICAgICAgIC0gUGx1Zy1pbiBhbmQgRnJhZ21lbnQgZGlyZWN0b3JpZXNcblwKKyAgICAgICAtIEluc2lkZSBQbHVnLWlucyBhbmQgRnJhZ21lbnRzIHBhY2thZ2VkIGFzIEpBUnNcblwKKyAgICAgICAtIFN1Yi1kaXJlY3RvcmllcyBvZiB0aGUgZGlyZWN0b3J5IG5hbWVkICJzcmMiIG9mIGNlcnRhaW4gUGx1Zy1pbnNcblwKKyAgICAgICAtIEZlYXR1cmUgZGlyZWN0b3JpZXNcblwKK1xuXAorTm90ZTogaWYgYSBGZWF0dXJlIG1hZGUgYXZhaWxhYmxlIGJ5IHRoZSBFY2xpcHNlIEZvdW5kYXRpb24gaXMgaW5zdGFsbGVkIHVzaW5nIHRoZVxuXAorUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgKGFzIGRlZmluZWQgYmVsb3cpLCB5b3UgbXVzdCBhZ3JlZSB0byBhIGxpY2Vuc2UgKCJGZWF0dXJlIFxuXAorVXBkYXRlIExpY2Vuc2UiKSBkdXJpbmcgdGhlIGluc3RhbGxhdGlvbiBwcm9jZXNzLiBJZiB0aGUgRmVhdHVyZSBjb250YWluc1xuXAorSW5jbHVkZWQgRmVhdHVyZXMsIHRoZSBGZWF0dXJlIFVwZGF0ZSBMaWNlbnNlIHNob3VsZCBlaXRoZXIgcHJvdmlkZSB5b3VcblwKK3dpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGdvdmVybmluZyB0aGUgSW5jbHVkZWQgRmVhdHVyZXMgb3IgaW5mb3JtXG5cCit5b3Ugd2hlcmUgeW91IGNhbiBsb2NhdGUgdGhlbS4gRmVhdHVyZSBVcGRhdGUgTGljZW5zZXMgbWF5IGJlIGZvdW5kIGluXG5cCit0aGUgImxpY2Vuc2UiIHByb3BlcnR5IG9mIGZpbGVzIG5hbWVkICJmZWF0dXJlLnByb3BlcnRpZXMiIGZvdW5kIHdpdGhpbiBhIEZlYXR1cmUuXG5cCitTdWNoIEFib3V0cywgRmVhdHVyZSBMaWNlbnNlcywgYW5kIEZlYXR1cmUgVXBkYXRlIExpY2Vuc2VzIGNvbnRhaW4gdGhlXG5cCit0ZXJtcyBhbmQgY29uZGl0aW9ucyAob3IgcmVmZXJlbmNlcyB0byBzdWNoIHRlcm1zIGFuZCBjb25kaXRpb25zKSB0aGF0XG5cCitnb3Zlcm4geW91ciB1c2Ugb2YgdGhlIGFzc29jaWF0ZWQgQ29udGVudCBpbiB0aGF0IGRpcmVjdG9yeS5cblwKK1xuXAorVEhFIEFCT1VUUywgRkVBVFVSRSBMSUNFTlNFUywgQU5EIEZFQVRVUkUgVVBEQVRFIExJQ0VOU0VTIE1BWSBSRUZFUlxuXAorVE8gVEhFIEVQTCBPUiBPVEhFUiBMSUNFTlNFIEFHUkVFTUVOVFMsIE5PVElDRVMgT1IgVEVSTVMgQU5EIENPTkRJVElPTlMuXG5cCitTT01FIE9GIFRIRVNFIE9USEVSIExJQ0VOU0UgQUdSRUVNRU5UUyBNQVkgSU5DTFVERSAoQlVUIEFSRSBOT1QgTElNSVRFRCBUTyk6XG5cCitcblwKKyAgICAgICAtIEVjbGlwc2UgRGlzdHJpYnV0aW9uIExpY2Vuc2UgVmVyc2lvbiAxLjAgKGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xpY2Vuc2VzL2VkbC12MS4wLmh0bWwpXG5cCisgICAgICAgLSBDb21tb24gUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjAgKGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2NwbC12MTAuaHRtbClcblwKKyAgICAgICAtIEFwYWNoZSBTb2Z0d2FyZSBMaWNlbnNlIDEuMSAoYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFKVxuXAorICAgICAgIC0gQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wIChhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wKVxuXAorICAgICAgIC0gTWV0cm8gTGluayBQdWJsaWMgTGljZW5zZSAxLjAwIChhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5vcGVuZ3JvdXAub3JnL29wZW5tb3RpZi9zdXBwb3J0ZXJzL21ldHJvbGluay9saWNlbnNlLmh0bWwpXG5cCisgICAgICAgLSBNb3ppbGxhIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4xIChhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9NUEwvTVBMLTEuMS5odG1sKVxuXAorXG5cCitJVCBJUyBZT1VSIE9CTElHQVRJT04gVE8gUkVBRCBBTkQgQUNDRVBUIEFMTCBTVUNIIFRFUk1TIEFORCBDT05ESVRJT05TIFBSSU9SXG5cCitUTyBVU0UgT0YgVEhFIENPTlRFTlQuIElmIG5vIEFib3V0LCBGZWF0dXJlIExpY2Vuc2UsIG9yIEZlYXR1cmUgVXBkYXRlIExpY2Vuc2VcblwKK2lzIHByb3ZpZGVkLCBwbGVhc2UgY29udGFjdCB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIHRvIGRldGVybWluZSB3aGF0IHRlcm1zIGFuZCBjb25kaXRpb25zXG5cCitnb3Zlcm4gdGhhdCBwYXJ0aWN1bGFyIENvbnRlbnQuXG5cCitcblwKK1xuXFVzZSBvZiBQcm92aXNpb25pbmcgVGVjaG5vbG9neVxuXAorXG5cCitUaGUgRWNsaXBzZSBGb3VuZGF0aW9uIG1ha2VzIGF2YWlsYWJsZSBwcm92aXNpb25pbmcgc29mdHdhcmUsIGV4YW1wbGVzIG9mIHdoaWNoIGluY2x1ZGUsXG5cCitidXQgYXJlIG5vdCBsaW1pdGVkIHRvLCBwMiBhbmQgdGhlIEVjbGlwc2UgVXBkYXRlIE1hbmFnZXIgKCJQcm92aXNpb25pbmcgVGVjaG5vbG9neSIpIGZvclxuXAordGhlIHB1cnBvc2Ugb2YgYWxsb3dpbmcgdXNlcnMgdG8gaW5zdGFsbCBzb2Z0d2FyZSwgZG9jdW1lbnRhdGlvbiwgaW5mb3JtYXRpb24gYW5kL29yXG5cCitvdGhlciBtYXRlcmlhbHMgKGNvbGxlY3RpdmVseSAiSW5zdGFsbGFibGUgU29mdHdhcmUiKS4gVGhpcyBjYXBhYmlsaXR5IGlzIHByb3ZpZGVkIHdpdGhcblwKK3RoZSBpbnRlbnQgb2YgYWxsb3dpbmcgc3VjaCB1c2VycyB0byBpbnN0YWxsLCBleHRlbmQgYW5kIHVwZGF0ZSBFY2xpcHNlLWJhc2VkIHByb2R1Y3RzLlxuXAorSW5mb3JtYXRpb24gYWJvdXQgcGFja2FnaW5nIEluc3RhbGxhYmxlIFNvZnR3YXJlIGlzIGF2YWlsYWJsZSBhdFxuXAoraHR0cDovL2VjbGlwc2Uub3JnL2VxdWlub3gvcDIvcmVwb3NpdG9yeV9wYWNrYWdpbmcuaHRtbCAoIlNwZWNpZmljYXRpb24iKS5cblwKK1xuXAorWW91IG1heSB1c2UgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgdG8gYWxsb3cgb3RoZXIgcGFydGllcyB0byBpbnN0YWxsIEluc3RhbGxhYmxlIFNvZnR3YXJlLlxuXAorWW91IHNoYWxsIGJlIHJlc3BvbnNpYmxlIGZvciBlbmFibGluZyB0aGUgYXBwbGljYWJsZSBsaWNlbnNlIGFncmVlbWVudHMgcmVsYXRpbmcgdG8gdGhlXG5cCitJbnN0YWxsYWJsZSBTb2Z0d2FyZSB0byBiZSBwcmVzZW50ZWQgdG8sIGFuZCBhY2NlcHRlZCBieSwgdGhlIHVzZXJzIG9mIHRoZSBQcm92aXNpb25pbmcgVGVjaG5vbG9neVxuXAoraW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBTcGVjaWZpY2F0aW9uLiBCeSB1c2luZyBQcm92aXNpb25pbmcgVGVjaG5vbG9neSBpbiBzdWNoIGEgbWFubmVyIGFuZFxuXAorbWFraW5nIGl0IGF2YWlsYWJsZSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIFNwZWNpZmljYXRpb24sIHlvdSBmdXJ0aGVyIGFja25vd2xlZGdlIHlvdXJcblwKK2FncmVlbWVudCB0bywgYW5kIHRoZSBhY3F1aXNpdGlvbiBvZiBhbGwgbmVjZXNzYXJ5IHJpZ2h0cyB0byBwZXJtaXQgdGhlIGZvbGxvd2luZzpcblwKK1xuXAorICAgICAgIDEuIEEgc2VyaWVzIG9mIGFjdGlvbnMgbWF5IG9jY3VyICgiUHJvdmlzaW9uaW5nIFByb2Nlc3MiKSBpbiB3aGljaCBhIHVzZXIgbWF5IGV4ZWN1dGVcblwKKyAgICAgICAgICB0aGUgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgb24gYSBtYWNoaW5lICgiVGFyZ2V0IE1hY2hpbmUiKSB3aXRoIHRoZSBpbnRlbnQgb2YgaW5zdGFsbGluZyxcblwKKyAgICAgICAgICBleHRlbmRpbmcgb3IgdXBkYXRpbmcgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgYW4gRWNsaXBzZS1iYXNlZCBwcm9kdWN0LlxuXAorICAgICAgIDIuIER1cmluZyB0aGUgUHJvdmlzaW9uaW5nIFByb2Nlc3MsIHRoZSBQcm92aXNpb25pbmcgVGVjaG5vbG9neSBtYXkgY2F1c2UgdGhpcmQgcGFydHlcblwKKyAgICAgICAgICBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBvciBhIHBvcnRpb24gdGhlcmVvZiB0byBiZSBhY2Nlc3NlZCBhbmQgY29waWVkIHRvIHRoZSBUYXJnZXQgTWFjaGluZS5cblwKKyAgICAgICAzLiBQdXJzdWFudCB0byB0aGUgU3BlY2lmaWNhdGlvbiwgeW91IHdpbGwgcHJvdmlkZSB0byB0aGUgdXNlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhhdFxuXAorICAgICAgICAgIGdvdmVybiB0aGUgdXNlIG9mIHRoZSBJbnN0YWxsYWJsZSBTb2Z0d2FyZSAoIkluc3RhbGxhYmxlIFNvZnR3YXJlIEFncmVlbWVudCIpIGFuZCBzdWNoXG5cCisgICAgICAgICAgSW5zdGFsbGFibGUgU29mdHdhcmUgQWdyZWVtZW50IHNoYWxsIGJlIGFjY2Vzc2VkIGZyb20gdGhlIFRhcmdldCBNYWNoaW5lIGluIGFjY29yZGFuY2VcblwKKyAgICAgICAgICB3aXRoIHRoZSBTcGVjaWZpY2F0aW9uLiBTdWNoIEluc3RhbGxhYmxlIFNvZnR3YXJlIEFncmVlbWVudCBtdXN0IGluZm9ybSB0aGUgdXNlciBvZiB0aGVcblwKKyAgICAgICAgICB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGF0IGdvdmVybiB0aGUgSW5zdGFsbGFibGUgU29mdHdhcmUgYW5kIG11c3Qgc29saWNpdCBhY2NlcHRhbmNlIGJ5XG5cCisgICAgICAgICAgdGhlIGVuZCB1c2VyIGluIHRoZSBtYW5uZXIgcHJlc2NyaWJlZCBpbiBzdWNoIEluc3RhbGxhYmxlIFNvZnR3YXJlIEFncmVlbWVudC4gVXBvbiBzdWNoXG5cCisgICAgICAgICAgaW5kaWNhdGlvbiBvZiBhZ3JlZW1lbnQgYnkgdGhlIHVzZXIsIHRoZSBwcm92aXNpb25pbmcgVGVjaG5vbG9neSB3aWxsIGNvbXBsZXRlIGluc3RhbGxhdGlvblxuXAorICAgICAgICAgIG9mIHRoZSBJbnN0YWxsYWJsZSBTb2Z0d2FyZS5cblwKK1xuXAorQ3J5cHRvZ3JhcGh5XG5cCitcblwKK0NvbnRlbnQgbWF5IGNvbnRhaW4gZW5jcnlwdGlvbiBzb2Z0d2FyZS4gVGhlIGNvdW50cnkgaW4gd2hpY2ggeW91IGFyZVxuXAorY3VycmVudGx5IG1heSBoYXZlIHJlc3RyaWN0aW9ucyBvbiB0aGUgaW1wb3J0LCBwb3NzZXNzaW9uLCBhbmQgdXNlLFxuXAorYW5kL29yIHJlLWV4cG9ydCB0byBhbm90aGVyIGNvdW50cnksIG9mIGVuY3J5cHRpb24gc29mdHdhcmUuIEJFRk9SRVxuXAordXNpbmcgYW55IGVuY3J5cHRpb24gc29mdHdhcmUsIHBsZWFzZSBjaGVjayB0aGUgY291bnRyeSdzIGxhd3MsXG5cCityZWd1bGF0aW9ucyBhbmQgcG9saWNpZXMgY29uY2VybmluZyB0aGUgaW1wb3J0LCBwb3NzZXNzaW9uLCBvciB1c2UsIGFuZFxuXAorcmUtZXhwb3J0IG9mIGVuY3J5cHRpb24gc29mdHdhcmUsIHRvIHNlZSBpZiB0aGlzIGlzIHBlcm1pdHRlZC5cblwKK1xuXAorSmF2YSBhbmQgYWxsIEphdmEtYmFzZWQgdHJhZGVtYXJrcyBhcmUgdHJhZGVtYXJrcyBvZiBPcmFjbGUgQ29ycG9yYXRpb24gaW4gdGhlIFVuaXRlZCBTdGF0ZXMsIG90aGVyIGNvdW50cmllcywgb3IgYm90aC5cbgorZGVzY3JpcHRpb249WHRleHQgVUkgIEZlYXR1cmUKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1L2ZlYXR1cmUueG1sIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUvZmVhdHVyZS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q3OGUwYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1L2ZlYXR1cmUueG1sCkBAIC0wLDAgKzEsOTMgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8ZmVhdHVyZQorICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZXh0LnVpIgorICAgICAgbGFiZWw9IiVmZWF0dXJlTmFtZSIKKyAgICAgIHZlcnNpb249IjIuNC4xLnYyMDEzMDQxODA4NTUiCisgICAgICBwcm92aWRlci1uYW1lPSIlcHJvdmlkZXJOYW1lIj4KKworICAgPGRlc2NyaXB0aW9uPgorICAgICAgJWRlc2NyaXB0aW9uCisgICA8L2Rlc2NyaXB0aW9uPgorCisgICA8Y29weXJpZ2h0PgorICAgICAgQ29weXJpZ2h0IChjKSAyMDA5IGl0ZW1pcyBBRyAoaHR0cDovL3d3dy5pdGVtaXMuZXUpIGFuZCBvdGhlcnMuCisKK0FsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKK2FyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UKK3YxLjAgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKK2h0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sIERlc2NyaXB0aW9uIGhlcmUuCisgICA8L2NvcHlyaWdodD4KKworICAgPGxpY2Vuc2UgdXJsPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbCI+CisgICAgICAlbGljZW5zZQorICAgPC9saWNlbnNlPgorCisgICA8cmVxdWlyZXM+CisgICAgICA8aW1wb3J0IGZlYXR1cmU9Im9yZy5lY2xpcHNlLnh0ZXh0LnJ1bnRpbWUiIHZlcnNpb249IjIuNC4wIiBtYXRjaD0iZXF1aXZhbGVudCIvPgorICAgPC9yZXF1aXJlcz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZXh0LnVpIgorICAgICAgICAgZG93bmxvYWQtc2l6ZT0iMCIKKyAgICAgICAgIGluc3RhbGwtc2l6ZT0iMCIKKyAgICAgICAgIHZlcnNpb249IjIuNC4xLnYyMDEzMDQxODA4NTUiCisgICAgICAgICB1bnBhY2s9ImZhbHNlIi8+CisKKyAgIDxwbHVnaW4KKyAgICAgICAgIGlkPSJvcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMudWkiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZXh0LmNvbW1vbi50eXBlcy5zaGFyZWQiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworICAgPHBsdWdpbgorICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLnh0ZXh0LmNvbW1vbi50eXBlcy5zaGFyZWQuamR0MzgiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIGZyYWdtZW50PSJ0cnVlIgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRleHQudWkuc2hhcmVkIgorICAgICAgICAgZG93bmxvYWQtc2l6ZT0iMCIKKyAgICAgICAgIGluc3RhbGwtc2l6ZT0iMCIKKyAgICAgICAgIHZlcnNpb249IjIuNC4xLnYyMDEzMDQxODA4NTUiCisgICAgICAgICB1bnBhY2s9ImZhbHNlIi8+CisKKyAgIDxwbHVnaW4KKyAgICAgICAgIGlkPSJvcmcuZWNsaXBzZS54dGV4dC51aS5lY29yZSIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRleHQudWkuY29kZXRlbXBsYXRlcyIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRleHQudWkuY29kZXRlbXBsYXRlcy51aSIKKyAgICAgICAgIGRvd25sb2FkLXNpemU9IjAiCisgICAgICAgICBpbnN0YWxsLXNpemU9IjAiCisgICAgICAgICB2ZXJzaW9uPSIyLjQuMS52MjAxMzA0MTgwODU1IgorICAgICAgICAgdW5wYWNrPSJmYWxzZSIvPgorCisgICA8cGx1Z2luCisgICAgICAgICBpZD0ib3JnLmVjbGlwc2UueHRleHQuY29tbW9uLnR5cGVzLmVkaXQiCisgICAgICAgICBkb3dubG9hZC1zaXplPSIwIgorICAgICAgICAgaW5zdGFsbC1zaXplPSIwIgorICAgICAgICAgdmVyc2lvbj0iMi40LjEudjIwMTMwNDE4MDg1NSIKKyAgICAgICAgIHVucGFjaz0iZmFsc2UiLz4KKworPC9mZWF0dXJlPgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUvbGljZW5zZS5odG1sIGIvTmF0VGFibGUvZXhwb3J0L2ZlYXR1cmVzL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUvbGljZW5zZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxOWM0ODMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHRleHQudWlfMi40LjEudjIwMTMwNDE4MDg1NS9saWNlbnNlLmh0bWwKQEAgLTAsMCArMSwxMDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiID8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIC8+Cis8dGl0bGU+RWNsaXBzZSBGb3VuZGF0aW9uIFNvZnR3YXJlIFVzZXIgQWdyZWVtZW50PC90aXRsZT4KKzwvaGVhZD4KKworPGJvZHkgbGFuZz0iRU4tVVMiPgorPGgyPkVjbGlwc2UgRm91bmRhdGlvbiBTb2Z0d2FyZSBVc2VyIEFncmVlbWVudDwvaDI+Cis8cD5GZWJydWFyeSAxLCAyMDExPC9wPgorCis8aDM+VXNhZ2UgT2YgQ29udGVudDwvaDM+CisKKzxwPlRIRSBFQ0xJUFNFIEZPVU5EQVRJT04gTUFLRVMgQVZBSUxBQkxFIFNPRlRXQVJFLCBET0NVTUVOVEFUSU9OLCBJTkZPUk1BVElPTiBBTkQvT1IgT1RIRVIgTUFURVJJQUxTIEZPUiBPUEVOIFNPVVJDRSBQUk9KRUNUUworICAgKENPTExFQ1RJVkVMWSAmcXVvdDtDT05URU5UJnF1b3Q7KS4gIFVTRSBPRiBUSEUgQ09OVEVOVCBJUyBHT1ZFUk5FRCBCWSBUSEUgVEVSTVMgQU5EIENPTkRJVElPTlMgT0YgVEhJUyBBR1JFRU1FTlQgQU5EL09SIFRIRSBURVJNUyBBTkQKKyAgIENPTkRJVElPTlMgT0YgTElDRU5TRSBBR1JFRU1FTlRTIE9SIE5PVElDRVMgSU5ESUNBVEVEIE9SIFJFRkVSRU5DRUQgQkVMT1cuICBCWSBVU0lORyBUSEUgQ09OVEVOVCwgWU9VIEFHUkVFIFRIQVQgWU9VUiBVU0UKKyAgIE9GIFRIRSBDT05URU5UIElTIEdPVkVSTkVEIEJZIFRISVMgQUdSRUVNRU5UIEFORC9PUiBUSEUgVEVSTVMgQU5EIENPTkRJVElPTlMgT0YgQU5ZIEFQUExJQ0FCTEUgTElDRU5TRSBBR1JFRU1FTlRTIE9SCisgICBOT1RJQ0VTIElORElDQVRFRCBPUiBSRUZFUkVOQ0VEIEJFTE9XLiAgSUYgWU9VIERPIE5PVCBBR1JFRSBUTyBUSEUgVEVSTVMgQU5EIENPTkRJVElPTlMgT0YgVEhJUyBBR1JFRU1FTlQgQU5EIFRIRSBURVJNUyBBTkQKKyAgIENPTkRJVElPTlMgT0YgQU5ZIEFQUExJQ0FCTEUgTElDRU5TRSBBR1JFRU1FTlRTIE9SIE5PVElDRVMgSU5ESUNBVEVEIE9SIFJFRkVSRU5DRUQgQkVMT1csIFRIRU4gWU9VIE1BWSBOT1QgVVNFIFRIRSBDT05URU5ULjwvcD4KKworPGgzPkFwcGxpY2FibGUgTGljZW5zZXM8L2gzPgorCis8cD5Vbmxlc3Mgb3RoZXJ3aXNlIGluZGljYXRlZCwgYWxsIENvbnRlbnQgbWFkZSBhdmFpbGFibGUgYnkgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBpcyBwcm92aWRlZCB0byB5b3UgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wCisgICAoJnF1b3Q7RVBMJnF1b3Q7KS4gIEEgY29weSBvZiB0aGUgRVBMIGlzIHByb3ZpZGVkIHdpdGggdGhpcyBDb250ZW50IGFuZCBpcyBhbHNvIGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbCI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWw8L2E+LgorICAgRm9yIHB1cnBvc2VzIG9mIHRoZSBFUEwsICZxdW90O1Byb2dyYW0mcXVvdDsgd2lsbCBtZWFuIHRoZSBDb250ZW50LjwvcD4KKworPHA+Q29udGVudCBpbmNsdWRlcywgYnV0IGlzIG5vdCBsaW1pdGVkIHRvLCBzb3VyY2UgY29kZSwgb2JqZWN0IGNvZGUsIGRvY3VtZW50YXRpb24gYW5kIG90aGVyIGZpbGVzIG1haW50YWluZWQgaW4gdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBzb3VyY2UgY29kZQorICAgcmVwb3NpdG9yeSAoJnF1b3Q7UmVwb3NpdG9yeSZxdW90OykgaW4gc29mdHdhcmUgbW9kdWxlcyAoJnF1b3Q7TW9kdWxlcyZxdW90OykgYW5kIG1hZGUgYXZhaWxhYmxlIGFzIGRvd25sb2FkYWJsZSBhcmNoaXZlcyAoJnF1b3Q7RG93bmxvYWRzJnF1b3Q7KS48L3A+CisKKzx1bD4KKyAgICAgICA8bGk+Q29udGVudCBtYXkgYmUgc3RydWN0dXJlZCBhbmQgcGFja2FnZWQgaW50byBtb2R1bGVzIHRvIGZhY2lsaXRhdGUgZGVsaXZlcmluZywgZXh0ZW5kaW5nLCBhbmQgdXBncmFkaW5nIHRoZSBDb250ZW50LiAgVHlwaWNhbCBtb2R1bGVzIG1heSBpbmNsdWRlIHBsdWctaW5zICgmcXVvdDtQbHVnLWlucyZxdW90OyksIHBsdWctaW4gZnJhZ21lbnRzICgmcXVvdDtGcmFnbWVudHMmcXVvdDspLCBhbmQgZmVhdHVyZXMgKCZxdW90O0ZlYXR1cmVzJnF1b3Q7KS48L2xpPgorICAgICAgIDxsaT5FYWNoIFBsdWctaW4gb3IgRnJhZ21lbnQgbWF5IGJlIHBhY2thZ2VkIGFzIGEgc3ViLWRpcmVjdG9yeSBvciBKQVIgKEphdmEmdHJhZGU7IEFSY2hpdmUpIGluIGEgZGlyZWN0b3J5IG5hbWVkICZxdW90O3BsdWdpbnMmcXVvdDsuPC9saT4KKyAgICAgICA8bGk+QSBGZWF0dXJlIGlzIGEgYnVuZGxlIG9mIG9uZSBvciBtb3JlIFBsdWctaW5zIGFuZC9vciBGcmFnbWVudHMgYW5kIGFzc29jaWF0ZWQgbWF0ZXJpYWwuICBFYWNoIEZlYXR1cmUgbWF5IGJlIHBhY2thZ2VkIGFzIGEgc3ViLWRpcmVjdG9yeSBpbiBhIGRpcmVjdG9yeSBuYW1lZCAmcXVvdDtmZWF0dXJlcyZxdW90Oy4gIFdpdGhpbiBhIEZlYXR1cmUsIGZpbGVzIG5hbWVkICZxdW90O2ZlYXR1cmUueG1sJnF1b3Q7IG1heSBjb250YWluIGEgbGlzdCBvZiB0aGUgbmFtZXMgYW5kIHZlcnNpb24gbnVtYmVycyBvZiB0aGUgUGx1Zy1pbnMKKyAgICAgIGFuZC9vciBGcmFnbWVudHMgYXNzb2NpYXRlZCB3aXRoIHRoYXQgRmVhdHVyZS48L2xpPgorICAgICAgIDxsaT5GZWF0dXJlcyBtYXkgYWxzbyBpbmNsdWRlIG90aGVyIEZlYXR1cmVzICgmcXVvdDtJbmNsdWRlZCBGZWF0dXJlcyZxdW90OykuIFdpdGhpbiBhIEZlYXR1cmUsIGZpbGVzIG5hbWVkICZxdW90O2ZlYXR1cmUueG1sJnF1b3Q7IG1heSBjb250YWluIGEgbGlzdCBvZiB0aGUgbmFtZXMgYW5kIHZlcnNpb24gbnVtYmVycyBvZiBJbmNsdWRlZCBGZWF0dXJlcy48L2xpPgorPC91bD4KKworPHA+VGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGdvdmVybmluZyBQbHVnLWlucyBhbmQgRnJhZ21lbnRzIHNob3VsZCBiZSBjb250YWluZWQgaW4gZmlsZXMgbmFtZWQgJnF1b3Q7YWJvdXQuaHRtbCZxdW90OyAoJnF1b3Q7QWJvdXRzJnF1b3Q7KS4gVGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGdvdmVybmluZyBGZWF0dXJlcyBhbmQKK0luY2x1ZGVkIEZlYXR1cmVzIHNob3VsZCBiZSBjb250YWluZWQgaW4gZmlsZXMgbmFtZWQgJnF1b3Q7bGljZW5zZS5odG1sJnF1b3Q7ICgmcXVvdDtGZWF0dXJlIExpY2Vuc2VzJnF1b3Q7KS4gIEFib3V0cyBhbmQgRmVhdHVyZSBMaWNlbnNlcyBtYXkgYmUgbG9jYXRlZCBpbiBhbnkgZGlyZWN0b3J5IG9mIGEgRG93bmxvYWQgb3IgTW9kdWxlCitpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0byB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczo8L3A+CisKKzx1bD4KKyAgICAgICA8bGk+VGhlIHRvcC1sZXZlbCAocm9vdCkgZGlyZWN0b3J5PC9saT4KKyAgICAgICA8bGk+UGx1Zy1pbiBhbmQgRnJhZ21lbnQgZGlyZWN0b3JpZXM8L2xpPgorICAgICAgIDxsaT5JbnNpZGUgUGx1Zy1pbnMgYW5kIEZyYWdtZW50cyBwYWNrYWdlZCBhcyBKQVJzPC9saT4KKyAgICAgICA8bGk+U3ViLWRpcmVjdG9yaWVzIG9mIHRoZSBkaXJlY3RvcnkgbmFtZWQgJnF1b3Q7c3JjJnF1b3Q7IG9mIGNlcnRhaW4gUGx1Zy1pbnM8L2xpPgorICAgICAgIDxsaT5GZWF0dXJlIGRpcmVjdG9yaWVzPC9saT4KKzwvdWw+CisKKzxwPk5vdGU6IGlmIGEgRmVhdHVyZSBtYWRlIGF2YWlsYWJsZSBieSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIGlzIGluc3RhbGxlZCB1c2luZyB0aGUgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgKGFzIGRlZmluZWQgYmVsb3cpLCB5b3UgbXVzdCBhZ3JlZSB0byBhIGxpY2Vuc2UgKCZxdW90O0ZlYXR1cmUgVXBkYXRlIExpY2Vuc2UmcXVvdDspIGR1cmluZyB0aGUKK2luc3RhbGxhdGlvbiBwcm9jZXNzLiAgSWYgdGhlIEZlYXR1cmUgY29udGFpbnMgSW5jbHVkZWQgRmVhdHVyZXMsIHRoZSBGZWF0dXJlIFVwZGF0ZSBMaWNlbnNlIHNob3VsZCBlaXRoZXIgcHJvdmlkZSB5b3Ugd2l0aCB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZ292ZXJuaW5nIHRoZSBJbmNsdWRlZCBGZWF0dXJlcyBvcgoraW5mb3JtIHlvdSB3aGVyZSB5b3UgY2FuIGxvY2F0ZSB0aGVtLiAgRmVhdHVyZSBVcGRhdGUgTGljZW5zZXMgbWF5IGJlIGZvdW5kIGluIHRoZSAmcXVvdDtsaWNlbnNlJnF1b3Q7IHByb3BlcnR5IG9mIGZpbGVzIG5hbWVkICZxdW90O2ZlYXR1cmUucHJvcGVydGllcyZxdW90OyBmb3VuZCB3aXRoaW4gYSBGZWF0dXJlLgorU3VjaCBBYm91dHMsIEZlYXR1cmUgTGljZW5zZXMsIGFuZCBGZWF0dXJlIFVwZGF0ZSBMaWNlbnNlcyBjb250YWluIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyAob3IgcmVmZXJlbmNlcyB0byBzdWNoIHRlcm1zIGFuZCBjb25kaXRpb25zKSB0aGF0IGdvdmVybiB5b3VyIHVzZSBvZiB0aGUgYXNzb2NpYXRlZCBDb250ZW50IGluCit0aGF0IGRpcmVjdG9yeS48L3A+CisKKzxwPlRIRSBBQk9VVFMsIEZFQVRVUkUgTElDRU5TRVMsIEFORCBGRUFUVVJFIFVQREFURSBMSUNFTlNFUyBNQVkgUkVGRVIgVE8gVEhFIEVQTCBPUiBPVEhFUiBMSUNFTlNFIEFHUkVFTUVOVFMsIE5PVElDRVMgT1IgVEVSTVMgQU5EIENPTkRJVElPTlMuICBTT01FIE9GIFRIRVNFCitPVEhFUiBMSUNFTlNFIEFHUkVFTUVOVFMgTUFZIElOQ0xVREUgKEJVVCBBUkUgTk9UIExJTUlURUQgVE8pOjwvcD4KKworPHVsPgorICAgICAgIDxsaT5FY2xpcHNlIERpc3RyaWJ1dGlvbiBMaWNlbnNlIFZlcnNpb24gMS4wIChhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9saWNlbnNlcy9lZGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGljZW5zZXMvZWRsLXYxLjAuaHRtbDwvYT4pPC9saT4KKyAgICAgICA8bGk+Q29tbW9uIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wIChhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9jcGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sPC9hPik8L2xpPgorICAgICAgIDxsaT5BcGFjaGUgU29mdHdhcmUgTGljZW5zZSAxLjEgKGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRSI+aHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0U8L2E+KTwvbGk+CisgICAgICAgPGxpPkFwYWNoZSBTb2Z0d2FyZSBMaWNlbnNlIDIuMCAoYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+aHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wPC9hPik8L2xpPgorICAgICAgIDxsaT5NZXRybyBMaW5rIFB1YmxpYyBMaWNlbnNlIDEuMDAgKGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb3Blbm1vdGlmL3N1cHBvcnRlcnMvbWV0cm9saW5rL2xpY2Vuc2UuaHRtbCI+aHR0cDovL3d3dy5vcGVuZ3JvdXAub3JnL29wZW5tb3RpZi9zdXBwb3J0ZXJzL21ldHJvbGluay9saWNlbnNlLmh0bWw8L2E+KTwvbGk+CisgICAgICAgPGxpPk1vemlsbGEgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjEgKGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3Lm1vemlsbGEub3JnL01QTC9NUEwtMS4xLmh0bWwiPmh0dHA6Ly93d3cubW96aWxsYS5vcmcvTVBML01QTC0xLjEuaHRtbDwvYT4pPC9saT4KKzwvdWw+CisKKzxwPklUIElTIFlPVVIgT0JMSUdBVElPTiBUTyBSRUFEIEFORCBBQ0NFUFQgQUxMIFNVQ0ggVEVSTVMgQU5EIENPTkRJVElPTlMgUFJJT1IgVE8gVVNFIE9GIFRIRSBDT05URU5ULiAgSWYgbm8gQWJvdXQsIEZlYXR1cmUgTGljZW5zZSwgb3IgRmVhdHVyZSBVcGRhdGUgTGljZW5zZSBpcyBwcm92aWRlZCwgcGxlYXNlCitjb250YWN0IHRoZSBFY2xpcHNlIEZvdW5kYXRpb24gdG8gZGV0ZXJtaW5lIHdoYXQgdGVybXMgYW5kIGNvbmRpdGlvbnMgZ292ZXJuIHRoYXQgcGFydGljdWxhciBDb250ZW50LjwvcD4KKworCis8aDM+VXNlIG9mIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5PC9oMz4KKworPHA+VGhlIEVjbGlwc2UgRm91bmRhdGlvbiBtYWtlcyBhdmFpbGFibGUgcHJvdmlzaW9uaW5nIHNvZnR3YXJlLCBleGFtcGxlcyBvZiB3aGljaCBpbmNsdWRlLCBidXQgYXJlIG5vdCBsaW1pdGVkIHRvLCBwMiBhbmQgdGhlIEVjbGlwc2UKKyAgIFVwZGF0ZSBNYW5hZ2VyICgmcXVvdDtQcm92aXNpb25pbmcgVGVjaG5vbG9neSZxdW90OykgZm9yIHRoZSBwdXJwb3NlIG9mIGFsbG93aW5nIHVzZXJzIHRvIGluc3RhbGwgc29mdHdhcmUsIGRvY3VtZW50YXRpb24sIGluZm9ybWF0aW9uIGFuZC9vcgorICAgb3RoZXIgbWF0ZXJpYWxzIChjb2xsZWN0aXZlbHkgJnF1b3Q7SW5zdGFsbGFibGUgU29mdHdhcmUmcXVvdDspLiBUaGlzIGNhcGFiaWxpdHkgaXMgcHJvdmlkZWQgd2l0aCB0aGUgaW50ZW50IG9mIGFsbG93aW5nIHN1Y2ggdXNlcnMgdG8KKyAgIGluc3RhbGwsIGV4dGVuZCBhbmQgdXBkYXRlIEVjbGlwc2UtYmFzZWQgcHJvZHVjdHMuIEluZm9ybWF0aW9uIGFib3V0IHBhY2thZ2luZyBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBpcyBhdmFpbGFibGUgYXQgPGEKKyAgICAgICBocmVmPSJodHRwOi8vZWNsaXBzZS5vcmcvZXF1aW5veC9wMi9yZXBvc2l0b3J5X3BhY2thZ2luZy5odG1sIj5odHRwOi8vZWNsaXBzZS5vcmcvZXF1aW5veC9wMi9yZXBvc2l0b3J5X3BhY2thZ2luZy5odG1sPC9hPgorICAgKCZxdW90O1NwZWNpZmljYXRpb24mcXVvdDspLjwvcD4KKworPHA+WW91IG1heSB1c2UgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgdG8gYWxsb3cgb3RoZXIgcGFydGllcyB0byBpbnN0YWxsIEluc3RhbGxhYmxlIFNvZnR3YXJlLiBZb3Ugc2hhbGwgYmUgcmVzcG9uc2libGUgZm9yIGVuYWJsaW5nIHRoZQorICAgYXBwbGljYWJsZSBsaWNlbnNlIGFncmVlbWVudHMgcmVsYXRpbmcgdG8gdGhlIEluc3RhbGxhYmxlIFNvZnR3YXJlIHRvIGJlIHByZXNlbnRlZCB0bywgYW5kIGFjY2VwdGVkIGJ5LCB0aGUgdXNlcnMgb2YgdGhlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5CisgICBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIFNwZWNpZmljYXRpb24uIEJ5IHVzaW5nIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5IGluIHN1Y2ggYSBtYW5uZXIgYW5kIG1ha2luZyBpdCBhdmFpbGFibGUgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZQorICAgU3BlY2lmaWNhdGlvbiwgeW91IGZ1cnRoZXIgYWNrbm93bGVkZ2UgeW91ciBhZ3JlZW1lbnQgdG8sIGFuZCB0aGUgYWNxdWlzaXRpb24gb2YgYWxsIG5lY2Vzc2FyeSByaWdodHMgdG8gcGVybWl0IHRoZSBmb2xsb3dpbmc6PC9wPgorCis8b2w+CisgICAgICAgPGxpPkEgc2VyaWVzIG9mIGFjdGlvbnMgbWF5IG9jY3VyICgmcXVvdDtQcm92aXNpb25pbmcgUHJvY2VzcyZxdW90OykgaW4gd2hpY2ggYSB1c2VyIG1heSBleGVjdXRlIHRoZSBQcm92aXNpb25pbmcgVGVjaG5vbG9neQorICAgICAgIG9uIGEgbWFjaGluZSAoJnF1b3Q7VGFyZ2V0IE1hY2hpbmUmcXVvdDspIHdpdGggdGhlIGludGVudCBvZiBpbnN0YWxsaW5nLCBleHRlbmRpbmcgb3IgdXBkYXRpbmcgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgYW4gRWNsaXBzZS1iYXNlZAorICAgICAgIHByb2R1Y3QuPC9saT4KKyAgICAgICA8bGk+RHVyaW5nIHRoZSBQcm92aXNpb25pbmcgUHJvY2VzcywgdGhlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5IG1heSBjYXVzZSB0aGlyZCBwYXJ0eSBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBvciBhIHBvcnRpb24gdGhlcmVvZiB0byBiZQorICAgICAgIGFjY2Vzc2VkIGFuZCBjb3BpZWQgdG8gdGhlIFRhcmdldCBNYWNoaW5lLjwvbGk+CisgICAgICAgPGxpPlB1cnN1YW50IHRvIHRoZSBTcGVjaWZpY2F0aW9uLCB5b3Ugd2lsbCBwcm92aWRlIHRvIHRoZSB1c2VyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGF0IGdvdmVybiB0aGUgdXNlIG9mIHRoZSBJbnN0YWxsYWJsZQorICAgICAgIFNvZnR3YXJlICgmcXVvdDtJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQmcXVvdDspIGFuZCBzdWNoIEluc3RhbGxhYmxlIFNvZnR3YXJlIEFncmVlbWVudCBzaGFsbCBiZSBhY2Nlc3NlZCBmcm9tIHRoZSBUYXJnZXQKKyAgICAgICBNYWNoaW5lIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgU3BlY2lmaWNhdGlvbi4gU3VjaCBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQgbXVzdCBpbmZvcm0gdGhlIHVzZXIgb2YgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRoYXQgZ292ZXJuCisgICAgICAgdGhlIEluc3RhbGxhYmxlIFNvZnR3YXJlIGFuZCBtdXN0IHNvbGljaXQgYWNjZXB0YW5jZSBieSB0aGUgZW5kIHVzZXIgaW4gdGhlIG1hbm5lciBwcmVzY3JpYmVkIGluIHN1Y2ggSW5zdGFsbGFibGUgU29mdHdhcmUgQWdyZWVtZW50LiBVcG9uIHN1Y2gKKyAgICAgICBpbmRpY2F0aW9uIG9mIGFncmVlbWVudCBieSB0aGUgdXNlciwgdGhlIHByb3Zpc2lvbmluZyBUZWNobm9sb2d5IHdpbGwgY29tcGxldGUgaW5zdGFsbGF0aW9uIG9mIHRoZSBJbnN0YWxsYWJsZSBTb2Z0d2FyZS48L2xpPgorPC9vbD4KKworPGgzPkNyeXB0b2dyYXBoeTwvaDM+CisKKzxwPkNvbnRlbnQgbWF5IGNvbnRhaW4gZW5jcnlwdGlvbiBzb2Z0d2FyZS4gVGhlIGNvdW50cnkgaW4gd2hpY2ggeW91IGFyZSBjdXJyZW50bHkgbWF5IGhhdmUgcmVzdHJpY3Rpb25zIG9uIHRoZSBpbXBvcnQsIHBvc3Nlc3Npb24sIGFuZCB1c2UsIGFuZC9vciByZS1leHBvcnQgdG8KKyAgIGFub3RoZXIgY291bnRyeSwgb2YgZW5jcnlwdGlvbiBzb2Z0d2FyZS4gQkVGT1JFIHVzaW5nIGFueSBlbmNyeXB0aW9uIHNvZnR3YXJlLCBwbGVhc2UgY2hlY2sgdGhlIGNvdW50cnkncyBsYXdzLCByZWd1bGF0aW9ucyBhbmQgcG9saWNpZXMgY29uY2VybmluZyB0aGUgaW1wb3J0LAorICAgcG9zc2Vzc2lvbiwgb3IgdXNlLCBhbmQgcmUtZXhwb3J0IG9mIGVuY3J5cHRpb24gc29mdHdhcmUsIHRvIHNlZSBpZiB0aGlzIGlzIHBlcm1pdHRlZC48L3A+CisKKzxwPjxzbWFsbD5KYXZhIGFuZCBhbGwgSmF2YS1iYXNlZCB0cmFkZW1hcmtzIGFyZSB0cmFkZW1hcmtzIG9mIE9yYWNsZSBDb3Jwb3JhdGlvbiBpbiB0aGUgVW5pdGVkIFN0YXRlcywgb3RoZXIgY291bnRyaWVzLCBvciBib3RoLjwvc21hbGw+PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvY29tLmdvb2dsZS5ndWF2YS5zb3VyY2VfMTAuMC4xLnYyMDEyMDMwNTE1MTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvY29tLmdvb2dsZS5ndWF2YS5zb3VyY2VfMTAuMC4xLnYyMDEyMDMwNTE1MTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzMjliODcKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9jb20uZ29vZ2xlLmd1YXZhLnNvdXJjZV8xMC4wLjEudjIwMTIwMzA1MTUxNS5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvY29tLmdvb2dsZS5ndWF2YV8xMC4wLjEudjIwMTIwMzA1MTUxNS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9jb20uZ29vZ2xlLmd1YXZhXzEwLjAuMS52MjAxMjAzMDUxNTE1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjJiOWI4Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvY29tLmdvb2dsZS5ndWF2YV8xMC4wLjEudjIwMTIwMzA1MTUxNS5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvY29tLmdvb2dsZS5pbmplY3Quc291cmNlXzMuMC4wLnYyMDEyMDMwNjIwNDUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvY29tLmdvb2dsZS5pbmplY3Quc291cmNlXzMuMC4wLnYyMDEyMDMwNjIwNDUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiOGM2MTEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9jb20uZ29vZ2xlLmluamVjdC5zb3VyY2VfMy4wLjAudjIwMTIwMzA2MjA0NS5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvY29tLmdvb2dsZS5pbmplY3RfMy4wLjAudjIwMTIwMzA2MjA0NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9jb20uZ29vZ2xlLmluamVjdF8zLjAuMC52MjAxMjAzMDYyMDQ1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTJmYjAxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvY29tLmdvb2dsZS5pbmplY3RfMy4wLjAudjIwMTIwMzA2MjA0NS5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvY29tLmlibS5pY3Uuc291cmNlXzQuNC4yLnYyMDExMDgyMy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9jb20uaWJtLmljdS5zb3VyY2VfNC40LjIudjIwMTEwODIzLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWFkYzY0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvY29tLmlibS5pY3Uuc291cmNlXzQuNC4yLnYyMDExMDgyMy5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvY29tLmlibS5pY3VfNC40LjIudjIwMTEwODIzLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL2NvbS5pYm0uaWN1XzQuNC4yLnYyMDExMDgyMy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMThhMjkzZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL2NvbS5pYm0uaWN1XzQuNC4yLnYyMDExMDgyMy5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvZGUuaXRlbWlzLnh0ZXh0LmFudGxyLnNvdXJjZV8yLjAuMC52MjAxMTA4MDExMjAyLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL2RlLml0ZW1pcy54dGV4dC5hbnRsci5zb3VyY2VfMi4wLjAudjIwMTEwODAxMTIwMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTcxODFiNAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL2RlLml0ZW1pcy54dGV4dC5hbnRsci5zb3VyY2VfMi4wLjAudjIwMTEwODAxMTIwMi5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvZGUuaXRlbWlzLnh0ZXh0LmFudGxyXzIuMC4wLnYyMDExMDgwMTEyMDIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvZGUuaXRlbWlzLnh0ZXh0LmFudGxyXzIuMC4wLnYyMDExMDgwMTEyMDIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzMWRkMTgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9kZS5pdGVtaXMueHRleHQuYW50bHJfMi4wLjAudjIwMTEwODAxMTIwMi5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvamF2YXguYW5ub3RhdGlvbi5zb3VyY2VfMS4xLjAudjIwMTEwODAxMTExNi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9qYXZheC5hbm5vdGF0aW9uLnNvdXJjZV8xLjEuMC52MjAxMTA4MDExMTE2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjE1NjcxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvamF2YXguYW5ub3RhdGlvbi5zb3VyY2VfMS4xLjAudjIwMTEwODAxMTExNi5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvamF2YXguYW5ub3RhdGlvbl8xLjEuMC52MjAxMTA4MDExMTE2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL2phdmF4LmFubm90YXRpb25fMS4xLjAudjIwMTEwODAxMTExNi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBiZTFlMgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL2phdmF4LmFubm90YXRpb25fMS4xLjAudjIwMTEwODAxMTExNi5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvamF2YXguaW5qZWN0LnNvdXJjZV8xLjAuMC52MjAwOTEwMzAuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvamF2YXguaW5qZWN0LnNvdXJjZV8xLjAuMC52MjAwOTEwMzAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3OWY2MDQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9qYXZheC5pbmplY3Quc291cmNlXzEuMC4wLnYyMDA5MTAzMC5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvamF2YXguaW5qZWN0XzEuMC4wLnYyMDA5MTAzMC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9qYXZheC5pbmplY3RfMS4wLjAudjIwMDkxMDMwLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjk1MDg3Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvamF2YXguaW5qZWN0XzEuMC4wLnYyMDA5MTAzMC5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvamF2YXgueG1sXzEuMy40LnYyMDEwMDUwODA0MDAuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvamF2YXgueG1sXzEuMy40LnYyMDEwMDUwODA0MDAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxYTZhYjgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9qYXZheC54bWxfMS4zLjQudjIwMTAwNTA4MDQwMC5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFudGxyLmdlbmVyYXRvcl8zLjIuMC52MjAxMTA4MDExMjAyLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hbnRsci5nZW5lcmF0b3JfMy4yLjAudjIwMTEwODAxMTIwMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmIyMTc4NwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hbnRsci5nZW5lcmF0b3JfMy4yLjAudjIwMTEwODAxMTIwMi5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFudGxyLnJ1bnRpbWUuc291cmNlXzMuMi4wLnYyMDExMDEzMTExMzAuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFudGxyLnJ1bnRpbWUuc291cmNlXzMuMi4wLnYyMDExMDEzMTExMzAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyMzY5MzYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYW50bHIucnVudGltZS5zb3VyY2VfMy4yLjAudjIwMTEwMTMxMTEzMC5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFudGxyLnJ1bnRpbWVfMy4yLjAudjIwMTEwMTMxMTEzMC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYW50bHIucnVudGltZV8zLjIuMC52MjAxMTAxMzExMTMwLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTg0NTI4Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFudGxyLnJ1bnRpbWVfMy4yLjAudjIwMTEwMTMxMTEzMC5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnQuc291cmNlXzEuOC4zLnYyMDEzMDExMjA2MDkuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnQuc291cmNlXzEuOC4zLnYyMDEzMDExMjA2MDkuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwYjMzOTEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudC5zb3VyY2VfMS44LjMudjIwMTMwMTEyMDYwOS5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9NRVRBLUlORi9FQ0xJUFNFXy5SU0EgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L01FVEEtSU5GL0VDTElQU0VfLlJTQQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmQ0YWE1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9NRVRBLUlORi9FQ0xJUFNFXy5SU0EKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9NRVRBLUlORi9FQ0xJUFNFXy5TRiBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvTUVUQS1JTkYvRUNMSVBTRV8uU0YKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTllZjZiYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvTUVUQS1JTkYvRUNMSVBTRV8uU0YKQEAgLTAsMCArMSwxNzkgQEAKK1NpZ25hdHVyZS1WZXJzaW9uOiAxLjANCitTSEExLURpZ2VzdC1NYW5pZmVzdDogcXFPNmkwTjh6eEl1TlNzVjZUTG8wZ0o5cTJVPQ0KK0NyZWF0ZWQtQnk6IDEuNi4wIChJQk0gQ29ycG9yYXRpb24pDQorU0hBMS1EaWdlc3QtTWFuaWZlc3QtTWFpbi1BdHRyaWJ1dGVzOiBoUG5CMUtPQmRuaCt2UncvU3JscjRMUXBNQ1U9DQorDQorTmFtZTogbGliL2FudC1hcGFjaGUtYmNlbC5qYXINCitTSEExLURpZ2VzdDogUUdQVE8yWUJkWTQ3Zms4R3hzTDl3YS9DdjNVPQ0KKw0KK05hbWU6IGFib3V0X2ZpbGVzL1NBWC1MSUNFTlNFLmh0bWwNCitTSEExLURpZ2VzdDogd2ZjeHozUE1LS2pOcnBHMGFYU2JxUnMvRUVrPQ0KKw0KK05hbWU6IGV0Yy9tbWV0cmljcy1mcmFtZXMueHNsDQorU0hBMS1EaWdlc3Q6IEFQaUFQdEFEZ29ZR1N3RXF1eFFkUXg1Tk4wQT0NCisNCitOYW1lOiBiaW4vYW50LmJhdA0KK1NIQTEtRGlnZXN0OiBEOERSMmRsbUFsRW9Rc2p2RU90d1B1aUFZZ0k9DQorDQorTmFtZTogZXRjL3RhZ2RpZmYueHNsDQorU0hBMS1EaWdlc3Q6IG9RSzZGK3JVd3NkeGZKbDU4dmJLQW10VHMzWT0NCisNCitOYW1lOiBsaWIvYW50Lmphcg0KK1NIQTEtRGlnZXN0OiB1S0ZoQVdLM2tNNVllOURxdmlwQ3loRFQ2YjQ9DQorDQorTmFtZTogbGliL2FudC1hcGFjaGUtb3JvLmphcg0KK1NIQTEtRGlnZXN0OiAzb0N6bWhrWGhoamtlZzhBQVV4d2lXRHgwYWs9DQorDQorTmFtZTogbGliL2FudC1qc2NoLmphcg0KK1NIQTEtRGlnZXN0OiAxaTFKZ3UzeHB2Yzc2dzQzUGhmT2RjL05heUU9DQorDQorTmFtZTogYWJvdXRfZmlsZXMvQVNMLUxJQ0VOU0UtMi4wLnR4dA0KK1NIQTEtRGlnZXN0OiByd3hMS0YzYWJBQWZtN1VNa2d0UW5BOW4ralU9DQorDQorTmFtZTogZXRjL2NvdmVyYWdlLWZyYW1lcy54c2wNCitTSEExLURpZ2VzdDogTGs3Vm8wNkFCckg3YnJiSmtQMWhLUnhMa01nPQ0KKw0KK05hbWU6IGxpYi9hbnQtamRlcGVuZC5qYXINCitTSEExLURpZ2VzdDogakhuc05mTkE0bElNVW1wcjZmeHJtZDlvWUg4PQ0KKw0KK05hbWU6IGxpYi9hbnQtanVuaXQ0Lmphcg0KK1NIQTEtRGlnZXN0OiAwRlRKM3VwRUZOenJlN1kyRWVwQ2FIemRyL2c9DQorDQorTmFtZTogTUVUQS1JTkYvZWNsaXBzZS5pbmYNCitTSEExLURpZ2VzdDogWitlNFVyaEFtVENCUjFVcFAvUnFNZjlPWDAwPQ0KKw0KK05hbWU6IGxpYi9hbnQtYXBhY2hlLXJlZ2V4cC5qYXINCitTSEExLURpZ2VzdDogWmcwMmtjdnBzSzl3ZnVKYjhXWTcrMWhJVkM0PQ0KKw0KK05hbWU6IGJpbi9ydW5hbnQucGwNCitTSEExLURpZ2VzdDogNEVLTllDRWN5Ty9TTXF4bTc5Zm50czgvUTFjPQ0KKw0KK05hbWU6IGJpbi9lbnZzZXQuY21kDQorU0hBMS1EaWdlc3Q6IGFuR2dlcEk5VFRVdkQ2VzczaCtrR1FyYzJkMD0NCisNCitOYW1lOiBldGMvY2hlY2tzdHlsZS9jaGVja3N0eWxlLXRleHQueHNsDQorU0hBMS1EaWdlc3Q6IEp6dWI2TlNyV3hTOWhZZGErV3kvU1A0OVNlST0NCisNCitOYW1lOiBiaW4vYW50LmNtZA0KK1NIQTEtRGlnZXN0OiBmS201ZTdDaVdyMlVINjFqYng2WW9sM2NRWm89DQorDQorTmFtZTogbGliL2FudC1qdW5pdC5qYXINCitTSEExLURpZ2VzdDogZy9Ud0oxWkpLNlpvY1p2Z0JiNE9GTElEWG1VPQ0KKw0KK05hbWU6IGV0Yy9sb2cueHNsDQorU0hBMS1EaWdlc3Q6IDBIRDYxdHcrTThxMzNocFBWUGtqSkplNFNEbz0NCisNCitOYW1lOiBiaW4vYW50UnVuDQorU0hBMS1EaWdlc3Q6IDN4ejV6TFZJVDJRSm5Qc2t6WkNPdVgwTFZudz0NCisNCitOYW1lOiBhYm91dF9maWxlcy9ET00tTElDRU5TRS5odG1sDQorU0hBMS1EaWdlc3Q6IFNqUUdSblQ1N3E3Yk1icllMRHFhbzNYWXRyOD0NCisNCitOYW1lOiBsaWIvYW50LXRlc3R1dGlsLmphcg0KK1NIQTEtRGlnZXN0OiBSQVdnT0lBc1hDdVlHQUJhVCtBVXYrVDVSTmM9DQorDQorTmFtZTogYmluL3J1bmFudC5weQ0KK1NIQTEtRGlnZXN0OiBMMjExRjk1OGRhSDIvSVY3QkZ4UEtCbWdKVHc9DQorDQorTmFtZTogbGliL2FudC1jb21tb25zLWxvZ2dpbmcuamFyDQorU0hBMS1EaWdlc3Q6IG5SajdVRXlIOTZ1Vk10RStmcGxFcXg2ckE5MD0NCisNCitOYW1lOiBsaWIvYW50LXN3aW5nLmphcg0KK1NIQTEtRGlnZXN0OiBLeHVwbEpKeFNFOGxtMmlGVjNXdEV4UFcwenM9DQorDQorTmFtZTogZXRjL2pkZXBlbmQtZnJhbWVzLnhzbA0KK1NIQTEtRGlnZXN0OiBPRXNQSHEzUElyMTg1b2NVdG04MVVMa21vYnM9DQorDQorTmFtZTogZXRjL2NoYW5nZWxvZy54c2wNCitTSEExLURpZ2VzdDogOVpGUzhmSFN2ejQyR0xzMk5EbnF6TEZvNUc4PQ0KKw0KK05hbWU6IGV0Yy9jaGVja3N0eWxlL2NoZWNrc3R5bGUteGRvYy54c2wNCitTSEExLURpZ2VzdDogbWZWTWdkRSs5Sm9DMGhLYzBWYzVmN3BiZS9jPQ0KKw0KK05hbWU6IGxpYi9hbnQtbGF1bmNoZXIuamFyDQorU0hBMS1EaWdlc3Q6IGdpYnNrTkRrc2lUNW1CaVFqdDFKenpqWlBUYz0NCisNCitOYW1lOiBldGMvamRlcGVuZC54c2wNCitTSEExLURpZ2VzdDogTTZib1pIV2E5K0plRGhDalh0cTVaOVk2MWRZPQ0KKw0KK05hbWU6IGxpYi9hbnQtYXBhY2hlLXhhbGFuMi5qYXINCitTSEExLURpZ2VzdDogbEZDOEVGMzJaekxkNjBuU2JkQ0lvL1E0ZkcwPQ0KKw0KK05hbWU6IGxpYi9hbnQtam1mLmphcg0KK1NIQTEtRGlnZXN0OiBPY1NsOG1iWEpnbTFiM3JnUi9MWnFBZ29qaG89DQorDQorTmFtZTogYmluL3J1bnJjLmNtZA0KK1NIQTEtRGlnZXN0OiBhcTYrZEJiK2pkaVh5cnZETm1MSU96ajIxTjg9DQorDQorTmFtZTogbGliL2FudC1uZXRyZXh4Lmphcg0KK1NIQTEtRGlnZXN0OiBDSmU0QkNLU3pxS1VpVW53MHlYQ0pXVUQwSUU9DQorDQorTmFtZTogcGx1Z2luLnByb3BlcnRpZXMNCitTSEExLURpZ2VzdDogc2dsb2xCemJLMU9vWDBRL0QzU1pLc29UV2JNPQ0KKw0KK05hbWU6IGxpYi9hbnQtamFpLmphcg0KK1NIQTEtRGlnZXN0OiBSWVZ2N3hDM1JHaEhIL3MwM2JseWlua2NodDQ9DQorDQorTmFtZTogYmluL2FudFJ1bi5iYXQNCitTSEExLURpZ2VzdDogS1g4U1crc1o4Z3RRWXIzYm9XUnBsMkRrV3JFPQ0KKw0KK05hbWU6IGxpYi9hbnQtYXBhY2hlLWJzZi5qYXINCitTSEExLURpZ2VzdDogditzRGZKVW9jTUg3cmJYTWl2a0tFbytJc1VzPQ0KKw0KK05hbWU6IGFib3V0X2ZpbGVzL0xJQ0VOU0UNCitTSEExLURpZ2VzdDogSVhpQUVFQWh5ck4wQzlMQ1VMWHd5a0RqdGhFPQ0KKw0KK05hbWU6IGxpYi9hbnQtYXBhY2hlLWxvZzRqLmphcg0KK1NIQTEtRGlnZXN0OiBjQ095aUZvc2JtT1B4alNSVUF5R053QnVSMlk9DQorDQorTmFtZTogYmluL2FudA0KK1NIQTEtRGlnZXN0OiBCaTd0bTl4KzdIRmZiWWhUWGdXUklybUpOSzQ9DQorDQorTmFtZTogZXRjL2NoZWNrc3R5bGUvY2hlY2tzdHlsZS1mcmFtZXMueHNsDQorU0hBMS1EaWdlc3Q6IEJSNllKcWJjNGI1Q1IzNXJsU0xpSmJlYXFyTT0NCisNCitOYW1lOiBiaW4vY29tcGxldGUtYW50LWNtZC5wbA0KK1NIQTEtRGlnZXN0OiAxdmFQczc1NncwTWlFS3k5V2RWb2F6S2dHb289DQorDQorTmFtZTogYWJvdXRfZmlsZXMvTk9USUNFDQorU0hBMS1EaWdlc3Q6IDBzUVJvN0FYckVheUZuVTJaaDN1MWNYNGJ5QT0NCisNCitOYW1lOiBsaWIvYW50LWFwYWNoZS1yZXNvbHZlci5qYXINCitTSEExLURpZ2VzdDogZld3Ulh1UStDbFBiV2lydGQvdDZZdGV2SjJrPQ0KKw0KK05hbWU6IGV0Yy9qdW5pdC1mcmFtZXMueHNsDQorU0hBMS1EaWdlc3Q6IFM4L211V01TOERlL295enBCKzlXL2hSOWN5dz0NCisNCitOYW1lOiBldGMvanVuaXQtbm9mcmFtZXMueHNsDQorU0hBMS1EaWdlc3Q6IDQ1VlIrU0FTWDdFWml4TFBBWnFoRDZNUWZLWT0NCisNCitOYW1lOiBsaWIvYW50LWFudGxyLmphcg0KK1NIQTEtRGlnZXN0OiA1ZGJ6YmZjZ0Z4Q2R5dlV0RjJPWHJQOUh1Wnc9DQorDQorTmFtZTogYWJvdXQuaHRtbA0KK1NIQTEtRGlnZXN0OiBmV24rSm5WTmZoMHppRDhITHhzbk5lM0pMK1E9DQorDQorTmFtZTogZXRjL21hdWRpdC1mcmFtZXMueHNsDQorU0hBMS1EaWdlc3Q6IFU4eHhJM0FvUFNvVmVwU3YwWmJmckFSc1RaWT0NCisNCitOYW1lOiBldGMvanVuaXQtZnJhbWVzLXhhbGFuMS54c2wNCitTSEExLURpZ2VzdDogYzZta3ZQTk5LU2EyRnpGdU9lREtpdlc4WTNRPQ0KKw0KK05hbWU6IGxpYi9hbnQtY29tbW9ucy1uZXQuamFyDQorU0hBMS1EaWdlc3Q6IFhndkhGdTY0RnJ1UU1WNGRJYWo3YlV1eXZOUT0NCisNCitOYW1lOiBsaWIvYW50LWphdmFtYWlsLmphcg0KK1NIQTEtRGlnZXN0OiBoaDlHbm5HOFViT29hVFJuVGJYQzdjUWF0ZkU9DQorDQorTmFtZTogYmluL2xjcC5iYXQNCitTSEExLURpZ2VzdDogRUE1bTIrSGZHRkxoYjZGb3JRZGpubHZsM2NVPQ0KKw0KK05hbWU6IGJpbi9hbnRlbnYuY21kDQorU0hBMS1EaWdlc3Q6IGFzNS91YzZORnJ3NVpxempjNXZaRVdnNk1zTT0NCisNCitOYW1lOiBldGMvYW50LWJvb3RzdHJhcC5qYXINCitTSEExLURpZ2VzdDogQkdyeUcvSkFrNm91Qmw0MkQvYVNDNGNCNXRRPQ0KKw0KK05hbWU6IGJpbi9hbnRSdW4ucGwNCitTSEExLURpZ2VzdDogQ3czaGtGWi83TmJQN2tQVUdML1dNMW44RUtrPQ0KKw0KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvTUVUQS1JTkYvTUFOSUZFU1QuTUYgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L01FVEEtSU5GL01BTklGRVNULk1GCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2NjlkMjgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L01FVEEtSU5GL01BTklGRVNULk1GCkBAIC0wLDAgKzEsMjMzIEBACitNYW5pZmVzdC1WZXJzaW9uOiAxLjANCitCdW5kbGUtQ2xhc3NQYXRoOiBsaWIvYW50LWFudGxyLmphcixsaWIvYW50LWFwYWNoZS1iY2VsLmphcixsaWIvYW50LWFwDQorIGFjaGUtYnNmLmphcixsaWIvYW50LWFwYWNoZS1sb2c0ai5qYXIsbGliL2FudC1hcGFjaGUtb3JvLmphcixsaWIvYW50LQ0KKyBhcGFjaGUtcmVnZXhwLmphcixsaWIvYW50LWFwYWNoZS1yZXNvbHZlci5qYXIsbGliL2FudC1hcGFjaGUteGFsYW4yLmoNCisgYXIsbGliL2FudC1jb21tb25zLWxvZ2dpbmcuamFyLGxpYi9hbnQtY29tbW9ucy1uZXQuamFyLGxpYi9hbnQtamFpLmphDQorIHIsbGliL2FudC1qYXZhbWFpbC5qYXIsbGliL2FudC1qZGVwZW5kLmphcixsaWIvYW50LWptZi5qYXIsbGliL2FudC1qcw0KKyBjaC5qYXIsbGliL2FudC1qdW5pdC5qYXIsbGliL2FudC1qdW5pdDQuamFyLGxpYi9hbnQtbGF1bmNoZXIuamFyLGxpYi8NCisgYW50LW5ldHJleHguamFyLGxpYi9hbnQtc3dpbmcuamFyLGxpYi9hbnQtdGVzdHV0aWwuamFyLGxpYi9hbnQuamFyDQorQnVuZGxlLVZlbmRvcjogJXByb3ZpZGVyTmFtZQ0KK0J1bmRsZS1Mb2NhbGl6YXRpb246IHBsdWdpbg0KK0J1bmRsZS1SZXF1aXJlZEV4ZWN1dGlvbkVudmlyb25tZW50OiBKMlNFLTEuMg0KK0J1bmRsZS1OYW1lOiAlcGx1Z2luTmFtZQ0KK0J1bmRsZS1TeW1ib2xpY05hbWU6IG9yZy5hcGFjaGUuYW50DQorRWNsaXBzZS1Tb3VyY2VSZWZlcmVuY2VzOiBzY206Y3ZzOnBzZXJ2ZXI6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L3Rvbw0KKyBsczpvcmcuZWNsaXBzZS5vcmJpdC9vcmcuYXBhY2hlLmFudDt0YWc9djIwMTMwMTEyMDYwOQ0KK1JlcXVpcmUtQnVuZGxlOiBvcmcuZWNsaXBzZS5vc2dpDQorRXhwb3J0LVBhY2thZ2U6IG9yZy5hcGFjaGUudG9vbHMuYW50LG9yZy5hcGFjaGUudG9vbHMuYW50LmRpc3BhdGNoLG9yZw0KKyAuYXBhY2hlLnRvb2xzLmFudC5maWx0ZXJzLG9yZy5hcGFjaGUudG9vbHMuYW50LmZpbHRlcnMudXRpbCxvcmcuYXBhY2gNCisgZS50b29scy5hbnQuaGVscGVyLG9yZy5hcGFjaGUudG9vbHMuYW50LmlucHV0LG9yZy5hcGFjaGUudG9vbHMuYW50LmxhDQorIHVuY2gsb3JnLmFwYWNoZS50b29scy5hbnQubGlzdGVuZXIsb3JnLmFwYWNoZS50b29scy5hbnQubG9hZGVyLG9yZy5hcA0KKyBhY2hlLnRvb2xzLmFudC5wcm9wZXJ0eSxvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcyxvcmcuYXBhY2hlLnRvb2wNCisgcy5hbnQudGFza2RlZnMuY29tcGlsZXJzLG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLmNvbmRpdGlvbixvcmcuDQorIGFwYWNoZS50b29scy5hbnQudGFza2RlZnMuY3ZzbGliLG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLmVtYWlsLA0KKyBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5vcHRpb25hbCxvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy4NCisgb3B0aW9uYWwuY2NtLG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLm9wdGlvbmFsLmNsZWFyY2FzZSxvcmcuYXBhDQorIGNoZS50b29scy5hbnQudGFza2RlZnMub3B0aW9uYWwuZGVwZW5kLG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLg0KKyBvcHRpb25hbC5kZXBlbmQuY29uc3RhbnRwb29sLG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLm9wdGlvbmFsLmUNCisgamIsb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMub3B0aW9uYWwuZXh0ZW5zaW9uLG9yZy5hcGFjaGUudG9vbHMuDQorIGFudC50YXNrZGVmcy5vcHRpb25hbC5leHRlbnNpb24ucmVzb2x2ZXJzLG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZQ0KKyBmcy5vcHRpb25hbC5pMThuLG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLm9wdGlvbmFsLmltYWdlLG9yZy5hcGENCisgY2hlLnRvb2xzLmFudC50YXNrZGVmcy5vcHRpb25hbC5qMmVlLG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLm9wDQorIHRpb25hbC5qYXZhY2Msb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMub3B0aW9uYWwuamF2YWgsb3JnLmFwYWNoZQ0KKyAudG9vbHMuYW50LnRhc2tkZWZzLm9wdGlvbmFsLmpkZXBlbmQsb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMub3ANCisgdGlvbmFsLmpsaW5rLG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLm9wdGlvbmFsLmpzcCxvcmcuYXBhY2hlLnRvDQorIG9scy5hbnQudGFza2RlZnMub3B0aW9uYWwuanNwLmNvbXBpbGVycyxvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcw0KKyAub3B0aW9uYWwuanVuaXQsb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMub3B0aW9uYWwubmF0aXZlMmFzY2lpLG8NCisgcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5vcHRpb25hbC5uZXQsb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlDQorIGZzLm9wdGlvbmFsLnBlcmZvcmNlLG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLm9wdGlvbmFsLnB2Y3Msb3JnLg0KKyBhcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLm9wdGlvbmFsLnNjcmlwdCxvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGUNCisgZnMub3B0aW9uYWwuc29zLG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLm9wdGlvbmFsLnNvdW5kLG9yZy5hcGFjDQorIGhlLnRvb2xzLmFudC50YXNrZGVmcy5vcHRpb25hbC5zcGxhc2gsb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMubw0KKyBwdGlvbmFsLnNzaCxvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5vcHRpb25hbC50ZXN0aW5nLG9yZy5hcGFjaGUNCisgLnRvb2xzLmFudC50YXNrZGVmcy5vcHRpb25hbC51bml4LG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLm9wdGlvDQorIG5hbC52c3Msb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMub3B0aW9uYWwud2luZG93cyxvcmcuYXBhY2hlLnRvbw0KKyBscy5hbnQudGFza2RlZnMucm1pYyxvcmcuYXBhY2hlLnRvb2xzLmFudC50eXBlcyxvcmcuYXBhY2hlLnRvb2xzLmFudC4NCisgdHlwZXMubWFwcGVycyxvcmcuYXBhY2hlLnRvb2xzLmFudC50eXBlcy5vcHRpb25hbCxvcmcuYXBhY2hlLnRvb2xzLmFuDQorIHQudHlwZXMub3B0aW9uYWwuZGVwZW5kLG9yZy5hcGFjaGUudG9vbHMuYW50LnR5cGVzLm9wdGlvbmFsLmltYWdlLG9yZw0KKyAuYXBhY2hlLnRvb2xzLmFudC50eXBlcy5yZXNvbHZlcixvcmcuYXBhY2hlLnRvb2xzLmFudC50eXBlcy5yZXNvdXJjZXMNCisgLG9yZy5hcGFjaGUudG9vbHMuYW50LnR5cGVzLnJlc291cmNlcy5jb21wYXJhdG9ycyxvcmcuYXBhY2hlLnRvb2xzLmFuDQorIHQudHlwZXMucmVzb3VyY2VzLnNlbGVjdG9ycyxvcmcuYXBhY2hlLnRvb2xzLmFudC50eXBlcy5zZWxlY3RvcnMsb3JnLg0KKyBhcGFjaGUudG9vbHMuYW50LnR5cGVzLnNlbGVjdG9ycy5tb2RpZmllZHNlbGVjdG9yLG9yZy5hcGFjaGUudG9vbHMuYW4NCisgdC50eXBlcy5zcGksb3JnLmFwYWNoZS50b29scy5hbnQudXRpbCxvcmcuYXBhY2hlLnRvb2xzLmFudC51dGlsLmRlcGVuDQorIGQsb3JnLmFwYWNoZS50b29scy5hbnQudXRpbC5kZXBlbmQuYmNlbCxvcmcuYXBhY2hlLnRvb2xzLmFudC51dGlsLmZhYw0KKyBhZGUsb3JnLmFwYWNoZS50b29scy5hbnQudXRpbC5qYXZhMTUsb3JnLmFwYWNoZS50b29scy5hbnQudXRpbC5vcHRpb24NCisgYWwsb3JnLmFwYWNoZS50b29scy5hbnQudXRpbC5yZWdleHAsb3JnLmFwYWNoZS50b29scy5iemlwMixvcmcuYXBhY2hlDQorIC50b29scy5tYWlsLG9yZy5hcGFjaGUudG9vbHMudGFyLG9yZy5hcGFjaGUudG9vbHMuemlwDQorQnVuZGxlLVZlcnNpb246IDEuOC4zLnYyMDEzMDExMjA2MDkNCitCdW5kbGUtTWFuaWZlc3RWZXJzaW9uOiAyDQorDQorTmFtZTogbGliL2FudC1hcGFjaGUtYmNlbC5qYXINCitTSEExLURpZ2VzdDogWFhpUExjRVNKUGFPb2Zqb3dHTDYzZHhIZjJNPQ0KKw0KK05hbWU6IGFib3V0X2ZpbGVzL1NBWC1MSUNFTlNFLmh0bWwNCitTSEExLURpZ2VzdDogcGlNSDVvbWZxYmk3bEM2Ym9qM1JKQ0l6SEdrPQ0KKw0KK05hbWU6IGV0Yy9tbWV0cmljcy1mcmFtZXMueHNsDQorU0hBMS1EaWdlc3Q6IGNRbnppR1laQzJGck8wendGRTkyUDFiUDJ2OD0NCisNCitOYW1lOiBiaW4vYW50LmJhdA0KK1NIQTEtRGlnZXN0OiAyckpyZU85eEd2cXpBYVJDMW83RTBlMElobWs9DQorDQorTmFtZTogZXRjL3RhZ2RpZmYueHNsDQorU0hBMS1EaWdlc3Q6IGRkYWVna0Jrd3c1Q29JbFJwU1I4UkRVSTFiUT0NCisNCitOYW1lOiBsaWIvYW50Lmphcg0KK1NIQTEtRGlnZXN0OiByTU5SbUtRdkwwVSszZFdVRXkyekdCbzZOalE9DQorDQorTmFtZTogbGliL2FudC1hcGFjaGUtb3JvLmphcg0KK1NIQTEtRGlnZXN0OiBxUjAvOEg1MnlJcE54b0NKb1VwS2RaMituZEk9DQorDQorTmFtZTogbGliL2FudC1qc2NoLmphcg0KK1NIQTEtRGlnZXN0OiBqMlN6Qkh3dThySndDWFE2OXZCTW82OGtpcGs9DQorDQorTmFtZTogYWJvdXRfZmlsZXMvQVNMLUxJQ0VOU0UtMi4wLnR4dA0KK1NIQTEtRGlnZXN0OiBLNHVCVWltcWltSGtnL3RMb0ZpTGkyeEpHSkE9DQorDQorTmFtZTogZXRjL2NvdmVyYWdlLWZyYW1lcy54c2wNCitTSEExLURpZ2VzdDogNVNFL05oUFdFYnF6R0RHTDU4ZHdFYmtod1JzPQ0KKw0KK05hbWU6IGxpYi9hbnQtamRlcGVuZC5qYXINCitTSEExLURpZ2VzdDogN3NINWl6T1NSUkhUQU9mZ245Y1IvYVFTckxnPQ0KKw0KK05hbWU6IGxpYi9hbnQtanVuaXQ0Lmphcg0KK1NIQTEtRGlnZXN0OiB4OXFKd2xUWG5IdE5nNGhKVC9jN3J2TGRnWVU9DQorDQorTmFtZTogTUVUQS1JTkYvZWNsaXBzZS5pbmYNCitTSEExLURpZ2VzdDogdStGOGovR0FFOHR6ckRyeTkrd1QzQ3ZnODFZPQ0KKw0KK05hbWU6IGxpYi9hbnQtYXBhY2hlLXJlZ2V4cC5qYXINCitTSEExLURpZ2VzdDogOHFPdzVwYWdEaTFiaTdnYXd2dmZRWjBZMHZFPQ0KKw0KK05hbWU6IGJpbi9ydW5hbnQucGwNCitTSEExLURpZ2VzdDogdHluWWFHaDgrQnRXRHNaNlBsalpkb2krZWdVPQ0KKw0KK05hbWU6IGV0Yy9jaGVja3N0eWxlL2NoZWNrc3R5bGUtdGV4dC54c2wNCitTSEExLURpZ2VzdDogQ3FTekFYRWVlVjIwRHRGcGV1andqTDlGRVc4PQ0KKw0KK05hbWU6IGJpbi9lbnZzZXQuY21kDQorU0hBMS1EaWdlc3Q6IEVKK2xqTDVzYlVROG1XVm44VjQ5WFBCdUF6MD0NCisNCitOYW1lOiBsaWIvYW50LWp1bml0Lmphcg0KK1NIQTEtRGlnZXN0OiAvcDFlR2lVVGI0NEw0VTNrYUZPaGlnQVlYaDA9DQorDQorTmFtZTogYmluL2FudC5jbWQNCitTSEExLURpZ2VzdDogNGpQSkk3bkpPK3Yzb1BwYmk1R2JyVDd4OXFrPQ0KKw0KK05hbWU6IGJpbi9hbnRSdW4NCitTSEExLURpZ2VzdDogUzYzUVQ1RjVFSTFCQ3BJajU5bm9zVDNsVlR3PQ0KKw0KK05hbWU6IGV0Yy9sb2cueHNsDQorU0hBMS1EaWdlc3Q6IGp1djJIMFZwbE1tNHJpMXJ6Z2RPVzB5Q3JvYz0NCisNCitOYW1lOiBhYm91dF9maWxlcy9ET00tTElDRU5TRS5odG1sDQorU0hBMS1EaWdlc3Q6IHlQaUY4dEUySGtlNXBpTUlkenl1dTRWTlNqaz0NCisNCitOYW1lOiBsaWIvYW50LXRlc3R1dGlsLmphcg0KK1NIQTEtRGlnZXN0OiAyTHRwbzJUWmVhRDdHaHpmVzBJaVl3a3d3VW89DQorDQorTmFtZTogYmluL3J1bmFudC5weQ0KK1NIQTEtRGlnZXN0OiAwY0JMSng4WVZ5d2RucFRXR1gyb29wMVpsZ1E9DQorDQorTmFtZTogbGliL2FudC1jb21tb25zLWxvZ2dpbmcuamFyDQorU0hBMS1EaWdlc3Q6IFlzV0s2cUprYmZZQVJXUXI4amQ0Q1psRXJvZz0NCisNCitOYW1lOiBsaWIvYW50LXN3aW5nLmphcg0KK1NIQTEtRGlnZXN0OiAwNUtrekl0RWl0VFQyUWVaZlhxN3Q4US9KdDQ9DQorDQorTmFtZTogZXRjL2pkZXBlbmQtZnJhbWVzLnhzbA0KK1NIQTEtRGlnZXN0OiBVMkJiNmFNeGdiRVlxWGtDbTJzdWplTFA3Wm89DQorDQorTmFtZTogZXRjL2NoYW5nZWxvZy54c2wNCitTSEExLURpZ2VzdDogMkVaWitqU1R0MVRUbEJZUE40dkdVQVg3Y1RRPQ0KKw0KK05hbWU6IGV0Yy9jaGVja3N0eWxlL2NoZWNrc3R5bGUteGRvYy54c2wNCitTSEExLURpZ2VzdDogeUwzVHFDQTRwYzBkYVpYdFh3QWlDTjZ4SHhJPQ0KKw0KK05hbWU6IGxpYi9hbnQtbGF1bmNoZXIuamFyDQorU0hBMS1EaWdlc3Q6IFNvOEhaN0Q0N3p5ak5KbXcxMUVEREpxSWtiZz0NCisNCitOYW1lOiBldGMvamRlcGVuZC54c2wNCitTSEExLURpZ2VzdDogMHJmMTRhTHpoTHN1bjI0dVVzWFZWdmtITTZJPQ0KKw0KK05hbWU6IGxpYi9hbnQtYXBhY2hlLXhhbGFuMi5qYXINCitTSEExLURpZ2VzdDogUE81SUJDWE1KeXJ2dlpjTzUxM3R3L21Ya1pvPQ0KKw0KK05hbWU6IGxpYi9hbnQtam1mLmphcg0KK1NIQTEtRGlnZXN0OiBEWUpKVHdxQnpLdzNxUkJrV3lVNTRSZ0lPNVU9DQorDQorTmFtZTogYmluL3J1bnJjLmNtZA0KK1NIQTEtRGlnZXN0OiBlTm8rY3VZUWljbmRjYzU2RlZrUlNjRDV3MzA9DQorDQorTmFtZTogbGliL2FudC1uZXRyZXh4Lmphcg0KK1NIQTEtRGlnZXN0OiBZdnBBRUVGR1EwVExmSlRLUk80SnE2aHFCQ2c9DQorDQorTmFtZTogcGx1Z2luLnByb3BlcnRpZXMNCitTSEExLURpZ2VzdDogek9yY3ZVd05RQXlEME1lVEx0R3c5TzFTNGdRPQ0KKw0KK05hbWU6IGxpYi9hbnQtamFpLmphcg0KK1NIQTEtRGlnZXN0OiBQVFlRZ3BGbkJMSjFpWUVIUTRqNWk2YzVYRzA9DQorDQorTmFtZTogYmluL2FudFJ1bi5iYXQNCitTSEExLURpZ2VzdDogekI5SmJGRmhsWFRWZ3dhSmx3NjF3TkVMajZrPQ0KKw0KK05hbWU6IGxpYi9hbnQtYXBhY2hlLWJzZi5qYXINCitTSEExLURpZ2VzdDogeWJNVHVhdGU2OTRsL25JMlY4ZVhNSEg4WUtrPQ0KKw0KK05hbWU6IGFib3V0X2ZpbGVzL0xJQ0VOU0UNCitTSEExLURpZ2VzdDogN1lONHc0MjB2aFA4cDhSSnNiMERJaUpKWG9FPQ0KKw0KK05hbWU6IGxpYi9hbnQtYXBhY2hlLWxvZzRqLmphcg0KK1NIQTEtRGlnZXN0OiA5akgxZlA1SUdWTE5lcDJKR2MrZU5PYnVmTVU9DQorDQorTmFtZTogYmluL2FudA0KK1NIQTEtRGlnZXN0OiBxTVBIa0tmQ0JYNXNDaFBvelhnNjlja01ValE9DQorDQorTmFtZTogZXRjL2NoZWNrc3R5bGUvY2hlY2tzdHlsZS1mcmFtZXMueHNsDQorU0hBMS1EaWdlc3Q6IGVJNnplMERWNU9CTmxJZTNSWVhPb0NVK2tGQT0NCisNCitOYW1lOiBiaW4vY29tcGxldGUtYW50LWNtZC5wbA0KK1NIQTEtRGlnZXN0OiBNaGRGeEQxNzQwTzVuaEZhK0h3czVPNU5EK3c9DQorDQorTmFtZTogYWJvdXRfZmlsZXMvTk9USUNFDQorU0hBMS1EaWdlc3Q6IHUvUlZmOStFb0s0ckFXWGpDa3hxaFppU1JWWT0NCisNCitOYW1lOiBsaWIvYW50LWFwYWNoZS1yZXNvbHZlci5qYXINCitTSEExLURpZ2VzdDogUlVjVXJOOEN2OWR5YzlOeldEZ2hsZTRYOTEwPQ0KKw0KK05hbWU6IGV0Yy9qdW5pdC1mcmFtZXMueHNsDQorU0hBMS1EaWdlc3Q6IHl1T2dTdEtLenIxL1NwKzU0dkQ0SVcrbklmRT0NCisNCitOYW1lOiBldGMvanVuaXQtbm9mcmFtZXMueHNsDQorU0hBMS1EaWdlc3Q6IElYQkMzbnhQc2kyTWdrc1BpK1hiMUNTY0x2bz0NCisNCitOYW1lOiBsaWIvYW50LWFudGxyLmphcg0KK1NIQTEtRGlnZXN0OiAzMFYrMEpQYVdySGdTRXZJU2pER0UwYzdWck09DQorDQorTmFtZTogYWJvdXQuaHRtbA0KK1NIQTEtRGlnZXN0OiA5Y3lZbUZPTzNIOFBMMUY5RzY2ZUlrV0E2NVU9DQorDQorTmFtZTogZXRjL21hdWRpdC1mcmFtZXMueHNsDQorU0hBMS1EaWdlc3Q6IDFvTUw3T1lxV2pWK2hQS3UvSXRkenJBRkdjQT0NCisNCitOYW1lOiBldGMvanVuaXQtZnJhbWVzLXhhbGFuMS54c2wNCitTSEExLURpZ2VzdDogMUpYRjkrUUdFdzB5czVnamtHc3FJWFhrN1ZBPQ0KKw0KK05hbWU6IGxpYi9hbnQtY29tbW9ucy1uZXQuamFyDQorU0hBMS1EaWdlc3Q6IDAvdHFYbkJ2QmlaSG1wUnIwSHVyUlpHNEtXQT0NCisNCitOYW1lOiBsaWIvYW50LWphdmFtYWlsLmphcg0KK1NIQTEtRGlnZXN0OiBEV1MrTk00aVpVWktLL1VoMUFFTjBMTmJ2cG89DQorDQorTmFtZTogYmluL2xjcC5iYXQNCitTSEExLURpZ2VzdDogZVg3SUNjQnNhbkFUc2FFRGtuNStvVEE0UWFRPQ0KKw0KK05hbWU6IGV0Yy9hbnQtYm9vdHN0cmFwLmphcg0KK1NIQTEtRGlnZXN0OiBkYVZ1MFVQMlFGU1hpRlZoTjZtVnRjUWxiTUE9DQorDQorTmFtZTogYmluL2FudGVudi5jbWQNCitTSEExLURpZ2VzdDogczJ6dmNKRXMyRTJ4NmNrZlhab0d4eDFPRjFZPQ0KKw0KK05hbWU6IGJpbi9hbnRSdW4ucGwNCitTSEExLURpZ2VzdDogbXlucDFhZ1BCeXhvalFVS1pxbFZaa1haU0hZPQ0KKw0KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvTUVUQS1JTkYvZWNsaXBzZS5pbmYgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L01FVEEtSU5GL2VjbGlwc2UuaW5mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZDZmYTkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L01FVEEtSU5GL2VjbGlwc2UuaW5mCkBAIC0wLDAgKzEsNCBAQAorI1Byb2Nlc3NlZCB1c2luZyBKYXJwcm9jZXNzb3IKK2phcnByb2Nlc3Nvci5leGNsdWRlLmNoaWxkcmVuLnNpZ24gPSB0cnVlCitwYWNrMjAwLmFyZ3MgPSAtRTQKK3BhY2syMDAuY29uZGl0aW9uZWQgPSB0cnVlCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2Fib3V0Lmh0bWwgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2Fib3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU3OTA2NAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvYWJvdXQuaHRtbApAQCAtMCwwICsxLDc4IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgorICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLz4KKzx0aXRsZT5BYm91dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keSBsYW5nPSJFTi1VUyI+Cis8aDI+QWJvdXQgVGhpcyBDb250ZW50PC9oMj4KKyAKKzxwPk1hcmNoLCAyMDEyPC9wPgkKKzxoMz5MaWNlbnNlPC9oMz4KKworPHA+VGhlIEVjbGlwc2UgRm91bmRhdGlvbiBtYWtlcyBhdmFpbGFibGUgYWxsIGNvbnRlbnQgaW4gdGhpcyBwbHVnLWluICgmcXVvdDtDb250ZW50JnF1b3Q7KS4gIFVubGVzcyBvdGhlcndpc2UgCitpbmRpY2F0ZWQgYmVsb3csIHRoZSBDb250ZW50IGlzIHByb3ZpZGVkIHRvIHlvdSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlCitFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wICgmcXVvdDtFUEwmcXVvdDspLiAgQSBjb3B5IG9mIHRoZSBFUEwgaXMgYXZhaWxhYmxlIAorYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sPC9hPi4KK0ZvciBwdXJwb3NlcyBvZiB0aGUgRVBMLCAmcXVvdDtQcm9ncmFtJnF1b3Q7IHdpbGwgbWVhbiB0aGUgQ29udGVudC48L3A+CisKKzxwPklmIHlvdSBkaWQgbm90IHJlY2VpdmUgdGhpcyBDb250ZW50IGRpcmVjdGx5IGZyb20gdGhlIEVjbGlwc2UgRm91bmRhdGlvbiwgdGhlIENvbnRlbnQgaXMgCitiZWluZyByZWRpc3RyaWJ1dGVkIGJ5IGFub3RoZXIgcGFydHkgKCZxdW90O1JlZGlzdHJpYnV0b3ImcXVvdDspIGFuZCBkaWZmZXJlbnQgdGVybXMgYW5kIGNvbmRpdGlvbnMgbWF5CithcHBseSB0byB5b3VyIHVzZSBvZiBhbnkgb2JqZWN0IGNvZGUgaW4gdGhlIENvbnRlbnQuICBDaGVjayB0aGUgUmVkaXN0cmlidXRvcidzIGxpY2Vuc2UgdGhhdCB3YXMgCitwcm92aWRlZCB3aXRoIHRoZSBDb250ZW50LiAgSWYgbm8gc3VjaCBsaWNlbnNlIGV4aXN0cywgY29udGFjdCB0aGUgUmVkaXN0cmlidXRvci4gIFVubGVzcyBvdGhlcndpc2UKK2luZGljYXRlZCBiZWxvdywgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBFUEwgc3RpbGwgYXBwbHkgdG8gYW55IHNvdXJjZSBjb2RlIGluIHRoZSBDb250ZW50CithbmQgc3VjaCBzb3VyY2UgY29kZSBtYXkgYmUgb2J0YWluZWQgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZyI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZzwvYT4uPC9wPgorCis8aDM+VGhpcmQgUGFydHkgQ29udGVudDwvaDM+CisKKzxwPgorVGhlIENvbnRlbnQgaW5jbHVkZXMgaXRlbXMgdGhhdCBoYXZlIGJlZW4gc291cmNlZCBmcm9tIHRoaXJkIHBhcnRpZXMgYXMgc2V0IG91dCBiZWxvdy4gSWYgeW91IAorZGlkIG5vdCByZWNlaXZlIHRoaXMgQ29udGVudCBkaXJlY3RseSBmcm9tIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24sIHRoZSBmb2xsb3dpbmcgaXMgcHJvdmlkZWQgCitmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5LCBhbmQgeW91IHNob3VsZCBsb29rIHRvIHRoZSBSZWRpc3RyaWJ1dG9yJnJzcXVvO3MgbGljZW5zZSBmb3IgCit0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UuCis8L3A+CisKKzxoND5BbnQgMS44LjM8L2g0PgorCis8cD4KK0luZm9ybWF0aW9uIGFib3V0IHdoYXQgY2hhbmdlZCBpbiBBbnQgMS44LjMgZnJvbSBBbnQgMS44LjIgY2FuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9hbnQvUkVMRUFTRS1OT1RFUy0xLjguMy5odG1sIiBhbHQ9IkFudCAxLjguMyByZWxlYXNlIG5vdGVzIj5yZWxlYXNlIG5vdGVzPC9hPi4KKzwvcD4KKzxwPgorVGhlIHBsdWctaW4gaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiBhcyBwYXJ0IG9mIHRoZSBBbnQgcHJvamVjdC4KKzwvcD4KKworPHA+CitUaGUgQW50IGJpbmFyeSBjb2RlIGluIGFudC5qYXIgYW5kIHRoZSBzY3JpcHRzIGFudCwgYW50LmJhdCwgYW50LmNtZCwgYW50ZW52LmNtZCwgYW50UnVuLCBhbnRSdW4uYmF0LCBhbnRSdW4ucGwsIGNvbXBsZXRlLWFudC1jbWQucGwsIGVudnNldC5jbWQsIGxjcC5iYXQsIHJ1bmFudC5wbCwgcnVuYW50LnB5IGFuZCBydW5yYy5jbWQgYXJlIGluY2x1ZGVkIHdpdGggdGhlIHBsdWctaW4gd2l0aCBubyBtb2RpZmljYXRpb25zLgorPC9wPgorCis8cD4KK1lvdXIgdXNlIG9mIHRoZSBBbnQgY29kZSBhbmQgdGhlIHNjcmlwdHMgaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC4gIEEgY29weSBvZiB0aGUgbGljZW5zZSBpcyBjb250YWluZWQKK2luIHRoZSBmaWxlIDxhIGhyZWY9ImFib3V0X2ZpbGVzL0FTTC1MSUNFTlNFLTIuMC50eHQiIHRhcmdldD0iX2JsYW5rIj5BU0wtTElDRU5TRS0yLjAudHh0PC9hPiBhbmQgaXMgYWxzbyBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAuaHRtbDwvYT4uCis8L3A+Cis8cD4KK1RoZSBuYW1lcyAmcXVvdDtBbnQmcXVvdDsgYW5kICZxdW90O0FwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uJnF1b3Q7IG11c3Qgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIAorc29mdHdhcmUgd2l0aG91dCBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uICBGb3Igd3JpdHRlbiBwZXJtaXNzaW9uLCBwbGVhc2UgY29udGFjdCA8YSBocmVmPSJtYWlsdG86YXBhY2hlQGFwYWNoZS5vcmciPmFwYWNoZUBhcGFjaGUub3JnPC9hPi4KKzwvcD4KKworPHA+CitUaGUgQXBhY2hlIGF0dHJpYnV0aW9uIDxhIGhyZWY9ImFib3V0X2ZpbGVzL05PVElDRSIgdGFyZ2V0PSJfYmxhbmsiPk5PVElDRTwvYT4gZmlsZSBpcyBpbmNsdWRlZCB3aXRoIHRoZSBDb250ZW50IGluIGFjY29yZGFuY2Ugd2l0aCA0ZCBvZiB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLgorPC9wPgorCis8cD5BbnQgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBzb2Z0d2FyZTo8L3A+CisKKzxibG9ja3F1b3RlPgorCTxoND5ET008L2g0PgorCTxwPgorCURPTSBpcyBkZXZlbG9wZWQgYnkgdGhlIFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0uICBZb3VyIHVzZSBvZiBET00gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIGxpY2Vuc2UgZm91bmQgaW4gdGhlCisJZmlsZSA8YSBocmVmPSJhYm91dF9maWxlcy9ET00tTElDRU5TRS5odG1sIiB0YXJnZXQ9Il9ibGFuayI+RE9NLUxJQ0VOU0UuaHRtbDwvYT4gd2hpY2ggaXMgaW5jbHVkZWQgd2l0aCB0aGlzIHBsdWctaW4gYW5kIGNhbiBhbHNvIGJlIGZvdW5kIGF0CisJPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDAyL2NvcHlyaWdodC1zb2Z0d2FyZS0yMDAyMTIzMSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwMi9jb3B5cmlnaHQtc29mdHdhcmUtMjAwMjEyMzE8L2E+LgorCTwvcD4KKwkKKwk8aDQ+U0FYPC9oND4KKwkKKwk8cD5TQVggaXMgZGV2ZWxvcGVkIGJ5IHRoZSBTQVggcHJvamVjdCAoPGEgaHJlZj0iaHR0cDovL3d3dy5zYXhwcm9qZWN0Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuc2F4cHJvamVjdC5vcmc8L2E+KS4gIFlvdXIgdXNlIG9mIFNBWCBpcyBzdWJqZWN0IHRvIHRoZQorCXRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBsaWNlbnNlIGZvdW5kIGluIHRoZSBmaWxlIDxhIGhyZWY9ImFib3V0X2ZpbGVzL1NBWC1MSUNFTlNFLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5TQVgtTElDRU5TRS5odG1sPC9hPiB3aGljaCBpcyBpbmNsdWRlZCB3aXRoIHRoaXMgcGx1Zy1pbi48L3A+Cis8L2Jsb2NrcXVvdGU+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9hYm91dF9maWxlcy9BU0wtTElDRU5TRS0yLjAudHh0IGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9hYm91dF9maWxlcy9BU0wtTElDRU5TRS0yLjAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2NDU2OTUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2Fib3V0X2ZpbGVzL0FTTC1MSUNFTlNFLTIuMC50eHQKQEAgLTAsMCArMSwyMDIgQEAKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBhY2hlIExpY2Vuc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMi4wLCBKYW51YXJ5IDIwMDQKKyAgICAgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy8KKworICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIFVTRSwgUkVQUk9EVUNUSU9OLCBBTkQgRElTVFJJQlVUSU9OCisKKyAgIDEuIERlZmluaXRpb25zLgorCisgICAgICAiTGljZW5zZSIgc2hhbGwgbWVhbiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLAorICAgICAgYW5kIGRpc3RyaWJ1dGlvbiBhcyBkZWZpbmVkIGJ5IFNlY3Rpb25zIDEgdGhyb3VnaCA5IG9mIHRoaXMgZG9jdW1lbnQuCisKKyAgICAgICJMaWNlbnNvciIgc2hhbGwgbWVhbiB0aGUgY29weXJpZ2h0IG93bmVyIG9yIGVudGl0eSBhdXRob3JpemVkIGJ5CisgICAgICB0aGUgY29weXJpZ2h0IG93bmVyIHRoYXQgaXMgZ3JhbnRpbmcgdGhlIExpY2Vuc2UuCisKKyAgICAgICJMZWdhbCBFbnRpdHkiIHNoYWxsIG1lYW4gdGhlIHVuaW9uIG9mIHRoZSBhY3RpbmcgZW50aXR5IGFuZCBhbGwKKyAgICAgIG90aGVyIGVudGl0aWVzIHRoYXQgY29udHJvbCwgYXJlIGNvbnRyb2xsZWQgYnksIG9yIGFyZSB1bmRlciBjb21tb24KKyAgICAgIGNvbnRyb2wgd2l0aCB0aGF0IGVudGl0eS4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sCisgICAgICAiY29udHJvbCIgbWVhbnMgKGkpIHRoZSBwb3dlciwgZGlyZWN0IG9yIGluZGlyZWN0LCB0byBjYXVzZSB0aGUKKyAgICAgIGRpcmVjdGlvbiBvciBtYW5hZ2VtZW50IG9mIHN1Y2ggZW50aXR5LCB3aGV0aGVyIGJ5IGNvbnRyYWN0IG9yCisgICAgICBvdGhlcndpc2UsIG9yIChpaSkgb3duZXJzaGlwIG9mIGZpZnR5IHBlcmNlbnQgKDUwJSkgb3IgbW9yZSBvZiB0aGUKKyAgICAgIG91dHN0YW5kaW5nIHNoYXJlcywgb3IgKGlpaSkgYmVuZWZpY2lhbCBvd25lcnNoaXAgb2Ygc3VjaCBlbnRpdHkuCisKKyAgICAgICJZb3UiIChvciAiWW91ciIpIHNoYWxsIG1lYW4gYW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKKyAgICAgIGV4ZXJjaXNpbmcgcGVybWlzc2lvbnMgZ3JhbnRlZCBieSB0aGlzIExpY2Vuc2UuCisKKyAgICAgICJTb3VyY2UiIGZvcm0gc2hhbGwgbWVhbiB0aGUgcHJlZmVycmVkIGZvcm0gZm9yIG1ha2luZyBtb2RpZmljYXRpb25zLAorICAgICAgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBzb2Z0d2FyZSBzb3VyY2UgY29kZSwgZG9jdW1lbnRhdGlvbgorICAgICAgc291cmNlLCBhbmQgY29uZmlndXJhdGlvbiBmaWxlcy4KKworICAgICAgIk9iamVjdCIgZm9ybSBzaGFsbCBtZWFuIGFueSBmb3JtIHJlc3VsdGluZyBmcm9tIG1lY2hhbmljYWwKKyAgICAgIHRyYW5zZm9ybWF0aW9uIG9yIHRyYW5zbGF0aW9uIG9mIGEgU291cmNlIGZvcm0sIGluY2x1ZGluZyBidXQKKyAgICAgIG5vdCBsaW1pdGVkIHRvIGNvbXBpbGVkIG9iamVjdCBjb2RlLCBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiwKKyAgICAgIGFuZCBjb252ZXJzaW9ucyB0byBvdGhlciBtZWRpYSB0eXBlcy4KKworICAgICAgIldvcmsiIHNoYWxsIG1lYW4gdGhlIHdvcmsgb2YgYXV0aG9yc2hpcCwgd2hldGhlciBpbiBTb3VyY2Ugb3IKKyAgICAgIE9iamVjdCBmb3JtLCBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgTGljZW5zZSwgYXMgaW5kaWNhdGVkIGJ5IGEKKyAgICAgIGNvcHlyaWdodCBub3RpY2UgdGhhdCBpcyBpbmNsdWRlZCBpbiBvciBhdHRhY2hlZCB0byB0aGUgd29yaworICAgICAgKGFuIGV4YW1wbGUgaXMgcHJvdmlkZWQgaW4gdGhlIEFwcGVuZGl4IGJlbG93KS4KKworICAgICAgIkRlcml2YXRpdmUgV29ya3MiIHNoYWxsIG1lYW4gYW55IHdvcmssIHdoZXRoZXIgaW4gU291cmNlIG9yIE9iamVjdAorICAgICAgZm9ybSwgdGhhdCBpcyBiYXNlZCBvbiAob3IgZGVyaXZlZCBmcm9tKSB0aGUgV29yayBhbmQgZm9yIHdoaWNoIHRoZQorICAgICAgZWRpdG9yaWFsIHJldmlzaW9ucywgYW5ub3RhdGlvbnMsIGVsYWJvcmF0aW9ucywgb3Igb3RoZXIgbW9kaWZpY2F0aW9ucworICAgICAgcmVwcmVzZW50LCBhcyBhIHdob2xlLCBhbiBvcmlnaW5hbCB3b3JrIG9mIGF1dGhvcnNoaXAuIEZvciB0aGUgcHVycG9zZXMKKyAgICAgIG9mIHRoaXMgTGljZW5zZSwgRGVyaXZhdGl2ZSBXb3JrcyBzaGFsbCBub3QgaW5jbHVkZSB3b3JrcyB0aGF0IHJlbWFpbgorICAgICAgc2VwYXJhYmxlIGZyb20sIG9yIG1lcmVseSBsaW5rIChvciBiaW5kIGJ5IG5hbWUpIHRvIHRoZSBpbnRlcmZhY2VzIG9mLAorICAgICAgdGhlIFdvcmsgYW5kIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZi4KKworICAgICAgIkNvbnRyaWJ1dGlvbiIgc2hhbGwgbWVhbiBhbnkgd29yayBvZiBhdXRob3JzaGlwLCBpbmNsdWRpbmcKKyAgICAgIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIG9mIHRoZSBXb3JrIGFuZCBhbnkgbW9kaWZpY2F0aW9ucyBvciBhZGRpdGlvbnMKKyAgICAgIHRvIHRoYXQgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIHRoYXQgaXMgaW50ZW50aW9uYWxseQorICAgICAgc3VibWl0dGVkIHRvIExpY2Vuc29yIGZvciBpbmNsdXNpb24gaW4gdGhlIFdvcmsgYnkgdGhlIGNvcHlyaWdodCBvd25lcgorICAgICAgb3IgYnkgYW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkgYXV0aG9yaXplZCB0byBzdWJtaXQgb24gYmVoYWxmIG9mCisgICAgICB0aGUgY29weXJpZ2h0IG93bmVyLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgInN1Ym1pdHRlZCIKKyAgICAgIG1lYW5zIGFueSBmb3JtIG9mIGVsZWN0cm9uaWMsIHZlcmJhbCwgb3Igd3JpdHRlbiBjb21tdW5pY2F0aW9uIHNlbnQKKyAgICAgIHRvIHRoZSBMaWNlbnNvciBvciBpdHMgcmVwcmVzZW50YXRpdmVzLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvCisgICAgICBjb21tdW5pY2F0aW9uIG9uIGVsZWN0cm9uaWMgbWFpbGluZyBsaXN0cywgc291cmNlIGNvZGUgY29udHJvbCBzeXN0ZW1zLAorICAgICAgYW5kIGlzc3VlIHRyYWNraW5nIHN5c3RlbXMgdGhhdCBhcmUgbWFuYWdlZCBieSwgb3Igb24gYmVoYWxmIG9mLCB0aGUKKyAgICAgIExpY2Vuc29yIGZvciB0aGUgcHVycG9zZSBvZiBkaXNjdXNzaW5nIGFuZCBpbXByb3ZpbmcgdGhlIFdvcmssIGJ1dAorICAgICAgZXhjbHVkaW5nIGNvbW11bmljYXRpb24gdGhhdCBpcyBjb25zcGljdW91c2x5IG1hcmtlZCBvciBvdGhlcndpc2UKKyAgICAgIGRlc2lnbmF0ZWQgaW4gd3JpdGluZyBieSB0aGUgY29weXJpZ2h0IG93bmVyIGFzICJOb3QgYSBDb250cmlidXRpb24uIgorCisgICAgICAiQ29udHJpYnV0b3IiIHNoYWxsIG1lYW4gTGljZW5zb3IgYW5kIGFueSBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQorICAgICAgb24gYmVoYWxmIG9mIHdob20gYSBDb250cmlidXRpb24gaGFzIGJlZW4gcmVjZWl2ZWQgYnkgTGljZW5zb3IgYW5kCisgICAgICBzdWJzZXF1ZW50bHkgaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yay4KKworICAgMi4gR3JhbnQgb2YgQ29weXJpZ2h0IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCisgICAgICB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWwsCisgICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQorICAgICAgY29weXJpZ2h0IGxpY2Vuc2UgdG8gcmVwcm9kdWNlLCBwcmVwYXJlIERlcml2YXRpdmUgV29ya3Mgb2YsCisgICAgICBwdWJsaWNseSBkaXNwbGF5LCBwdWJsaWNseSBwZXJmb3JtLCBzdWJsaWNlbnNlLCBhbmQgZGlzdHJpYnV0ZSB0aGUKKyAgICAgIFdvcmsgYW5kIHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0uCisKKyAgIDMuIEdyYW50IG9mIFBhdGVudCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZgorICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAorICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUKKyAgICAgIChleGNlcHQgYXMgc3RhdGVkIGluIHRoaXMgc2VjdGlvbikgcGF0ZW50IGxpY2Vuc2UgdG8gbWFrZSwgaGF2ZSBtYWRlLAorICAgICAgdXNlLCBvZmZlciB0byBzZWxsLCBzZWxsLCBpbXBvcnQsIGFuZCBvdGhlcndpc2UgdHJhbnNmZXIgdGhlIFdvcmssCisgICAgICB3aGVyZSBzdWNoIGxpY2Vuc2UgYXBwbGllcyBvbmx5IHRvIHRob3NlIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZQorICAgICAgYnkgc3VjaCBDb250cmlidXRvciB0aGF0IGFyZSBuZWNlc3NhcmlseSBpbmZyaW5nZWQgYnkgdGhlaXIKKyAgICAgIENvbnRyaWJ1dGlvbihzKSBhbG9uZSBvciBieSBjb21iaW5hdGlvbiBvZiB0aGVpciBDb250cmlidXRpb24ocykKKyAgICAgIHdpdGggdGhlIFdvcmsgdG8gd2hpY2ggc3VjaCBDb250cmlidXRpb24ocykgd2FzIHN1Ym1pdHRlZC4gSWYgWW91CisgICAgICBpbnN0aXR1dGUgcGF0ZW50IGxpdGlnYXRpb24gYWdhaW5zdCBhbnkgZW50aXR5IChpbmNsdWRpbmcgYQorICAgICAgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdCB0aGUgV29yaworICAgICAgb3IgYSBDb250cmlidXRpb24gaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yayBjb25zdGl0dXRlcyBkaXJlY3QKKyAgICAgIG9yIGNvbnRyaWJ1dG9yeSBwYXRlbnQgaW5mcmluZ2VtZW50LCB0aGVuIGFueSBwYXRlbnQgbGljZW5zZXMKKyAgICAgIGdyYW50ZWQgdG8gWW91IHVuZGVyIHRoaXMgTGljZW5zZSBmb3IgdGhhdCBXb3JrIHNoYWxsIHRlcm1pbmF0ZQorICAgICAgYXMgb2YgdGhlIGRhdGUgc3VjaCBsaXRpZ2F0aW9uIGlzIGZpbGVkLgorCisgICA0LiBSZWRpc3RyaWJ1dGlvbi4gWW91IG1heSByZXByb2R1Y2UgYW5kIGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZQorICAgICAgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YgaW4gYW55IG1lZGl1bSwgd2l0aCBvciB3aXRob3V0CisgICAgICBtb2RpZmljYXRpb25zLCBhbmQgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLCBwcm92aWRlZCB0aGF0IFlvdQorICAgICAgbWVldCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKKyAgICAgIChhKSBZb3UgbXVzdCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBXb3JrIG9yCisgICAgICAgICAgRGVyaXZhdGl2ZSBXb3JrcyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlOyBhbmQKKworICAgICAgKGIpIFlvdSBtdXN0IGNhdXNlIGFueSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcworICAgICAgICAgIHN0YXRpbmcgdGhhdCBZb3UgY2hhbmdlZCB0aGUgZmlsZXM7IGFuZAorCisgICAgICAoYykgWW91IG11c3QgcmV0YWluLCBpbiB0aGUgU291cmNlIGZvcm0gb2YgYW55IERlcml2YXRpdmUgV29ya3MKKyAgICAgICAgICB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbGwgY29weXJpZ2h0LCBwYXRlbnQsIHRyYWRlbWFyaywgYW5kCisgICAgICAgICAgYXR0cmlidXRpb24gbm90aWNlcyBmcm9tIHRoZSBTb3VyY2UgZm9ybSBvZiB0aGUgV29yaywKKyAgICAgICAgICBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdCBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mCisgICAgICAgICAgdGhlIERlcml2YXRpdmUgV29ya3M7IGFuZAorCisgICAgICAoZCkgSWYgdGhlIFdvcmsgaW5jbHVkZXMgYSAiTk9USUNFIiB0ZXh0IGZpbGUgYXMgcGFydCBvZiBpdHMKKyAgICAgICAgICBkaXN0cmlidXRpb24sIHRoZW4gYW55IERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJpYnV0ZSBtdXN0CisgICAgICAgICAgaW5jbHVkZSBhIHJlYWRhYmxlIGNvcHkgb2YgdGhlIGF0dHJpYnV0aW9uIG5vdGljZXMgY29udGFpbmVkCisgICAgICAgICAgd2l0aGluIHN1Y2ggTk9USUNFIGZpbGUsIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90CisgICAgICAgICAgcGVydGFpbiB0byBhbnkgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaW4gYXQgbGVhc3Qgb25lCisgICAgICAgICAgb2YgdGhlIGZvbGxvd2luZyBwbGFjZXM6IHdpdGhpbiBhIE5PVElDRSB0ZXh0IGZpbGUgZGlzdHJpYnV0ZWQKKyAgICAgICAgICBhcyBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyB3aXRoaW4gdGhlIFNvdXJjZSBmb3JtIG9yCisgICAgICAgICAgZG9jdW1lbnRhdGlvbiwgaWYgcHJvdmlkZWQgYWxvbmcgd2l0aCB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgb3IsCisgICAgICAgICAgd2l0aGluIGEgZGlzcGxheSBnZW5lcmF0ZWQgYnkgdGhlIERlcml2YXRpdmUgV29ya3MsIGlmIGFuZAorICAgICAgICAgIHdoZXJldmVyIHN1Y2ggdGhpcmQtcGFydHkgbm90aWNlcyBub3JtYWxseSBhcHBlYXIuIFRoZSBjb250ZW50cworICAgICAgICAgIG9mIHRoZSBOT1RJQ0UgZmlsZSBhcmUgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSBhbmQKKyAgICAgICAgICBkbyBub3QgbW9kaWZ5IHRoZSBMaWNlbnNlLiBZb3UgbWF5IGFkZCBZb3VyIG93biBhdHRyaWJ1dGlvbgorICAgICAgICAgIG5vdGljZXMgd2l0aGluIERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxvbmdzaWRlCisgICAgICAgICAgb3IgYXMgYW4gYWRkZW5kdW0gdG8gdGhlIE5PVElDRSB0ZXh0IGZyb20gdGhlIFdvcmssIHByb3ZpZGVkCisgICAgICAgICAgdGhhdCBzdWNoIGFkZGl0aW9uYWwgYXR0cmlidXRpb24gbm90aWNlcyBjYW5ub3QgYmUgY29uc3RydWVkCisgICAgICAgICAgYXMgbW9kaWZ5aW5nIHRoZSBMaWNlbnNlLgorCisgICAgICBZb3UgbWF5IGFkZCBZb3VyIG93biBjb3B5cmlnaHQgc3RhdGVtZW50IHRvIFlvdXIgbW9kaWZpY2F0aW9ucyBhbmQKKyAgICAgIG1heSBwcm92aWRlIGFkZGl0aW9uYWwgb3IgZGlmZmVyZW50IGxpY2Vuc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMKKyAgICAgIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwgb3IgZGlzdHJpYnV0aW9uIG9mIFlvdXIgbW9kaWZpY2F0aW9ucywgb3IKKyAgICAgIGZvciBhbnkgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGFzIGEgd2hvbGUsIHByb3ZpZGVkIFlvdXIgdXNlLAorICAgICAgcmVwcm9kdWN0aW9uLCBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoZSBXb3JrIG90aGVyd2lzZSBjb21wbGllcyB3aXRoCisgICAgICB0aGUgY29uZGl0aW9ucyBzdGF0ZWQgaW4gdGhpcyBMaWNlbnNlLgorCisgICA1LiBTdWJtaXNzaW9uIG9mIENvbnRyaWJ1dGlvbnMuIFVubGVzcyBZb3UgZXhwbGljaXRseSBzdGF0ZSBvdGhlcndpc2UsCisgICAgICBhbnkgQ29udHJpYnV0aW9uIGludGVudGlvbmFsbHkgc3VibWl0dGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIFdvcmsKKyAgICAgIGJ5IFlvdSB0byB0aGUgTGljZW5zb3Igc2hhbGwgYmUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCisgICAgICB0aGlzIExpY2Vuc2UsIHdpdGhvdXQgYW55IGFkZGl0aW9uYWwgdGVybXMgb3IgY29uZGl0aW9ucy4KKyAgICAgIE5vdHdpdGhzdGFuZGluZyB0aGUgYWJvdmUsIG5vdGhpbmcgaGVyZWluIHNoYWxsIHN1cGVyc2VkZSBvciBtb2RpZnkKKyAgICAgIHRoZSB0ZXJtcyBvZiBhbnkgc2VwYXJhdGUgbGljZW5zZSBhZ3JlZW1lbnQgeW91IG1heSBoYXZlIGV4ZWN1dGVkCisgICAgICB3aXRoIExpY2Vuc29yIHJlZ2FyZGluZyBzdWNoIENvbnRyaWJ1dGlvbnMuCisKKyAgIDYuIFRyYWRlbWFya3MuIFRoaXMgTGljZW5zZSBkb2VzIG5vdCBncmFudCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgdHJhZGUKKyAgICAgIG5hbWVzLCB0cmFkZW1hcmtzLCBzZXJ2aWNlIG1hcmtzLCBvciBwcm9kdWN0IG5hbWVzIG9mIHRoZSBMaWNlbnNvciwKKyAgICAgIGV4Y2VwdCBhcyByZXF1aXJlZCBmb3IgcmVhc29uYWJsZSBhbmQgY3VzdG9tYXJ5IHVzZSBpbiBkZXNjcmliaW5nIHRoZQorICAgICAgb3JpZ2luIG9mIHRoZSBXb3JrIGFuZCByZXByb2R1Y2luZyB0aGUgY29udGVudCBvZiB0aGUgTk9USUNFIGZpbGUuCisKKyAgIDcuIERpc2NsYWltZXIgb2YgV2FycmFudHkuIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvcgorICAgICAgYWdyZWVkIHRvIGluIHdyaXRpbmcsIExpY2Vuc29yIHByb3ZpZGVzIHRoZSBXb3JrIChhbmQgZWFjaAorICAgICAgQ29udHJpYnV0b3IgcHJvdmlkZXMgaXRzIENvbnRyaWJ1dGlvbnMpIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IKKyAgICAgIGltcGxpZWQsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBhbnkgd2FycmFudGllcyBvciBjb25kaXRpb25zCisgICAgICBvZiBUSVRMRSwgTk9OLUlORlJJTkdFTUVOVCwgTUVSQ0hBTlRBQklMSVRZLCBvciBGSVRORVNTIEZPUiBBCisgICAgICBQQVJUSUNVTEFSIFBVUlBPU0UuIFlvdSBhcmUgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUKKyAgICAgIGFwcHJvcHJpYXRlbmVzcyBvZiB1c2luZyBvciByZWRpc3RyaWJ1dGluZyB0aGUgV29yayBhbmQgYXNzdW1lIGFueQorICAgICAgcmlza3MgYXNzb2NpYXRlZCB3aXRoIFlvdXIgZXhlcmNpc2Ugb2YgcGVybWlzc2lvbnMgdW5kZXIgdGhpcyBMaWNlbnNlLgorCisgICA4LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4gSW4gbm8gZXZlbnQgYW5kIHVuZGVyIG5vIGxlZ2FsIHRoZW9yeSwKKyAgICAgIHdoZXRoZXIgaW4gdG9ydCAoaW5jbHVkaW5nIG5lZ2xpZ2VuY2UpLCBjb250cmFjdCwgb3Igb3RoZXJ3aXNlLAorICAgICAgdW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IChzdWNoIGFzIGRlbGliZXJhdGUgYW5kIGdyb3NzbHkKKyAgICAgIG5lZ2xpZ2VudCBhY3RzKSBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc2hhbGwgYW55IENvbnRyaWJ1dG9yIGJlCisgICAgICBsaWFibGUgdG8gWW91IGZvciBkYW1hZ2VzLCBpbmNsdWRpbmcgYW55IGRpcmVjdCwgaW5kaXJlY3QsIHNwZWNpYWwsCisgICAgICBpbmNpZGVudGFsLCBvciBjb25zZXF1ZW50aWFsIGRhbWFnZXMgb2YgYW55IGNoYXJhY3RlciBhcmlzaW5nIGFzIGEKKyAgICAgIHJlc3VsdCBvZiB0aGlzIExpY2Vuc2Ugb3Igb3V0IG9mIHRoZSB1c2Ugb3IgaW5hYmlsaXR5IHRvIHVzZSB0aGUKKyAgICAgIFdvcmsgKGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gZGFtYWdlcyBmb3IgbG9zcyBvZiBnb29kd2lsbCwKKyAgICAgIHdvcmsgc3RvcHBhZ2UsIGNvbXB1dGVyIGZhaWx1cmUgb3IgbWFsZnVuY3Rpb24sIG9yIGFueSBhbmQgYWxsCisgICAgICBvdGhlciBjb21tZXJjaWFsIGRhbWFnZXMgb3IgbG9zc2VzKSwgZXZlbiBpZiBzdWNoIENvbnRyaWJ1dG9yCisgICAgICBoYXMgYmVlbiBhZHZpc2VkIG9mIHRoZSBwb3NzaWJpbGl0eSBvZiBzdWNoIGRhbWFnZXMuCisKKyAgIDkuIEFjY2VwdGluZyBXYXJyYW50eSBvciBBZGRpdGlvbmFsIExpYWJpbGl0eS4gV2hpbGUgcmVkaXN0cmlidXRpbmcKKyAgICAgIHRoZSBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgWW91IG1heSBjaG9vc2UgdG8gb2ZmZXIsCisgICAgICBhbmQgY2hhcmdlIGEgZmVlIGZvciwgYWNjZXB0YW5jZSBvZiBzdXBwb3J0LCB3YXJyYW50eSwgaW5kZW1uaXR5LAorICAgICAgb3Igb3RoZXIgbGlhYmlsaXR5IG9ibGlnYXRpb25zIGFuZC9vciByaWdodHMgY29uc2lzdGVudCB3aXRoIHRoaXMKKyAgICAgIExpY2Vuc2UuIEhvd2V2ZXIsIGluIGFjY2VwdGluZyBzdWNoIG9ibGlnYXRpb25zLCBZb3UgbWF5IGFjdCBvbmx5CisgICAgICBvbiBZb3VyIG93biBiZWhhbGYgYW5kIG9uIFlvdXIgc29sZSByZXNwb25zaWJpbGl0eSwgbm90IG9uIGJlaGFsZgorICAgICAgb2YgYW55IG90aGVyIENvbnRyaWJ1dG9yLCBhbmQgb25seSBpZiBZb3UgYWdyZWUgdG8gaW5kZW1uaWZ5LAorICAgICAgZGVmZW5kLCBhbmQgaG9sZCBlYWNoIENvbnRyaWJ1dG9yIGhhcm1sZXNzIGZvciBhbnkgbGlhYmlsaXR5CisgICAgICBpbmN1cnJlZCBieSwgb3IgY2xhaW1zIGFzc2VydGVkIGFnYWluc3QsIHN1Y2ggQ29udHJpYnV0b3IgYnkgcmVhc29uCisgICAgICBvZiB5b3VyIGFjY2VwdGluZyBhbnkgc3VjaCB3YXJyYW50eSBvciBhZGRpdGlvbmFsIGxpYWJpbGl0eS4KKworICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCisKKyAgIEFQUEVORElYOiBIb3cgdG8gYXBwbHkgdGhlIEFwYWNoZSBMaWNlbnNlIHRvIHlvdXIgd29yay4KKworICAgICAgVG8gYXBwbHkgdGhlIEFwYWNoZSBMaWNlbnNlIHRvIHlvdXIgd29yaywgYXR0YWNoIHRoZSBmb2xsb3dpbmcKKyAgICAgIGJvaWxlcnBsYXRlIG5vdGljZSwgd2l0aCB0aGUgZmllbGRzIGVuY2xvc2VkIGJ5IGJyYWNrZXRzICJbXSIKKyAgICAgIHJlcGxhY2VkIHdpdGggeW91ciBvd24gaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24uIChEb24ndCBpbmNsdWRlCisgICAgICB0aGUgYnJhY2tldHMhKSAgVGhlIHRleHQgc2hvdWxkIGJlIGVuY2xvc2VkIGluIHRoZSBhcHByb3ByaWF0ZQorICAgICAgY29tbWVudCBzeW50YXggZm9yIHRoZSBmaWxlIGZvcm1hdC4gV2UgYWxzbyByZWNvbW1lbmQgdGhhdCBhCisgICAgICBmaWxlIG9yIGNsYXNzIG5hbWUgYW5kIGRlc2NyaXB0aW9uIG9mIHB1cnBvc2UgYmUgaW5jbHVkZWQgb24gdGhlCisgICAgICBzYW1lICJwcmludGVkIHBhZ2UiIGFzIHRoZSBjb3B5cmlnaHQgbm90aWNlIGZvciBlYXNpZXIKKyAgICAgIGlkZW50aWZpY2F0aW9uIHdpdGhpbiB0aGlyZC1wYXJ0eSBhcmNoaXZlcy4KKworICAgQ29weXJpZ2h0IFt5eXl5XSBbbmFtZSBvZiBjb3B5cmlnaHQgb3duZXJdCisKKyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2Fib3V0X2ZpbGVzL0RPTS1MSUNFTlNFLmh0bWwgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2Fib3V0X2ZpbGVzL0RPTS1MSUNFTlNFLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE0YmJkMQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvYWJvdXRfZmlsZXMvRE9NLUxJQ0VOU0UuaHRtbApAQCAtMCwwICsxLDExMSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5nPSJlbiI+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0KKyJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+Cis8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9CisiSFRNTCBUaWR5IGZvciBMaW51eC94ODYgKHZlcnMgMjUgTWFyY2ggMjAwOSksIHNlZSB3d3cudzMub3JnIiAvPgorPHRpdGxlPkRPTSBMaWNlbnNlPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi9ET00tTElDRU5TRV9maWxlcy9taW5pbXVtIiB0eXBlPQorInRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIiB4bWw6c3BhY2U9InByZXNlcnZlIj4KKy8qPCFbQ0RBVEFbKi8KKyAgICAgQGltcG9ydCB1cmwoIi8yMDA4L3NpdGUvY3NzL2FkdmFuY2VkIik7CisvKl1dPiovCis8L3N0eWxlPgorPGxpbmsgaHJlZj0iLi9ET00tTElDRU5TRV9maWxlcy9taW5pbXVtIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9CisidGV4dC9jc3MiIG1lZGlhPQorImhhbmRoZWxkLCBvbmx5IHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDQ4MHB4KSIgZGlzYWJsZWQ9CisiZGlzYWJsZWQiIC8+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIiAvPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuL0RPTS1MSUNFTlNFX2ZpbGVzL3ByaW50IiB0eXBlPQorInRleHQvY3NzIiBtZWRpYT0iYWxsIiAvPgorPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPQorImh0dHA6Ly93d3cudzMub3JnLzIwMDgvc2l0ZS9pbWFnZXMvZmF2aWNvbi5pY28iIHR5cGU9CisiaW1hZ2UveC1pY29uIiAvPgorPC9oZWFkPgorPGJvZHkgaWQ9Ind3dy13My1vcmciIGNsYXNzPSJ3M2NfcHVibGljIHczY19qYXZhc2NyaXB0IHczY19wcmludCI+Cis8ZGl2IGlkPSJ3M2NfY29udGFpbmVyIj4KKzxkaXYgaWQ9InczY19tYWluIj4KKzxoMSBjbGFzcz0idGl0bGUiPlczQyBTb2Z0d2FyZSBOb3RpY2UgYW5kIExpY2Vuc2U8L2gxPgorPGRpdiBpZD0idzNjX2NvbnRlbnRfYm9keSI+Cis8ZGl2IGNsYXNzPSJsaW5lIj4KKzxwIGNsYXNzPSJpbnRybyB0UGFkZGluZyI+VGhpcyB3b3JrIChhbmQgaW5jbHVkZWQgc29mdHdhcmUsCitkb2N1bWVudGF0aW9uIHN1Y2ggYXMgUkVBRE1Fcywgb3Igb3RoZXIgcmVsYXRlZCBpdGVtcykgaXMgYmVpbmcKK3Byb3ZpZGVkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVycyB1bmRlciB0aGUgZm9sbG93aW5nIGxpY2Vuc2UuPC9wPgorPGgyPkxpY2Vuc2U8L2gyPgorPHAgY2xhc3M9InRQYWRkaW5nIj5CeSBvYnRhaW5pbmcsIHVzaW5nIGFuZC9vciBjb3B5aW5nIHRoaXMgd29yaywKK3lvdSAodGhlIGxpY2Vuc2VlKSBhZ3JlZSB0aGF0IHlvdSBoYXZlIHJlYWQsIHVuZGVyc3Rvb2QsIGFuZCB3aWxsCitjb21wbHkgd2l0aCB0aGUgZm9sbG93aW5nIHRlcm1zIGFuZCBjb25kaXRpb25zLjwvcD4KKzxwPlBlcm1pc3Npb24gdG8gY29weSwgbW9kaWZ5LCBhbmQgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGFuZCBpdHMKK2RvY3VtZW50YXRpb24sIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sJm5ic3A7Zm9yIGFueSBwdXJwb3NlCithbmQgd2l0aG91dCBmZWUgb3Igcm95YWx0eSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB5b3UKK2luY2x1ZGUgdGhlIGZvbGxvd2luZyBvbiBBTEwgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSBhbmQKK2RvY3VtZW50YXRpb24gb3IgcG9ydGlvbnMgdGhlcmVvZiwgaW5jbHVkaW5nIG1vZGlmaWNhdGlvbnM6PC9wPgorPHVsIGNsYXNzPSJzaG93X2l0ZW1zIj4KKzxsaT5UaGUgZnVsbCB0ZXh0IG9mIHRoaXMgTk9USUNFIGluIGEgbG9jYXRpb24gdmlld2FibGUgdG8gdXNlcnMgb2YKK3RoZSByZWRpc3RyaWJ1dGVkIG9yIGRlcml2YXRpdmUgd29yay48L2xpPgorPGxpPkFueSBwcmUtZXhpc3RpbmcgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGRpc2NsYWltZXJzLCBub3RpY2VzLCBvcgordGVybXMgYW5kIGNvbmRpdGlvbnMuIElmIG5vbmUgZXhpc3QsIHRoZSA8YSBocmVmPQorImh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwMi9jb3B5cmlnaHQtc29mdHdhcmUtc2hvcnQtbm90aWNlLTIwMDIxMjMxLmh0bWwiPgorVzNDIFNvZnR3YXJlIFNob3J0IE5vdGljZTwvYT4gc2hvdWxkIGJlIGluY2x1ZGVkIChoeXBlcnRleHQgaXMKK3ByZWZlcnJlZCwgdGV4dCBpcyBwZXJtaXR0ZWQpIHdpdGhpbiB0aGUgYm9keSBvZiBhbnkgcmVkaXN0cmlidXRlZAorb3IgZGVyaXZhdGl2ZSBjb2RlLjwvbGk+Cis8bGk+Tm90aWNlIG9mIGFueSBjaGFuZ2VzIG9yIG1vZGlmaWNhdGlvbnMgdG8gdGhlIGZpbGVzLCBpbmNsdWRpbmcKK3RoZSBkYXRlIGNoYW5nZXMgd2VyZSBtYWRlLiAoV2UgcmVjb21tZW5kIHlvdSBwcm92aWRlIFVSSXMgdG8gdGhlCitsb2NhdGlvbiBmcm9tIHdoaWNoIHRoZSBjb2RlIGlzIGRlcml2ZWQuKTwvbGk+Cis8L3VsPgorPGgyPkRpc2NsYWltZXJzPC9oMj4KKzxwPlRISVMgU09GVFdBUkUgQU5EIERPQ1VNRU5UQVRJT04gSVMgUFJPVklERUQgIkFTIElTLCIgQU5ECitDT1BZUklHSFQgSE9MREVSUyBNQUtFIE5PIFJFUFJFU0VOVEFUSU9OUyBPUiBXQVJSQU5USUVTLCBFWFBSRVNTIE9SCitJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPLCBXQVJSQU5USUVTIE9GCitNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQU5ZIFBBUlRJQ1VMQVIgUFVSUE9TRSBPUiBUSEFUIFRIRQorVVNFIE9GIFRIRSBTT0ZUV0FSRSBPUiBET0NVTUVOVEFUSU9OIFdJTEwgTk9UIElORlJJTkdFIEFOWSBUSElSRAorUEFSVFkgUEFURU5UUywgQ09QWVJJR0hUUywgVFJBREVNQVJLUyBPUiBPVEhFUiBSSUdIVFMuPC9wPgorPHA+Q09QWVJJR0hUIEhPTERFUlMgV0lMTCBOT1QgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKK1NQRUNJQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VUIE9GIEFOWSBVU0UgT0YgVEhFCitTT0ZUV0FSRSBPUiBET0NVTUVOVEFUSU9OLjwvcD4KKzxwPlRoZSBuYW1lIGFuZCB0cmFkZW1hcmtzIG9mIGNvcHlyaWdodCBob2xkZXJzIG1heSBOT1QgYmUgdXNlZCBpbgorYWR2ZXJ0aXNpbmcgb3IgcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gdGhlIHNvZnR3YXJlIHdpdGhvdXQKK3NwZWNpZmljLCB3cml0dGVuIHByaW9yIHBlcm1pc3Npb24uIFRpdGxlIHRvIGNvcHlyaWdodCBpbiB0aGlzCitzb2Z0d2FyZSBhbmQgYW55IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiB3aWxsIGF0IGFsbCB0aW1lcyByZW1haW4KK3dpdGggY29weXJpZ2h0IGhvbGRlcnMuPC9wPgorPGgyPk5vdGVzPC9oMj4KKzxwPlRoaXMgdmVyc2lvbjoKK2h0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwMi9jb3B5cmlnaHQtc29mdHdhcmUtMjAwMjEyMzE8L3A+Cis8cD5UaGlzIGZvcm11bGF0aW9uIG9mIFczQydzIG5vdGljZSBhbmQgbGljZW5zZSBiZWNhbWUgYWN0aXZlIG9uCitEZWNlbWJlciAzMSAyMDAyLiBUaGlzIHZlcnNpb24gcmVtb3ZlcyB0aGUgY29weXJpZ2h0IG93bmVyc2hpcAorbm90aWNlIHN1Y2ggdGhhdCB0aGlzIGxpY2Vuc2UgY2FuIGJlIHVzZWQgd2l0aCBtYXRlcmlhbHMgb3RoZXIgdGhhbgordGhvc2Ugb3duZWQgYnkgdGhlIFczQywgcmVmbGVjdHMgdGhhdCBFUkNJTSBpcyBub3cgYSBob3N0IG9mIHRoZQorVzNDLCBpbmNsdWRlcyByZWZlcmVuY2VzIHRvIHRoaXMgc3BlY2lmaWMgZGF0ZWQgdmVyc2lvbiBvZiB0aGUKK2xpY2Vuc2UsIGFuZCByZW1vdmVzIHRoZSBhbWJpZ3VvdXMgZ3JhbnQgb2YgInVzZSIuIE90aGVyd2lzZSwgdGhpcwordmVyc2lvbiBpcyB0aGUgc2FtZSBhcyB0aGUgPGEgaHJlZj0KKyJodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsL2NvcHlyaWdodC1zb2Z0d2FyZS0xOTk4MDcyMCI+cHJldmlvdXMKK3ZlcnNpb248L2E+IGFuZCBpcyB3cml0dGVuIHNvIGFzIHRvIHByZXNlcnZlIHRoZSA8YSBocmVmPQorImh0dHA6Ly93d3cuZ251Lm9yZy9waGlsb3NvcGh5L2xpY2Vuc2UtbGlzdC5odG1sI0dQTENvbXBhdGlibGVMaWNlbnNlcyI+CitGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24ncyBhc3Nlc3NtZW50IG9mIEdQTCBjb21wYXRpYmlsaXR5PC9hPiBhbmQKKzxhIGhyZWY9Imh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvVzNDLnBocCI+T1NJJ3MKK2NlcnRpZmljYXRpb248L2E+IHVuZGVyIHRoZSA8YSBocmVmPQorImh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvZG9jcy9kZWZpbml0aW9uLnBocCI+T3BlbiBTb3VyY2UKK0RlZmluaXRpb248L2E+LjwvcD4KKzwvZGl2PgorPC9kaXY+Cis8L2Rpdj4KKzwvZGl2PgorPHAgY2xhc3M9ImNvcHlyaWdodCI+Q29weXJpZ2h0IMKpIDIwMDkgVzNDIDxzdXA+wq48L3N1cD4gKCA8YSBocmVmPQorImh0dHA6Ly93d3cuY3NhaWwubWl0LmVkdS8iPjxhY3JvbnltIHRpdGxlPQorIk1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kiPk1JVDwvYWNyb255bT48L2E+ICwKKzxhIGhyZWY9Imh0dHA6Ly93d3cuZXJjaW0ub3JnLyI+PGFjcm9ueW0gdGl0bGU9CisiRXVyb3BlYW4gUmVzZWFyY2ggQ29uc29ydGl1bSBmb3IgSW5mb3JtYXRpY3MgYW5kIE1hdGhlbWF0aWNzIj5FUkNJTTwvYWNyb255bT48L2E+CissIDxhIGhyZWY9Imh0dHA6Ly93d3cua2Vpby5hYy5qcC8iPktlaW88L2E+KSA8YSBocmVmPQorImh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwMi9pcHItbm90aWNlLTIwMDIxMjMxIj5Vc2FnZQorcG9saWNpZXMgYXBwbHk8L2E+LjwvcD4KKzwhLS0gR2VuZXJhdGVkIGZyb20gZGF0YS9zY3JpcHRzLnBocCwgLi4vLi4vc21hcnR5L3tzY3JpcHRzLnRwbH0gLS0+PCEtLSBBdCB0aGUgYm90dG9tIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIC0tPgorPGRpdiBpZD0idzNjX3NjcmlwdHMiPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9CisiLi9ET00tTElDRU5TRV9maWxlcy9tYWluIiB4bWw6c3BhY2U9InByZXNlcnZlIj4KKy8vPCFbQ0RBVEFbCis8IS0tIC0tPgorLy9dXT4KKzwvc2NyaXB0PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9hYm91dF9maWxlcy9MSUNFTlNFIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9hYm91dF9maWxlcy9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkZjZmZjgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2Fib3V0X2ZpbGVzL0xJQ0VOU0UKQEAgLTAsMCArMSwyNzIgQEAKKy8qCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFwYWNoZSBMaWNlbnNlCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMi4wLCBKYW51YXJ5IDIwMDQKKyAqICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLworICoKKyAqICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIFVTRSwgUkVQUk9EVUNUSU9OLCBBTkQgRElTVFJJQlVUSU9OCisgKgorICogICAxLiBEZWZpbml0aW9ucy4KKyAqCisgKiAgICAgICJMaWNlbnNlIiBzaGFsbCBtZWFuIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sCisgKiAgICAgIGFuZCBkaXN0cmlidXRpb24gYXMgZGVmaW5lZCBieSBTZWN0aW9ucyAxIHRocm91Z2ggOSBvZiB0aGlzIGRvY3VtZW50LgorICoKKyAqICAgICAgIkxpY2Vuc29yIiBzaGFsbCBtZWFuIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgZW50aXR5IGF1dGhvcml6ZWQgYnkKKyAqICAgICAgdGhlIGNvcHlyaWdodCBvd25lciB0aGF0IGlzIGdyYW50aW5nIHRoZSBMaWNlbnNlLgorICoKKyAqICAgICAgIkxlZ2FsIEVudGl0eSIgc2hhbGwgbWVhbiB0aGUgdW5pb24gb2YgdGhlIGFjdGluZyBlbnRpdHkgYW5kIGFsbAorICogICAgICBvdGhlciBlbnRpdGllcyB0aGF0IGNvbnRyb2wsIGFyZSBjb250cm9sbGVkIGJ5LCBvciBhcmUgdW5kZXIgY29tbW9uCisgKiAgICAgIGNvbnRyb2wgd2l0aCB0aGF0IGVudGl0eS4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sCisgKiAgICAgICJjb250cm9sIiBtZWFucyAoaSkgdGhlIHBvd2VyLCBkaXJlY3Qgb3IgaW5kaXJlY3QsIHRvIGNhdXNlIHRoZQorICogICAgICBkaXJlY3Rpb24gb3IgbWFuYWdlbWVudCBvZiBzdWNoIGVudGl0eSwgd2hldGhlciBieSBjb250cmFjdCBvcgorICogICAgICBvdGhlcndpc2UsIG9yIChpaSkgb3duZXJzaGlwIG9mIGZpZnR5IHBlcmNlbnQgKDUwJSkgb3IgbW9yZSBvZiB0aGUKKyAqICAgICAgb3V0c3RhbmRpbmcgc2hhcmVzLCBvciAoaWlpKSBiZW5lZmljaWFsIG93bmVyc2hpcCBvZiBzdWNoIGVudGl0eS4KKyAqCisgKiAgICAgICJZb3UiIChvciAiWW91ciIpIHNoYWxsIG1lYW4gYW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkKKyAqICAgICAgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4KKyAqCisgKiAgICAgICJTb3VyY2UiIGZvcm0gc2hhbGwgbWVhbiB0aGUgcHJlZmVycmVkIGZvcm0gZm9yIG1ha2luZyBtb2RpZmljYXRpb25zLAorICogICAgICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uCisgKiAgICAgIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCisgKgorICogICAgICAiT2JqZWN0IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbAorICogICAgICB0cmFuc2Zvcm1hdGlvbiBvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcgYnV0CisgKiAgICAgIG5vdCBsaW1pdGVkIHRvIGNvbXBpbGVkIG9iamVjdCBjb2RlLCBnZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiwKKyAqICAgICAgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLgorICoKKyAqICAgICAgIldvcmsiIHNoYWxsIG1lYW4gdGhlIHdvcmsgb2YgYXV0aG9yc2hpcCwgd2hldGhlciBpbiBTb3VyY2Ugb3IKKyAqICAgICAgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYQorICogICAgICBjb3B5cmlnaHQgbm90aWNlIHRoYXQgaXMgaW5jbHVkZWQgaW4gb3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsKKyAqICAgICAgKGFuIGV4YW1wbGUgaXMgcHJvdmlkZWQgaW4gdGhlIEFwcGVuZGl4IGJlbG93KS4KKyAqCisgKiAgICAgICJEZXJpdmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFuIGFueSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QKKyAqICAgICAgZm9ybSwgdGhhdCBpcyBiYXNlZCBvbiAob3IgZGVyaXZlZCBmcm9tKSB0aGUgV29yayBhbmQgZm9yIHdoaWNoIHRoZQorICogICAgICBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zCisgKiAgICAgIHJlcHJlc2VudCwgYXMgYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBhdXRob3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzCisgKiAgICAgIG9mIHRoaXMgTGljZW5zZSwgRGVyaXZhdGl2ZSBXb3JrcyBzaGFsbCBub3QgaW5jbHVkZSB3b3JrcyB0aGF0IHJlbWFpbgorICogICAgICBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsCisgKiAgICAgIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YuCisgKgorICogICAgICAiQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZworICogICAgICB0aGUgb3JpZ2luYWwgdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMgb3IgYWRkaXRpb25zCisgKiAgICAgIHRvIHRoYXQgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIHRoYXQgaXMgaW50ZW50aW9uYWxseQorICogICAgICBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyCisgKiAgICAgIG9yIGJ5IGFuIGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZgorICogICAgICB0aGUgY29weXJpZ2h0IG93bmVyLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgInN1Ym1pdHRlZCIKKyAqICAgICAgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudAorICogICAgICB0byB0aGUgTGljZW5zb3Igb3IgaXRzIHJlcHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0bworICogICAgICBjb21tdW5pY2F0aW9uIG9uIGVsZWN0cm9uaWMgbWFpbGluZyBsaXN0cywgc291cmNlIGNvZGUgY29udHJvbCBzeXN0ZW1zLAorICogICAgICBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBtYW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZQorICogICAgICBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2luZyBhbmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQKKyAqICAgICAgZXhjbHVkaW5nIGNvbW11bmljYXRpb24gdGhhdCBpcyBjb25zcGljdW91c2x5IG1hcmtlZCBvciBvdGhlcndpc2UKKyAqICAgICAgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgIk5vdCBhIENvbnRyaWJ1dGlvbi4iCisgKgorICogICAgICAiQ29udHJpYnV0b3IiIHNoYWxsIG1lYW4gTGljZW5zb3IgYW5kIGFueSBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQorICogICAgICBvbiBiZWhhbGYgb2Ygd2hvbSBhIENvbnRyaWJ1dGlvbiBoYXMgYmVlbiByZWNlaXZlZCBieSBMaWNlbnNvciBhbmQKKyAqICAgICAgc3Vic2VxdWVudGx5IGluY29ycG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsuCisgKgorICogICAyLiBHcmFudCBvZiBDb3B5cmlnaHQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAqICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAorICogICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQorICogICAgICBjb3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgRGVyaXZhdGl2ZSBXb3JrcyBvZiwKKyAqICAgICAgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlCisgKiAgICAgIFdvcmsgYW5kIHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0uCisgKgorICogICAzLiBHcmFudCBvZiBQYXRlbnQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAqICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLAorICogICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQorICogICAgICAoZXhjZXB0IGFzIHN0YXRlZCBpbiB0aGlzIHNlY3Rpb24pIHBhdGVudCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwKKyAqICAgICAgdXNlLCBvZmZlciB0byBzZWxsLCBzZWxsLCBpbXBvcnQsIGFuZCBvdGhlcndpc2UgdHJhbnNmZXIgdGhlIFdvcmssCisgKiAgICAgIHdoZXJlIHN1Y2ggbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gdGhvc2UgcGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlCisgKiAgICAgIGJ5IHN1Y2ggQ29udHJpYnV0b3IgdGhhdCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyCisgKiAgICAgIENvbnRyaWJ1dGlvbihzKSBhbG9uZSBvciBieSBjb21iaW5hdGlvbiBvZiB0aGVpciBDb250cmlidXRpb24ocykKKyAqICAgICAgd2l0aCB0aGUgV29yayB0byB3aGljaCBzdWNoIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJZiBZb3UKKyAqICAgICAgaW5zdGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEKKyAqICAgICAgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdCB0aGUgV29yaworICogICAgICBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdAorICogICAgICBvciBjb250cmlidXRvcnkgcGF0ZW50IGluZnJpbmdlbWVudCwgdGhlbiBhbnkgcGF0ZW50IGxpY2Vuc2VzCisgKiAgICAgIGdyYW50ZWQgdG8gWW91IHVuZGVyIHRoaXMgTGljZW5zZSBmb3IgdGhhdCBXb3JrIHNoYWxsIHRlcm1pbmF0ZQorICogICAgICBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuCisgKgorICogICA0LiBSZWRpc3RyaWJ1dGlvbi4gWW91IG1heSByZXByb2R1Y2UgYW5kIGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZQorICogICAgICBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiBpbiBhbnkgbWVkaXVtLCB3aXRoIG9yIHdpdGhvdXQKKyAqICAgICAgbW9kaWZpY2F0aW9ucywgYW5kIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwgcHJvdmlkZWQgdGhhdCBZb3UKKyAqICAgICAgbWVldCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogICAgICAoYSkgWW91IG11c3QgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgV29yayBvcgorICogICAgICAgICAgRGVyaXZhdGl2ZSBXb3JrcyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlOyBhbmQKKyAqCisgKiAgICAgIChiKSBZb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKyAqICAgICAgICAgIHN0YXRpbmcgdGhhdCBZb3UgY2hhbmdlZCB0aGUgZmlsZXM7IGFuZAorICoKKyAqICAgICAgKGMpIFlvdSBtdXN0IHJldGFpbiwgaW4gdGhlIFNvdXJjZSBmb3JtIG9mIGFueSBEZXJpdmF0aXZlIFdvcmtzCisgKiAgICAgICAgICB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbGwgY29weXJpZ2h0LCBwYXRlbnQsIHRyYWRlbWFyaywgYW5kCisgKiAgICAgICAgICBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3JtIG9mIHRoZSBXb3JrLAorICogICAgICAgICAgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QgcGVydGFpbiB0byBhbnkgcGFydCBvZgorICogICAgICAgICAgdGhlIERlcml2YXRpdmUgV29ya3M7IGFuZAorICoKKyAqICAgICAgKGQpIElmIHRoZSBXb3JrIGluY2x1ZGVzIGEgIk5PVElDRSIgdGV4dCBmaWxlIGFzIHBhcnQgb2YgaXRzCisgKiAgICAgICAgICBkaXN0cmlidXRpb24sIHRoZW4gYW55IERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJpYnV0ZSBtdXN0CisgKiAgICAgICAgICBpbmNsdWRlIGEgcmVhZGFibGUgY29weSBvZiB0aGUgYXR0cmlidXRpb24gbm90aWNlcyBjb250YWluZWQKKyAqICAgICAgICAgIHdpdGhpbiBzdWNoIE5PVElDRSBmaWxlLCBleGNsdWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdAorICogICAgICAgICAgcGVydGFpbiB0byBhbnkgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaW4gYXQgbGVhc3Qgb25lCisgKiAgICAgICAgICBvZiB0aGUgZm9sbG93aW5nIHBsYWNlczogd2l0aGluIGEgTk9USUNFIHRleHQgZmlsZSBkaXN0cmlidXRlZAorICogICAgICAgICAgYXMgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgd2l0aGluIHRoZSBTb3VyY2UgZm9ybSBvcgorICogICAgICAgICAgZG9jdW1lbnRhdGlvbiwgaWYgcHJvdmlkZWQgYWxvbmcgd2l0aCB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgb3IsCisgKiAgICAgICAgICB3aXRoaW4gYSBkaXNwbGF5IGdlbmVyYXRlZCBieSB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaWYgYW5kCisgKiAgICAgICAgICB3aGVyZXZlciBzdWNoIHRoaXJkLXBhcnR5IG5vdGljZXMgbm9ybWFsbHkgYXBwZWFyLiBUaGUgY29udGVudHMKKyAqICAgICAgICAgIG9mIHRoZSBOT1RJQ0UgZmlsZSBhcmUgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSBhbmQKKyAqICAgICAgICAgIGRvIG5vdCBtb2RpZnkgdGhlIExpY2Vuc2UuIFlvdSBtYXkgYWRkIFlvdXIgb3duIGF0dHJpYnV0aW9uCisgKiAgICAgICAgICBub3RpY2VzIHdpdGhpbiBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsb25nc2lkZQorICogICAgICAgICAgb3IgYXMgYW4gYWRkZW5kdW0gdG8gdGhlIE5PVElDRSB0ZXh0IGZyb20gdGhlIFdvcmssIHByb3ZpZGVkCisgKiAgICAgICAgICB0aGF0IHN1Y2ggYWRkaXRpb25hbCBhdHRyaWJ1dGlvbiBub3RpY2VzIGNhbm5vdCBiZSBjb25zdHJ1ZWQKKyAqICAgICAgICAgIGFzIG1vZGlmeWluZyB0aGUgTGljZW5zZS4KKyAqCisgKiAgICAgIFlvdSBtYXkgYWRkIFlvdXIgb3duIGNvcHlyaWdodCBzdGF0ZW1lbnQgdG8gWW91ciBtb2RpZmljYXRpb25zIGFuZAorICogICAgICBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIG9yIGRpZmZlcmVudCBsaWNlbnNlIHRlcm1zIGFuZCBjb25kaXRpb25zCisgKiAgICAgIGZvciB1c2UsIHJlcHJvZHVjdGlvbiwgb3IgZGlzdHJpYnV0aW9uIG9mIFlvdXIgbW9kaWZpY2F0aW9ucywgb3IKKyAqICAgICAgZm9yIGFueSBzdWNoIERlcml2YXRpdmUgV29ya3MgYXMgYSB3aG9sZSwgcHJvdmlkZWQgWW91ciB1c2UsCisgKiAgICAgIHJlcHJvZHVjdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUgV29yayBvdGhlcndpc2UgY29tcGxpZXMgd2l0aAorICogICAgICB0aGUgY29uZGl0aW9ucyBzdGF0ZWQgaW4gdGhpcyBMaWNlbnNlLgorICoKKyAqICAgNS4gU3VibWlzc2lvbiBvZiBDb250cmlidXRpb25zLiBVbmxlc3MgWW91IGV4cGxpY2l0bHkgc3RhdGUgb3RoZXJ3aXNlLAorICogICAgICBhbnkgQ29udHJpYnV0aW9uIGludGVudGlvbmFsbHkgc3VibWl0dGVkIGZvciBpbmNsdXNpb24gaW4gdGhlIFdvcmsKKyAqICAgICAgYnkgWW91IHRvIHRoZSBMaWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAqICAgICAgdGhpcyBMaWNlbnNlLCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMuCisgKiAgICAgIE5vdHdpdGhzdGFuZGluZyB0aGUgYWJvdmUsIG5vdGhpbmcgaGVyZWluIHNoYWxsIHN1cGVyc2VkZSBvciBtb2RpZnkKKyAqICAgICAgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNlbnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQKKyAqICAgICAgd2l0aCBMaWNlbnNvciByZWdhcmRpbmcgc3VjaCBDb250cmlidXRpb25zLgorICoKKyAqICAgNi4gVHJhZGVtYXJrcy4gVGhpcyBMaWNlbnNlIGRvZXMgbm90IGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIHRoZSB0cmFkZQorICogICAgICBuYW1lcywgdHJhZGVtYXJrcywgc2VydmljZSBtYXJrcywgb3IgcHJvZHVjdCBuYW1lcyBvZiB0aGUgTGljZW5zb3IsCisgKiAgICAgIGV4Y2VwdCBhcyByZXF1aXJlZCBmb3IgcmVhc29uYWJsZSBhbmQgY3VzdG9tYXJ5IHVzZSBpbiBkZXNjcmliaW5nIHRoZQorICogICAgICBvcmlnaW4gb2YgdGhlIFdvcmsgYW5kIHJlcHJvZHVjaW5nIHRoZSBjb250ZW50IG9mIHRoZSBOT1RJQ0UgZmlsZS4KKyAqCisgKiAgIDcuIERpc2NsYWltZXIgb2YgV2FycmFudHkuIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvcgorICogICAgICBhZ3JlZWQgdG8gaW4gd3JpdGluZywgTGljZW5zb3IgcHJvdmlkZXMgdGhlIFdvcmsgKGFuZCBlYWNoCisgKiAgICAgIENvbnRyaWJ1dG9yIHByb3ZpZGVzIGl0cyBDb250cmlidXRpb25zKSBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogICAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IKKyAqICAgICAgaW1wbGllZCwgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIGFueSB3YXJyYW50aWVzIG9yIGNvbmRpdGlvbnMKKyAqICAgICAgb2YgVElUTEUsIE5PTi1JTkZSSU5HRU1FTlQsIE1FUkNIQU5UQUJJTElUWSwgb3IgRklUTkVTUyBGT1IgQQorICogICAgICBQQVJUSUNVTEFSIFBVUlBPU0UuIFlvdSBhcmUgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUKKyAqICAgICAgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIG9yIHJlZGlzdHJpYnV0aW5nIHRoZSBXb3JrIGFuZCBhc3N1bWUgYW55CisgKiAgICAgIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBZb3VyIGV4ZXJjaXNlIG9mIHBlcm1pc3Npb25zIHVuZGVyIHRoaXMgTGljZW5zZS4KKyAqCisgKiAgIDguIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LiBJbiBubyBldmVudCBhbmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LAorICogICAgICB3aGV0aGVyIGluIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgY29udHJhY3QsIG9yIG90aGVyd2lzZSwKKyAqICAgICAgdW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IChzdWNoIGFzIGRlbGliZXJhdGUgYW5kIGdyb3NzbHkKKyAqICAgICAgbmVnbGlnZW50IGFjdHMpIG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzaGFsbCBhbnkgQ29udHJpYnV0b3IgYmUKKyAqICAgICAgbGlhYmxlIHRvIFlvdSBmb3IgZGFtYWdlcywgaW5jbHVkaW5nIGFueSBkaXJlY3QsIGluZGlyZWN0LCBzcGVjaWFsLAorICogICAgICBpbmNpZGVudGFsLCBvciBjb25zZXF1ZW50aWFsIGRhbWFnZXMgb2YgYW55IGNoYXJhY3RlciBhcmlzaW5nIGFzIGEKKyAqICAgICAgcmVzdWx0IG9mIHRoaXMgTGljZW5zZSBvciBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8gdXNlIHRoZQorICogICAgICBXb3JrIChpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIGRhbWFnZXMgZm9yIGxvc3Mgb2YgZ29vZHdpbGwsCisgKiAgICAgIHdvcmsgc3RvcHBhZ2UsIGNvbXB1dGVyIGZhaWx1cmUgb3IgbWFsZnVuY3Rpb24sIG9yIGFueSBhbmQgYWxsCisgKiAgICAgIG90aGVyIGNvbW1lcmNpYWwgZGFtYWdlcyBvciBsb3NzZXMpLCBldmVuIGlmIHN1Y2ggQ29udHJpYnV0b3IKKyAqICAgICAgaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgorICoKKyAqICAgOS4gQWNjZXB0aW5nIFdhcnJhbnR5IG9yIEFkZGl0aW9uYWwgTGlhYmlsaXR5LiBXaGlsZSByZWRpc3RyaWJ1dGluZworICogICAgICB0aGUgV29yayBvciBEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2YsIFlvdSBtYXkgY2hvb3NlIHRvIG9mZmVyLAorICogICAgICBhbmQgY2hhcmdlIGEgZmVlIGZvciwgYWNjZXB0YW5jZSBvZiBzdXBwb3J0LCB3YXJyYW50eSwgaW5kZW1uaXR5LAorICogICAgICBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcworICogICAgICBMaWNlbnNlLiBIb3dldmVyLCBpbiBhY2NlcHRpbmcgc3VjaCBvYmxpZ2F0aW9ucywgWW91IG1heSBhY3Qgb25seQorICogICAgICBvbiBZb3VyIG93biBiZWhhbGYgYW5kIG9uIFlvdXIgc29sZSByZXNwb25zaWJpbGl0eSwgbm90IG9uIGJlaGFsZgorICogICAgICBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksCisgKiAgICAgIGRlZmVuZCwgYW5kIGhvbGQgZWFjaCBDb250cmlidXRvciBoYXJtbGVzcyBmb3IgYW55IGxpYWJpbGl0eQorICogICAgICBpbmN1cnJlZCBieSwgb3IgY2xhaW1zIGFzc2VydGVkIGFnYWluc3QsIHN1Y2ggQ29udHJpYnV0b3IgYnkgcmVhc29uCisgKiAgICAgIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5LgorICoKKyAqICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCisgKgorICogICBBUFBFTkRJWDogSG93IHRvIGFwcGx5IHRoZSBBcGFjaGUgTGljZW5zZSB0byB5b3VyIHdvcmsuCisgKgorICogICAgICBUbyBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLCBhdHRhY2ggdGhlIGZvbGxvd2luZworICogICAgICBib2lsZXJwbGF0ZSBub3RpY2UsIHdpdGggdGhlIGZpZWxkcyBlbmNsb3NlZCBieSBicmFja2V0cyAiW10iCisgKiAgICAgIHJlcGxhY2VkIHdpdGggeW91ciBvd24gaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24uIChEb24ndCBpbmNsdWRlCisgKiAgICAgIHRoZSBicmFja2V0cyEpICBUaGUgdGV4dCBzaG91bGQgYmUgZW5jbG9zZWQgaW4gdGhlIGFwcHJvcHJpYXRlCisgKiAgICAgIGNvbW1lbnQgc3ludGF4IGZvciB0aGUgZmlsZSBmb3JtYXQuIFdlIGFsc28gcmVjb21tZW5kIHRoYXQgYQorICogICAgICBmaWxlIG9yIGNsYXNzIG5hbWUgYW5kIGRlc2NyaXB0aW9uIG9mIHB1cnBvc2UgYmUgaW5jbHVkZWQgb24gdGhlCisgKiAgICAgIHNhbWUgInByaW50ZWQgcGFnZSIgYXMgdGhlIGNvcHlyaWdodCBub3RpY2UgZm9yIGVhc2llcgorICogICAgICBpZGVudGlmaWNhdGlvbiB3aXRoaW4gdGhpcmQtcGFydHkgYXJjaGl2ZXMuCisgKgorICogICBDb3B5cmlnaHQgW3l5eXldIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0KKyAqCisgKiAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOworICogICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICogICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqLworCitXM0OuIFNPRlRXQVJFIE5PVElDRSBBTkQgTElDRU5TRQoraHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDAyL2NvcHlyaWdodC1zb2Z0d2FyZS0yMDAyMTIzMQorCitUaGlzIHdvcmsgKGFuZCBpbmNsdWRlZCBzb2Z0d2FyZSwgZG9jdW1lbnRhdGlvbiBzdWNoIGFzIFJFQURNRXMsIG9yIG90aGVyCityZWxhdGVkIGl0ZW1zKSBpcyBiZWluZyBwcm92aWRlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlcnMgdW5kZXIgdGhlIGZvbGxvd2luZworbGljZW5zZS4gQnkgb2J0YWluaW5nLCB1c2luZyBhbmQvb3IgY29weWluZyB0aGlzIHdvcmssIHlvdSAodGhlIGxpY2Vuc2VlKSBhZ3JlZQordGhhdCB5b3UgaGF2ZSByZWFkLCB1bmRlcnN0b29kLCBhbmQgd2lsbCBjb21wbHkgd2l0aCB0aGUgZm9sbG93aW5nIHRlcm1zIGFuZAorY29uZGl0aW9ucy4KKworUGVybWlzc2lvbiB0byBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgYW5kIGl0cyBkb2N1bWVudGF0aW9uLAord2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgZm9yIGFueSBwdXJwb3NlIGFuZCB3aXRob3V0IGZlZSBvciByb3lhbHR5IGlzCitoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB5b3UgaW5jbHVkZSB0aGUgZm9sbG93aW5nIG9uIEFMTCBjb3BpZXMgb2YgdGhlCitzb2Z0d2FyZSBhbmQgZG9jdW1lbnRhdGlvbiBvciBwb3J0aW9ucyB0aGVyZW9mLCBpbmNsdWRpbmcgbW9kaWZpY2F0aW9uczoKKworICAxLiBUaGUgZnVsbCB0ZXh0IG9mIHRoaXMgTk9USUNFIGluIGEgbG9jYXRpb24gdmlld2FibGUgdG8gdXNlcnMgb2YgdGhlCisgICAgIHJlZGlzdHJpYnV0ZWQgb3IgZGVyaXZhdGl2ZSB3b3JrLiAKKyAgMi4gQW55IHByZS1leGlzdGluZyBpbnRlbGxlY3R1YWwgcHJvcGVydHkgZGlzY2xhaW1lcnMsIG5vdGljZXMsIG9yIHRlcm1zCisgICAgIGFuZCBjb25kaXRpb25zLiBJZiBub25lIGV4aXN0LCB0aGUgVzNDIFNvZnR3YXJlIFNob3J0IE5vdGljZSBzaG91bGQgYmUKKyAgICAgaW5jbHVkZWQgKGh5cGVydGV4dCBpcyBwcmVmZXJyZWQsIHRleHQgaXMgcGVybWl0dGVkKSB3aXRoaW4gdGhlIGJvZHkKKyAgICAgb2YgYW55IHJlZGlzdHJpYnV0ZWQgb3IgZGVyaXZhdGl2ZSBjb2RlLgorICAzLiBOb3RpY2Ugb2YgYW55IGNoYW5nZXMgb3IgbW9kaWZpY2F0aW9ucyB0byB0aGUgZmlsZXMsIGluY2x1ZGluZyB0aGUgZGF0ZQorICAgICBjaGFuZ2VzIHdlcmUgbWFkZS4gKFdlIHJlY29tbWVuZCB5b3UgcHJvdmlkZSBVUklzIHRvIHRoZSBsb2NhdGlvbiBmcm9tCisgICAgIHdoaWNoIHRoZSBjb2RlIGlzIGRlcml2ZWQuKQorICAgICAKK1RISVMgU09GVFdBUkUgQU5EIERPQ1VNRU5UQVRJT04gSVMgUFJPVklERUQgIkFTIElTLCIgQU5EIENPUFlSSUdIVCBIT0xERVJTIE1BS0UKK05PIFJFUFJFU0VOVEFUSU9OUyBPUiBXQVJSQU5USUVTLCBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQKK1RPLCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBTlkgUEFSVElDVUxBUiBQVVJQT1NFIE9SIFRIQVQKK1RIRSBVU0UgT0YgVEhFIFNPRlRXQVJFIE9SIERPQ1VNRU5UQVRJT04gV0lMTCBOT1QgSU5GUklOR0UgQU5ZIFRISVJEIFBBUlRZCitQQVRFTlRTLCBDT1BZUklHSFRTLCBUUkFERU1BUktTIE9SIE9USEVSIFJJR0hUUy4KKworQ09QWVJJR0hUIEhPTERFUlMgV0lMTCBOT1QgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgU1BFQ0lBTCBPUgorQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VUIE9GIEFOWSBVU0UgT0YgVEhFIFNPRlRXQVJFIE9SIERPQ1VNRU5UQVRJT04uCisKK1RoZSBuYW1lIGFuZCB0cmFkZW1hcmtzIG9mIGNvcHlyaWdodCBob2xkZXJzIG1heSBOT1QgYmUgdXNlZCBpbiBhZHZlcnRpc2luZyBvcgorcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gdGhlIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMsIHdyaXR0ZW4gcHJpb3IgcGVybWlzc2lvbi4KK1RpdGxlIHRvIGNvcHlyaWdodCBpbiB0aGlzIHNvZnR3YXJlIGFuZCBhbnkgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIHdpbGwgYXQKK2FsbCB0aW1lcyByZW1haW4gd2l0aCBjb3B5cmlnaHQgaG9sZGVycy4KKworX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCisKK1RoaXMgZm9ybXVsYXRpb24gb2YgVzNDJ3Mgbm90aWNlIGFuZCBsaWNlbnNlIGJlY2FtZSBhY3RpdmUgb24gRGVjZW1iZXIgMzEgMjAwMi4KK1RoaXMgdmVyc2lvbiByZW1vdmVzIHRoZSBjb3B5cmlnaHQgb3duZXJzaGlwIG5vdGljZSBzdWNoIHRoYXQgdGhpcyBsaWNlbnNlIGNhbgorYmUgdXNlZCB3aXRoIG1hdGVyaWFscyBvdGhlciB0aGFuIHRob3NlIG93bmVkIGJ5IHRoZSBXM0MsIHJlZmxlY3RzIHRoYXQgRVJDSU0KK2lzIG5vdyBhIGhvc3Qgb2YgdGhlIFczQywgaW5jbHVkZXMgcmVmZXJlbmNlcyB0byB0aGlzIHNwZWNpZmljIGRhdGVkIHZlcnNpb24gb2YKK3RoZSBsaWNlbnNlLCBhbmQgcmVtb3ZlcyB0aGUgYW1iaWd1b3VzIGdyYW50IG9mICJ1c2UiLiBPdGhlcndpc2UsIHRoaXMgdmVyc2lvbgoraXMgdGhlIHNhbWUgYXMgdGhlIHByZXZpb3VzIHZlcnNpb24gYW5kIGlzIHdyaXR0ZW4gc28gYXMgdG8gcHJlc2VydmUgdGhlIEZyZWUKK1NvZnR3YXJlIEZvdW5kYXRpb24ncyBhc3Nlc3NtZW50IG9mIEdQTCBjb21wYXRpYmlsaXR5IGFuZCBPU0kncyBjZXJ0aWZpY2F0aW9uCit1bmRlciB0aGUgT3BlbiBTb3VyY2UgRGVmaW5pdGlvbi4gUGxlYXNlIHNlZSBvdXIgQ29weXJpZ2h0IEZBUSBmb3IgY29tbW9uCitxdWVzdGlvbnMgYWJvdXQgdXNpbmcgbWF0ZXJpYWxzIGZyb20gb3VyIHNpdGUsIGluY2x1ZGluZyBzcGVjaWZpYyB0ZXJtcyBhbmQKK2NvbmRpdGlvbnMgZm9yIHBhY2thZ2VzIGxpa2UgbGlid3d3LCBBbWF5YSwgYW5kIEppZ3Nhdy4gT3RoZXIgcXVlc3Rpb25zIGFib3V0Cit0aGlzIG5vdGljZSBjYW4gYmUgZGlyZWN0ZWQgdG8gc2l0ZS1wb2xpY3lAdzMub3JnLgorIAorSm9zZXBoIFJlYWdsZSA8c2l0ZS1wb2xpY3lAdzMub3JnPiAKKworVGhpcyBsaWNlbnNlIGNhbWUgZnJvbTogaHR0cDovL3d3dy5tZWdnaW5zb24uY29tL1NBWC9jb3B5aW5nLmh0bWwKKyAgSG93ZXZlciBwbGVhc2Ugbm90ZSBmdXR1cmUgdmVyc2lvbnMgb2YgU0FYIG1heSBiZSBjb3ZlcmVkIAorICB1bmRlciBodHRwOi8vc2F4cHJvamVjdC5vcmcvP3NlbGVjdGVkPXBkCisKK1NBWDIgaXMgRnJlZSEKKworSSBoZXJlYnkgYWJhbmRvbiBhbnkgcHJvcGVydHkgcmlnaHRzIHRvIFNBWCAyLjAgKHRoZSBTaW1wbGUgQVBJIGZvcgorWE1MKSwgYW5kIHJlbGVhc2UgYWxsIG9mIHRoZSBTQVggMi4wIHNvdXJjZSBjb2RlLCBjb21waWxlZCBjb2RlLCBhbmQKK2RvY3VtZW50YXRpb24gY29udGFpbmVkIGluIHRoaXMgZGlzdHJpYnV0aW9uIGludG8gdGhlIFB1YmxpYyBEb21haW4uCitTQVggY29tZXMgd2l0aCBOTyBXQVJSQU5UWSBvciBndWFyYW50ZWUgb2YgZml0bmVzcyBmb3IgYW55CitwdXJwb3NlLgorCitEYXZpZCBNZWdnaW5zb24sIGRhdmlkQG1lZ2dpbnNvbi5jb20KKzIwMDAtMDUtMDUKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvYWJvdXRfZmlsZXMvTk9USUNFIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9hYm91dF9maWxlcy9OT1RJQ0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEzZTA0YQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvYWJvdXRfZmlsZXMvTk9USUNFCkBAIC0wLDAgKzEsNiBAQAorICAgQXBhY2hlIEFudAorICAgQ29weXJpZ2h0IDE5OTktMjAxMCBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24KKworICAgVGhlIDxzeW5jPiB0YXNrIGlzIGJhc2VkIG9uIGNvZGUgQ29weXJpZ2h0IChjKSAyMDAyLCBMYW5kbWFyaworICAgR3JhcGhpY3MgQ29ycCB0aGF0IGhhcyBiZWVuIGtpbmRseSBkb25hdGVkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUKKyAgIEZvdW5kYXRpb24uCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2Fib3V0X2ZpbGVzL1NBWC1MSUNFTlNFLmh0bWwgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2Fib3V0X2ZpbGVzL1NBWC1MSUNFTlNFLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWViYzcwNQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvYWJvdXRfZmlsZXMvU0FYLUxJQ0VOU0UuaHRtbApAQCAtMCwwICsxLDgxIEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3hodG1sMS1zdHJpY3QuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PQorIkhUTUwgVGlkeSBmb3IgTGludXgveDg2ICh2ZXJzIDI1IE1hcmNoIDIwMDkpLCBzZWUgd3d3LnczLm9yZyIgLz4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0KKyJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+Cis8dGl0bGU+U0FYIExpY2Vuc2U8L3RpdGxlPgorCis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorLyo8IVtDREFUQVsqLworPCEtLQorICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgY29sb3I6IG1hcm9vbjsgfQorICAgICAgICAvKiBtYWtlIHN1cmUgdGhhdCBnb2VzIE9LIHdpdGggdGhlIG5hdiBjb2x1bW4gYmFja2dyb3VuZAorICAgICAgICAgKiBuZXQtZnJpZW5kbHkgY29sb3JzIGluY2x1ZGU6IHllbGxvdy9mZmZmY2MsIGJsdWUvY2NjY2ZmCisgICAgICAgICAqLworICAgIC0tPgorLypdXT4qLworPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IGNvbG9yPSIjMDAwMDAwIj4KKzxoMj5PcmlnaW48L2gyPgorPHA+VGhpcyBwYWdlIHdhcyBvcmlnaW5hbGx5IHRha2VuIGZyb206IDxhIGhyZWY9CisiaHR0cDovL3d3dy5zYXhwcm9qZWN0Lm9yZy9jb3B5aW5nLmh0bWwiPmh0dHA6Ly93d3cuc2F4cHJvamVjdC5vcmcvY29weWluZy5odG1sPC9hPgord2l0aCB0aGUgbmF2aWdhdGlvbiBsaW5rcyByZW1vdmUgZnJvbSB0aGUgbGVmdC1oYW5kLXNpZGUgb2YgdGhlCitwYWdlLjwvcD4KKzxoMj5Db3B5cmlnaHQgU3RhdHVzPC9oMj4KKzxkaXY+Cis8cD48ZW0+U0FYIGlzIGZyZWUhPC9lbT48L3A+Cis8cD5JbiBmYWN0LCBpdCdzIG5vdCBwb3NzaWJsZSB0byBvd24gYSBsaWNlbnNlIHRvIFNBWCwgc2luY2UgaXQncworYmVlbiBwbGFjZWQgaW4gdGhlIHB1YmxpYyBkb21haW4uPC9wPgorPGgyPk5vIFdhcnJhbnR5PC9oMj4KKzxwPkJlY2F1c2UgU0FYIGlzIHJlbGVhc2VkIHRvIHRoZSBwdWJsaWMgZG9tYWluLCB0aGVyZSBpcyBubword2FycmFudHkgZm9yIHRoZSBkZXNpZ24gb3IgZm9yIHRoZSBzb2Z0d2FyZSBpbXBsZW1lbnRhdGlvbiwgdG8gdGhlCitleHRlbnQgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LiBFeGNlcHQgd2hlbiBvdGhlcndpc2Ugc3RhdGVkIGluCit3cml0aW5nIHRoZSBjb3B5cmlnaHQgaG9sZGVycyBhbmQvb3Igb3RoZXIgcGFydGllcyBwcm92aWRlIFNBWCAiYXMKK2lzIiB3aXRob3V0IHdhcnJhbnR5IG9mIGFueSBraW5kLCBlaXRoZXIgZXhwcmVzc2VkIG9yIGltcGxpZWQsCitpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywgdGhlIGltcGxpZWQgd2FycmFudGllcyBvZgorbWVyY2hhbnRhYmlsaXR5IGFuZCBmaXRuZXNzIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZS4gVGhlIGVudGlyZQorcmlzayBhcyB0byB0aGUgcXVhbGl0eSBhbmQgcGVyZm9ybWFuY2Ugb2YgU0FYIGlzIHdpdGggeW91LiBTaG91bGQKK1NBWCBwcm92ZSBkZWZlY3RpdmUsIHlvdSBhc3N1bWUgdGhlIGNvc3Qgb2YgYWxsIG5lY2Vzc2FyeQorc2VydmljaW5nLCByZXBhaXIgb3IgY29ycmVjdGlvbi48L3A+Cis8cD5JbiBubyBldmVudCB1bmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluCit3cml0aW5nIHdpbGwgYW55IGNvcHlyaWdodCBob2xkZXIsIG9yIGFueSBvdGhlciBwYXJ0eSB3aG8gbWF5Cittb2RpZnkgYW5kL29yIHJlZGlzdHJpYnV0ZSBTQVgsIGJlIGxpYWJsZSB0byB5b3UgZm9yIGRhbWFnZXMsCitpbmNsdWRpbmcgYW55IGdlbmVyYWwsIHNwZWNpYWwsIGluY2lkZW50YWwgb3IgY29uc2VxdWVudGlhbCBkYW1hZ2VzCithcmlzaW5nIG91dCBvZiB0aGUgdXNlIG9yIGluYWJpbGl0eSB0byB1c2UgU0FYIChpbmNsdWRpbmcgYnV0IG5vdAorbGltaXRlZCB0byBsb3NzIG9mIGRhdGEgb3IgZGF0YSBiZWluZyByZW5kZXJlZCBpbmFjY3VyYXRlIG9yIGxvc3Nlcworc3VzdGFpbmVkIGJ5IHlvdSBvciB0aGlyZCBwYXJ0aWVzIG9yIGEgZmFpbHVyZSBvZiB0aGUgU0FYIHRvCitvcGVyYXRlIHdpdGggYW55IG90aGVyIHByb2dyYW1zKSwgZXZlbiBpZiBzdWNoIGhvbGRlciBvciBvdGhlcgorcGFydHkgaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLjwvcD4KKzxoMj5Db3B5cmlnaHQgRGlzY2xhaW1lcnM8L2gyPgorPHA+VGhpcyBwYWdlIGluY2x1ZGVzIHN0YXRlbWVudHMgdG8gdGhhdCBlZmZlY3QgYnkgRGF2aWQgTWVnZ2luc29uLAord2hvIHdvdWxkIGhhdmUgYmVlbiBhYmxlIHRvIGNsYWltIGNvcHlyaWdodCBmb3IgdGhlIG9yaWdpbmFsCit3b3JrLjwvcD4KKzwhLS0gTUFZQkU6ICBsaW5rIHRvIGFyY2hpdmVkIGNvcGllcyBvZiB0aGUgbWVzc2FnZXM/IC0tPgorPGgzPlNBWCAxLjA8L2gzPgorPHA+VmVyc2lvbiAxLjAgb2YgdGhlIFNpbXBsZSBBUEkgZm9yIFhNTCAoU0FYKSwgY3JlYXRlZAorY29sbGVjdGl2ZWx5IGJ5IHRoZSBtZW1iZXJzaGlwIG9mIHRoZSBYTUwtREVWIG1haWxpbmcgbGlzdCwgaXMKK2hlcmVieSByZWxlYXNlZCBpbnRvIHRoZSBwdWJsaWMgZG9tYWluLjwvcD4KKzxwPk5vIG9uZSBvd25zIFNBWDogeW91IG1heSB1c2UgaXQgZnJlZWx5IGluIGJvdGggY29tbWVyY2lhbCBhbmQKK25vbi1jb21tZXJjaWFsIGFwcGxpY2F0aW9ucywgYnVuZGxlIGl0IHdpdGggeW91ciBzb2Z0d2FyZQorZGlzdHJpYnV0aW9uLCBpbmNsdWRlIGl0IG9uIGEgQ0QtUk9NLCBsaXN0IHRoZSBzb3VyY2UgY29kZSBpbiBhCitib29rLCBtaXJyb3IgdGhlIGRvY3VtZW50YXRpb24gYXQgeW91ciBvd24gd2ViIHNpdGUsIG9yIHVzZSBpdCBpbgorYW55IG90aGVyIHdheSB5b3Ugc2VlIGZpdC48L3A+Cis8cD48ZW0+RGF2aWQgTWVnZ2luc29uLCA8YSBocmVmPQorImh0dHA6Ly93d3cubWVnZ2luc29uLmNvbS8iPk1lZ2dpbnNvbiBUZWNobm9sb2dpZXMgTHRkLjwvYT48YnIgLz4KKzE5OTgtMDUtMTE8L2VtPjwvcD4KKzxoMz5TQVggMi4wPC9oMz4KKzxwPkkgaGVyZWJ5IGFiYW5kb24gYW55IHByb3BlcnR5IHJpZ2h0cyB0byBTQVggMi4wICh0aGUgU2ltcGxlIEFQSQorZm9yIFhNTCksIGFuZCByZWxlYXNlIGFsbCBvZiB0aGUgU0FYIDIuMCBzb3VyY2UgY29kZSwgY29tcGlsZWQKK2NvZGUsIGFuZCBkb2N1bWVudGF0aW9uIGNvbnRhaW5lZCBpbiB0aGlzIGRpc3RyaWJ1dGlvbiBpbnRvIHRoZQorUHVibGljIERvbWFpbi4gU0FYIGNvbWVzIHdpdGggTk8gV0FSUkFOVFkgb3IgZ3VhcmFudGVlIG9mIGZpdG5lc3MKK2ZvciBhbnkgcHVycG9zZS48L3A+Cis8cD48ZW0+RGF2aWQgTWVnZ2luc29uLCA8YSBocmVmPQorImh0dHA6Ly93d3cubWVnZ2luc29uLmNvbS8iPk1lZ2dpbnNvbiBUZWNobm9sb2dpZXMgTHRkLjwvYT48YnIgLz4KKzIwMDAtMDUtMDU8L2VtPjwvcD4KKzwvZGl2PgorPGJyIC8+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9hbnQtYm9vdHN0cmFwLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL2FudC1ib290c3RyYXAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiM2JiMzMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9hbnQtYm9vdHN0cmFwLmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9jaGFuZ2Vsb2cueHNsIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvY2hhbmdlbG9nLnhzbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmFlZjhmCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvY2hhbmdlbG9nLnhzbApAQCAtMCwwICsxLDE0OCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PgorCis8eHNsOnN0eWxlc2hlZXQKKyAgICB4bWxuczp4c2w9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybScKKyAgICB2ZXJzaW9uPScxLjAnPgorCis8IS0tCisgICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICAgCistLT4KKyAgPHhzbDpwYXJhbSBuYW1lPSJ0aXRsZSIvPgorICA8eHNsOnBhcmFtIG5hbWU9Im1vZHVsZSIvPgorICA8eHNsOnBhcmFtIG5hbWU9ImN2c3dlYiIvPgorCisgIDx4c2w6b3V0cHV0IG1ldGhvZD0iaHRtbCIgaW5kZW50PSJ5ZXMiIGVuY29kaW5nPSJVUy1BU0NJSSIKKyAgICAgICAgICAgICAgZG9jdHlwZS1wdWJsaWM9Ii0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iCisgICAgICAgICAgICAgIGRvY3R5cGUtc3lzdGVtPSJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNDAxL3N0cmljdC5kdGQiLz4KKworICA8IS0tIENvcHkgc3RhbmRhcmQgZG9jdW1lbnQgZWxlbWVudHMuICBFbGVtZW50cyB0aGF0CisgICAgICAgc2hvdWxkIGJlIGlnbm9yZWQgbXVzdCBiZSBmaWx0ZXJlZCBieSBhcHBseS10ZW1wbGF0ZXMKKyAgICAgICB0YWdzLiAtLT4KKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiI+CisgICAgPHhzbDpjb3B5PgorICAgICAgPHhzbDpjb3B5LW9mIHNlbGVjdD0iYXR0cmlidXRlOjoqWy4gIT0gJyddIi8+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+CisgICAgPC94c2w6Y29weT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY2hhbmdlbG9nIj4KKyAgICA8aHRtbD4KKyAgICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0aXRsZSIvPjwvdGl0bGU+CisgICAgICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICAgICAgYm9keSwgcCB7CisgICAgICAgICAgICBmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKKyAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlOworICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOworICAgICAgICAgIH0KKyAgICAgICAgICB0ciwgdGQgeworICAgICAgICAgICAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7CisgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlZWUwOworICAgICAgICAgIH0KKyAgICAgICAgICB0ZCB7CisgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CisgICAgICAgICAgfQorICAgICAgLmRhdGVBbmRBdXRob3IgeworICAgICAgICAgICAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7CisgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsKKyAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CisgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYTZjYWYwOworICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7CisgICAgICB9CisgICAgICAgICAgYSB7CisgICAgICAgICAgICBjb2xvcjogIzAwMDAwMDsKKyAgICAgICAgICB9CisgICAgICAgICAgcHJlIHsKKyAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgIDwvaGVhZD4KKyAgICAgIDxib2R5PgorICAgICAgICA8aDE+CisgICAgICAgICAgPGEgbmFtZT0idG9wIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRpdGxlIi8+PC9hPgorICAgICAgICA8L2gxPgorICAgICAgICA8cCBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQiPkRlc2lnbmVkIGZvciB1c2Ugd2l0aCA8YSBocmVmPSJodHRwOi8vYW50LmFwYWNoZS5vcmcvIj5BcGFjaGUgQW50PC9hPi48L3A+CisgICAgICAgIDxoci8+CisgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMSI+CisgICAgICAgICAgCisgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuLy9lbnRyeSI+CisgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJkYXRlIiBkYXRhLXR5cGU9InRleHQiIG9yZGVyPSJkZXNjZW5kaW5nIi8+CisgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJ0aW1lIiBkYXRhLXR5cGU9InRleHQiIG9yZGVyPSJkZXNjZW5kaW5nIi8+CisgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgICAgIAorICAgICAgICA8L3RhYmxlPgorICAgICAgICAKKyAgICAgIDwvYm9keT4KKyAgICA8L2h0bWw+CisgIDwveHNsOnRlbXBsYXRlPgorICAKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZW50cnkiPgorICAgIDx0cj4KKyAgICAgIDx0ZCBjbGFzcz0iZGF0ZUFuZEF1dGhvciI+CisgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJkYXRlIi8+PHhzbDp0ZXh0PiA8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJ0aW1lIi8+PHhzbDp0ZXh0PiA8L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJhdXRob3IiLz4KKyAgICAgIDwvdGQ+CisgICAgPC90cj4KKyAgICA8dHI+CisgICAgICA8dGQ+CisgICAgICAgIDxwcmU+Cis8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Im1zZyIvPjwvcHJlPgorICAgICAgICA8dWw+CisgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmaWxlIi8+CisgICAgICAgIDwvdWw+CisgICAgICA8L3RkPgorICAgIDwvdHI+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRhdGUiPgorICAgIDxpPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+PC9pPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJ0aW1lIj4KKyAgICA8aT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjwvaT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iYXV0aG9yIj4KKyAgICA8aT4KKyAgICAgIDxhPgorICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj5tYWlsdG86PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz48L3hzbDphdHRyaWJ1dGU+CisgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+PC9hPgorICAgIDwvaT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZmlsZSI+CisgICAgPGxpPgorICAgICAgPGE+CisgICAgICAgIDx4c2w6Y2hvb3NlPgorICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJzdHJpbmctbGVuZ3RoKHByZXZyZXZpc2lvbikgPSAwICI+CisgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGN2c3dlYiIvPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbW9kdWxlIiAvPi88eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSIgLz4/cmV2PTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJyZXZpc2lvbiIgLz4mYW1wO2NvbnRlbnQtdHlwZT10ZXh0L3gtY3Zzd2ViLW1hcmt1cDwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8L3hzbDp3aGVuPgorICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgorICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjdnN3ZWIiLz48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG1vZHVsZSIgLz4vPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5hbWUiIC8+P3IxPTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJyZXZpc2lvbiIgLz4mYW1wO3IyPTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJwcmV2cmV2aXNpb24iLz48L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgorICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJuYW1lIiAvPiAoPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InJldmlzaW9uIi8+KTwvYT4KKyAgICA8L2xpPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8IS0tIEFueSBlbGVtZW50cyB3aXRoaW4gYSBtc2cgYXJlIHByb2Nlc3NlZCwKKyAgICAgICBzbyB0aGF0IHdlIGNhbiBwcmVzZXJ2ZSBIVE1MIHRhZ3MuIC0tPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJtc2ciPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz4KKyAgPC94c2w6dGVtcGxhdGU+CisgIAorPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL2NoZWNrc3R5bGUvY2hlY2tzdHlsZS1mcmFtZXMueHNsIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvY2hlY2tzdHlsZS9jaGVja3N0eWxlLWZyYW1lcy54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc5YzBiNwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL2NoZWNrc3R5bGUvY2hlY2tzdHlsZS1mcmFtZXMueHNsCkBAIC0wLDAgKzEsMjk5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIgdmVyc2lvbj0iMS4wIgorICAgIHhtbG5zOmx4c2x0PSJodHRwOi8veG1sLmFwYWNoZS5vcmcveHNsdCIKKyAgICB4bWxuczpyZWRpcmVjdD0iaHR0cDovL3htbC5hcGFjaGUub3JnL3hhbGFuL3JlZGlyZWN0IgorICAgIGV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzPSJyZWRpcmVjdCI+CisKKzwhLS0KKyAgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworICAgIDx4c2w6b3V0cHV0IG1ldGhvZD0iaHRtbCIgaW5kZW50PSJ5ZXMiIGVuY29kaW5nPSJVUy1BU0NJSSIvPgorICAgIDx4c2w6ZGVjaW1hbC1mb3JtYXQgZGVjaW1hbC1zZXBhcmF0b3I9Ii4iIGdyb3VwaW5nLXNlcGFyYXRvcj0iLCIgLz4KKworICAgIDx4c2w6cGFyYW0gbmFtZT0ib3V0cHV0LmRpciIgc2VsZWN0PSInLiciLz4KKyAgICA8eHNsOnBhcmFtIG5hbWU9ImJhc2VkaXIiIHNlbGVjdD0iJy4nIi8+CisKKyAgICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJjaGVja3N0eWxlIj4KKyAgICAgICAgPCEtLSBjcmVhdGUgdGhlIGluZGV4Lmh0bWwgLS0+CisgICAgICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L2luZGV4Lmh0bWwiPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImluZGV4Lmh0bWwiLz4KKyAgICAgICAgPC9yZWRpcmVjdDp3cml0ZT4KKworICAgICAgICA8IS0tIGNyZWF0ZSB0aGUgc3R5bGVzaGVldC5jc3MgLS0+CisgICAgICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L3N0eWxlc2hlZXQuY3NzIj4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzdHlsZXNoZWV0LmNzcyIvPgorICAgICAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgICAgIDwhLS0gY3JlYXRlIHRoZSBvdmVydmlldy1zdW1tYXJ5Lmh0bWwgYXQgdGhlIHJvb3QgLS0+CisgICAgICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L292ZXJ2aWV3LWZyYW1lLmh0bWwiPgorICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJvdmVydmlldyIvPgorICAgICAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgICAgIDwhLS0gY3JlYXRlIHRoZSBhbGwtY2xhc3Nlcy5odG1sIGF0IHRoZSByb290IC0tPgorICAgICAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS9hbGxjbGFzc2VzLWZyYW1lLmh0bWwiPgorICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJhbGwuY2xhc3NlcyIvPgorICAgICAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgICAgIDwhLS0gcHJvY2VzcyBhbGwgZmlsZXMgLS0+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZmlsZVtjb3VudChlcnJvcikgIT0gMF0iLz4KKyAgICA8L3hzbDp0ZW1wbGF0ZT4KKworICAgIDx4c2w6dGVtcGxhdGUgbmFtZT0iaW5kZXguaHRtbCI+CisgICAgICAgIDxodG1sPgorICAgICAgICAgICAgPGhlYWQ+CisgICAgICAgICAgICAgICAgPHRpdGxlPkNoZWNrU3R5bGUgQXVkaXQ8L3RpdGxlPgorICAgICAgICAgICAgPC9oZWFkPgorICAgICAgICAgICAgPGZyYW1lc2V0IGNvbHM9IjIwJSw4MCUiPgorICAgICAgICAgICAgICAgIDxmcmFtZSBzcmM9ImFsbGNsYXNzZXMtZnJhbWUuaHRtbCIgbmFtZT0iZmlsZUxpc3RGcmFtZSIvPgorICAgICAgICAgICAgICAgIDxmcmFtZSBzcmM9Im92ZXJ2aWV3LWZyYW1lLmh0bWwiIG5hbWU9ImZpbGVGcmFtZSIvPgorICAgICAgICAgICAgPC9mcmFtZXNldD4KKyAgICAgICAgICAgIDxub2ZyYW1lcz4KKyAgICAgICAgICAgICAgICA8aDI+RnJhbWUgQWxlcnQ8L2gyPgorICAgICAgICAgICAgICAgIDxwPgorICAgICAgICAgICAgICAgICAgICBUaGlzIGRvY3VtZW50IGlzIGRlc2lnbmVkIHRvIGJlIHZpZXdlZCB1c2luZyB0aGUgZnJhbWVzIGZlYXR1cmUuCisgICAgICAgICAgICAgICAgICAgIElmIHlvdSBzZWUgdGhpcyBtZXNzYWdlLCB5b3UgYXJlIHVzaW5nIGEgbm9uLWZyYW1lLWNhcGFibGUgd2ViIGNsaWVudC4KKyAgICAgICAgICAgICAgICA8L3A+CisgICAgICAgICAgICA8L25vZnJhbWVzPgorICAgICAgICA8L2h0bWw+CisgICAgPC94c2w6dGVtcGxhdGU+CisKKyAgICA8eHNsOnRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiPgorICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InRleHQtYWxpZ246cmlnaHQiPjxoMj5DaGVja1N0eWxlIEF1ZGl0PC9oMj48L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGQgY2xhc3M9InRleHQtYWxpZ246cmlnaHQiPkRlc2lnbmVkIGZvciB1c2Ugd2l0aAorICAgICAgICAgICAgICAgICAgPGEgaHJlZj0naHR0cDovL2NoZWNrc3R5bGUuc291cmNlZm9yZ2UubmV0Lyc+Q2hlY2tTdHlsZTwvYT4gYW5kCisgICAgICAgICAgICAgICAgICA8YSBocmVmPSdodHRwOi8vYW50LmFwYWNoZS5vcmcvJz5BbnQ8L2E+LjwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICA8L3RhYmxlPgorICAgICAgICA8aHIgc2l6ZT0iMSIvPgorICAgIDwveHNsOnRlbXBsYXRlPgorCisgICAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY2hlY2tzdHlsZSIgbW9kZT0ib3ZlcnZpZXciPgorICAgICAgICA8aHRtbD4KKyAgICAgICAgICAgIDxoZWFkPgorICAgICAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InN0eWxlc2hlZXQuY3NzIi8+CisgICAgICAgICAgICA8L2hlYWQ+CisgICAgICAgICAgICA8Ym9keT4KKyAgICAgICAgICAgICAgICA8IS0tIHBhZ2UgaGVhZGVyIC0tPgorICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWdlSGVhZGVyIi8+CisKKyAgICAgICAgICAgICAgICA8IS0tIFN1bW1hcnkgcGFydCAtLT4KKyAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9InN1bW1hcnkiLz4KKyAgICAgICAgICAgICAgICA8aHIgc2l6ZT0iMSIgd2lkdGg9IjEwMCUiIGFsaWduPSJsZWZ0Ii8+CisKKyAgICAgICAgICAgICAgICA8IS0tIEZpbGUgbGlzdCBwYXJ0IC0tPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0iZmlsZWxpc3QiLz4KKyAgICAgICAgICAgIDwvYm9keT4KKyAgICAgICAgPC9odG1sPgorICAgIDwveHNsOnRlbXBsYXRlPgorCisgICAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJzdHlsZXNoZWV0LmNzcyI+CisgICAgICAgIC5iYW5uZXJjZWxsIHsKKyAgICAgICAgYm9yZGVyOiAwcHg7CisgICAgICAgIHBhZGRpbmc6IDBweDsKKyAgICAgICAgfQorICAgICAgICBib2R5IHsKKyAgICAgICAgbWFyZ2luLWxlZnQ6IDEwOworICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwOworICAgICAgICBmb250Om5vcm1hbCA4MCUgYXJpYWwsaGVsdmV0aWNhLHNhbnNlcmlmOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7CisgICAgICAgIGNvbG9yOiMwMDAwMDA7CisgICAgICAgIH0KKyAgICAgICAgLm9kZHJvdyB0ZCB7CisgICAgICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7CisgICAgICAgIH0KKyAgICAgICAgLmV2ZW5yb3cgdGQgeworICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOworICAgICAgICB9CisgICAgICAgIHRoLCB0ZCB7CisgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CisgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CisgICAgICAgIH0KKyAgICAgICAgdGggeworICAgICAgICBmb250LXdlaWdodDpib2xkOworICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjOworICAgICAgICBjb2xvcjogYmxhY2s7CisgICAgICAgIH0KKyAgICAgICAgdGFibGUsIHRoLCB0ZCB7CisgICAgICAgIGZvbnQtc2l6ZToxMDAlOworICAgICAgICBib3JkZXI6IG5vbmUKKyAgICAgICAgfQorICAgICAgICB0YWJsZS5sb2cgdHIgdGQsIHRyIHRoIHsKKworICAgICAgICB9CisgICAgICAgIGgyIHsKKyAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsKKyAgICAgICAgZm9udC1zaXplOjE0MCU7CisgICAgICAgIG1hcmdpbi1ib3R0b206IDU7CisgICAgICAgIH0KKyAgICAgICAgaDMgeworICAgICAgICBmb250LXNpemU6MTAwJTsKKyAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsKKyAgICAgICAgYmFja2dyb3VuZDogIzUyNUQ3NjsKKyAgICAgICAgY29sb3I6IHdoaXRlOworICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CisgICAgICAgIHBhZGRpbmc6IDVweDsKKyAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7CisgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7CisgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CisgICAgICAgIH0KKyAgICA8L3hzbDp0ZW1wbGF0ZT4KKworICAgIDwhLS0KKyAgICBDcmVhdGVzIGFuIGFsbC1jbGFzc2VzLmh0bWwgZmlsZSB0aGF0IGNvbnRhaW5zIGEgbGluayB0byBhbGwgZmlsZXMuCisgICAgLS0+CisgICAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY2hlY2tzdHlsZSIgbW9kZT0iYWxsLmNsYXNzZXMiPgorICAgICAgICA8aHRtbD4KKyAgICAgICAgICAgIDxoZWFkPgorICAgICAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InN0eWxlc2hlZXQuY3NzIi8+CisgICAgICAgICAgICA8L2hlYWQ+CisgICAgICAgICAgICA8Ym9keT4KKyAgICAgICAgICAgICAgICA8aDI+RmlsZXM8L2gyPgorICAgICAgICAgICAgICAgIDxwPgorICAgICAgICAgICAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBGb3IgZWFjaCBmaWxlIGNyZWF0ZSBpdHMgcGFydCAtLT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZmlsZVtjb3VudChlcnJvcikgIT0gMF0iIG1vZGU9ImFsbC5jbGFzc2VzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJzdWJzdHJpbmctYWZ0ZXIoQG5hbWUsICRiYXNlZGlyKSIvPgorICAgICAgICAgICAgICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgICAgIDwvcD4KKyAgICAgICAgICAgIDwvYm9keT4KKyAgICAgICAgPC9odG1sPgorICAgIDwveHNsOnRlbXBsYXRlPgorCisgICAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY2hlY2tzdHlsZSIgbW9kZT0iZmlsZWxpc3QiPgorICAgICAgICA8aDM+RmlsZXM8L2gzPgorICAgICAgICA8dGFibGUgY2xhc3M9ImxvZyIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGg+TmFtZTwvdGg+CisgICAgICAgICAgICAgICAgPHRoPkVycm9yczwvdGg+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmaWxlW2NvdW50KGVycm9yKSAhPSAwXSIgbW9kZT0iZmlsZWxpc3QiPgorICAgICAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9ImNvdW50KGVycm9yKSIgb3JkZXI9ImRlc2NlbmRpbmciIGRhdGEtdHlwZT0ibnVtYmVyIi8+CisgICAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgICAgIDwvdGFibGU+CisgICAgPC94c2w6dGVtcGxhdGU+CisKKyAgICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJmaWxlIiBtb2RlPSJmaWxlbGlzdCI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJhbHRlcm5hdGVkLXJvdyIvPgorICAgICAgICAgICAgPHRkIG5vd3JhcD0ibm93cmFwIj4KKyAgICAgICAgICAgICAgICA8YT4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOnRleHQ+ZmlsZXMvPC94c2w6dGV4dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vic3RyaW5nLWFmdGVyKEBuYW1lLCAkYmFzZWRpcikiLz48eHNsOnRleHQ+Lmh0bWw8L3hzbDp0ZXh0PgorICAgICAgICAgICAgICAgICAgICA8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdWJzdHJpbmctYWZ0ZXIoQG5hbWUsICRiYXNlZGlyKSIvPgorICAgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvdW50KGVycm9yKSIvPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgPC94c2w6dGVtcGxhdGU+CisKKyAgICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJmaWxlIiBtb2RlPSJhbGwuY2xhc3NlcyI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICAgIDx0ZCBub3dyYXA9Im5vd3JhcCI+CisgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PSJmaWxlRnJhbWUiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6dGV4dD5maWxlcy88L3hzbDp0ZXh0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdWJzdHJpbmctYWZ0ZXIoQG5hbWUsICRiYXNlZGlyKSIvPjx4c2w6dGV4dD4uaHRtbDwveHNsOnRleHQ+CisgICAgICAgICAgICAgICAgICAgIDwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InN1YnN0cmluZy1hZnRlcihAbmFtZSwgJGJhc2VkaXIpIi8+CisgICAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICA8L3hzbDp0ZW1wbGF0ZT4KKworICAgIDwhLS0KKyAgICB0cmFuc2Zvcm0gc3RyaW5nIGxpa2UgYS9iL2MgdG8gLi4vLi4vLi4vCisgICAgQHBhcmFtIHBhdGggdGhlIHBhdGggdG8gdHJhbnNmb3JtIGludG8gYSBkZXNjZW5kaW5nIGRpcmVjdG9yeSBwYXRoCisgICAgLS0+CisgICAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJwYXRoIj4KKyAgICAgICAgPHhzbDpwYXJhbSBuYW1lPSJwYXRoIi8+CisKKyAgICAgICAgPCEtLSBDb252ZXJ0IGEgd2luZG93cyBwYXRoICdcJyB0byBhIHVuaXggcGF0aCAnLycgZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZy4gLS0+CisgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0icGF0aDIiIHNlbGVjdD0idHJhbnNsYXRlKCRwYXRoLCdcJywnLycpIi8+CisKKyAgICAgICAgCisgICAgICAgIDx4c2w6aWYgdGVzdD0iY29udGFpbnMoJHBhdGgyLCcvJykiPgorICAgICAgICAgICAgPHhzbDp0ZXh0Pi4uLzwveHNsOnRleHQ+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGF0aCI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhdGgiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdWJzdHJpbmctYWZ0ZXIoJHBhdGgyLCcvJykiLz48L3hzbDp3aXRoLXBhcmFtPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC94c2w6aWY+CisgICAgICAgIDx4c2w6aWYgdGVzdD0ibm90KGNvbnRhaW5zKCRwYXRoMiwnLycpKSBhbmQgbm90KCRwYXRoMiA9ICcnKSI+CisgICAgICAgICAgICA8eHNsOnRleHQ+Li4vPC94c2w6dGV4dD4KKyAgICAgICAgPC94c2w6aWY+CisgICAgPC94c2w6dGVtcGxhdGU+CisKKyAgICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJmaWxlIj4KKyAgICAgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vZmlsZXMve3N1YnN0cmluZy1hZnRlcihAbmFtZSwgJGJhc2VkaXIpfS5odG1sIj4KKyAgICAgICAgICAgIDxodG1sPgorICAgICAgICAgICAgICAgIDxoZWFkPgorICAgICAgICAgICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPjx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYXRoIj48eHNsOndpdGgtcGFyYW0gbmFtZT0icGF0aCIgc2VsZWN0PSJzdWJzdHJpbmctYWZ0ZXIoQG5hbWUsICRiYXNlZGlyKSIvPjwveHNsOmNhbGwtdGVtcGxhdGU+PHhzbDp0ZXh0PnN0eWxlc2hlZXQuY3NzPC94c2w6dGV4dD48L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICAgICAgICAgIDwvbGluaz4KKyAgICAgICAgICAgICAgICA8L2hlYWQ+CisgICAgICAgICAgICAgICAgPGJvZHk+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWdlSGVhZGVyIi8+CisgICAgICAgICAgICAgICAgICAgIDxoMz5GaWxlIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdWJzdHJpbmctYWZ0ZXIoQG5hbWUsICRiYXNlZGlyKSIvPjwvaDM+CisgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0ibG9nIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5FcnJvciBEZXNjcmlwdGlvbjwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkxpbmU6Q29sdW1uPC90aD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iZXJyb3IiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImFsdGVybmF0ZWQtcm93Ii8+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48YSB0aXRsZT0ie0Bzb3VyY2V9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG1lc3NhZ2UiLz48L2E+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbGluZSIvPjx4c2w6aWYgdGVzdD0iQGNvbHVtbiI+Ojx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAY29sdW1uIi8+PC94c2w6aWY+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgPC9ib2R5PgorICAgICAgICAgICAgPC9odG1sPgorICAgICAgICA8L3JlZGlyZWN0OndyaXRlPgorICAgIDwveHNsOnRlbXBsYXRlPgorCisgICAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY2hlY2tzdHlsZSIgbW9kZT0ic3VtbWFyeSI+CisgICAgICAgIDxoMz5TdW1tYXJ5PC9oMz4KKyAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJmaWxlQ291bnQiIHNlbGVjdD0iY291bnQoZmlsZSkiLz4KKyAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJlcnJvckNvdW50IiBzZWxlY3Q9ImNvdW50KGZpbGUvZXJyb3IpIi8+CisgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZmlsZUVycm9yQ291bnQiIHNlbGVjdD0iY291bnQoZmlsZVtjb3VudChlcnJvcikgIT0gMF0pIi8+CisgICAgICAgIDx0YWJsZSBjbGFzcz0ibG9nIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgIDx0aD5Ub3RhbCBGaWxlczwvdGg+CisgICAgICAgICAgICAgICAgPHRoPkZpbGVzIFdpdGggRXJyb3JzPC90aD4KKyAgICAgICAgICAgICAgICA8dGg+RXJyb3JzPC90aD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImFsdGVybmF0ZWQtcm93Ii8+CisgICAgICAgICAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkZmlsZUNvdW50Ii8+PC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRmaWxlRXJyb3JDb3VudCIvPjwvdGQ+CisgICAgICAgICAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkZXJyb3JDb3VudCIvPjwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICA8L3RhYmxlPgorICAgIDwveHNsOnRlbXBsYXRlPgorCisgICAgPHhzbDp0ZW1wbGF0ZSBuYW1lPSJhbHRlcm5hdGVkLXJvdyI+CisgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4KKyAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0icG9zaXRpb24oKSBtb2QgMiA9IDEiPm9kZHJvdzwveHNsOmlmPgorICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpIG1vZCAyID0gMCI+ZXZlbnJvdzwveHNsOmlmPgorICAgICAgICA8L3hzbDphdHRyaWJ1dGU+CisgICAgPC94c2w6dGVtcGxhdGU+Cis8L3hzbDpzdHlsZXNoZWV0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL2NoZWNrc3R5bGUvY2hlY2tzdHlsZS10ZXh0LnhzbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL2NoZWNrc3R5bGUvY2hlY2tzdHlsZS10ZXh0LnhzbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzU5ZTQxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvY2hlY2tzdHlsZS9jaGVja3N0eWxlLXRleHQueHNsCkBAIC0wLDAgKzEsMzQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPgorCis8IS0tCisgICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+CisKKyAgICA8eHNsOnN0cmlwLXNwYWNlIGVsZW1lbnRzPSJjaGVja3N0eWxlIi8+CisgICAgPHhzbDpwcmVzZXJ2ZS1zcGFjZSBlbGVtZW50cz0iZmlsZSIvPgorICAgIDx4c2w6b3V0cHV0IG1ldGhvZD0idGV4dCIvPgorICAgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImNoZWNrc3R5bGUvZmlsZS9lcnJvciI+CisgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuLi9AbmFtZSIvPgorICAgICAgICA8eHNsOnRleHQ+OjwveHNsOnRleHQ+CisgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbGluZSIvPgorICAgICAgICA8eHNsOnRleHQ+OjwveHNsOnRleHQ+CisgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAY29sdW1uIi8+CisgICAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBtZXNzYWdlIi8+CisgICAgPC94c2w6dGVtcGxhdGU+Cis8L3hzbDpzdHlsZXNoZWV0PgorCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9jaGVja3N0eWxlL2NoZWNrc3R5bGUteGRvYy54c2wgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9jaGVja3N0eWxlL2NoZWNrc3R5bGUteGRvYy54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWZjNmVhYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL2NoZWNrc3R5bGUvY2hlY2tzdHlsZS14ZG9jLnhzbApAQCAtMCwwICsxLDEzMCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCIKKyAgICB4bWxuczpseHNsdD0iaHR0cDovL3htbC5hcGFjaGUub3JnL3hzbHQiCisgICAgeG1sbnM6cmVkaXJlY3Q9Im9yZy5hcGFjaGUueGFsYW4ubGliLlJlZGlyZWN0IgorICAgIGV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzPSJyZWRpcmVjdCI+CisKKzwhLS0KKyAgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworICAgIDx4c2w6b3V0cHV0IG1ldGhvZD0ieG1sIiBpbmRlbnQ9InllcyIvPgorICAgIDx4c2w6ZGVjaW1hbC1mb3JtYXQgZGVjaW1hbC1zZXBhcmF0b3I9Ii4iIGdyb3VwaW5nLXNlcGFyYXRvcj0iLCIgLz4KKworICAgIDx4c2w6cGFyYW0gbmFtZT0ib3V0cHV0LmRpciIgc2VsZWN0PSInLiciLz4KKyAgICA8eHNsOnBhcmFtIG5hbWU9ImJhc2VkaXIiIHNlbGVjdD0iJy4nIi8+CisKKyAgICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJjaGVja3N0eWxlIj4KKyAgICAgIDxkb2N1bWVudD4KKyAgICAgICAgPHByb3BlcnRpZXM+CisgICAgICAgICAgPHRpdGxlPkNoZWNrc3R5bGUgQXVkaXQ8L3RpdGxlPgorICAgICAgICA8L3Byb3BlcnRpZXM+CisKKyAgICAgICAgPGJvZHk+CisgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJzdW1tYXJ5Ii8+CisgICAgICAgICAgPCEtLSBGaWxlIGxpc3QgcGFydCAtLT4KKyAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImZpbGVsaXN0Ii8+CisgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmaWxlW2NvdW50KGVycm9yKSAhPSAwXSIvPgorICAgICAgICA8L2JvZHk+CisgICAgICA8L2RvY3VtZW50PgorICAgIDwveHNsOnRlbXBsYXRlPgorCisgICAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY2hlY2tzdHlsZSIgbW9kZT0iZmlsZWxpc3QiPgorICAgICAgPHNlY3Rpb24gbmFtZT0iRmlsZXMiPgorICAgICAgICA8dGFibGU+CisgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgPHRoPk5hbWU8L3RoPgorICAgICAgICAgICAgICAgIDx0aD5FcnJvcnM8L3RoPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZmlsZVtjb3VudChlcnJvcikgIT0gMF0iIG1vZGU9ImZpbGVsaXN0Ij4KKyAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJjb3VudChlcnJvcikiIG9yZGVyPSJkZXNjZW5kaW5nIiBkYXRhLXR5cGU9Im51bWJlciIvPgorICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgICA8L3RhYmxlPgorICAgICAgPC9zZWN0aW9uPgorICAgIDwveHNsOnRlbXBsYXRlPgorCisgICAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZmlsZSIgbW9kZT0iZmlsZWxpc3QiPgorICAgICAgICA8dHI+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iYWx0ZXJuYXRlZC1yb3ciLz4KKyAgICAgICAgICAgIDx0ZCBub3dyYXA9Im5vd3JhcCI+CisgICAgICAgICAgICAgICAgPGE+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDp0ZXh0PmZpbGVzPC94c2w6dGV4dD48eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vic3RyaW5nLWFmdGVyKEBuYW1lLCAkYmFzZWRpcikiLz48eHNsOnRleHQ+Lmh0bWw8L3hzbDp0ZXh0PgorICAgICAgICAgICAgICAgICAgICA8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdWJzdHJpbmctYWZ0ZXIoQG5hbWUsICRiYXNlZGlyKSIvPgorICAgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvdW50KGVycm9yKSIvPjwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgPC94c2w6dGVtcGxhdGU+CisKKyAgICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJmaWxlIj4KKyAgICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L2ZpbGVze3N1YnN0cmluZy1hZnRlcihAbmFtZSwgJGJhc2VkaXIpfS54bWwiPgorICAgICAgICA8ZG9jdW1lbnQ+CisgICAgICAgICAgPHByb3BlcnRpZXM+CisgICAgICAgICAgICA8dGl0bGU+Q2hlY2tzdHlsZSBBdWRpdDwvdGl0bGU+CisgICAgICAgICAgPC9wcm9wZXJ0aWVzPgorCisgICAgICAgICAgPGJvZHk+CisgICAgICAgICAgICA8c2VjdGlvbiBuYW1lPSJEZXRhaWxzIGZvciB7c3Vic3RyaW5nLWFmdGVyKEBuYW1lLCAkYmFzZWRpcil9Ij4KKyAgICAgICAgICAgICAgPHRhYmxlPgorICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgIDx0aD5FcnJvciBEZXNjcmlwdGlvbjwvdGg+CisgICAgICAgICAgICAgICAgICAgICAgPHRoPkxpbmU8L3RoPgorICAgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJlcnJvciI+CisgICAgICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iYWx0ZXJuYXRlZC1yb3ciLz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxhIHRpdGxlPSJ7QHNvdXJjZX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbWVzc2FnZSIvPjwvYT48L3RkPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBsaW5lIi8+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICA8L3NlY3Rpb24+CisgICAgICAgICAgPC9ib2R5PgorICAgICAgICA8L2RvY3VtZW50PgorICAgICAgPC9yZWRpcmVjdDp3cml0ZT4KKyAgICA8L3hzbDp0ZW1wbGF0ZT4KKworICAgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImNoZWNrc3R5bGUiIG1vZGU9InN1bW1hcnkiPgorICAgICAgPHNlY3Rpb24gbmFtZT0iU3VtbWFyeSI+CisgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZmlsZUNvdW50IiBzZWxlY3Q9ImNvdW50KGZpbGUpIi8+CisgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iZXJyb3JDb3VudCIgc2VsZWN0PSJjb3VudChmaWxlL2Vycm9yKSIvPgorICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImZpbGVFcnJvckNvdW50IiBzZWxlY3Q9ImNvdW50KGZpbGVbY291bnQoZXJyb3IpICE9IDBdKSIvPgorICAgICAgICA8dGFibGU+CisgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgPHRoPkZpbGVzPC90aD4KKyAgICAgICAgICAgICAgICA8dGg+RmlsZXMgV2l0aCBFcnJvcnM8L3RoPgorICAgICAgICAgICAgICAgIDx0aD5FcnJvcnM8L3RoPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iYWx0ZXJuYXRlZC1yb3ciLz4KKyAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRmaWxlQ291bnQiLz48L3RkPgorICAgICAgICAgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGZpbGVFcnJvckNvdW50Ii8+PC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRlcnJvckNvdW50Ii8+PC90ZD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFibGU+CisgICAgICA8L3NlY3Rpb24+CisgICAgPC94c2w6dGVtcGxhdGU+CisKKyAgICA8eHNsOnRlbXBsYXRlIG5hbWU9ImFsdGVybmF0ZWQtcm93Ij4KKyAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPgorICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpIG1vZCAyID0gMSI+b2Rkcm93PC94c2w6aWY+CisgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkgbW9kIDIgPSAwIj5ldmVucm93PC94c2w6aWY+CisgICAgICAgIDwveHNsOmF0dHJpYnV0ZT4KKyAgICA8L3hzbDp0ZW1wbGF0ZT4KKzwveHNsOnN0eWxlc2hlZXQ+CisKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL2NvdmVyYWdlLWZyYW1lcy54c2wgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9jb3ZlcmFnZS1mcmFtZXMueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1NWE1MmEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9jb3ZlcmFnZS1mcmFtZXMueHNsCkBAIC0wLDAgKzEsNDg5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIgdmVyc2lvbj0iMS4wIgorICAgIHhtbG5zOmx4c2x0PSJodHRwOi8veG1sLmFwYWNoZS5vcmcveHNsdCIKKyAgICB4bWxuczpyZWRpcmVjdD0ib3JnLmFwYWNoZS54YWxhbi5saWIuUmVkaXJlY3QiCisgICAgZXh0ZW5zaW9uLWVsZW1lbnQtcHJlZml4ZXM9InJlZGlyZWN0Ij4KKzx4c2w6b3V0cHV0IG1ldGhvZD0iaHRtbCIgaW5kZW50PSJ5ZXMiLz4KKzx4c2w6ZGVjaW1hbC1mb3JtYXQgZGVjaW1hbC1zZXBhcmF0b3I9Ii4iIGdyb3VwaW5nLXNlcGFyYXRvcj0iLCIgLz4KKzwhLS0KKyAgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPCEtLQorCisgU2FtcGxlIHN0eWxlc2hlZXQgdG8gYmUgdXNlZCB3aXRoIEpQcm9iZSAzLjAgWE1MIG91dHB1dC4KKworIEl0IGNyZWF0ZXMgYSBzZXQgb2YgSFRNTCBmaWxlcyBhIGxhIGphdmFkb2Mgd2hlcmUgeW91IGNhbiBicm93c2UgZWFzaWx5CisgdGhyb3VnaCBhbGwgcGFja2FnZXMgYW5kIGNsYXNzZXMuCisKKyBJdCBpcyBiZXN0IHVzZWQgd2l0aCBKUHJvYmUgQ292ZXJhZ2UgQW50IHRhc2sgdGhhdCBnaXZlcyB5b3UgdGhlIGJlbmVmaXQKKyBvZiBhIHJlZmVyZW5jZSBjbGFzc3BhdGggc28gdGhhdCB5b3UgaGF2ZSB0aGUgbGlzdCBvZiBjbGFzc2VzL21ldGhvZHMKKyB0aGF0IGFyZSBub3QgdXNlZCBhdCBhbGwgaW4gYSBnaXZlbiBjbGFzc3BhdGguCisKKyBAYXV0aG9yIFN0ZXBoYW5lIEJhaWxsaWV6IDxhIGhyZWY9Im1haWx0bzpzYmFpbGxpZXpAYXBhY2hlLm9yZyIvPgorCistLT4KKworPCEtLSBkZWZhdWx0IG91dHB1dCBkaXJlY3RvcnkgaXMgY3VycmVudCBkaXJlY3RvcnkgLS0+Cis8eHNsOnBhcmFtIG5hbWU9Im91dHB1dC5kaXIiIHNlbGVjdD0iJy4nIi8+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgIFJvb3QgZWxlbWVudAorICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iL3NuYXBzaG90Ij4KKyAgICA8IS0tIGNyZWF0ZSB0aGUgaW5kZXguaHRtbCAtLT4KKyAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS9pbmRleC5odG1sIj4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImluZGV4Lmh0bWwiLz4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgPCEtLSBjcmVhdGUgdGhlIHN0eWxlc2hlZXQuY3NzIC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L3N0eWxlc2hlZXQuY3NzIj4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN0eWxlc2hlZXQuY3NzIi8+CisgICAgPC9yZWRpcmVjdDp3cml0ZT4KKworICAgIDwhLS0gY3JlYXRlIHRoZSBvdmVydmlldy1wYWNrYWdlcy5odG1sIGF0IHRoZSByb290IC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0ib3ZlcnZpZXcucGFja2FnZXMiLz4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgPCEtLSBjcmVhdGUgdGhlIGFsbC1wYWNrYWdlcy5odG1sIGF0IHRoZSByb290IC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L292ZXJ2aWV3LWZyYW1lLmh0bWwiPgorICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImFsbC5wYWNrYWdlcyIvPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgICA8IS0tIGNyZWF0ZSB0aGUgYWxsLWNsYXNzZXMuaHRtbCBhdCB0aGUgcm9vdCAtLT4KKyAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS9hbGxjbGFzc2VzLWZyYW1lLmh0bWwiPgorICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImFsbC5jbGFzc2VzIi8+CisgICAgPC9yZWRpcmVjdDp3cml0ZT4KKworICAgIDwhLS0gcHJvY2VzcyBhbGwgcGFja2FnZXMgLS0+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuL3BhY2thZ2UiIG1vZGU9IndyaXRlIi8+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgIEZyYW1lc2V0IGRlZmluaXRpb24uIEVudHJ5IHBvaW50IGZvciB0aGUgcmVwb3J0LgorICAgIDMgZnJhbWVzOiBwYWNrYWdlTGlzdEZyYW1lLCBjbGFzc0xpc3RGcmFtZSwgY2xhc3NGcmFtZQorICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJpbmRleC5odG1sIj4KKzxodG1sPgorICAgIDxoZWFkPjx0aXRsZT5Db3ZlcmFnZSBSZXN1bHRzLjwvdGl0bGU+PC9oZWFkPgorICAgIDxmcmFtZXNldCBjb2xzPSIyMCUsODAlIj4KKyAgICAgICAgPGZyYW1lc2V0IHJvd3M9IjMwJSw3MCUiPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0ib3ZlcnZpZXctZnJhbWUuaHRtbCIgbmFtZT0icGFja2FnZUxpc3RGcmFtZSIvPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0iYWxsY2xhc3Nlcy1mcmFtZS5odG1sIiBuYW1lPSJjbGFzc0xpc3RGcmFtZSIvPgorICAgICAgICA8L2ZyYW1lc2V0PgorICAgICAgICA8ZnJhbWUgc3JjPSJvdmVydmlldy1zdW1tYXJ5Lmh0bWwiIG5hbWU9ImNsYXNzRnJhbWUiLz4KKyAgICA8L2ZyYW1lc2V0PgorICAgIDxub2ZyYW1lcz4KKyAgICAgICAgPGgyPkZyYW1lIEFsZXJ0PC9oMj4KKyAgICAgICAgPHA+CisgICAgICAgIFRoaXMgZG9jdW1lbnQgaXMgZGVzaWduZWQgdG8gYmUgdmlld2VkIHVzaW5nIHRoZSBmcmFtZXMgZmVhdHVyZS4gSWYgeW91IHNlZSB0aGlzIG1lc3NhZ2UsIHlvdSBhcmUgdXNpbmcgYSBub24tZnJhbWUtY2FwYWJsZSB3ZWIgY2xpZW50LgorICAgICAgICA8L3A+CisgICAgPC9ub2ZyYW1lcz4KKzwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgU3R5bGVzaGVldCBDU1MgdXNlZAorICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSB0aGlzIGlzIHRoZSBzdHlsZXNoZWV0IGNzcyB0byB1c2UgZm9yIG5lYXJseSBldmVyeXRoaW5nIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJzdHlsZXNoZWV0LmNzcyI+CisgICAgLmJhbm5lcmNlbGwgeworICAgICAgYm9yZGVyOiAwcHg7CisgICAgICBwYWRkaW5nOiAwcHg7CisgICAgfQorICAgIGJvZHkgeworICAgICAgbWFyZ2luLWxlZnQ6IDEwOworICAgICAgbWFyZ2luLXJpZ2h0OiAxMDsKKyAgICAgIGZvbnQ6bm9ybWFsIDgwJSBhcmlhbCxoZWx2ZXRpY2Esc2Fuc2VyaWY7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7CisgICAgICBjb2xvcjojMDAwMDAwOworICAgIH0KKyAgICAuYSB0ZCB7CisgICAgICBiYWNrZ3JvdW5kOiAjZWZlZmVmOworICAgIH0KKyAgICAuYiB0ZCB7CisgICAgICBiYWNrZ3JvdW5kOiAjZmZmOworICAgIH0KKyAgICB0aCwgdGQgeworICAgICAgdGV4dC1hbGlnbjogbGVmdDsKKyAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CisgICAgfQorICAgIHRoIHsKKyAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7CisgICAgICBiYWNrZ3JvdW5kOiAjY2NjOworICAgICAgY29sb3I6IGJsYWNrOworICAgIH0KKyAgICB0YWJsZSwgdGgsIHRkIHsKKyAgICAgIGZvbnQtc2l6ZToxMDAlOworICAgICAgYm9yZGVyOiBub25lCisgICAgfQorICAgIHRhYmxlLmxvZyB0ciB0ZCwgdHIgdGggeworCisgICAgfQorICAgIGgyIHsKKyAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7CisgICAgICBmb250LXNpemU6MTQwJTsKKyAgICAgIG1hcmdpbi1ib3R0b206IDU7CisgICAgfQorICAgIGgzIHsKKyAgICAgIGZvbnQtc2l6ZToxMDAlOworICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsKKyAgICAgIGJhY2tncm91bmQ6ICM1MjVENzY7CisgICAgICBjb2xvcjogd2hpdGU7CisgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CisgICAgICBwYWRkaW5nOiA1cHg7CisgICAgICBtYXJnaW4tcmlnaHQ6IDJweDsKKyAgICAgIG1hcmdpbi1sZWZ0OiAycHg7CisgICAgICBtYXJnaW4tYm90dG9tOiAwOworICAgIH0KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgTGlzdCBvZiBhbGwgY2xhc3NlcyBpbiBhbGwgcGFja2FnZXMKKyAgICBUaGlzIHdpbGwgYmUgdGhlIGZpcnN0IHBhZ2UgaW4gdGhlIGNsYXNzTGlzdEZyYW1lCisgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJzbmFwc2hvdCIgbW9kZT0iYWxsLmNsYXNzZXMiPgorICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIi8+CisgICAgICAgIDwvaGVhZD4KKyAgICAgICAgPGJvZHk+CisgICAgICAgICAgICA8aDI+Q2xhc3NlczwvaDI+CisgICAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJwYWNrYWdlL2NsYXNzIj4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iKGFuY2VzdG9yOjpwYWNrYWdlKVtsYXN0KCldL0BuYW1lIi8+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0ibGluayI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9Im5vdCgkcGFja2FnZS5uYW1lPScnKSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InRyYW5zbGF0ZSgkcGFja2FnZS5uYW1lLCcuJywnLycpIi8+PHhzbDp0ZXh0Pi88L3hzbDp0ZXh0PgorICAgICAgICAgICAgICAgICAgICAgICAgPC94c2w6aWY+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PHhzbDp0ZXh0Pi5odG1sPC94c2w6dGV4dD4KKyAgICAgICAgICAgICAgICAgICAgPC94c2w6dmFyaWFibGU+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBub3dyYXA9Im5vd3JhcCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PSJjbGFzc0ZyYW1lIiBocmVmPSJ7JGxpbmt9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPC9ib2R5PgorICAgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIGxpc3Qgb2YgYWxsIHBhY2thZ2VzIC0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0ic25hcHNob3QiIG1vZGU9ImFsbC5wYWNrYWdlcyI+CisgICAgPGh0bWw+CisgICAgICAgIDxoZWFkPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNyZWF0ZS5zdHlsZXNoZWV0LmxpbmsiLz4KKyAgICAgICAgPC9oZWFkPgorICAgICAgICA8Ym9keT4KKyAgICAgICAgICAgIDxoMj48YSBocmVmPSJvdmVydmlldy1zdW1tYXJ5Lmh0bWwiIHRhcmdldD0iY2xhc3NGcmFtZSI+SG9tZTwvYT48L2gyPgorICAgICAgICAgICAgPGgyPlBhY2thZ2VzPC9oMj4KKyAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9InBhY2thZ2UiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAbmFtZSIgb3JkZXI9ImFzY2VuZGluZyIvPgorICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQgbm93cmFwPSJub3dyYXAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Int0cmFuc2xhdGUoQG5hbWUsJy4nLCcvJyl9L3BhY2thZ2Utc3VtbWFyeS5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPC9ib2R5PgorICAgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIG92ZXJ2aWV3IG9mIHN0YXRpc3RpY3MgaW4gcGFja2FnZXMgLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJzbmFwc2hvdCIgbW9kZT0ib3ZlcnZpZXcucGFja2FnZXMiPgorICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIi8+CisgICAgICAgIDwvaGVhZD4KKyAgICAgICAgPGJvZHkgb25sb2FkPSJvcGVuKCdhbGxjbGFzc2VzLWZyYW1lLmh0bWwnLCdjbGFzc0xpc3RGcmFtZScpIj4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiLz4KKyAgICAgICAgPGgzPlN1bW1hcnk8L2gzPgorICAgICAgICA8dGFibGUgY2xhc3M9ImxvZyIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgPCEtLXRoIHdpZHRoPSIxMCUiIG5vd3JhcD0ibm93cmFwIj5EYXRlPC90aD4KKyAgICAgICAgICAgICAgICA8dGggd2lkdGg9IjEwJSIgbm93cmFwPSJub3dyYXAiPkVsYXBzZWQgdGltZTwvdGgtLT4KKyAgICAgICAgICAgICAgICA8dGggd2lkdGg9IjEwJSIgbm93cmFwPSJub3dyYXAiPlJlcG9ydGVkIENsYXNzZXM8L3RoPgorICAgICAgICAgICAgICAgIDx0aCB3aWR0aD0iMTAlIiBub3dyYXA9Im5vd3JhcCI+TWV0aG9kcyBIaXQ8L3RoPgorICAgICAgICAgICAgICAgIDx0aCB3aWR0aD0iMTAlIiBub3dyYXA9Im5vd3JhcCI+TGluZXMgSGl0PC90aD4KKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICA8dHIgY2xhc3M9ImEiPgorICAgICAgICAgICAgICAgIDwhLS10ZCBub3dyYXA9Im5vd3JhcCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImV4ZWN1dGlvbl9sb2cvQHByb2dyYW1fc3RhcnQiLz48L3RkPgorICAgICAgICAgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iZm9ybWF0LW51bWJlcihleGVjdXRpb25fbG9nL0BlbGFwc2VkX3RpbWUgZGl2IDEwMDAsJzAuMCcpIi8+c2VjczwvdGQtLT4KKyAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImNvdW50KHBhY2thZ2UvY2xhc3MpIi8+PC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoY292LmRhdGEvQGhpdF9tZXRob2RzIGRpdiBjb3YuZGF0YS9AdG90YWxfbWV0aG9kcywnMC4wJScpIi8+PC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoY292LmRhdGEvQGhpdF9saW5lcyBkaXYgY292LmRhdGEvQHRvdGFsX2xpbmVzLCcwLjAlJykiLz48L3RkPgorICAgICAgICAgICAgPC90cj4KKyAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiPgorICAgICAgICA8dHI+CisgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsiPgorICAgICAgICBUbyBlbnN1cmUgYWNjdXJhdGUgdGVzdCBydW5zIG9uIEphdmEgYXBwbGljYXRpb25zLCBkZXZlbG9wZXJzIG5lZWQgdG8ga25vdyBob3cgbXVjaCBvZgorICAgICAgICB0aGUgY29kZSBoYXMgYmVlbiB0ZXN0ZWQsIGFuZCB3aGVyZSB0byBmaW5kIGFueSB1bnRlc3RlZCBjb2RlLiBDb3ZlcmFnZSBoZWxwcyB5b3UKKyAgICAgICAgbG9jYXRlIHVudGVzdGVkIGNvZGUsIGFuZCBtZWFzdXJlIHByZWNpc2VseSBob3cgbXVjaCBjb2RlIGhhcyBiZWVuIGV4ZXJjaXNlZC4KKyAgICAgICAgVGhlIHJlc3VsdCBpcyBhIGhpZ2hlciBxdWFsaXR5IGFwcGxpY2F0aW9uIGluIGEgc2hvcnRlciBwZXJpb2Qgb2YgdGltZS4KKyAgICAgICAgPHAvPgorICAgICAgICA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8L3RhYmxlPgorCisgICAgICAgIDxoMz5QYWNrYWdlczwvaDM+CisgICAgICAgIDx0YWJsZSBjbGFzcz0ibG9nIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0icGFja2FnZVsxXSIgbW9kZT0ic3RhdHMuaGVhZGVyIi8+CisgICAgICAgICAgICA8IS0tIGRpc3BsYXkgcGFja2FnZXMgYW5kIHNvcnQgdGhlbSB2aWEgdGhlaXIgY292ZXJhZ2UgcmF0ZSAtLT4KKyAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJwYWNrYWdlIj4KKyAgICAgICAgICAgICAgICA8eHNsOnNvcnQgZGF0YS10eXBlPSJudW1iZXIiIHNlbGVjdD0iY292LmRhdGEvQGhpdF9saW5lcyBkaXYgY292LmRhdGEvQHRvdGFsX2xpbmVzIi8+CisgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImFsdGVybmF0ZS1yb3ciLz4KKyAgICAgICAgICAgICAgICAgICAgPHRkPjxhIGhyZWY9Int0cmFuc2xhdGUoQG5hbWUsJy4nLCcvJyl9L3BhY2thZ2Utc3VtbWFyeS5odG1sIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJmb3JtYXQtbnVtYmVyKGNvdi5kYXRhL0BoaXRfbWV0aG9kcyBkaXYgY292LmRhdGEvQHRvdGFsX21ldGhvZHMsJzAuMCUnKSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iZm9ybWF0LW51bWJlcihjb3YuZGF0YS9AaGl0X2xpbmVzIGRpdiBjb3YuZGF0YS9AdG90YWxfbGluZXMsJzAuMCUnKSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICA8L3RhYmxlPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGFnZUZvb3RlciIvPgorICAgICAgICA8L2JvZHk+CisgICAgICAgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tCisgZGV0YWlsZWQgaW5mbyBmb3IgYSBwYWNrYWdlLiBJdCB3aWxsIG91dHB1dCB0aGUgbGlzdCBvZiBjbGFzc2VzCissIHRoZSBzdW1tYXJ5IHBhZ2UsIGFuZCB0aGUgaW5mbyBmb3IgZWFjaCBjbGFzcworLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJwYWNrYWdlIiBtb2RlPSJ3cml0ZSI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLmRpciI+CisgICAgICAgIDx4c2w6aWYgdGVzdD0ibm90KEBuYW1lID0gJycpIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0idHJhbnNsYXRlKEBuYW1lLCcuJywnLycpIi8+PC94c2w6aWY+CisgICAgICAgIDx4c2w6aWYgdGVzdD0iQG5hbWUgPSAnJyI+LjwveHNsOmlmPgorICAgIDwveHNsOnZhcmlhYmxlPgorCisgICAgPCEtLSBjcmVhdGUgYSBjbGFzc2VzLWxpc3QuaHRtbCBpbiB0aGUgcGFja2FnZSBkaXJlY3RvcnkgLS0+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0veyRwYWNrYWdlLmRpcn0vcGFja2FnZS1mcmFtZS5odG1sIj4KKyAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJjbGFzc2VzLmxpc3QiLz4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgPCEtLSBjcmVhdGUgYSBwYWNrYWdlLXN1bW1hcnkuaHRtbCBpbiB0aGUgcGFja2FnZSBkaXJlY3RvcnkgLS0+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0veyRwYWNrYWdlLmRpcn0vcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPgorICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9InBhY2thZ2Uuc3VtbWFyeSIvPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgICA8IS0tIGZvciBlYWNoIGNsYXNzLCBjcmVhdGVzIGEgQG5hbWUuaHRtbCAtLT4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iY2xhc3MiPgorICAgICAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS97JHBhY2thZ2UuZGlyfS97QG5hbWV9Lmh0bWwiPgorICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJjbGFzcy5kZXRhaWxzIi8+CisgICAgICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisgICAgPC94c2w6Zm9yLWVhY2g+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSBsaXN0IG9mIGNsYXNzZXMgaW4gYSBwYWNrYWdlIC0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icGFja2FnZSIgbW9kZT0iY2xhc3Nlcy5saXN0Ij4KKyAgICA8aHRtbD4KKyAgICAgICAgPEhFQUQ+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIgc2VsZWN0PSJAbmFtZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC9IRUFEPgorICAgICAgICA8Qk9EWT4KKyAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICA8dGQgbm93cmFwPSJub3dyYXAiPgorICAgICAgICAgICAgICAgICAgICAgICAgPEgyPjxhIGhyZWY9InBhY2thZ2Utc3VtbWFyeS5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvYT48L0gyPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICA8L3RhYmxlPgorCisgICAgICAgICAgICA8SDI+Q2xhc3NlczwvSDI+CisgICAgICAgICAgICA8VEFCTEUgV0lEVEg9IjEwMCUiPgorICAgICAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJjbGFzcyI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBub3dyYXA9Im5vd3JhcCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ie0BuYW1lfS5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgICAgICAgICA8L1RBQkxFPgorICAgICAgICA8L0JPRFk+CisgICAgPC9odG1sPgorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gc3VtbWFyeSBvZiBhIHBhY2thZ2UgLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJwYWNrYWdlIiBtb2RlPSJwYWNrYWdlLnN1bW1hcnkiPgorICAgIDxIVE1MPgorICAgICAgICA8SEVBRD4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIj4KKyAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icGFja2FnZS5uYW1lIiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICA8L0hFQUQ+CisgICAgICAgIDwhLS0gd2hlbiBsb2FkaW5nIHRoaXMgcGFja2FnZSwgaXQgd2lsbCBvcGVuIHRoZSBjbGFzc2VzIGludG8gdGhlIGZyYW1lIC0tPgorICAgICAgICA8Qk9EWSBvbmxvYWQ9Im9wZW4oJ3BhY2thZ2UtZnJhbWUuaHRtbCcsJ2NsYXNzTGlzdEZyYW1lJykiPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiLz4KKyAgICAgICAgICAgIDxoMz5QYWNrYWdlIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvaDM+CisgICAgICAgICAgICA8dGFibGUgY2xhc3M9ImxvZyIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJzdGF0cy5oZWFkZXIiLz4KKyAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9InN0YXRzIi8+CisgICAgICAgICAgICA8L3RhYmxlPgorCisgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9ImNvdW50KGNsYXNzKSAmZ3Q7IDAiPgorICAgICAgICAgICAgICAgIDxIMz5DbGFzc2VzPC9IMz4KKyAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9ImxvZyIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0ic3RhdHMuaGVhZGVyIi8+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iY2xhc3MiIG1vZGU9InN0YXRzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6c29ydCBkYXRhLXR5cGU9Im51bWJlciIgc2VsZWN0PSJjb3YuZGF0YS9AaGl0X2xpbmVzIGRpdiBjb3YuZGF0YS9AdG90YWxfbGluZXMiLz4KKyAgICAgICAgICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWdlRm9vdGVyIi8+CisgICAgICAgIDwvQk9EWT4KKyAgICA8L0hUTUw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSBkZXRhaWxzIG9mIGEgY2xhc3MgLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJjbGFzcyIgbW9kZT0iY2xhc3MuZGV0YWlscyI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iKGFuY2VzdG9yOjpwYWNrYWdlKVtsYXN0KCldL0BuYW1lIi8+CisgICAgPEhUTUw+CisgICAgICAgIDxIRUFEPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNyZWF0ZS5zdHlsZXNoZWV0LmxpbmsiPgorICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iJHBhY2thZ2UubmFtZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC9IRUFEPgorICAgICAgICA8Qk9EWT4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWdlSGVhZGVyIi8+CisgICAgICAgICAgICA8SDM+Q2xhc3MgPHhzbDppZiB0ZXN0PSJub3QoJHBhY2thZ2UubmFtZSA9ICcnKSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRwYWNrYWdlLm5hbWUiLz4uPC94c2w6aWY+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9IMz4KKworICAgICAgICAgICAgPCEtLSBjbGFzcyBzdW1tYXJ5IC0tPgorICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJsb2ciIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0ic3RhdHMuaGVhZGVyIi8+CisgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJzdGF0cyIvPgorICAgICAgICAgICAgPC90YWJsZT4KKworICAgICAgICAgICAgPCEtLSBkZXRhaWxzIG9mIG1ldGhvZHMgLS0+CisgICAgICAgICAgICA8SDM+TWV0aG9kczwvSDM+CisgICAgICAgICAgICA8dGFibGUgY2xhc3M9ImxvZyIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJtZXRob2RbMV0iIG1vZGU9InN0YXRzLmhlYWRlciIvPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0ibWV0aG9kIiBtb2RlPSJzdGF0cyI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6c29ydCBkYXRhLXR5cGU9Im51bWJlciIgc2VsZWN0PSJjb3YuZGF0YS9AaGl0X2xpbmVzIGRpdiBjb3YuZGF0YS9AdG90YWxfbGluZXMiLz4KKyAgICAgICAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VGb290ZXIiLz4KKyAgICAgICAgPC9CT0RZPgorICAgIDwvSFRNTD4KKworPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gUGFnZSBIZWFkZXIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiPgorICA8IS0tIGpha2FydGEgbG9nbyAtLT4KKyAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+CisgIDx0cj4KKyAgICA8dGQgY2xhc3M9ImJhbm5lcmNlbGwiIHJvd3NwYW49IjIiPgorICAgICAgPGEgaHJlZj0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZy8iPgorICAgICAgPGltZyBzcmM9Imh0dHA6Ly9qYWthcnRhLmFwYWNoZS5vcmcvaW1hZ2VzL2pha2FydGEtbG9nby5naWYiIGFsdD0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZyIgYWxpZ249ImxlZnQiIGJvcmRlcj0iMCIvPgorICAgICAgPC9hPgorICAgIDwvdGQ+CisgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjpyaWdodCI+PGgyPlNvdXJjZSBDb2RlIENvdmVyYWdlPC9oMj48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjpyaWdodCI+RGVzaWduZWQgZm9yIHVzZSB3aXRoIDxhIGhyZWY9J2h0dHA6Ly93d3cuc2l0cmFrYS5jb20vanByb2JlJz5TaXRyYWthIEpQcm9iZTwvYT4gYW5kIDxhIGhyZWY9J2h0dHA6Ly9qYWthcnRhLmFwYWNoZS5vcmcnPkFudDwvYT4uPC90ZD4KKyAgICAgICAgPC90cj4KKyAgPC90YWJsZT4KKyAgICA8aHIgc2l6ZT0iMSIvPgorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gUGFnZSBGb290ZXIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InBhZ2VGb290ZXIiPgorPC94c2w6dGVtcGxhdGU+CisKKworPHhzbDp0ZW1wbGF0ZSBuYW1lPSJ0YWJsZS5oZWFkZXIiPgorICAgIDx0cj4KKyAgICAgICAgPHRoIHdpZHRoPSI4MCUiPk5hbWU8L3RoPgorICAgICAgICA8dGggd2lkdGg9IjEwJSIgbm93cmFwPSJub3dyYXAiPk1ldGhvZHMgSGl0PC90aD4KKyAgICAgICAgPHRoIHdpZHRoPSIxMCUiIG5vd3JhcD0ibm93cmFwIj5MaW5lcyBIaXQ8L3RoPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0ibWV0aG9kIiBtb2RlPSJzdGF0cy5oZWFkZXIiPgorICAgIDx0cj4KKyAgICAgICAgPHRoIHdpZHRoPSI5MCUiPk5hbWU8L3RoPgorICAgICAgICA8dGggd2lkdGg9IjEwJSIgbm93cmFwPSJub3dyYXAiPkxpbmVzIEhpdDwvdGg+CisgICAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0ibWV0aG9kIiBtb2RlPSJzdGF0cyI+CisgICAgPHRyPgorICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImFsdGVybmF0ZS1yb3ciLz4KKyAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoY292LmRhdGEvQGhpdF9saW5lcyBkaXYgY292LmRhdGEvQHRvdGFsX2xpbmVzLCcwLjAlJykiLz4KKyAgICAgICAgPC90ZD4KKyAgICA8L3RyPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9InBhY2thZ2V8Y2xhc3MiIG1vZGU9InN0YXRzLmhlYWRlciI+CisgICAgPHRyPgorICAgICAgICA8dGggd2lkdGg9IjgwJSI+TmFtZTwvdGg+CisgICAgICAgIDx0aCB3aWR0aD0iMTAlIiBub3dyYXA9Im5vd3JhcCI+TWV0aG9kcyBIaXQ8L3RoPgorICAgICAgICA8dGggd2lkdGg9IjEwJSIgbm93cmFwPSJub3dyYXAiPkxpbmVzIEhpdDwvdGg+CisgICAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icGFja2FnZXxjbGFzcyIgbW9kZT0ic3RhdHMiPgorICAgIDx0cj4KKyAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJhbHRlcm5hdGUtcm93Ii8+CisgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L3RkPgorICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoY292LmRhdGEvQGhpdF9tZXRob2RzIGRpdiBjb3YuZGF0YS9AdG90YWxfbWV0aG9kcywnMC4wJScpIi8+PC90ZD4KKyAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJmb3JtYXQtbnVtYmVyKGNvdi5kYXRhL0BoaXRfbGluZXMgZGl2IGNvdi5kYXRhL0B0b3RhbF9saW5lcywnMC4wJScpIi8+PC90ZD4KKyAgICA8L3RyPgorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0KKyAgICB0cmFuc2Zvcm0gc3RyaW5nIGxpa2UgYS5iLmMgdG8gLi4vLi4vLi4vCisgICAgQHBhcmFtIHBhdGggdGhlIHBhdGggdG8gdHJhbnNmb3JtIGludG8gYSBkZXNjZW5kaW5nIGRpcmVjdG9yeSBwYXRoCistLT4KKzx4c2w6dGVtcGxhdGUgbmFtZT0icGF0aCI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJwYXRoIi8+CisgICAgPHhzbDppZiB0ZXN0PSJjb250YWlucygkcGF0aCwnLicpIj4KKyAgICAgICAgPHhzbDp0ZXh0Pi4uLzwveHNsOnRleHQ+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYXRoIj4KKyAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYXRoIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vic3RyaW5nLWFmdGVyKCRwYXRoLCcuJykiLz48L3hzbDp3aXRoLXBhcmFtPgorICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6aWYgdGVzdD0ibm90KGNvbnRhaW5zKCRwYXRoLCcuJykpIGFuZCBub3QoJHBhdGggPSAnJykiPgorICAgICAgICA8eHNsOnRleHQ+Li4vPC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gY3JlYXRlIHRoZSBsaW5rIHRvIHRoZSBzdHlsZXNoZWV0IGJhc2VkIG9uIHRoZSBwYWNrYWdlIG5hbWUgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9ImNyZWF0ZS5zdHlsZXNoZWV0LmxpbmsiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0icGFja2FnZS5uYW1lIi8+CisgICAgPExJTksgUkVMID0ic3R5bGVzaGVldCIgVFlQRT0idGV4dC9jc3MiIFRJVExFPSJTdHlsZSI+PHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+PHhzbDppZiB0ZXN0PSJub3QoJHBhY2thZ2UubmFtZSA9ICd1bm5hbWVkIHBhY2thZ2UnKSI+PHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhdGgiPjx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYXRoIiBzZWxlY3Q9IiRwYWNrYWdlLm5hbWUiLz48L3hzbDpjYWxsLXRlbXBsYXRlPjwveHNsOmlmPnN0eWxlc2hlZXQuY3NzPC94c2w6YXR0cmlidXRlPjwvTElOSz4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIGFsdGVybmF0ZWQgcm93IHN0eWxlIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJhbHRlcm5hdGUtcm93Ij4KKzx4c2w6YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4KKyAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpIG1vZCAyID0gMSI+YTwveHNsOmlmPgorICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkgbW9kIDIgPSAwIj5iPC94c2w6aWY+Cis8L3hzbDphdHRyaWJ1dGU+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPC94c2w6c3R5bGVzaGVldD4KKworCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9qZGVwZW5kLWZyYW1lcy54c2wgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9qZGVwZW5kLWZyYW1lcy54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NjOWRjYwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL2pkZXBlbmQtZnJhbWVzLnhzbApAQCAtMCwwICsxLDQ4NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNsOnN0eWxlc2hlZXQgIHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiCisgIHhtbG5zOmx4c2x0PSJodHRwOi8veG1sLmFwYWNoZS5vcmcveHNsdCIKKyAgeG1sbnM6cmVkaXJlY3Q9Im9yZy5hcGFjaGUueGFsYW4ubGliLlJlZGlyZWN0IgorICBleHRlbnNpb24tZWxlbWVudC1wcmVmaXhlcz0icmVkaXJlY3QiPgorPHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBpbmRlbnQ9InllcyIgZW5jb2Rpbmc9IlVTLUFTQ0lJIi8+Cis8IS0tCisgICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICAgCistLT4KKzwhLS0KKworIFNhbXBsZSBzdHlsZXNoZWV0IHRvIGJlIHVzZWQgd2l0aCBKRGVwZW5kIFhNTCBvdXRwdXQuCisKKyBJdCBjcmVhdGVzIGEgc2V0IG9mIEhUTUwgZmlsZXMgYSBsYSBqYXZhZG9jIHdoZXJlIHlvdSBjYW4gYnJvd3NlIGVhc2lseQorIHRocm91Z2ggYWxsIHBhY2thZ2VzIGFuZCBjbGFzc2VzLgorCisgQGF1dGhvciA8YSBocmVmPSJtYWlsdG86anR1bGxleUBub3ZlbGwuY29tIj5KZWZmIFR1bGxleTwvYT4KKworICAtLT4KKzx4c2w6cGFyYW0gbmFtZT0ib3V0cHV0LmRpciIgc2VsZWN0PSInLiciLz4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iSkRlcGVuZCI+CisgICA8IS0tIGNyZWF0ZSB0aGUgaW5kZXguaHRtbCAtLT4KKyAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L2luZGV4Lmh0bWwiPgorICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImluZGV4Lmh0bWwiLz4KKyAgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgPCEtLSBjcmVhdGUgdGhlIHN0eWxlc2hlZXQuY3NzIC0tPgorICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS9zdHlsZXNoZWV0LmNzcyI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN0eWxlc2hlZXQuY3NzIi8+CisgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICA8IS0tIGNyZWF0ZSB0aGUgb3ZlcnZpZXctcGFja2FnZXMuaHRtbCBhdCB0aGUgcm9vdCAtLT4KKyAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9Im92ZXJ2aWV3LnBhY2thZ2VzIi8+CisgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgIDwhLS0gY3JlYXRlIHRoZSBvdmVydmlldy1wYWNrYWdlcy5odG1sIGF0IHRoZSByb290IC0tPgorICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vb3ZlcnZpZXctcGFja2FnZXMuaHRtbCI+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJwYWNrYWdlcy5kZXRhaWxzIi8+CisgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgIDwhLS0gY3JlYXRlIHRoZSBvdmVydmlldy1jeWNsZXMuaHRtbCBhdCB0aGUgcm9vdCAtLT4KKyAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L292ZXJ2aWV3LWN5Y2xlcy5odG1sIj4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImN5Y2xlcy5kZXRhaWxzIi8+CisgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgIDwhLS0gY3JlYXRlIHRoZSBvdmVydmlldy1jeWNsZXMuaHRtbCBhdCB0aGUgcm9vdCAtLT4KKyAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L292ZXJ2aWV3LWV4cGxhbmF0aW9ucy5odG1sIj4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImV4cGxhbmF0aW9ucyIvPgorICA8L3JlZGlyZWN0OndyaXRlPgorCisgIDwhLS0gY3JlYXRlIHRoZSBhbGwtcGFja2FnZXMuaHRtbCBhdCB0aGUgcm9vdCAtLT4KKyAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L2FsbC1wYWNrYWdlcy5odG1sIj4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IlBhY2thZ2VzIiBtb2RlPSJhbGwucGFja2FnZXMiLz4KKyAgPC9yZWRpcmVjdDp3cml0ZT4KKworICA8IS0tIGNyZWF0ZSB0aGUgYWxsLWN5Y2xlcy5odG1sIGF0IHRoZSByb290IC0tPgorICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS9hbGwtY3ljbGVzLmh0bWwiPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQ3ljbGVzIiBtb2RlPSJhbGwuY3ljbGVzIi8+CisgIDwvcmVkaXJlY3Q6d3JpdGU+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8eHNsOnRlbXBsYXRlIG5hbWU9ImluZGV4Lmh0bWwiPgorPGh0bWw+CisgICA8aGVhZD4KKyAgICAgIDx0aXRsZT5KRGVwZW5kIEFuYWx5c2lzPC90aXRsZT4KKyAgIDwvaGVhZD4KKyAgICAgIDxmcmFtZXNldCBjb2xzPSIyMCUsODAlIj4KKyAgICAgICAgIDxmcmFtZXNldCByb3dzPSIzMCUsNzAlIj4KKyAgICAgICAgICAgIDxmcmFtZSBzcmM9ImFsbC1wYWNrYWdlcy5odG1sIiBuYW1lPSJwYWNrYWdlTGlzdEZyYW1lIi8+CisgICAgICAgICAgICA8ZnJhbWUgc3JjPSJhbGwtY3ljbGVzLmh0bWwiIG5hbWU9ImNsYXNzTGlzdEZyYW1lIi8+CisgICAgICAgICA8L2ZyYW1lc2V0PgorICAgICAgICAgPGZyYW1lIHNyYz0ib3ZlcnZpZXctc3VtbWFyeS5odG1sIiBuYW1lPSJjbGFzc0ZyYW1lIi8+CisgICAgICA8L2ZyYW1lc2V0PgorICAgICAgPG5vZnJhbWVzPgorICAgICAgICAgPGgyPkZyYW1lIEFsZXJ0PC9oMj4KKyAgICAgICAgIDxwPgorICAgICAgICAgICAgVGhpcyBkb2N1bWVudCBpcyBkZXNpZ25lZCB0byBiZSB2aWV3ZWQgdXNpbmcgdGhlIGZyYW1lcyBmZWF0dXJlLiBJZiB5b3Ugc2VlIHRoaXMgbWVzc2FnZSwgeW91IGFyZSB1c2luZyBhIG5vbi1mcmFtZS1jYXBhYmxlIHdlYiBjbGllbnQuCisgICAgICAgICA8L3A+CisgICAgICA8L25vZnJhbWVzPgorPC9odG1sPgorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gdGhpcyBpcyB0aGUgc3R5bGVzaGVldCBjc3MgdG8gdXNlIGZvciBuZWFybHkgZXZlcnl0aGluZyAtLT4KKzx4c2w6dGVtcGxhdGUgbmFtZT0ic3R5bGVzaGVldC5jc3MiPgorICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICBib2R5IHsKKyAgICBmb250Om5vcm1hbCA2OCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2E7CisgICAgY29sb3I6IzAwMDAwMDsKKyAgICB9CisgICAgdGFibGUgdHIgdGQsIHRyIHRoIHsKKyAgICAgIGZvbnQtc2l6ZTogNjglOworICAgIH0KKyAgICB0YWJsZS5kZXRhaWxzIHRyIHRoeworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAgIHRleHQtYWxpZ246bGVmdDsKKyAgICBiYWNrZ3JvdW5kOiNhNmNhZjA7CisgICAgfQorICAgIHRhYmxlLmRldGFpbHMgdHIgdGR7CisgICAgYmFja2dyb3VuZDojZWVlZWUwOworICAgIH0KKworICAgIHAgeworICAgIGxpbmUtaGVpZ2h0OjEuNWVtOworICAgIG1hcmdpbi10b3A6MC41ZW07IG1hcmdpbi1ib3R0b206MS4wZW07CisgICAgbWFyZ2luLWxlZnQ6MmVtOworICAgIG1hcmdpbi1yaWdodDoyZW07CisgICAgfQorICAgIGgxIHsKKyAgICBtYXJnaW46IDBweCAwcHggNXB4OyBmb250OiAxNjUlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCisgICAgfQorICAgIGgyIHsKKyAgICBtYXJnaW4tdG9wOiAxZW07IG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDEyNSUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EKKyAgICB9CisgICAgaDMgeworICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDExNSUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EKKyAgICB9CisgICAgaDQgeworICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDEwMCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EKKyAgICB9CisgICAgaDUgeworICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDEwMCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EKKyAgICB9CisgICAgaDYgeworICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDEwMCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EKKyAgICB9CisgICAgLkVycm9yIHsKKyAgICBmb250LXdlaWdodDpib2xkOyBjb2xvcjpyZWQ7CisgICAgfQorICAgIC5GYWlsdXJlIHsKKyAgICBmb250LXdlaWdodDpib2xkOyBjb2xvcjpwdXJwbGU7CisgICAgfQorICAgIC5Qcm9wZXJ0aWVzIHsKKyAgICB0ZXh0LWFsaWduOnJpZ2h0OworICAgIH0KKyAgPC9zdHlsZT4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJKRGVwZW5kIiBtb2RlPSJvdmVydmlldy5wYWNrYWdlcyI+CisgICA8aHRtbD4KKyAgICAgIDxoZWFkPgorICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic3R5bGVzaGVldC5jc3MiLz4KKyAgICAgIDwvaGVhZD4KKyAgICAgIDxib2R5PgorICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiLz4KKyAgPHRhYmxlIHdpZHRoPSIxMDAlIj48dHIgYWxpZ249ImxlZnQiPjxoMj5TdW1tYXJ5PC9oMj48dGQ+CisgIDwvdGQ+PHRkIGFsaWduPSJyaWdodCI+CisgIFtzdW1tYXJ5XQorICBbPGEgaHJlZj0ib3ZlcnZpZXctcGFja2FnZXMuaHRtbCI+cGFja2FnZXM8L2E+XQorICBbPGEgaHJlZj0ib3ZlcnZpZXctY3ljbGVzLmh0bWwiPmN5Y2xlczwvYT5dCisgIFs8YSBocmVmPSJvdmVydmlldy1leHBsYW5hdGlvbnMuaHRtbCI+ZXhwbGFuYXRpb25zPC9hPl0KKyAgIDwvdGQ+PC90cj48L3RhYmxlPgorICAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBjbGFzcz0iZGV0YWlscyI+CisgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICA8dGg+UGFja2FnZTwvdGg+CisgICAgICAgICAgICAgICA8dGg+VG90YWwgQ2xhc3NlczwvdGg+CisgICAgICAgICAgICAgICA8dGg+PGEgaHJlZj0ib3ZlcnZpZXctZXhwbGFuYXRpb25zLmh0bWwjRVhudW1iZXIiPkFic3RyYWN0IENsYXNzZXM8L2E+PC90aD4KKyAgICAgICAgICAgICAgIDx0aD48YSBocmVmPSJvdmVydmlldy1leHBsYW5hdGlvbnMuaHRtbCNFWG51bWJlciI+Q29uY3JldGUgQ2xhc3NlczwvYT48L3RoPgorICAgICAgICAgICAgICAgPHRoPjxhIGhyZWY9Im92ZXJ2aWV3LWV4cGxhbmF0aW9ucy5odG1sI0VYYWZmZXJlbnQiPkFmZmVyZW50IENvdXBsaW5nczwvYT48L3RoPgorICAgICAgICAgICAgICAgPHRoPjxhIGhyZWY9Im92ZXJ2aWV3LWV4cGxhbmF0aW9ucy5odG1sI0VYZWZmZXJlbnQiPkVmZmVyZW50IENvdXBsaW5nczwvYT48L3RoPgorICAgICAgICAgICAgICAgPHRoPjxhIGhyZWY9Im92ZXJ2aWV3LWV4cGxhbmF0aW9ucy5odG1sI0VYYWJzdHJhY3RuZXNzIj5BYnN0cmFjdG5lc3M8L2E+PC90aD4KKyAgICAgICAgICAgICAgIDx0aD48YSBocmVmPSJvdmVydmlldy1leHBsYW5hdGlvbnMuaHRtbCNFWGluc3RhYmlsaXR5Ij5JbnN0YWJpbGl0eTwvYT48L3RoPgorICAgICAgICAgICAgICAgPHRoPjxhIGhyZWY9Im92ZXJ2aWV3LWV4cGxhbmF0aW9ucy5odG1sI0VYZGlzdGFuY2UiPkRpc3RhbmNlPC9hPjwvdGg+CisKKyAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iLi9QYWNrYWdlcy9QYWNrYWdlIj4KKyAgICAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iY291bnQoZXJyb3IpID0gMCI+CisgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICA8dGQgYWxpZ249ImxlZnQiPgorICAgICAgICAgICAgICAgICAgICAgICAgPGE+CisgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj5vdmVydmlldy1wYWNrYWdlcy5odG1sI1BLPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iU3RhdHMvVG90YWxDbGFzc2VzIi8+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTdGF0cy9BYnN0cmFjdENsYXNzZXMiLz48L3RkPgorICAgICAgICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IlN0YXRzL0NvbmNyZXRlQ2xhc3NlcyIvPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iU3RhdHMvQ2EiLz48L3RkPgorICAgICAgICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IlN0YXRzL0NlIi8+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTdGF0cy9BIi8+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTdGF0cy9JIi8+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTdGF0cy9EIi8+PC90ZD4KKyAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii4vUGFja2FnZXMvUGFja2FnZSI+CisgICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9ImNvdW50KGVycm9yKSAmZ3Q7IDAiPgorICAgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICAgPHRkIGFsaWduPSJsZWZ0Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0ibGVmdCIgY29sc3Bhbj0iOCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImVycm9yIi8+PC90ZD4KKyAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICAgPC90YWJsZT4KKyAgICAgIDwvYm9keT4KKyAgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJKRGVwZW5kIiBtb2RlPSJwYWNrYWdlcy5kZXRhaWxzIj4KKyAgIDxodG1sPgorICAgICAgPGhlYWQ+CisgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic3R5bGVzaGVldC5jc3MiLz4KKyAgICAgIDwvaGVhZD4KKyAgICAgIDxib2R5PgorICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiLz4KKyAgPHRhYmxlIHdpZHRoPSIxMDAlIj48dHIgYWxpZ249ImxlZnQiPjxoMj5QYWNrYWdlczwvaDI+PHRkPgorICA8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPgorICBbPGEgaHJlZj0ib3ZlcnZpZXctc3VtbWFyeS5odG1sIj5zdW1tYXJ5PC9hPl0KKyAgW3BhY2thZ2VzXQorICBbPGEgaHJlZj0ib3ZlcnZpZXctY3ljbGVzLmh0bWwiPmN5Y2xlczwvYT5dCisgIFs8YSBocmVmPSJvdmVydmlldy1leHBsYW5hdGlvbnMuaHRtbCI+ZXhwbGFuYXRpb25zPC9hPl0KKyAgIDwvdGQ+PC90cj48L3RhYmxlPgorCisgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIuL1BhY2thZ2VzL1BhY2thZ2UiPgorICAgIDx4c2w6aWYgdGVzdD0iY291bnQoZXJyb3IpID0gMCI+CisgICAgICA8aDM+PGE+PHhzbDphdHRyaWJ1dGUgbmFtZT0ibmFtZSI+UEs8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L3hzbDphdHRyaWJ1dGU+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+PC9oMz4KKworICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+CisgICAgICAgIDx0ZD48YSBocmVmPSJvdmVydmlldy1leHBsYW5hdGlvbnMuaHRtbCNFWGFmZmVyZW50Ij5BZmZlcmVudCBDb3VwbGluZ3M8L2E+OiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iU3RhdHMvQ2EiLz48L3RkPgorICAgICAgICA8dGQ+PGEgaHJlZj0ib3ZlcnZpZXctZXhwbGFuYXRpb25zLmh0bWwjRVhlZmZlcmVudCI+RWZmZXJlbnQgQ291cGxpbmdzPC9hPjogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IlN0YXRzL0NlIi8+PC90ZD4KKyAgICAgICAgPHRkPjxhIGhyZWY9Im92ZXJ2aWV3LWV4cGxhbmF0aW9ucy5odG1sI0VYYWJzdHJhY3RuZXNzIj5BYnN0cmFjdG5lc3M8L2E+OiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iU3RhdHMvQSIvPjwvdGQ+CisgICAgICAgIDx0ZD48YSBocmVmPSJvdmVydmlldy1leHBsYW5hdGlvbnMuaHRtbCNFWGluc3RhYmlsaXR5Ij5JbnN0YWJpbGl0eTwvYT46IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTdGF0cy9JIi8+PC90ZD4KKyAgICAgICAgPHRkPjxhIGhyZWY9Im92ZXJ2aWV3LWV4cGxhbmF0aW9ucy5odG1sI0VYZGlzdGFuY2UiPkRpc3RhbmNlPC9hPjogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IlN0YXRzL0QiLz48L3RkPgorICAgICAgPC90cj48L3RhYmxlPgorCisgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiIGNsYXNzPSJkZXRhaWxzIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0aD5BYnN0cmFjdCBDbGFzc2VzPC90aD4KKyAgICAgICAgICA8dGg+Q29uY3JldGUgQ2xhc3NlczwvdGg+CisgICAgICAgICAgPHRoPlVzZWQgYnkgUGFja2FnZXM8L3RoPgorICAgICAgICAgIDx0aD5Vc2VzIFBhY2thZ2VzPC90aD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPHRyPgorICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjI1JSI+CisgICAgICAgICAgPHhzbDppZiB0ZXN0PSJjb3VudChBYnN0cmFjdENsYXNzZXMvQ2xhc3MpPTAiPgorICAgICAgICAgICAgICA8aT5Ob25lPC9pPgorICAgICAgICAgICAgPC94c2w6aWY+CisgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iQWJzdHJhY3RDbGFzc2VzL0NsYXNzIj4KKyAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5vZGUoKSIvPjxici8+CisgICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjI1JSI+CisgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9ImNvdW50KENvbmNyZXRlQ2xhc3Nlcy9DbGFzcyk9MCI+CisgICAgICAgICAgICAgIDxpPk5vbmU8L2k+CisgICAgICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJDb25jcmV0ZUNsYXNzZXMvQ2xhc3MiPgorICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0ibm9kZSgpIi8+PGJyLz4KKyAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUlIj4KKyAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iY291bnQoVXNlZEJ5L1BhY2thZ2UpPTAiPgorICAgICAgICAgICAgICA8aT5Ob25lPC9pPgorICAgICAgICAgICAgPC94c2w6aWY+CisgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iVXNlZEJ5L1BhY2thZ2UiPgorICAgICAgICAgICAgICA8YT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPm92ZXJ2aWV3LXBhY2thZ2VzLmh0bWwjUEs8eHNsOnZhbHVlLW9mIHNlbGVjdD0ibm9kZSgpIi8+PC94c2w6YXR0cmlidXRlPgorICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJub2RlKCkiLz4KKyAgICAgICAgICAgICAgPC9hPjxici8+CisgICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAgICAgICA8L3RkPgorICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjI1JSI+CisgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9ImNvdW50KERlcGVuZHNVcG9uL1BhY2thZ2UpPTAiPgorICAgICAgICAgICAgICA8aT5Ob25lPC9pPgorICAgICAgICAgICAgPC94c2w6aWY+CisgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iRGVwZW5kc1Vwb24vUGFja2FnZSI+CisgICAgICAgICAgICAgIDxhPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+b3ZlcnZpZXctcGFja2FnZXMuaHRtbCNQSzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJub2RlKCkiLz48L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5vZGUoKSIvPgorICAgICAgICAgICAgICA8L2E+PGJyLz4KKyAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICAgIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICA8L3RhYmxlPgorICAgIDwveHNsOmlmPgorICA8L3hzbDpmb3ItZWFjaD4KKyAgPCEtLSB0aGlzIGlzIG9mdGVuIGEgbG9uZyBsaXN0aW5nOyBwcm92aWRlIGEgbG93ZXIgbmF2aWdhdGlvbiB0YWJsZSBhbHNvIC0tPgorICA8dGFibGUgd2lkdGg9IjEwMCUiPjx0ciBhbGlnbj0ibGVmdCI+PHRkPjwvdGQ+PHRkIGFsaWduPSJyaWdodCI+CisgIFs8YSBocmVmPSJvdmVydmlldy1zdW1tYXJ5Lmh0bWwiPnN1bW1hcnk8L2E+XQorICBbcGFja2FnZXNdCisgIFs8YSBocmVmPSJvdmVydmlldy1jeWNsZXMuaHRtbCI+Y3ljbGVzPC9hPl0KKyAgWzxhIGhyZWY9Im92ZXJ2aWV3LWV4cGxhbmF0aW9ucy5odG1sIj5leHBsYW5hdGlvbnM8L2E+XQorICAgPC90ZD48L3RyPjwvdGFibGU+CisgICAgICA8L2JvZHk+CisgICA8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iSkRlcGVuZCIgbW9kZT0iY3ljbGVzLmRldGFpbHMiPgorICAgPGh0bWw+CisgICAgICA8aGVhZD4KKyAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InN0eWxlc2hlZXQuY3NzIi8+CisgICAgICA8L2hlYWQ+CisgICAgICA8Ym9keT4KKyAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWdlSGVhZGVyIi8+CisgIDx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyIGFsaWduPSJsZWZ0Ij48aDI+Q3ljbGVzPC9oMj48dGQ+CisgIDwvdGQ+PHRkIGFsaWduPSJyaWdodCI+CisgIFs8YSBocmVmPSJvdmVydmlldy1zdW1tYXJ5Lmh0bWwiPnN1bW1hcnk8L2E+XQorICBbPGEgaHJlZj0ib3ZlcnZpZXctcGFja2FnZXMuaHRtbCI+cGFja2FnZXM8L2E+XQorICBbY3ljbGVzXQorICBbPGEgaHJlZj0ib3ZlcnZpZXctZXhwbGFuYXRpb25zLmh0bWwiPmV4cGxhbmF0aW9uczwvYT5dCisgICA8L3RkPjwvdHI+PC90YWJsZT4KKyAgPCEtLTx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyPjx0ZD4KKyAgPC90ZD48dGQgYWxpZ249InJpZ2h0Ij4KKyAgICBbPGEgaHJlZj0iI05Wc3VtbWFyeSI+c3VtbWFyeTwvYT5dCisgIFs8YSBocmVmPSIjTlZwYWNrYWdlcyI+cGFja2FnZXM8L2E+XQorICBbPGEgaHJlZj0iI05WY3ljbGVzIj5jeWNsZXM8L2E+XQorICAgWzxhIGhyZWY9IiNOVmV4cGxhbmF0aW9ucyI+ZXhwbGFuYXRpb25zPC9hPl0KKyAgPC90ZD48L3RyPjwvdGFibGU+IC0tPgorCisgIDx4c2w6aWYgdGVzdD0iY291bnQoQ3ljbGVzL1BhY2thZ2UpID0gMCI+CisgICAgPHA+VGhlcmUgYXJlIG5vIGN5Y2xpYyBkZXBlbmRhbmNpZXMuPC9wPgorICA8L3hzbDppZj4KKyAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkN5Y2xlcy9QYWNrYWdlIj4KKyAgICAgPGgzPjxhPjx4c2w6YXR0cmlidXRlIG5hbWU9Im5hbWUiPiNDWTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJATmFtZSIvPjwveHNsOmF0dHJpYnV0ZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQE5hbWUiLz48L2E+PC9oMz48cD4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iUGFja2FnZSI+CisgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjxici8+CisgICAgPC94c2w6Zm9yLWVhY2g+PC9wPgorICA8L3hzbDpmb3ItZWFjaD4KKyAgPCEtLSB0aGlzIGlzIG9mdGVuIGEgbG9uZyBsaXN0aW5nOyBwcm92aWRlIGEgbG93ZXIgbmF2aWdhdGlvbiB0YWJsZSBhbHNvIC0tPgorICA8dGFibGUgd2lkdGg9IjEwMCUiPjx0ciBhbGlnbj0ibGVmdCI+PHRkPjwvdGQ+PHRkIGFsaWduPSJyaWdodCI+CisgIFs8YSBocmVmPSJvdmVydmlldy1zdW1tYXJ5Lmh0bWwiPnN1bW1hcnk8L2E+XQorICBbPGEgaHJlZj0ib3ZlcnZpZXctcGFja2FnZXMuaHRtbCI+cGFja2FnZXM8L2E+XQorICBbY3ljbGVzXQorICBbPGEgaHJlZj0ib3ZlcnZpZXctZXhwbGFuYXRpb25zLmh0bWwiPmV4cGxhbmF0aW9uczwvYT5dCisgICA8L3RkPjwvdHI+PC90YWJsZT4KKyAgPC9ib2R5PgorICA8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iSkRlcGVuZCIgbW9kZT0iZXhwbGFuYXRpb25zIj4KKyAgIDxodG1sPgorICAgICAgPGhlYWQ+CisgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzdHlsZXNoZWV0LmNzcyIvPgorICAgICAgPC9oZWFkPgorICAgICAgPGJvZHk+CisgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGFnZUhlYWRlciIvPgorCisgIDx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyIGFsaWduPSJsZWZ0Ij48aDI+RXhwbGFuYXRpb25zPC9oMj48dGQ+CisgIDwvdGQ+PHRkIGFsaWduPSJyaWdodCI+CisgIFs8YSBocmVmPSJvdmVydmlldy1zdW1tYXJ5Lmh0bWwiPnN1bW1hcnk8L2E+XQorICBbPGEgaHJlZj0ib3ZlcnZpZXctcGFja2FnZXMuaHRtbCI+cGFja2FnZXM8L2E+XQorICBbPGEgaHJlZj0ib3ZlcnZpZXctY3ljbGVzLmh0bWwiPmN5Y2xlczwvYT5dCisgIFtleHBsYW5hdGlvbnNdCisgICA8L3RkPjwvdHI+PC90YWJsZT4KKworICA8cD5UaGUgZm9sbG93aW5nIGV4cGxhbmF0aW9ucyBhcmUgZm9yIHF1aWNrIHJlZmVyZW5jZSBhbmQgYXJlIGxpZnRlZCBkaXJlY3RseSBmcm9tIHRoZSBvcmlnaW5hbCA8YSBocmVmPSJodHRwOi8vd3d3LmNsYXJrd2FyZS5jb20vc29mdHdhcmUvSkRlcGVuZC5odG1sIj5KRGVwZW5kIGRvY3VtZW50YXRpb248L2E+LjwvcD4KKworICA8aDM+PGEgbmFtZT0iRVhudW1iZXIiPk51bWJlciBvZiBDbGFzc2VzPC9hPjwvaDM+CisgICAgPHA+VGhlIG51bWJlciBvZiBjb25jcmV0ZSBhbmQgYWJzdHJhY3QgY2xhc3NlcyAoYW5kIGludGVyZmFjZXMpIGluIHRoZSBwYWNrYWdlIGlzIGFuIGluZGljYXRvciBvZiB0aGUgZXh0ZW5zaWJpbGl0eSBvZiB0aGUgcGFja2FnZS48L3A+CisgIDxoMz48YSBuYW1lPSJFWGFmZmVyZW50Ij5BZmZlcmVudCBDb3VwbGluZ3M8L2E+PC9oMz4KKyAgICA8cD5UaGUgbnVtYmVyIG9mIG90aGVyIHBhY2thZ2VzIHRoYXQgZGVwZW5kIHVwb24gY2xhc3NlcyB3aXRoaW4gdGhlIHBhY2thZ2UgaXMgYW4gaW5kaWNhdG9yIG9mIHRoZSBwYWNrYWdlJ3MgcmVzcG9uc2liaWxpdHkuIDwvcD4KKyAgPGgzPjxhIG5hbWU9IkVYZWZmZXJlbnQiPkVmZmVyZW50IENvdXBsaW5nczwvYT48L2gzPgorICAgIDxwPlRoZSBudW1iZXIgb2Ygb3RoZXIgcGFja2FnZXMgdGhhdCB0aGUgY2xhc3NlcyBpbiB0aGUgcGFja2FnZSBkZXBlbmQgdXBvbiBpcyBhbiBpbmRpY2F0b3Igb2YgdGhlIHBhY2thZ2UncyBpbmRlcGVuZGVuY2UuIDwvcD4KKyAgPGgzPjxhIG5hbWU9IkVYYWJzdHJhY3RuZXNzIj5BYnN0cmFjdG5lc3M8L2E+PC9oMz4KKyAgICA8cD5UaGUgcmF0aW8gb2YgdGhlIG51bWJlciBvZiBhYnN0cmFjdCBjbGFzc2VzIChhbmQgaW50ZXJmYWNlcykgaW4gdGhlIGFuYWx5emVkIHBhY2thZ2UgdG8gdGhlIHRvdGFsIG51bWJlciBvZiBjbGFzc2VzIGluIHRoZSBhbmFseXplZCBwYWNrYWdlLiA8L3A+CisgICAgPHA+VGhlIHJhbmdlIGZvciB0aGlzIG1ldHJpYyBpcyAwIHRvIDEsIHdpdGggQT0wIGluZGljYXRpbmcgYSBjb21wbGV0ZWx5IGNvbmNyZXRlIHBhY2thZ2UgYW5kIEE9MSBpbmRpY2F0aW5nIGEgY29tcGxldGVseSBhYnN0cmFjdCBwYWNrYWdlLiA8L3A+CisgIDxoMz48YSBuYW1lPSJFWGluc3RhYmlsaXR5Ij5JbnN0YWJpbGl0eTwvYT48L2gzPgorICAgIDxwPlRoZSByYXRpbyBvZiBlZmZlcmVudCBjb3VwbGluZyAoQ2UpIHRvIHRvdGFsIGNvdXBsaW5nIChDZSAvIChDZSArIENhKSkuIFRoaXMgbWV0cmljIGlzIGFuIGluZGljYXRvciBvZiB0aGUgcGFja2FnZSdzIHJlc2lsaWVuY2UgdG8gY2hhbmdlLiA8L3A+CisgICAgPHA+VGhlIHJhbmdlIGZvciB0aGlzIG1ldHJpYyBpcyAwIHRvIDEsIHdpdGggST0wIGluZGljYXRpbmcgYSBjb21wbGV0ZWx5IHN0YWJsZSBwYWNrYWdlIGFuZCBJPTEgaW5kaWNhdGluZyBhIGNvbXBsZXRlbHkgaW5zdGFibGUgcGFja2FnZS4gPC9wPgorICA8aDM+PGEgbmFtZT0iRVhkaXN0YW5jZSI+RGlzdGFuY2U8L2E+PC9oMz4KKyAgICA8cD5UaGUgcGVycGVuZGljdWxhciBkaXN0YW5jZSBvZiBhIHBhY2thZ2UgZnJvbSB0aGUgaWRlYWxpemVkIGxpbmUgQSArIEkgPSAxLiBUaGlzIG1ldHJpYyBpcyBhbiBpbmRpY2F0b3Igb2YgdGhlIHBhY2thZ2UncyBiYWxhbmNlIGJldHdlZW4gYWJzdHJhY3RuZXNzIGFuZCBzdGFiaWxpdHkuIDwvcD4KKyAgICA8cD5BIHBhY2thZ2Ugc3F1YXJlbHkgb24gdGhlIG1haW4gc2VxdWVuY2UgaXMgb3B0aW1hbGx5IGJhbGFuY2VkIHdpdGggcmVzcGVjdCB0byBpdHMgYWJzdHJhY3RuZXNzIGFuZCBzdGFiaWxpdHkuIElkZWFsIHBhY2thZ2VzIGFyZSBlaXRoZXIgY29tcGxldGVseSBhYnN0cmFjdCBhbmQgc3RhYmxlICh4PTAsIHk9MSkgb3IgY29tcGxldGVseSBjb25jcmV0ZSBhbmQgaW5zdGFibGUgKHg9MSwgeT0wKS4gPC9wPgorICAgIDxwPlRoZSByYW5nZSBmb3IgdGhpcyBtZXRyaWMgaXMgMCB0byAxLCB3aXRoIEQ9MCBpbmRpY2F0aW5nIGEgcGFja2FnZSB0aGF0IGlzIGNvaW5jaWRlbnQgd2l0aCB0aGUgbWFpbiBzZXF1ZW5jZSBhbmQgRD0xIGluZGljYXRpbmcgYSBwYWNrYWdlIHRoYXQgaXMgYXMgZmFyIGZyb20gdGhlIG1haW4gc2VxdWVuY2UgYXMgcG9zc2libGUuIDwvcD4KKworICAgICAgPC9ib2R5PgorICAgPC9odG1sPgorPC94c2w6dGVtcGxhdGU+CisKKworPCEtLQorQ3JlYXRlcyBhbiBodG1sIGZpbGUgdGhhdCBjb250YWlucyBhIGxpbmsgdG8gYWxsIHBhY2thZ2UgbGlua3MgaW4gb3ZlcnZpZXctcGFja2FnZXMuaHRtbC4KKyAgQGJ1ZyB0aGVyZSB3aWxsIGJlIGEgcHJvYmxlbSBoZXJlLCBJIGRvbid0IGtub3cgeWV0IGhvdyB0byBoYW5kbGUgdW5uYW1lZCBwYWNrYWdlIDooCistLT4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9IkpEZXBlbmQvUGFja2FnZXMiIG1vZGU9ImFsbC5wYWNrYWdlcyI+CisgIDxodG1sPgorICAgIDxoZWFkPgorICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic3R5bGVzaGVldC5jc3MiLz4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgIDx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyIGFsaWduPSJsZWZ0Ij48dGQ+PC90ZD48dGQgbm93cmFwPSJub3dyYXAiIGFsaWduPSJyaWdodCI+CisgIFs8YSBocmVmPSJvdmVydmlldy1zdW1tYXJ5Lmh0bWwiIHRhcmdldD0iY2xhc3NGcmFtZSI+c3VtbWFyeTwvYT5dCisgIFs8YSBocmVmPSJvdmVydmlldy1wYWNrYWdlcy5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPnBhY2thZ2VzPC9hPl0KKyAgWzxhIGhyZWY9Im92ZXJ2aWV3LWN5Y2xlcy5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPmN5Y2xlczwvYT5dCisgIFs8YSBocmVmPSJvdmVydmlldy1leHBsYW5hdGlvbnMuaHRtbCIgdGFyZ2V0PSJjbGFzc0ZyYW1lIj5leHBsYW5hdGlvbnM8L2E+XQorICAgPC90ZD48L3RyPjwvdGFibGU+CisgICAgICA8aDI+UGFja2FnZXM8L2gyPgorICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiPgorICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iUGFja2FnZVtjb3VudChlcnJvcik9MF0iIG1vZGU9ImFsbC5wYWNrYWdlcy5saW5rIj4KKyAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iUGFja2FnZVtjb3VudChlcnJvcikgJmd0OyAwXSIgbW9kZT0iYWxsLnBhY2thZ2VzLm5vbGluayI+CisgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAbmFtZSIvPgorICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICAgICAgPC90YWJsZT4KKyAgICA8L2JvZHk+CisgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJKRGVwZW5kL1BhY2thZ2VzL1BhY2thZ2UiIG1vZGU9ImFsbC5wYWNrYWdlcy5saW5rIj4KKyAgPHRyPgorICAgIDx0ZCBub3dyYXA9Im5vd3JhcCI+CisgICAgICAgICA8YSBocmVmPSJvdmVydmlldy1wYWNrYWdlcy5odG1sI1BLe0BuYW1lfSIgdGFyZ2V0PSJjbGFzc0ZyYW1lIj4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICA8L2E+CisgICAgPC90ZD4KKyAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tCitJIGRvIG5vdCBrbm93IEpEZXBlbmQgZW5vdWdoIHRvIGtub3cgaWYgZXZlcnkgZXJyb3IgcmVzdWx0cyBpbiBhIG5vbi1hbmFseXplZCBwYWNrYWdlLAorYnV0IHRoYXQgaXMgaG93IEkgYW0gcHJlc2VudGluZyBpdCB0byB0aGUgdmlld2VyLiAgVGhpcyBtYXkgbmVlZCB0byBjaGFuZ2UuCisgIEBidWcgdGhlcmUgd2lsbCBiZSBhIHByb2JsZW0gaGVyZSwgSSBkb24ndCBrbm93IHlldCBob3cgdG8gaGFuZGxlIHVubmFtZWQgcGFja2FnZSA6KAorLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJKRGVwZW5kL1BhY2thZ2VzL1BhY2thZ2UiIG1vZGU9ImFsbC5wYWNrYWdlcy5ub2xpbmsiPgorICA8dHI+CisgICAgPHRkIG5vd3JhcD0ibm93cmFwIj4KKyAgICAgICBOb3QgQW5hbHl6ZWQ6IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgIDwvdGQ+CisgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLQorQ3JlYXRlcyBhbiBodG1sIGZpbGUgdGhhdCBjb250YWlucyBhIGxpbmsgdG8gYWxsIHBhY2thZ2UgbGlua3MgaW4gb3ZlcnZpZXctY3ljbGVzLmh0bWwuCisgIEBidWcgdGhlcmUgd2lsbCBiZSBhIHByb2JsZW0gaGVyZSwgSSBkb24ndCBrbm93IHlldCBob3cgdG8gaGFuZGxlIHVubmFtZWQgcGFja2FnZSA6KAorLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJKRGVwZW5kL0N5Y2xlcyIgbW9kZT0iYWxsLmN5Y2xlcyI+CisgIDxodG1sPgorICAgIDxoZWFkPgorICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic3R5bGVzaGVldC5jc3MiLz4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgIDx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyIGFsaWduPSJsZWZ0Ij48dGQ+PC90ZD48dGQgbm93cmFwPSJub3dyYXAiIGFsaWduPSJyaWdodCI+CisgIFs8YSBocmVmPSJvdmVydmlldy1zdW1tYXJ5Lmh0bWwiIHRhcmdldD0iY2xhc3NGcmFtZSI+c3VtbWFyeTwvYT5dCisgIFs8YSBocmVmPSJvdmVydmlldy1wYWNrYWdlcy5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPnBhY2thZ2VzPC9hPl0KKyAgWzxhIGhyZWY9Im92ZXJ2aWV3LWN5Y2xlcy5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPmN5Y2xlczwvYT5dCisgIFs8YSBocmVmPSJvdmVydmlldy1leHBsYW5hdGlvbnMuaHRtbCIgdGFyZ2V0PSJjbGFzc0ZyYW1lIj5leHBsYW5hdGlvbnM8L2E+XQorICAgPC90ZD48L3RyPjwvdGFibGU+CisgICAgICA8aDI+Q3ljbGVzPC9oMj4KKyAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJQYWNrYWdlIiBtb2RlPSJhbGwuY3ljbGVzIj4KKyAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBOYW1lIi8+CisgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgICA8L3RhYmxlPgorICAgIDwvYm9keT4KKyAgPC9odG1sPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9IkpEZXBlbmQvQ3ljbGVzL1BhY2thZ2UiIG1vZGU9ImFsbC5jeWNsZXMiPgorICA8dHI+CisgICAgPHRkIG5vd3JhcD0ibm93cmFwIj4KKyAgICAgICAgIDxhIGhyZWY9Im92ZXJ2aWV3LWN5Y2xlcy5odG1sI0NZe0BOYW1lfSIgdGFyZ2V0PSJjbGFzc0ZyYW1lIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQE5hbWUiLz48L2E+CisgICAgPC90ZD4KKyAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIFBhZ2UgSEVBREVSIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJwYWdlSGVhZGVyIj4KKyAgIDxoMT5KRGVwZW5kIEFuYWx5c2lzPC9oMT4KKyAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KKyAgPHRyPgorICAgIDx0ZCBhbGlnbj0ibGVmdCI+PC90ZD4KKyAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPkRlc2lnbmVkIGZvciB1c2Ugd2l0aCA8YSBocmVmPSJodHRwOi8vd3d3LmNsYXJrd2FyZS5jb20vc29mdHdhcmUvSkRlcGVuZC5odG1sIj5KRGVwZW5kPC9hPiBhbmQgPGEgaHJlZj0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZyI+QW50PC9hPi48L3RkPgorICA8L3RyPgorICA8L3RhYmxlPgorICA8aHIgc2l6ZT0iMSIvPgorPC94c2w6dGVtcGxhdGU+CisKKzwveHNsOnN0eWxlc2hlZXQ+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9qZGVwZW5kLnhzbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL2pkZXBlbmQueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4MTMyOTcKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9qZGVwZW5kLnhzbApAQCAtMCwwICsxLDI3NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+CisKKzwhLS0KKyAgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCistLT4KKworPHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBpbmRlbnQ9InllcyIgIGVuY29kaW5nPSJVUy1BU0NJSSIvPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJKRGVwZW5kIj4KKyAgICA8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPkpEZXBlbmQgQW5hbHlzaXM8L3RpdGxlPgorICAgICAgICAKKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgYm9keSB7CisgICAgICAgIGZvbnQ6bm9ybWFsIDY4JSB2ZXJkYW5hLGFyaWFsLGhlbHZldGljYTsKKyAgICAgICAgY29sb3I6IzAwMDAwMDsKKyAgICAgIH0KKyAgICAgIHRhYmxlIHRyIHRkLCB0ciB0aCB7CisgICAgICAgICAgZm9udC1zaXplOiA2OCU7CisgICAgICB9CisgICAgICB0YWJsZS5kZXRhaWxzIHRyIHRoeworICAgICAgICBmb250LXdlaWdodDogYm9sZDsKKyAgICAgICAgdGV4dC1hbGlnbjpsZWZ0OworICAgICAgICBiYWNrZ3JvdW5kOiNhNmNhZjA7CisgICAgICB9CisgICAgICB0YWJsZS5kZXRhaWxzIHRyIHRkeworICAgICAgICBiYWNrZ3JvdW5kOiNlZWVlZTA7CisgICAgICB9CisgICAgICAKKyAgICAgIHAgeworICAgICAgICBsaW5lLWhlaWdodDoxLjVlbTsKKyAgICAgICAgbWFyZ2luLXRvcDowLjVlbTsgbWFyZ2luLWJvdHRvbToxLjBlbTsKKyAgICAgICAgbWFyZ2luLWxlZnQ6MmVtOworICAgICAgICBtYXJnaW4tcmlnaHQ6MmVtOworICAgICAgfQorICAgICAgaDEgeworICAgICAgICBtYXJnaW46IDBweCAwcHggNXB4OyBmb250OiAxNjUlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCisgICAgICB9CisgICAgICBoMiB7CisgICAgICAgIG1hcmdpbi10b3A6IDFlbTsgbWFyZ2luLWJvdHRvbTogMC41ZW07IGZvbnQ6IGJvbGQgMTI1JSB2ZXJkYW5hLGFyaWFsLGhlbHZldGljYQorICAgICAgfQorICAgICAgaDMgeworICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgZm9udDogYm9sZCAxMTUlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCisgICAgICB9CisgICAgICBoNCB7CisgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDEwMCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EKKyAgICAgIH0KKyAgICAgIGg1IHsKKyAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IGZvbnQ6IGJvbGQgMTAwJSB2ZXJkYW5hLGFyaWFsLGhlbHZldGljYQorICAgICAgfQorICAgICAgaDYgeworICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgZm9udDogYm9sZCAxMDAlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCisgICAgICB9CisgICAgICAuRXJyb3IgeworICAgICAgICBmb250LXdlaWdodDpib2xkOyBjb2xvcjpyZWQ7CisgICAgICB9CisgICAgICAuRmFpbHVyZSB7CisgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7IGNvbG9yOnB1cnBsZTsKKyAgICAgIH0KKyAgICAgIC5Qcm9wZXJ0aWVzIHsKKyAgICAgICAgdGV4dC1hbGlnbjpyaWdodDsKKyAgICAgIH0KKyAgICAgIDwvc3R5bGU+CisgICAgICAgIAorICAgICAgICAKKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgPCEtLWgxPkpEZXBlbmQgUmVwb3J0PC9oMT4KKyAgICA8dWw+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii4vUGFja2FnZXMvUGFja2FnZSI+CisgICAgICAgICAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgPGxpPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvbGk+CisgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPC91bC0tPgorICAgIAorICAgIDxoMT48YSBuYW1lPSJ0b3AiPkpEZXBlbmQgQW5hbHlzaXM8L2E+PC9oMT4KKyAgICA8cCBhbGlnbj0icmlnaHQiPkRlc2lnbmVkIGZvciB1c2Ugd2l0aCA8YSBocmVmPSJodHRwOi8vd3d3LmNsYXJrd2FyZS5jb20vc29mdHdhcmUvSkRlcGVuZC5odG1sIj5KRGVwZW5kPC9hPiBhbmQgPGEgaHJlZj0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZyI+QW50PC9hPi48L3A+CisgICAgPGhyIHNpemU9IjIiIC8+CisgICAgCisgICAgPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+PHRkPgorICAgIDxhIG5hbWU9Ik5Wc3VtbWFyeSI+PGgyPlN1bW1hcnk8L2gyPjwvYT4KKyAgICA8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPgorICAgIFs8YSBocmVmPSIjTlZzdW1tYXJ5Ij5zdW1tYXJ5PC9hPl0KKyAgICBbPGEgaHJlZj0iI05WcGFja2FnZXMiPnBhY2thZ2VzPC9hPl0KKyAgICBbPGEgaHJlZj0iI05WY3ljbGVzIj5jeWNsZXM8L2E+XQorICAgIFs8YSBocmVmPSIjTlZleHBsYW5hdGlvbnMiPmV4cGxhbmF0aW9uczwvYT5dCisgICAgPC90ZD48L3RyPjwvdGFibGU+CisgICAgCisgICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBjbGFzcz0iZGV0YWlscyI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICAgIDx0aD5QYWNrYWdlPC90aD4KKyAgICAgICAgICAgIDx0aD5Ub3RhbCBDbGFzc2VzPC90aD4KKyAgICAgICAgICAgIDx0aD48YSBocmVmPSIjRVhudW1iZXIiPkFic3RyYWN0IENsYXNzZXM8L2E+PC90aD4KKyAgICAgICAgICAgIDx0aD48YSBocmVmPSIjRVhudW1iZXIiPkNvbmNyZXRlIENsYXNzZXM8L2E+PC90aD4KKyAgICAgICAgICAgIDx0aD48YSBocmVmPSIjRVhhZmZlcmVudCI+QWZmZXJlbnQgQ291cGxpbmdzPC9hPjwvdGg+CisgICAgICAgICAgICA8dGg+PGEgaHJlZj0iI0VYZWZmZXJlbnQiPkVmZmVyZW50IENvdXBsaW5nczwvYT48L3RoPgorICAgICAgICAgICAgPHRoPjxhIGhyZWY9IiNFWGFic3RyYWN0bmVzcyI+QWJzdHJhY3RuZXNzPC9hPjwvdGg+CisgICAgICAgICAgICA8dGg+PGEgaHJlZj0iI0VYaW5zdGFiaWxpdHkiPkluc3RhYmlsaXR5PC9hPjwvdGg+CisgICAgICAgICAgICA8dGg+PGEgaHJlZj0iI0VYZGlzdGFuY2UiPkRpc3RhbmNlPC9hPjwvdGg+CisgICAgICAgICAgICAKKyAgICAgICAgPC90cj4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iLi9QYWNrYWdlcy9QYWNrYWdlIj4KKyAgICAgICAgPHhzbDppZiB0ZXN0PSJjb3VudChlcnJvcikgPSAwIj4KKyAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICA8dGQgYWxpZ249ImxlZnQiPgorICAgICAgICAgICAgICAgICAgICA8YT4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+I1BLPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgICAgICAgICAgICAgIDwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTdGF0cy9Ub3RhbENsYXNzZXMiLz48L3RkPgorICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTdGF0cy9BYnN0cmFjdENsYXNzZXMiLz48L3RkPgorICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTdGF0cy9Db25jcmV0ZUNsYXNzZXMiLz48L3RkPgorICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTdGF0cy9DYSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IlN0YXRzL0NlIi8+PC90ZD4KKyAgICAgICAgICAgICAgICA8dGQgYWxpZ249InJpZ2h0Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iU3RhdHMvQSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgPHRkIGFsaWduPSJyaWdodCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IlN0YXRzL0kiLz48L3RkPgorICAgICAgICAgICAgICAgIDx0ZCBhbGlnbj0icmlnaHQiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTdGF0cy9EIi8+PC90ZD4KKyAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgPC90cj4KKyAgICAgICAgPC94c2w6aWY+CisgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii4vUGFja2FnZXMvUGFja2FnZSI+CisgICAgICAgIDx4c2w6aWYgdGVzdD0iY291bnQoZXJyb3IpICZndDsgMCI+CisgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgPHRkIGFsaWduPSJsZWZ0Ij4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICA8dGQgYWxpZ249ImxlZnQiIGNvbHNwYW49IjgiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJlcnJvciIvPjwvdGQ+CisgICAgICAgICAgICA8L3RyPgorICAgICAgICA8L3hzbDppZj4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICA8L3RhYmxlPgorICAgIAorICAgIDx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyPjx0ZD4KKyAgICA8YSBuYW1lPSJOVnBhY2thZ2VzIj48aDI+UGFja2FnZXM8L2gyPjwvYT4KKyAgICA8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPgorICAgIFs8YSBocmVmPSIjTlZzdW1tYXJ5Ij5zdW1tYXJ5PC9hPl0KKyAgICBbPGEgaHJlZj0iI05WcGFja2FnZXMiPnBhY2thZ2VzPC9hPl0KKyAgICBbPGEgaHJlZj0iI05WY3ljbGVzIj5jeWNsZXM8L2E+XQorICAgIFs8YSBocmVmPSIjTlZleHBsYW5hdGlvbnMiPmV4cGxhbmF0aW9uczwvYT5dCisgICAgPC90ZD48L3RyPjwvdGFibGU+CisgICAgCisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii4vUGFja2FnZXMvUGFja2FnZSI+CisgICAgICAgIDx4c2w6aWYgdGVzdD0iY291bnQoZXJyb3IpID0gMCI+CisgICAgICAgICAgICA8aDM+PGE+PHhzbDphdHRyaWJ1dGUgbmFtZT0ibmFtZSI+UEs8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+PC9oMz4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+CisgICAgICAgICAgICAgICAgPHRkPjxhIGhyZWY9IiNFWGFmZmVyZW50Ij5BZmZlcmVudCBDb3VwbGluZ3M8L2E+OiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iU3RhdHMvQ2EiLz48L3RkPgorICAgICAgICAgICAgICAgIDx0ZD48YSBocmVmPSIjRVhlZmZlcmVudCI+RWZmZXJlbnQgQ291cGxpbmdzPC9hPjogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IlN0YXRzL0NlIi8+PC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0iI0VYYWJzdHJhY3RuZXNzIj5BYnN0cmFjdG5lc3M8L2E+OiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iU3RhdHMvQSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgPHRkPjxhIGhyZWY9IiNFWGluc3RhYmlsaXR5Ij5JbnN0YWJpbGl0eTwvYT46IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJTdGF0cy9JIi8+PC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0iI0VYZGlzdGFuY2UiPkRpc3RhbmNlPC9hPjogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IlN0YXRzL0QiLz48L3RkPgorICAgICAgICAgICAgPC90cj48L3RhYmxlPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiIGNsYXNzPSJkZXRhaWxzIj4KKyAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgIDx0aD5BYnN0cmFjdCBDbGFzc2VzPC90aD4KKyAgICAgICAgICAgICAgICAgICAgPHRoPkNvbmNyZXRlIENsYXNzZXM8L3RoPgorICAgICAgICAgICAgICAgICAgICA8dGg+VXNlZCBieSBQYWNrYWdlczwvdGg+CisgICAgICAgICAgICAgICAgICAgIDx0aD5Vc2VzIFBhY2thZ2VzPC90aD4KKyAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUlIj4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJjb3VudChBYnN0cmFjdENsYXNzZXMvQ2xhc3MpPTAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpPk5vbmU8L2k+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJBYnN0cmFjdENsYXNzZXMvQ2xhc3MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJub2RlKCkiLz48YnIvPgorICAgICAgICAgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDx0ZCB2YWxpZ249InRvcCIgd2lkdGg9IjI1JSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9ImNvdW50KENvbmNyZXRlQ2xhc3Nlcy9DbGFzcyk9MCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGk+Tm9uZTwvaT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwveHNsOmlmPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IkNvbmNyZXRlQ2xhc3Nlcy9DbGFzcyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5vZGUoKSIvPjxici8+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjUlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iY291bnQoVXNlZEJ5L1BhY2thZ2UpPTAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpPk5vbmU8L2k+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJVc2VkQnkvUGFja2FnZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPiNQSzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJub2RlKCkiLz48L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJub2RlKCkiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PGJyLz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICA8dGQgdmFsaWduPSJ0b3AiIHdpZHRoPSIyNSUiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJjb3VudChEZXBlbmRzVXBvbi9QYWNrYWdlKT0wIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aT5Ob25lPC9pPgorICAgICAgICAgICAgICAgICAgICAgICAgPC94c2w6aWY+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iRGVwZW5kc1Vwb24vUGFja2FnZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPiNQSzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJub2RlKCkiLz48L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJub2RlKCkiLz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PGJyLz4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L3hzbDppZj4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAKKyAgICA8dGFibGUgd2lkdGg9IjEwMCUiPjx0cj48dGQ+CisgICAgPGEgbmFtZT0iTlZjeWNsZXMiPjxoMj5DeWNsZXM8L2gyPjwvYT4KKyAgICA8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPgorICAgIFs8YSBocmVmPSIjTlZzdW1tYXJ5Ij5zdW1tYXJ5PC9hPl0KKyAgICBbPGEgaHJlZj0iI05WcGFja2FnZXMiPnBhY2thZ2VzPC9hPl0KKyAgICBbPGEgaHJlZj0iI05WY3ljbGVzIj5jeWNsZXM8L2E+XQorICAgIFs8YSBocmVmPSIjTlZleHBsYW5hdGlvbnMiPmV4cGxhbmF0aW9uczwvYT5dCisgICAgPC90ZD48L3RyPjwvdGFibGU+CisgICAgCisgICAgPHhzbDppZiB0ZXN0PSJjb3VudChDeWNsZXMvUGFja2FnZSkgPSAwIj4KKyAgICAgICAgPHA+VGhlcmUgYXJlIG5vIGN5Y2xpYyBkZXBlbmRhbmNpZXMuPC9wPgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJDeWNsZXMvUGFja2FnZSI+CisgICAgICAgIDxoMz48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQE5hbWUiLz48L2gzPjxwPgorICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iUGFja2FnZSI+CisgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjxici8+CisgICAgICAgIDwveHNsOmZvci1lYWNoPjwvcD4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAKKyAgICA8dGFibGUgd2lkdGg9IjEwMCUiPjx0cj48dGQ+CisgICAgPGEgbmFtZT0iTlZleHBsYW5hdGlvbnMiPjxoMj5FeHBsYW5hdGlvbnM8L2gyPjwvYT4KKyAgICA8L3RkPjx0ZCBhbGlnbj0icmlnaHQiPgorICAgIFs8YSBocmVmPSIjTlZzdW1tYXJ5Ij5zdW1tYXJ5PC9hPl0KKyAgICBbPGEgaHJlZj0iI05WcGFja2FnZXMiPnBhY2thZ2VzPC9hPl0KKyAgICBbPGEgaHJlZj0iI05WY3ljbGVzIj5jeWNsZXM8L2E+XQorICAgIFs8YSBocmVmPSIjTlZleHBsYW5hdGlvbnMiPmV4cGxhbmF0aW9uczwvYT5dCisgICAgPC90ZD48L3RyPjwvdGFibGU+CisgICAgCisgICAgPHA+VGhlIGZvbGxvd2luZyBleHBsYW5hdGlvbnMgYXJlIGZvciBxdWljayByZWZlcmVuY2UgYW5kIGFyZSBsaWZ0ZWQgZGlyZWN0bHkgZnJvbSB0aGUgb3JpZ2luYWwgPGEgaHJlZj0iaHR0cDovL3d3dy5jbGFya3dhcmUuY29tL3NvZnR3YXJlL0pEZXBlbmQuaHRtbCI+SkRlcGVuZCBkb2N1bWVudGF0aW9uPC9hPi48L3A+CisgICAgCisgICAgPGgzPjxhIG5hbWU9IkVYbnVtYmVyIj5OdW1iZXIgb2YgQ2xhc3NlczwvYT48L2gzPgorICAgICAgICA8cD5UaGUgbnVtYmVyIG9mIGNvbmNyZXRlIGFuZCBhYnN0cmFjdCBjbGFzc2VzIChhbmQgaW50ZXJmYWNlcykgaW4gdGhlIHBhY2thZ2UgaXMgYW4gaW5kaWNhdG9yIG9mIHRoZSBleHRlbnNpYmlsaXR5IG9mIHRoZSBwYWNrYWdlLjwvcD4KKyAgICA8aDM+PGEgbmFtZT0iRVhhZmZlcmVudCI+QWZmZXJlbnQgQ291cGxpbmdzPC9hPjwvaDM+CisgICAgICAgIDxwPlRoZSBudW1iZXIgb2Ygb3RoZXIgcGFja2FnZXMgdGhhdCBkZXBlbmQgdXBvbiBjbGFzc2VzIHdpdGhpbiB0aGUgcGFja2FnZSBpcyBhbiBpbmRpY2F0b3Igb2YgdGhlIHBhY2thZ2UncyByZXNwb25zaWJpbGl0eS4gPC9wPgorICAgIDxoMz48YSBuYW1lPSJFWGVmZmVyZW50Ij5FZmZlcmVudCBDb3VwbGluZ3M8L2E+PC9oMz4KKyAgICAgICAgPHA+VGhlIG51bWJlciBvZiBvdGhlciBwYWNrYWdlcyB0aGF0IHRoZSBjbGFzc2VzIGluIHRoZSBwYWNrYWdlIGRlcGVuZCB1cG9uIGlzIGFuIGluZGljYXRvciBvZiB0aGUgcGFja2FnZSdzIGluZGVwZW5kZW5jZS4gPC9wPgorICAgIDxoMz48YSBuYW1lPSJFWGFic3RyYWN0bmVzcyI+QWJzdHJhY3RuZXNzPC9hPjwvaDM+IAorICAgICAgICA8cD5UaGUgcmF0aW8gb2YgdGhlIG51bWJlciBvZiBhYnN0cmFjdCBjbGFzc2VzIChhbmQgaW50ZXJmYWNlcykgaW4gdGhlIGFuYWx5emVkIHBhY2thZ2UgdG8gdGhlIHRvdGFsIG51bWJlciBvZiBjbGFzc2VzIGluIHRoZSBhbmFseXplZCBwYWNrYWdlLiA8L3A+CisgICAgICAgIDxwPlRoZSByYW5nZSBmb3IgdGhpcyBtZXRyaWMgaXMgMCB0byAxLCB3aXRoIEE9MCBpbmRpY2F0aW5nIGEgY29tcGxldGVseSBjb25jcmV0ZSBwYWNrYWdlIGFuZCBBPTEgaW5kaWNhdGluZyBhIGNvbXBsZXRlbHkgYWJzdHJhY3QgcGFja2FnZS4gPC9wPgorICAgIDxoMz48YSBuYW1lPSJFWGluc3RhYmlsaXR5Ij5JbnN0YWJpbGl0eTwvYT48L2gzPgorICAgICAgICA8cD5UaGUgcmF0aW8gb2YgZWZmZXJlbnQgY291cGxpbmcgKENlKSB0byB0b3RhbCBjb3VwbGluZyAoQ2UgLyAoQ2UgKyBDYSkpLiBUaGlzIG1ldHJpYyBpcyBhbiBpbmRpY2F0b3Igb2YgdGhlIHBhY2thZ2UncyByZXNpbGllbmNlIHRvIGNoYW5nZS4gPC9wPgorICAgICAgICA8cD5UaGUgcmFuZ2UgZm9yIHRoaXMgbWV0cmljIGlzIDAgdG8gMSwgd2l0aCBJPTAgaW5kaWNhdGluZyBhIGNvbXBsZXRlbHkgc3RhYmxlIHBhY2thZ2UgYW5kIEk9MSBpbmRpY2F0aW5nIGEgY29tcGxldGVseSBpbnN0YWJsZSBwYWNrYWdlLiA8L3A+CisgICAgPGgzPjxhIG5hbWU9IkVYZGlzdGFuY2UiPkRpc3RhbmNlPC9hPjwvaDM+CisgICAgICAgIDxwPlRoZSBwZXJwZW5kaWN1bGFyIGRpc3RhbmNlIG9mIGEgcGFja2FnZSBmcm9tIHRoZSBpZGVhbGl6ZWQgbGluZSBBICsgSSA9IDEuIFRoaXMgbWV0cmljIGlzIGFuIGluZGljYXRvciBvZiB0aGUgcGFja2FnZSdzIGJhbGFuY2UgYmV0d2VlbiBhYnN0cmFjdG5lc3MgYW5kIHN0YWJpbGl0eS4gPC9wPgorICAgICAgICA8cD5BIHBhY2thZ2Ugc3F1YXJlbHkgb24gdGhlIG1haW4gc2VxdWVuY2UgaXMgb3B0aW1hbGx5IGJhbGFuY2VkIHdpdGggcmVzcGVjdCB0byBpdHMgYWJzdHJhY3RuZXNzIGFuZCBzdGFiaWxpdHkuIElkZWFsIHBhY2thZ2VzIGFyZSBlaXRoZXIgY29tcGxldGVseSBhYnN0cmFjdCBhbmQgc3RhYmxlICh4PTAsIHk9MSkgb3IgY29tcGxldGVseSBjb25jcmV0ZSBhbmQgaW5zdGFibGUgKHg9MSwgeT0wKS4gPC9wPgorICAgICAgICA8cD5UaGUgcmFuZ2UgZm9yIHRoaXMgbWV0cmljIGlzIDAgdG8gMSwgd2l0aCBEPTAgaW5kaWNhdGluZyBhIHBhY2thZ2UgdGhhdCBpcyBjb2luY2lkZW50IHdpdGggdGhlIG1haW4gc2VxdWVuY2UgYW5kIEQ9MSBpbmRpY2F0aW5nIGEgcGFja2FnZSB0aGF0IGlzIGFzIGZhciBmcm9tIHRoZSBtYWluIHNlcXVlbmNlIGFzIHBvc3NpYmxlLiA8L3A+CisgICAgCisgICAgPC9ib2R5PgorICAgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCis8L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvanVuaXQtZnJhbWVzLXhhbGFuMS54c2wgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9qdW5pdC1mcmFtZXMteGFsYW4xLnhzbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTAxN2I5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvanVuaXQtZnJhbWVzLXhhbGFuMS54c2wKQEAgLTAsMCArMSw3MzUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiCisgICAgeG1sbnM6bHhzbHQ9Imh0dHA6Ly94bWwuYXBhY2hlLm9yZy94c2x0IgorICAgIHhtbG5zOnJlZGlyZWN0PSJvcmcuYXBhY2hlLnhhbGFuLmxpYi5SZWRpcmVjdCIKKyAgICB4bWxuczpzdHJpbmd1dGlscz0ieGFsYW46Ly9vcmcuYXBhY2hlLnRvb2xzLmFudC51dGlsLlN0cmluZ1V0aWxzIgorICAgIGV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzPSJyZWRpcmVjdCI+Cis8eHNsOm91dHB1dCBtZXRob2Q9Imh0bWwiIGluZGVudD0ieWVzIiBlbmNvZGluZz0iVVRGLTgiLz4KKzx4c2w6ZGVjaW1hbC1mb3JtYXQgZGVjaW1hbC1zZXBhcmF0b3I9Ii4iIGdyb3VwaW5nLXNlcGFyYXRvcj0iLCIvPgorPCEtLQorICAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAtLT4KKworPCEtLQorCisgU2FtcGxlIHN0eWxlc2hlZXQgdG8gYmUgdXNlZCB3aXRoIEFudCBKVW5pdFJlcG9ydCBvdXRwdXQuCisKKyBJdCBjcmVhdGVzIGEgc2V0IG9mIEhUTUwgZmlsZXMgYSBsYSBqYXZhZG9jIHdoZXJlIHlvdSBjYW4gYnJvd3NlIGVhc2lseQorIHRocm91Z2ggYWxsIHBhY2thZ2VzIGFuZCBjbGFzc2VzLgorCistLT4KKzx4c2w6cGFyYW0gbmFtZT0ib3V0cHV0LmRpciIgc2VsZWN0PSInLiciLz4KKworCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJ0ZXN0c3VpdGVzIj4KKyAgICA8IS0tIGNyZWF0ZSB0aGUgaW5kZXguaHRtbCAtLT4KKyAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS9pbmRleC5odG1sIj4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImluZGV4Lmh0bWwiLz4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgPCEtLSBjcmVhdGUgdGhlIHN0eWxlc2hlZXQuY3NzIC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L3N0eWxlc2hlZXQuY3NzIj4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN0eWxlc2hlZXQuY3NzIi8+CisgICAgPC9yZWRpcmVjdDp3cml0ZT4KKworICAgIDwhLS0gY3JlYXRlIHRoZSBvdmVydmlldy1wYWNrYWdlcy5odG1sIGF0IHRoZSByb290IC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0ib3ZlcnZpZXcucGFja2FnZXMiLz4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgPCEtLSBjcmVhdGUgdGhlIGFsbC1wYWNrYWdlcy5odG1sIGF0IHRoZSByb290IC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L292ZXJ2aWV3LWZyYW1lLmh0bWwiPgorICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImFsbC5wYWNrYWdlcyIvPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgICA8IS0tIGNyZWF0ZSB0aGUgYWxsLWNsYXNzZXMuaHRtbCBhdCB0aGUgcm9vdCAtLT4KKyAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS9hbGxjbGFzc2VzLWZyYW1lLmh0bWwiPgorICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImFsbC5jbGFzc2VzIi8+CisgICAgPC9yZWRpcmVjdDp3cml0ZT4KKworICAgIDwhLS0gcHJvY2VzcyBhbGwgcGFja2FnZXMgLS0+CisgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii4vdGVzdHN1aXRlW25vdCguL0BwYWNrYWdlID0gcHJlY2VkaW5nLXNpYmxpbmc6OnRlc3RzdWl0ZS9AcGFja2FnZSldIj4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhY2thZ2UiPgorICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im5hbWUiIHNlbGVjdD0iQHBhY2thZ2UiLz4KKyAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKzwveHNsOnRlbXBsYXRlPgorCisKKzx4c2w6dGVtcGxhdGUgbmFtZT0icGFja2FnZSI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJuYW1lIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLmRpciI+CisgICAgICAgIDx4c2w6aWYgdGVzdD0ibm90KCRuYW1lID0gJycpIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0idHJhbnNsYXRlKCRuYW1lLCcuJywnLycpIi8+PC94c2w6aWY+CisgICAgICAgIDx4c2w6aWYgdGVzdD0iJG5hbWUgPSAnJyI+LjwveHNsOmlmPgorICAgIDwveHNsOnZhcmlhYmxlPgorICAgIDwhLS1Qcm9jZXNzaW5nIHBhY2thZ2UgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+IGluIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkb3V0cHV0LmRpciIvPiAtLT4KKyAgICA8IS0tIGNyZWF0ZSBhIGNsYXNzZXMtbGlzdC5odG1sIGluIHRoZSBwYWNrYWdlIGRpcmVjdG9yeSAtLT4KKyAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS97JHBhY2thZ2UuZGlyfS9wYWNrYWdlLWZyYW1lLmh0bWwiPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY2xhc3Nlcy5saXN0Ij4KKyAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJuYW1lIiBzZWxlY3Q9IiRuYW1lIi8+CisgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC9yZWRpcmVjdDp3cml0ZT4KKworICAgIDwhLS0gY3JlYXRlIGEgcGFja2FnZS1zdW1tYXJ5Lmh0bWwgaW4gdGhlIHBhY2thZ2UgZGlyZWN0b3J5IC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L3skcGFja2FnZS5kaXJ9L3BhY2thZ2Utc3VtbWFyeS5odG1sIj4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhY2thZ2Uuc3VtbWFyeSI+CisgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibmFtZSIgc2VsZWN0PSIkbmFtZSIvPgorICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgICA8IS0tIGZvciBlYWNoIGNsYXNzLCBjcmVhdGVzIGEgQG5hbWUuaHRtbCAtLT4KKyAgICA8IS0tIEBidWcgdGhlcmUgd2lsbCBiZSBhIHByb2JsZW0gd2l0aCBpbm5lciBjbGFzc2VzIGhhdmluZyB0aGUgc2FtZSBuYW1lLCBpdCB3aWxsIGJlIG92ZXJ3cml0dGVuIC0tPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIvdGVzdHN1aXRlcy90ZXN0c3VpdGVbQHBhY2thZ2UgPSAkbmFtZV0iPgorICAgICAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS97JHBhY2thZ2UuZGlyfS97QG5hbWV9Lmh0bWwiPgorICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJjbGFzcy5kZXRhaWxzIi8+CisgICAgICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisgICAgICAgIDx4c2w6aWYgdGVzdD0ic3RyaW5nLWxlbmd0aCguL3N5c3RlbS1vdXQpIT0wIj4KKyAgICAgICAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS97JHBhY2thZ2UuZGlyfS97QG5hbWV9LW91dC5odG1sIj4KKyAgICAgICAgICAgIDxodG1sPgorICAgICAgICAgICAgICA8aGVhZD4KKyAgICAgICAgICAgICAgICA8dGl0bGU+U3RhbmRhcmQgT3V0cHV0IGZyb20gPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC90aXRsZT4KKyAgICAgICAgICAgICAgPC9oZWFkPgorICAgICAgICAgICAgICA8Ym9keT4KKyAgICAgICAgICAgICAgICA8cHJlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuL3N5c3RlbS1vdXQiLz48L3ByZT4KKyAgICAgICAgICAgICAgPC9ib2R5PgorICAgICAgICAgICAgPC9odG1sPgorICAgICAgICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisgICAgICAgIDwveHNsOmlmPgorICAgICAgICA8eHNsOmlmIHRlc3Q9InN0cmluZy1sZW5ndGgoLi9zeXN0ZW0tZXJyKSE9MCI+CisgICAgICAgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0veyRwYWNrYWdlLmRpcn0ve0BuYW1lfS1lcnIuaHRtbCI+CisgICAgICAgICAgICA8aHRtbD4KKyAgICAgICAgICAgICAgPGhlYWQ+CisgICAgICAgICAgICAgICAgPHRpdGxlPlN0YW5kYXJkIEVycm9yIGZyb20gPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC90aXRsZT4KKyAgICAgICAgICAgICAgPC9oZWFkPgorICAgICAgICAgICAgICA8Ym9keT4KKyAgICAgICAgICAgICAgICA8cHJlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuL3N5c3RlbS1lcnIiLz48L3ByZT4KKyAgICAgICAgICAgICAgPC9ib2R5PgorICAgICAgICAgICAgPC9odG1sPgorICAgICAgICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisgICAgICAgIDwveHNsOmlmPgorICAgIDwveHNsOmZvci1lYWNoPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbmFtZT0iaW5kZXguaHRtbCI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPlVuaXQgVGVzdCBSZXN1bHRzLjwvdGl0bGU+CisgICAgPC9oZWFkPgorICAgIDxmcmFtZXNldCBjb2xzPSIyMCUsODAlIj4KKyAgICAgICAgPGZyYW1lc2V0IHJvd3M9IjMwJSw3MCUiPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0ib3ZlcnZpZXctZnJhbWUuaHRtbCIgbmFtZT0icGFja2FnZUxpc3RGcmFtZSIvPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0iYWxsY2xhc3Nlcy1mcmFtZS5odG1sIiBuYW1lPSJjbGFzc0xpc3RGcmFtZSIvPgorICAgICAgICA8L2ZyYW1lc2V0PgorICAgICAgICA8ZnJhbWUgc3JjPSJvdmVydmlldy1zdW1tYXJ5Lmh0bWwiIG5hbWU9ImNsYXNzRnJhbWUiLz4KKyAgICAgICAgPG5vZnJhbWVzPgorICAgICAgICAgICAgPGgyPkZyYW1lIEFsZXJ0PC9oMj4KKyAgICAgICAgICAgIDxwPgorICAgICAgICAgICAgICAgIFRoaXMgZG9jdW1lbnQgaXMgZGVzaWduZWQgdG8gYmUgdmlld2VkIHVzaW5nIHRoZSBmcmFtZXMgZmVhdHVyZS4gSWYgeW91IHNlZSB0aGlzIG1lc3NhZ2UsIHlvdSBhcmUgdXNpbmcgYSBub24tZnJhbWUtY2FwYWJsZSB3ZWIgY2xpZW50LgorICAgICAgICAgICAgPC9wPgorICAgICAgICA8L25vZnJhbWVzPgorICAgIDwvZnJhbWVzZXQ+Cis8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSB0aGlzIGlzIHRoZSBzdHlsZXNoZWV0IGNzcyB0byB1c2UgZm9yIG5lYXJseSBldmVyeXRoaW5nIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJzdHlsZXNoZWV0LmNzcyI+Citib2R5IHsKKyAgICBmb250Om5vcm1hbCA2OCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2E7CisgICAgY29sb3I6IzAwMDAwMDsKK30KK3RhYmxlIHRyIHRkLCB0YWJsZSB0ciB0aCB7CisgICAgZm9udC1zaXplOiA2OCU7Cit9Cit0YWJsZS5kZXRhaWxzIHRyIHRoeworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAgIHRleHQtYWxpZ246bGVmdDsKKyAgICBiYWNrZ3JvdW5kOiNhNmNhZjA7Cit9Cit0YWJsZS5kZXRhaWxzIHRyIHRkeworICAgIGJhY2tncm91bmQ6I2VlZWVlMDsKK30KKworcCB7CisgICAgbGluZS1oZWlnaHQ6MS41ZW07CisgICAgbWFyZ2luLXRvcDowLjVlbTsgbWFyZ2luLWJvdHRvbToxLjBlbTsKK30KK2gxIHsKKyAgICBtYXJnaW46IDBweCAwcHggNXB4OyBmb250OiAxNjUlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCit9CitoMiB7CisgICAgbWFyZ2luLXRvcDogMWVtOyBtYXJnaW4tYm90dG9tOiAwLjVlbTsgZm9udDogYm9sZCAxMjUlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCit9CitoMyB7CisgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IGZvbnQ6IGJvbGQgMTE1JSB2ZXJkYW5hLGFyaWFsLGhlbHZldGljYQorfQoraDQgeworICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDEwMCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EKK30KK2g1IHsKKyAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgZm9udDogYm9sZCAxMDAlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCit9CitoNiB7CisgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IGZvbnQ6IGJvbGQgMTAwJSB2ZXJkYW5hLGFyaWFsLGhlbHZldGljYQorfQorLkVycm9yIHsKKyAgICBmb250LXdlaWdodDpib2xkOyBjb2xvcjpyZWQ7Cit9CisuRmFpbHVyZSB7CisgICAgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6cHVycGxlOworfQorLlByb3BlcnRpZXMgeworICB0ZXh0LWFsaWduOnJpZ2h0OworfQorPC94c2w6dGVtcGxhdGU+CisKKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgVGhpcyBwYWdlIGlzIGNyZWF0ZWQgZm9yIGV2ZXJ5IHRlc3RzdWl0ZSBjbGFzcy4KKyAgICBJdCBwcmludHMgYSBzdW1tYXJ5IG9mIHRoZSB0ZXN0c3VpdGUgYW5kIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0CisgICAgdGVzdGNhc2UgbWV0aG9kcy4KKyAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9InRlc3RzdWl0ZSIgbW9kZT0iY2xhc3MuZGV0YWlscyI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iQHBhY2thZ2UiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImNsYXNzLm5hbWUiPjx4c2w6aWYgdGVzdD0ibm90KCRwYWNrYWdlLm5hbWUgPSAnJykiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkcGFja2FnZS5uYW1lIi8+LjwveHNsOmlmPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwveHNsOnZhcmlhYmxlPgorICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgICA8dGl0bGU+VW5pdCBUZXN0IFJlc3VsdHM6IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2xhc3MubmFtZSIvPjwvdGl0bGU+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIgc2VsZWN0PSIkcGFja2FnZS5uYW1lIi8+CisgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CisgICAgICAgIHZhciBUZXN0Q2FzZXMgPSBuZXcgQXJyYXkoKTsKKyAgICAgICAgdmFyIGN1cjsKKyAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJwcm9wZXJ0aWVzIi8+CisgICAgICAgPC9zY3JpcHQ+CisgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGxhbmd1YWdlPSJKYXZhU2NyaXB0Ij48IVtDREFUQVsKKyAgICAgICAgZnVuY3Rpb24gZGlzcGxheVByb3BlcnRpZXMgKG5hbWUpIHsKKyAgICAgICAgICB2YXIgd2luID0gd2luZG93Lm9wZW4oJycsJ0pVbml0U3lzdGVtUHJvcGVydGllcycsJ3Njcm9sbGJhcnM9MSxyZXNpemFibGU9MScpOworICAgICAgICAgIHZhciBkb2MgPSB3aW4uZG9jdW1lbnQ7CisgICAgICAgICAgZG9jLm9wZW4oKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjxodG1sPjxoZWFkPjx0aXRsZT5Qcm9wZXJ0aWVzIG9mICIgKyBuYW1lICsgIjwvdGl0bGU+Iik7CisgICAgICAgICAgZG9jLndyaXRlKCI8c3R5bGUgdHlwZT1cInRleHQvY3NzXCI+Iik7CisgICAgICAgICAgZG9jLndyaXRlKCJib2R5IHtmb250Om5vcm1hbCA2OCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2E7IGNvbG9yOiMwMDAwMDA7IH0iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoInRhYmxlIHRyIHRkLCB0YWJsZSB0ciB0aCB7IGZvbnQtc2l6ZTogNjglOyB9Iik7CisgICAgICAgICAgZG9jLndyaXRlKCJ0YWJsZS5wcm9wZXJ0aWVzIHsgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlOyBib3JkZXItbGVmdDpzb2xpZCAxICNjY2NjY2M7IGJvcmRlci10b3A6c29saWQgMSAjY2NjY2NjOyBwYWRkaW5nOjVweDsgfSIpOworICAgICAgICAgIGRvYy53cml0ZSgidGFibGUucHJvcGVydGllcyB0aCB7IHRleHQtYWxpZ246bGVmdDsgYm9yZGVyLXJpZ2h0OnNvbGlkIDEgI2NjY2NjYzsgYm9yZGVyLWJvdHRvbTpzb2xpZCAxICNjY2NjY2M7IGJhY2tncm91bmQtY29sb3I6I2VlZWVlZTsgfSIpOworICAgICAgICAgIGRvYy53cml0ZSgidGFibGUucHJvcGVydGllcyB0ZCB7IGZvbnQ6bm9ybWFsOyB0ZXh0LWFsaWduOmxlZnQ7IGJvcmRlci1yaWdodDpzb2xpZCAxICNjY2NjY2M7IGJvcmRlci1ib3R0b206c29saWQgMSAjY2NjY2NjOyBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmZmOyB9Iik7CisgICAgICAgICAgZG9jLndyaXRlKCJoMyB7IG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDExNSUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EgfSIpOworICAgICAgICAgIGRvYy53cml0ZSgiPC9zdHlsZT4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjwvaGVhZD48Ym9keT4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjxoMz5Qcm9wZXJ0aWVzIG9mICIgKyBuYW1lICsgIjwvaDM+Iik7CisgICAgICAgICAgZG9jLndyaXRlKCI8ZGl2IGFsaWduPVwicmlnaHRcIj48YSBocmVmPVwiamF2YXNjcmlwdDp3aW5kb3cuY2xvc2UoKTtcIj5DbG9zZTwvYT48L2Rpdj4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjx0YWJsZSBjbGFzcz0ncHJvcGVydGllcyc+Iik7CisgICAgICAgICAgZG9jLndyaXRlKCI8dHI+PHRoPk5hbWU8L3RoPjx0aD5WYWx1ZTwvdGg+PC90cj4iKTsKKyAgICAgICAgICBmb3IgKHByb3AgaW4gVGVzdENhc2VzW25hbWVdKSB7CisgICAgICAgICAgICBkb2Mud3JpdGUoIjx0cj48dGg+IiArIHByb3AgKyAiPC90aD48dGQ+IiArIFRlc3RDYXNlc1tuYW1lXVtwcm9wXSArICI8L3RkPjwvdHI+Iik7CisgICAgICAgICAgfQorICAgICAgICAgIGRvYy53cml0ZSgiPC90YWJsZT4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjwvYm9keT48L2h0bWw+Iik7CisgICAgICAgICAgZG9jLmNsb3NlKCk7CisgICAgICAgICAgd2luLmZvY3VzKCk7CisgICAgICAgIH0KKyAgICAgIF1dPgorICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDwvaGVhZD4KKyAgICAgICAgPGJvZHk+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGFnZUhlYWRlciIvPgorICAgICAgICAgICAgPGgzPkNsYXNzIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2xhc3MubmFtZSIvPjwvaDM+CisKKworICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJkZXRhaWxzIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9Ijk1JSI+CisgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InRlc3RzdWl0ZS50ZXN0LmhlYWRlciIvPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0icHJpbnQudGVzdCIvPgorICAgICAgICAgICAgPC90YWJsZT4KKworICAgICAgICAgICAgPGgyPlRlc3RzPC9oMj4KKyAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iZGV0YWlscyIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSI5NSUiPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGVzdGNhc2UudGVzdC5oZWFkZXIiLz4KKyAgICAgICAgICAgICAgPCEtLQorICAgICAgICAgICAgICB0ZXN0IGNhbiBldmVuIG5vdCBiZSBzdGFydGVkIGF0IGFsbCAoZmFpbHVyZSB0byBsb2FkIHRoZSBjbGFzcykKKyAgICAgICAgICAgICAgc28gcmVwb3J0IHRoZSBlcnJvciBkaXJlY3RseQorICAgICAgICAgICAgICAtLT4KKyAgICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9Ii4vZXJyb3IiPgorICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9IkVycm9yIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSI0Ij48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vZXJyb3IiLz48L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDwveHNsOmlmPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLi90ZXN0Y2FzZSIgbW9kZT0icHJpbnQudGVzdCIvPgorICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9IlByb3BlcnRpZXMiPgorICAgICAgICAgICAgICAgIDxhPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj5qYXZhc2NyaXB0OmRpc3BsYXlQcm9wZXJ0aWVzKCc8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHBhY2thZ2UiLz4uPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+Jyk7PC94c2w6YXR0cmlidXRlPgorICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0aWVzICYjMTg3OworICAgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJzdHJpbmctbGVuZ3RoKC4vc3lzdGVtLW91dCkhPTAiPgorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlByb3BlcnRpZXMiPgorICAgICAgICAgICAgICAgICAgICA8YT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPi4vPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+LW91dC5odG1sPC94c2w6YXR0cmlidXRlPgorICAgICAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dCAmIzE4NzsKKyAgICAgICAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPC94c2w6aWY+CisgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9InN0cmluZy1sZW5ndGgoLi9zeXN0ZW0tZXJyKSE9MCI+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iUHJvcGVydGllcyI+CisgICAgICAgICAgICAgICAgICAgIDxhPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+Li88eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4tZXJyLmh0bWw8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0uZXJyICYjMTg3OworICAgICAgICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgPC9ib2R5PgorICAgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCisgIDwhLS0KKyAgIFdyaXRlIHByb3BlcnRpZXMgaW50byBhIEphdmFTY3JpcHQgZGF0YSBzdHJ1Y3R1cmUuCisgICBUaGlzIGlzIGJhc2VkIG9uIHRoZSBvcmlnaW5hbCBpZGVhIGJ5IEVyaWsgSGF0Y2hlciAoZWhhdGNoZXJAYXBhY2hlLm9yZykKKyAgIC0tPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJwcm9wZXJ0aWVzIj4KKyAgICBjdXIgPSBUZXN0Q2FzZXNbJzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuLi9AcGFja2FnZSIvPi48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vQG5hbWUiLz4nXSA9IG5ldyBBcnJheSgpOworICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJwcm9wZXJ0eSI+CisgICAgPHhzbDpzb3J0IHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgY3VyWyc8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4nXSA9ICc8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iSlMtZXNjYXBlIj48eHNsOndpdGgtcGFyYW0gbmFtZT0ic3RyaW5nIiBzZWxlY3Q9IkB2YWx1ZSIvPjwveHNsOmNhbGwtdGVtcGxhdGU+JzsKKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgVGhpcyBwYWdlIGlzIGNyZWF0ZWQgZm9yIGV2ZXJ5IHBhY2thZ2UuCisgICAgSXQgcHJpbnRzIHRoZSBuYW1lIG9mIGFsbCBjbGFzc2VzIHRoYXQgYmVsb25ncyB0byB0aGlzIHBhY2thZ2UuCisgICAgQHBhcmFtIG5hbWUgdGhlIHBhY2thZ2UgbmFtZSB0byBwcmludCBjbGFzc2VzLgorICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBsaXN0IG9mIGNsYXNzZXMgaW4gYSBwYWNrYWdlIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJjbGFzc2VzLmxpc3QiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0ibmFtZSIvPgorICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgICAgIDx0aXRsZT5Vbml0IFRlc3QgQ2xhc3NlczogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+PC90aXRsZT4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIj4KKyAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icGFja2FnZS5uYW1lIiBzZWxlY3Q9IiRuYW1lIi8+CisgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICA8L2hlYWQ+CisgICAgICAgIDxib2R5PgorICAgICAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgIDx0ZCBub3dyYXA9Im5vd3JhcCI+CisgICAgICAgICAgICAgICAgICAgICAgICA8aDI+PGEgaHJlZj0icGFja2FnZS1zdW1tYXJ5Lmh0bWwiIHRhcmdldD0iY2xhc3NGcmFtZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSIkbmFtZSA9ICcnIj4mbHQ7bm9uZSZndDs8L3hzbDppZj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2gyPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICA8L3RhYmxlPgorCisgICAgICAgICAgICA8aDI+Q2xhc3NlczwvaDI+CisgICAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIvdGVzdHN1aXRlcy90ZXN0c3VpdGVbLi9AcGFja2FnZSA9ICRuYW1lXSI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBub3dyYXA9Im5vd3JhcCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ie0BuYW1lfS5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2JvZHk+CisgICAgPC9odG1sPgorPC94c2w6dGVtcGxhdGU+CisKKworPCEtLQorICAgIENyZWF0ZXMgYW4gYWxsLWNsYXNzZXMuaHRtbCBmaWxlIHRoYXQgY29udGFpbnMgYSBsaW5rIHRvIGFsbCBwYWNrYWdlLXN1bW1hcnkuaHRtbAorICAgIG9uIGVhY2ggY2xhc3MuCistLT4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9InRlc3RzdWl0ZXMiIG1vZGU9ImFsbC5jbGFzc2VzIj4KKyAgICA8aHRtbD4KKyAgICAgICAgPGhlYWQ+CisgICAgICAgICAgICA8dGl0bGU+QWxsIFVuaXQgVGVzdCBDbGFzc2VzPC90aXRsZT4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIj4KKyAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icGFja2FnZS5uYW1lIi8+CisgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICA8L2hlYWQ+CisgICAgICAgIDxib2R5PgorICAgICAgICAgICAgPGgyPkNsYXNzZXM8L2gyPgorICAgICAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9InRlc3RzdWl0ZSIgbW9kZT0iYWxsLmNsYXNzZXMiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAbmFtZSIvPgorICAgICAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgIDwvYm9keT4KKyAgICA8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGVzdHN1aXRlIiBtb2RlPSJhbGwuY2xhc3NlcyI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iQHBhY2thZ2UiLz4KKyAgICA8dHI+CisgICAgICAgIDx0ZCBub3dyYXA9Im5vd3JhcCI+CisgICAgICAgICAgICA8YSB0YXJnZXQ9ImNsYXNzRnJhbWUiPgorICAgICAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9Im5vdCgkcGFja2FnZS5uYW1lPScnKSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0idHJhbnNsYXRlKCRwYWNrYWdlLm5hbWUsJy4nLCcvJykiLz48eHNsOnRleHQ+LzwveHNsOnRleHQ+CisgICAgICAgICAgICAgICAgICAgIDwveHNsOmlmPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjx4c2w6dGV4dD4uaHRtbDwveHNsOnRleHQ+CisgICAgICAgICAgICAgICAgPC94c2w6YXR0cmlidXRlPgorICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tCisgICAgQ3JlYXRlcyBhbiBodG1sIGZpbGUgdGhhdCBjb250YWlucyBhIGxpbmsgdG8gYWxsIHBhY2thZ2Utc3VtbWFyeS5odG1sIGZpbGVzIG9uCisgICAgZWFjaCBwYWNrYWdlIGV4aXN0aW5nIG9uIHRlc3RzdWl0ZXMuCisgICAgQGJ1ZyB0aGVyZSB3aWxsIGJlIGEgcHJvYmxlbSBoZXJlLCBJIGRvbid0IGtub3cgeWV0IGhvdyB0byBoYW5kbGUgdW5uYW1lZCBwYWNrYWdlIDooCistLT4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9InRlc3RzdWl0ZXMiIG1vZGU9ImFsbC5wYWNrYWdlcyI+CisgICAgPGh0bWw+CisgICAgICAgIDxoZWFkPgorICAgICAgICAgICAgPHRpdGxlPkFsbCBVbml0IFRlc3QgUGFja2FnZXM8L3RpdGxlPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNyZWF0ZS5zdHlsZXNoZWV0LmxpbmsiPgorICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYWNrYWdlLm5hbWUiLz4KKyAgICAgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICAgIDwvaGVhZD4KKyAgICAgICAgPGJvZHk+CisgICAgICAgICAgICA8aDI+PGEgaHJlZj0ib3ZlcnZpZXctc3VtbWFyeS5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPkhvbWU8L2E+PC9oMj4KKyAgICAgICAgICAgIDxoMj5QYWNrYWdlczwvaDI+CisgICAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0idGVzdHN1aXRlW25vdCguL0BwYWNrYWdlID0gcHJlY2VkaW5nLXNpYmxpbmc6OnRlc3RzdWl0ZS9AcGFja2FnZSldIiBtb2RlPSJhbGwucGFja2FnZXMiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAcGFja2FnZSIvPgorICAgICAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgIDwvYm9keT4KKyAgICA8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGVzdHN1aXRlIiBtb2RlPSJhbGwucGFja2FnZXMiPgorICAgIDx0cj4KKyAgICAgICAgPHRkIG5vd3JhcD0ibm93cmFwIj4KKyAgICAgICAgICAgIDxhIGhyZWY9Ii4ve3RyYW5zbGF0ZShAcGFja2FnZSwnLicsJy8nKX0vcGFja2FnZS1zdW1tYXJ5Lmh0bWwiIHRhcmdldD0iY2xhc3NGcmFtZSI+CisgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwYWNrYWdlIi8+CisgICAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAcGFja2FnZSA9ICcnIj4mbHQ7bm9uZSZndDs8L3hzbDppZj4KKyAgICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICA8L3RyPgorPC94c2w6dGVtcGxhdGU+CisKKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGVzdHN1aXRlcyIgbW9kZT0ib3ZlcnZpZXcucGFja2FnZXMiPgorICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgICAgIDx0aXRsZT5Vbml0IFRlc3QgUmVzdWx0czogU3VtbWFyeTwvdGl0bGU+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC9oZWFkPgorICAgICAgICA8Ym9keT4KKyAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0ib25sb2FkIj5vcGVuKCdhbGxjbGFzc2VzLWZyYW1lLmh0bWwnLCdjbGFzc0xpc3RGcmFtZScpPC94c2w6YXR0cmlidXRlPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGFnZUhlYWRlciIvPgorICAgICAgICA8aDI+U3VtbWFyeTwvaDI+CisgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGVzdENvdW50IiBzZWxlY3Q9InN1bSh0ZXN0c3VpdGUvQHRlc3RzKSIvPgorICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImVycm9yQ291bnQiIHNlbGVjdD0ic3VtKHRlc3RzdWl0ZS9AZXJyb3JzKSIvPgorICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImZhaWx1cmVDb3VudCIgc2VsZWN0PSJzdW0odGVzdHN1aXRlL0BmYWlsdXJlcykiLz4KKyAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0aW1lQ291bnQiIHNlbGVjdD0ic3VtKHRlc3RzdWl0ZS9AdGltZSkiLz4KKyAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJzdWNjZXNzUmF0ZSIgc2VsZWN0PSIoJHRlc3RDb3VudCAtICRmYWlsdXJlQ291bnQgLSAkZXJyb3JDb3VudCkgZGl2ICR0ZXN0Q291bnQiLz4KKyAgICAgICAgPHRhYmxlIGNsYXNzPSJkZXRhaWxzIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9Ijk1JSI+CisgICAgICAgIDx0ciB2YWxpZ249InRvcCI+CisgICAgICAgICAgICA8dGg+VGVzdHM8L3RoPgorICAgICAgICAgICAgPHRoPkZhaWx1cmVzPC90aD4KKyAgICAgICAgICAgIDx0aD5FcnJvcnM8L3RoPgorICAgICAgICAgICAgPHRoPlN1Y2Nlc3MgcmF0ZTwvdGg+CisgICAgICAgICAgICA8dGg+VGltZTwvdGg+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0ciB2YWxpZ249InRvcCI+CisgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgICAgICAgICAgICAgICAgPHhzbDpjaG9vc2U+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkZXJyb3JDb3VudCAmZ3Q7IDAiPkVycm9yPC94c2w6d2hlbj4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRmYWlsdXJlQ291bnQgJmd0OyAwIj5GYWlsdXJlPC94c2w6d2hlbj4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDpvdGhlcndpc2U+UGFzczwveHNsOm90aGVyd2lzZT4KKyAgICAgICAgICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAgICAgICAgICA8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0ZXN0Q291bnQiLz48L3RkPgorICAgICAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkZmFpbHVyZUNvdW50Ii8+PC90ZD4KKyAgICAgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGVycm9yQ291bnQiLz48L3RkPgorICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LXBlcmNlbnQiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idmFsdWUiIHNlbGVjdD0iJHN1Y2Nlc3NSYXRlIi8+CisgICAgICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8dGQ+CisgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdGltZSI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ2YWx1ZSIgc2VsZWN0PSIkdGltZUNvdW50Ii8+CisgICAgICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgICAgIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFibGU+CisgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5NSUiPgorICAgICAgICA8dHI+CisgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsiPgorICAgICAgICBOb3RlOiA8ZW0+ZmFpbHVyZXM8L2VtPiBhcmUgYW50aWNpcGF0ZWQgYW5kIGNoZWNrZWQgZm9yIHdpdGggYXNzZXJ0aW9ucyB3aGlsZSA8ZW0+ZXJyb3JzPC9lbT4gYXJlIHVuYW50aWNpcGF0ZWQuCisgICAgICAgIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFibGU+CisKKyAgICAgICAgPGgyPlBhY2thZ2VzPC9oMj4KKyAgICAgICAgPHRhYmxlIGNsYXNzPSJkZXRhaWxzIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9Ijk1JSI+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGVzdHN1aXRlLnRlc3QuaGVhZGVyIi8+CisgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0idGVzdHN1aXRlW25vdCguL0BwYWNrYWdlID0gcHJlY2VkaW5nLXNpYmxpbmc6OnRlc3RzdWl0ZS9AcGFja2FnZSldIj4KKyAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAcGFja2FnZSIgb3JkZXI9ImFzY2VuZGluZyIvPgorICAgICAgICAgICAgICAgIDwhLS0gZ2V0IHRoZSBub2RlIHNldCBjb250YWluaW5nIGFsbCB0ZXN0c3VpdGVzIHRoYXQgaGF2ZSB0aGUgc2FtZSBwYWNrYWdlIC0tPgorICAgICAgICAgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iaW5zYW1lcGFja2FnZSIgc2VsZWN0PSIvdGVzdHN1aXRlcy90ZXN0c3VpdGVbLi9AcGFja2FnZSA9IGN1cnJlbnQoKS9AcGFja2FnZV0iLz4KKyAgICAgICAgICAgICAgICA8dHIgdmFsaWduPSJ0b3AiPgorICAgICAgICAgICAgICAgICAgICA8IS0tIGRpc3BsYXkgYSBmYWlsdXJlIGlmIHRoZXJlIGlzIGFueSBmYWlsdXJlL2Vycm9yIGluIHRoZSBwYWNrYWdlIC0tPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmNob29zZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0ic3VtKCRpbnNhbWVwYWNrYWdlL0BlcnJvcnMpICZndDsgMCI+RXJyb3I8L3hzbDp3aGVuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJzdW0oJGluc2FtZXBhY2thZ2UvQGZhaWx1cmVzKSAmZ3Q7IDAiPkZhaWx1cmU8L3hzbDp3aGVuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPlBhc3M8L3hzbDpvdGhlcndpc2U+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAgICAgICAgICAgICAgICAgIDwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgICAgICAgPHRkPjxhIGhyZWY9Ii4ve3RyYW5zbGF0ZShAcGFja2FnZSwnLicsJy8nKX0vcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwYWNrYWdlIi8+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBwYWNrYWdlID0gJyciPiZsdDtub25lJmd0OzwveHNsOmlmPgorICAgICAgICAgICAgICAgICAgICA8L2E+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdW0oJGluc2FtZXBhY2thZ2UvQHRlc3RzKSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3VtKCRpbnNhbWVwYWNrYWdlL0BlcnJvcnMpIi8+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdW0oJGluc2FtZXBhY2thZ2UvQGZhaWx1cmVzKSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdGltZSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idmFsdWUiIHNlbGVjdD0ic3VtKCRpbnNhbWVwYWNrYWdlL0B0aW1lKSIvPgorICAgICAgICAgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRpbnNhbWVwYWNrYWdlL0B0aW1lc3RhbXAiLz48L3RkPgorICAgICAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRpbnNhbWVwYWNrYWdlL0Bob3N0bmFtZSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2JvZHk+CisgICAgICAgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCisKKzx4c2w6dGVtcGxhdGUgbmFtZT0icGFja2FnZS5zdW1tYXJ5Ij4KKyAgICA8eHNsOnBhcmFtIG5hbWU9Im5hbWUiLz4KKyAgICA8aHRtbD4KKyAgICAgICAgPGhlYWQ+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIgc2VsZWN0PSIkbmFtZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC9oZWFkPgorICAgICAgICA8Ym9keT4KKyAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9Im9ubG9hZCI+b3BlbigncGFja2FnZS1mcmFtZS5odG1sJywnY2xhc3NMaXN0RnJhbWUnKTwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWdlSGVhZGVyIi8+CisgICAgICAgICAgICA8aDM+UGFja2FnZSA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L2gzPgorCisgICAgICAgICAgICA8IS0tdGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSI5NSUiPgorICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjbGFzcy5tZXRyaWNzLmhlYWRlciIvPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0icHJpbnQubWV0cmljcyIvPgorICAgICAgICAgICAgPC90YWJsZS0tPgorCisgICAgICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Imluc2FtZXBhY2thZ2UiIHNlbGVjdD0iL3Rlc3RzdWl0ZXMvdGVzdHN1aXRlWy4vQHBhY2thZ2UgPSAkbmFtZV0iLz4KKyAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iY291bnQoJGluc2FtZXBhY2thZ2UpICZndDsgMCI+CisgICAgICAgICAgICAgICAgPGgyPkNsYXNzZXM8L2gyPgorICAgICAgICAgICAgICAgIDxwPgorICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iZGV0YWlscyIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSI5NSUiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGVzdHN1aXRlLnRlc3QuaGVhZGVyIi8+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iJGluc2FtZXBhY2thZ2UiIG1vZGU9InByaW50LnRlc3QiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgPC9wPgorICAgICAgICAgICAgPC94c2w6aWY+CisgICAgICAgIDwvYm9keT4KKyAgICA8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tCisgICAgdHJhbnNmb3JtIHN0cmluZyBsaWtlIGEuYi5jIHRvIC4uLy4uLy4uLworICAgIEBwYXJhbSBwYXRoIHRoZSBwYXRoIHRvIHRyYW5zZm9ybSBpbnRvIGEgZGVzY2VuZGluZyBkaXJlY3RvcnkgcGF0aAorLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InBhdGgiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0icGF0aCIvPgorICAgIDx4c2w6aWYgdGVzdD0iY29udGFpbnMoJHBhdGgsJy4nKSI+CisgICAgICAgIDx4c2w6dGV4dD4uLi88L3hzbDp0ZXh0PgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGF0aCI+CisgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icGF0aCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InN1YnN0cmluZy1hZnRlcigkcGF0aCwnLicpIi8+PC94c2w6d2l0aC1wYXJhbT4KKyAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOmlmIHRlc3Q9Im5vdChjb250YWlucygkcGF0aCwnLicpKSBhbmQgbm90KCRwYXRoID0gJycpIj4KKyAgICAgICAgPHhzbDp0ZXh0Pi4uLzwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tIGNyZWF0ZSB0aGUgbGluayB0byB0aGUgc3R5bGVzaGVldCBiYXNlZCBvbiB0aGUgcGFja2FnZSBuYW1lIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIj4KKyAgICA8eHNsOnBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJTdHlsZSI+PHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+PHhzbDppZiB0ZXN0PSJub3QoJHBhY2thZ2UubmFtZSA9ICd1bm5hbWVkIHBhY2thZ2UnKSI+PHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhdGgiPjx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYXRoIiBzZWxlY3Q9IiRwYWNrYWdlLm5hbWUiLz48L3hzbDpjYWxsLXRlbXBsYXRlPjwveHNsOmlmPnN0eWxlc2hlZXQuY3NzPC94c2w6YXR0cmlidXRlPjwvbGluaz4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gUGFnZSBIRUFERVIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiPgorICAgIDxoMT5Vbml0IFRlc3QgUmVzdWx0czwvaDE+CisgICAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KKyAgICA8dHI+CisgICAgICAgIDx0ZCBhbGlnbj0ibGVmdCI+PC90ZD4KKyAgICAgICAgPHRkIGFsaWduPSJyaWdodCI+RGVzaWduZWQgZm9yIHVzZSB3aXRoIDxhIGhyZWY9Imh0dHA6Ly93d3cuanVuaXQub3JnLyI+SlVuaXQ8L2E+IGFuZCA8YSBocmVmPSJodHRwOi8vYW50LmFwYWNoZS5vcmcvIj5BbnQ8L2E+LjwvdGQ+CisgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxociBzaXplPSIxIi8+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSBjbGFzcyBoZWFkZXIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InRlc3RzdWl0ZS50ZXN0LmhlYWRlciI+CisgICAgPHRyIHZhbGlnbj0idG9wIj4KKyAgICAgICAgPHRoIHdpZHRoPSI4MCUiPk5hbWU8L3RoPgorICAgICAgICA8dGg+VGVzdHM8L3RoPgorICAgICAgICA8dGg+RXJyb3JzPC90aD4KKyAgICAgICAgPHRoPkZhaWx1cmVzPC90aD4KKyAgICAgICAgPHRoIG5vd3JhcD0ibm93cmFwIj5UaW1lKHMpPC90aD4KKyAgICAgICAgPHRoIG5vd3JhcD0ibm93cmFwIj5UaW1lIFN0YW1wPC90aD4KKyAgICAgICAgPHRoPkhvc3Q8L3RoPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSBtZXRob2QgaGVhZGVyIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJ0ZXN0Y2FzZS50ZXN0LmhlYWRlciI+CisgICAgPHRyIHZhbGlnbj0idG9wIj4KKyAgICAgICAgPHRoPk5hbWU8L3RoPgorICAgICAgICA8dGg+U3RhdHVzPC90aD4KKyAgICAgICAgPHRoIHdpZHRoPSI4MCUiPlR5cGU8L3RoPgorICAgICAgICA8dGggbm93cmFwPSJub3dyYXAiPlRpbWUocyk8L3RoPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tIGNsYXNzIGluZm9ybWF0aW9uIC0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGVzdHN1aXRlIiBtb2RlPSJwcmludC50ZXN0Ij4KKyAgICA8dHIgdmFsaWduPSJ0b3AiPgorICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgICAgICAgICAgICA8eHNsOmNob29zZT4KKyAgICAgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0iQGVycm9yc1suJmd0OyAwXSI+RXJyb3I8L3hzbDp3aGVuPgorICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJAZmFpbHVyZXNbLiZndDsgMF0iPkZhaWx1cmU8L3hzbDp3aGVuPgorICAgICAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPlBhc3M8L3hzbDpvdGhlcndpc2U+CisgICAgICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAgICAgIDwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgPHRkPjxhIGhyZWY9IntAbmFtZX0uaHRtbCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPjwvdGQ+CisgICAgICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkB0ZXN0cyIvPjwvdGQ+CisgICAgICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkBlcnJvcnMiLz48L3RkPgorICAgICAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAZmFpbHVyZXMiLz48L3RkPgorICAgICAgICA8dGQ+PHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdGltZSI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InZhbHVlIiBzZWxlY3Q9IkB0aW1lIi8+CisgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAdGltZXN0YW1wIi8+PC90ZD4KKyAgICAgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQGhvc3RuYW1lIi8+PC90ZD4KKyAgICA8L3RyPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9InRlc3RjYXNlIiBtb2RlPSJwcmludC50ZXN0Ij4KKyAgICA8dHIgdmFsaWduPSJ0b3AiPgorICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgICAgICAgICAgICA8eHNsOmNob29zZT4KKyAgICAgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0iZXJyb3IiPkVycm9yPC94c2w6d2hlbj4KKyAgICAgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0iZmFpbHVyZSI+RmFpbHVyZTwveHNsOndoZW4+CisgICAgICAgICAgICAgICAgPHhzbDpvdGhlcndpc2U+VGFibGVSb3dDb2xvcjwveHNsOm90aGVyd2lzZT4KKyAgICAgICAgICAgIDwveHNsOmNob29zZT4KKyAgICAgICAgPC94c2w6YXR0cmlidXRlPgorICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC90ZD4KKyAgICAgICAgPHhzbDpjaG9vc2U+CisgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0iZmFpbHVyZSI+CisgICAgICAgICAgICAgICAgPHRkPkZhaWx1cmU8L3RkPgorICAgICAgICAgICAgICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImZhaWx1cmUiLz48L3RkPgorICAgICAgICAgICAgPC94c2w6d2hlbj4KKyAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJlcnJvciI+CisgICAgICAgICAgICAgICAgPHRkPkVycm9yPC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJlcnJvciIvPjwvdGQ+CisgICAgICAgICAgICA8L3hzbDp3aGVuPgorICAgICAgICAgICAgPHhzbDpvdGhlcndpc2U+CisgICAgICAgICAgICAgICAgPHRkPlN1Y2Nlc3M8L3RkPgorICAgICAgICAgICAgICAgIDx0ZD48L3RkPgorICAgICAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgorICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LXRpbWUiPgorICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ2YWx1ZSIgc2VsZWN0PSJAdGltZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC90ZD4KKyAgICA8L3RyPgorPC94c2w6dGVtcGxhdGU+CisKKworPCEtLSBOb3RlIDogdGhlIGJlbG93IHRlbXBsYXRlIGVycm9yIGFuZCBmYWlsdXJlIGFyZSB0aGUgc2FtZSBzdHlsZQorICAgICAgICAgICAgc28ganVzdCBjYWxsIHRoZSBzYW1lIHN0eWxlIHN0b3JlIGluIHRoZSB0b29sa2l0IHRlbXBsYXRlIC0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZmFpbHVyZSI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktZmFpbHVyZXMiLz4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJlcnJvciI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktZmFpbHVyZXMiLz4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIFN0eWxlIGZvciB0aGUgZXJyb3IgYW5kIGZhaWx1cmUgaW4gdGhlIHRlc3RjYXNlIHRlbXBsYXRlIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LWZhaWx1cmVzIj4KKyAgICA8eHNsOmNob29zZT4KKyAgICAgICAgPHhzbDp3aGVuIHRlc3Q9Im5vdChAbWVzc2FnZSkiPk4vQTwveHNsOndoZW4+CisgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgorICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBtZXNzYWdlIi8+CisgICAgICAgIDwveHNsOm90aGVyd2lzZT4KKyAgICA8L3hzbDpjaG9vc2U+CisgICAgPCEtLSBkaXNwbGF5IHRoZSBzdGFja3RyYWNlIC0tPgorICAgIDxici8+PGJyLz4KKyAgICA8Y29kZT4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImJyLXJlcGxhY2UiPgorICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9IndvcmQiIHNlbGVjdD0iLiIvPgorICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwvY29kZT4KKyAgICA8IS0tIHRoZSBsYXR0ZXIgaXMgYmV0dGVyIGJ1dCBtaWdodCBiZSBwcm9ibGVtYXRpYyBmb3Igbm9uLTIxIiBtb25pdG9ycy4uLiAtLT4KKyAgICA8IS0tcHJlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+PC9wcmUtLT4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG5hbWU9IkpTLWVzY2FwZSI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJzdHJpbmciLz4KKyAgICA8eHNsOnBhcmFtIG5hbWU9InRtcDEiIHNlbGVjdD0ic3RyaW5ndXRpbHM6cmVwbGFjZShzdHJpbmcoJHN0cmluZyksJ1wnLCdcXCcpIi8+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ0bXAyIiBzZWxlY3Q9InN0cmluZ3V0aWxzOnJlcGxhY2Uoc3RyaW5nKCR0bXAxKSwmcXVvdDsnJnF1b3Q7LCZxdW90O1wmYXBvczsmcXVvdDspIi8+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ0bXAzIiBzZWxlY3Q9InN0cmluZ3V0aWxzOnJlcGxhY2Uoc3RyaW5nKCR0bXAyKSwmcXVvdDsmIzEwOyZxdW90OywnXG4nKSIvPgorICAgIDx4c2w6cGFyYW0gbmFtZT0idG1wNCIgc2VsZWN0PSJzdHJpbmd1dGlsczpyZXBsYWNlKHN0cmluZygkdG1wMyksJnF1b3Q7JiMxMzsmcXVvdDssJ1xyJykiLz4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRtcDQiLz4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0KKyAgICB0ZW1wbGF0ZSB0aGF0IHdpbGwgY29udmVydCBhIGNhcnJpYWdlIHJldHVybiBpbnRvIGEgYnIgdGFnCisgICAgQHBhcmFtIHdvcmQgdGhlIHRleHQgZnJvbSB3aGljaCB0byBjb252ZXJ0IENSIHRvIEJSIHRhZworLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9ImJyLXJlcGxhY2UiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0id29yZCIvPgorICAgIDx4c2w6cGFyYW0gbmFtZT0iYnIiPjxici8+PC94c2w6cGFyYW0+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9J3N0cmluZ3V0aWxzOnJlcGxhY2Uoc3RyaW5nKCR3b3JkKSwiJiN4QTsiLCRiciknLz4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdGltZSI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ2YWx1ZSIvPgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJmb3JtYXQtbnVtYmVyKCR2YWx1ZSwnMC4wMDAnKSIvPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbmFtZT0iZGlzcGxheS1wZXJjZW50Ij4KKyAgICA8eHNsOnBhcmFtIG5hbWU9InZhbHVlIi8+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImZvcm1hdC1udW1iZXIoJHZhbHVlLCcwLjAwJScpIi8+Cis8L3hzbDp0ZW1wbGF0ZT4KKzwveHNsOnN0eWxlc2hlZXQ+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9qdW5pdC1mcmFtZXMueHNsIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvanVuaXQtZnJhbWVzLnhzbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWQyNDhmCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvanVuaXQtZnJhbWVzLnhzbApAQCAtMCwwICsxLDkwNCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCIKKyAgICB4bWxuczpseHNsdD0iaHR0cDovL3htbC5hcGFjaGUub3JnL3hzbHQiCisgICAgeG1sbnM6cmVkaXJlY3Q9Imh0dHA6Ly94bWwuYXBhY2hlLm9yZy94YWxhbi9yZWRpcmVjdCIKKyAgICB4bWxuczpzdHJpbmd1dGlscz0ieGFsYW46Ly9vcmcuYXBhY2hlLnRvb2xzLmFudC51dGlsLlN0cmluZ1V0aWxzIgorICAgIGV4dGVuc2lvbi1lbGVtZW50LXByZWZpeGVzPSJyZWRpcmVjdCI+Cis8eHNsOm91dHB1dCBtZXRob2Q9Imh0bWwiIGluZGVudD0ieWVzIiBlbmNvZGluZz0iVVRGLTgiLz4KKzx4c2w6ZGVjaW1hbC1mb3JtYXQgZGVjaW1hbC1zZXBhcmF0b3I9Ii4iIGdyb3VwaW5nLXNlcGFyYXRvcj0iLCIvPgorPCEtLQorICAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAtLT4KKworPCEtLQorCisgU2FtcGxlIHN0eWxlc2hlZXQgdG8gYmUgdXNlZCB3aXRoIEFudCBKVW5pdFJlcG9ydCBvdXRwdXQuCisKKyBJdCBjcmVhdGVzIGEgc2V0IG9mIEhUTUwgZmlsZXMgYSBsYSBqYXZhZG9jIHdoZXJlIHlvdSBjYW4gYnJvd3NlIGVhc2lseQorIHRocm91Z2ggYWxsIHBhY2thZ2VzIGFuZCBjbGFzc2VzLgorCistLT4KKzx4c2w6cGFyYW0gbmFtZT0ib3V0cHV0LmRpciIgc2VsZWN0PSInLiciLz4KKzx4c2w6cGFyYW0gbmFtZT0iVElUTEUiPlVuaXQgVGVzdCBSZXN1bHRzLjwveHNsOnBhcmFtPgorCisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9InRlc3RzdWl0ZXMiPgorICAgIDwhLS0gY3JlYXRlIHRoZSBpbmRleC5odG1sIC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L2luZGV4Lmh0bWwiPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iaW5kZXguaHRtbCIvPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgICA8IS0tIGNyZWF0ZSB0aGUgc3R5bGVzaGVldC5jc3MgLS0+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vc3R5bGVzaGVldC5jc3MiPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3R5bGVzaGVldC5jc3MiLz4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgPCEtLSBjcmVhdGUgdGhlIG92ZXJ2aWV3LXBhY2thZ2VzLmh0bWwgYXQgdGhlIHJvb3QgLS0+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj4KKyAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJvdmVydmlldy5wYWNrYWdlcyIvPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgICA8IS0tIGNyZWF0ZSB0aGUgYWxsLXBhY2thZ2VzLmh0bWwgYXQgdGhlIHJvb3QgLS0+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vb3ZlcnZpZXctZnJhbWUuaHRtbCI+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0iYWxsLnBhY2thZ2VzIi8+CisgICAgPC9yZWRpcmVjdDp3cml0ZT4KKworICAgIDwhLS0gY3JlYXRlIHRoZSBhbGwtY2xhc3Nlcy5odG1sIGF0IHRoZSByb290IC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L2FsbGNsYXNzZXMtZnJhbWUuaHRtbCI+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0iYWxsLmNsYXNzZXMiLz4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgPCEtLSBjcmVhdGUgdGhlIGFsbC10ZXN0cy5odG1sIGF0IHRoZSByb290IC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L2FsbC10ZXN0cy5odG1sIj4KKyAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJhbGwudGVzdHMiLz4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgPCEtLSBjcmVhdGUgdGhlIGFsbHRlc3RzLWZhaWxzLmh0bWwgYXQgdGhlIHJvb3QgLS0+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vYWxsdGVzdHMtZmFpbHMuaHRtbCI+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImFsbC50ZXN0cyI+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0eXBlIiBzZWxlY3Q9IidmYWlscyciLz4KKyAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgIDwhLS0gY3JlYXRlIHRoZSBhbGx0ZXN0cy1lcnJvcnMuaHRtbCBhdCB0aGUgcm9vdCAtLT4KKyAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS9hbGx0ZXN0cy1lcnJvcnMuaHRtbCI+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImFsbC50ZXN0cyI+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0eXBlIiBzZWxlY3Q9IidlcnJvcnMnIi8+CisgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgPC9yZWRpcmVjdDp3cml0ZT4KKworICA8IS0tIHByb2Nlc3MgYWxsIHBhY2thZ2VzIC0tPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIuL3Rlc3RzdWl0ZVtub3QoLi9AcGFja2FnZSA9IHByZWNlZGluZy1zaWJsaW5nOjp0ZXN0c3VpdGUvQHBhY2thZ2UpXSI+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWNrYWdlIj4KKyAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJuYW1lIiBzZWxlY3Q9IkBwYWNrYWdlIi8+CisgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC94c2w6Zm9yLWVhY2g+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8eHNsOnRlbXBsYXRlIG5hbWU9InBhY2thZ2UiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0ibmFtZSIvPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0icGFja2FnZS5kaXIiPgorICAgICAgICA8eHNsOmlmIHRlc3Q9Im5vdCgkbmFtZSA9ICcnKSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InRyYW5zbGF0ZSgkbmFtZSwnLicsJy8nKSIvPjwveHNsOmlmPgorICAgICAgICA8eHNsOmlmIHRlc3Q9IiRuYW1lID0gJyciPi48L3hzbDppZj4KKyAgICA8L3hzbDp2YXJpYWJsZT4KKyAgICA8IS0tUHJvY2Vzc2luZyBwYWNrYWdlIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPiBpbiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG91dHB1dC5kaXIiLz4gLS0+CisgICAgPCEtLSBjcmVhdGUgYSBjbGFzc2VzLWxpc3QuaHRtbCBpbiB0aGUgcGFja2FnZSBkaXJlY3RvcnkgLS0+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0veyRwYWNrYWdlLmRpcn0vcGFja2FnZS1mcmFtZS5odG1sIj4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNsYXNzZXMubGlzdCI+CisgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibmFtZSIgc2VsZWN0PSIkbmFtZSIvPgorICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgICA8IS0tIGNyZWF0ZSBhIHBhY2thZ2Utc3VtbWFyeS5odG1sIGluIHRoZSBwYWNrYWdlIGRpcmVjdG9yeSAtLT4KKyAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS97JHBhY2thZ2UuZGlyfS9wYWNrYWdlLXN1bW1hcnkuaHRtbCI+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWNrYWdlLnN1bW1hcnkiPgorICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im5hbWUiIHNlbGVjdD0iJG5hbWUiLz4KKyAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgPCEtLSBmb3IgZWFjaCBjbGFzcywgY3JlYXRlcyBhIEBuYW1lLmh0bWwgLS0+CisgICAgPCEtLSBAYnVnIHRoZXJlIHdpbGwgYmUgYSBwcm9ibGVtIHdpdGggaW5uZXIgY2xhc3NlcyBoYXZpbmcgdGhlIHNhbWUgbmFtZSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlbiAtLT4KKyAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii90ZXN0c3VpdGVzL3Rlc3RzdWl0ZVtAcGFja2FnZSA9ICRuYW1lXSI+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0veyRwYWNrYWdlLmRpcn0ve0BpZH1fe0BuYW1lfS5odG1sIj4KKyAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0iY2xhc3MuZGV0YWlscyIvPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisgICAgPHhzbDppZiB0ZXN0PSJzdHJpbmctbGVuZ3RoKC4vc3lzdGVtLW91dCkhPTAiPgorICAgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0veyRwYWNrYWdlLmRpcn0ve0BpZH1fe0BuYW1lfS1vdXQuaHRtbCI+CisgICAgICAgIDxodG1sPgorICAgICAgICAgIDxoZWFkPgorICAgICAgICAgICAgPHRpdGxlPlN0YW5kYXJkIE91dHB1dCBmcm9tIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvdGl0bGU+CisgICAgICAgICAgPC9oZWFkPgorICAgICAgICAgIDxib2R5PgorICAgICAgICAgICAgPHByZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi9zeXN0ZW0tb3V0Ii8+PC9wcmU+CisgICAgICAgICAgPC9ib2R5PgorICAgICAgICA8L2h0bWw+CisgICAgICA8L3JlZGlyZWN0OndyaXRlPgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6aWYgdGVzdD0ic3RyaW5nLWxlbmd0aCguL3N5c3RlbS1lcnIpIT0wIj4KKyAgICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L3skcGFja2FnZS5kaXJ9L3tAaWR9X3tAbmFtZX0tZXJyLmh0bWwiPgorICAgICAgICA8aHRtbD4KKyAgICAgICAgICA8aGVhZD4KKyAgICAgICAgICAgIDx0aXRsZT5TdGFuZGFyZCBFcnJvciBmcm9tIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvdGl0bGU+CisgICAgICAgICAgPC9oZWFkPgorICAgICAgICAgIDxib2R5PgorICAgICAgICAgICAgPHByZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi9zeXN0ZW0tZXJyIi8+PC9wcmU+CisgICAgICAgICAgPC9ib2R5PgorICAgICAgICA8L2h0bWw+CisgICAgICA8L3JlZGlyZWN0OndyaXRlPgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6aWYgdGVzdD0iQGZhaWx1cmVzICE9IDAiPgorICAgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0veyRwYWNrYWdlLmRpcn0ve0BpZH1fe0BuYW1lfS1mYWlscy5odG1sIj4KKyAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJjbGFzcy5kZXRhaWxzIj4KKyAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idHlwZSIgc2VsZWN0PSInZmFpbHMnIi8+CisgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisgICAgPC94c2w6aWY+CisgICAgPHhzbDppZiB0ZXN0PSJAZXJyb3JzICE9IDAiPgorICAgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0veyRwYWNrYWdlLmRpcn0ve0BpZH1fe0BuYW1lfS1lcnJvcnMuaHRtbCI+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0iY2xhc3MuZGV0YWlscyI+CisgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InR5cGUiIHNlbGVjdD0iJ2Vycm9ycyciLz4KKyAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgPC9yZWRpcmVjdDp3cml0ZT4KKyAgICA8L3hzbDppZj4KKyAgPC94c2w6Zm9yLWVhY2g+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBuYW1lPSJpbmRleC5odG1sIj4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRUSVRMRSIvPjwvdGl0bGU+CisgICAgPC9oZWFkPgorICAgIDxmcmFtZXNldCBjb2xzPSIyMCUsODAlIj4KKyAgICAgICAgPGZyYW1lc2V0IHJvd3M9IjMwJSw3MCUiPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0ib3ZlcnZpZXctZnJhbWUuaHRtbCIgbmFtZT0icGFja2FnZUxpc3RGcmFtZSIvPgorICAgICAgICAgICAgPGZyYW1lIHNyYz0iYWxsY2xhc3Nlcy1mcmFtZS5odG1sIiBuYW1lPSJjbGFzc0xpc3RGcmFtZSIvPgorICAgICAgICA8L2ZyYW1lc2V0PgorICAgICAgICA8ZnJhbWUgc3JjPSJvdmVydmlldy1zdW1tYXJ5Lmh0bWwiIG5hbWU9ImNsYXNzRnJhbWUiLz4KKyAgICAgICAgPG5vZnJhbWVzPgorICAgICAgICAgICAgPGgyPkZyYW1lIEFsZXJ0PC9oMj4KKyAgICAgICAgICAgIDxwPgorICAgICAgICAgICAgICAgIFRoaXMgZG9jdW1lbnQgaXMgZGVzaWduZWQgdG8gYmUgdmlld2VkIHVzaW5nIHRoZSBmcmFtZXMgZmVhdHVyZS4gSWYgeW91IHNlZSB0aGlzIG1lc3NhZ2UsIHlvdSBhcmUgdXNpbmcgYSBub24tZnJhbWUtY2FwYWJsZSB3ZWIgY2xpZW50LgorICAgICAgICAgICAgPC9wPgorICAgICAgICA8L25vZnJhbWVzPgorICAgIDwvZnJhbWVzZXQ+Cis8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSB0aGlzIGlzIHRoZSBzdHlsZXNoZWV0IGNzcyB0byB1c2UgZm9yIG5lYXJseSBldmVyeXRoaW5nIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJzdHlsZXNoZWV0LmNzcyI+Citib2R5IHsKKyAgICBmb250Om5vcm1hbCA2OCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2E7CisgICAgY29sb3I6IzAwMDAwMDsKK30KK3RhYmxlIHRyIHRkLCB0YWJsZSB0ciB0aCB7CisgICAgZm9udC1zaXplOiA2OCU7Cit9Cit0YWJsZS5kZXRhaWxzIHRyIHRoeworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworICAgIHRleHQtYWxpZ246bGVmdDsKKyAgICBiYWNrZ3JvdW5kOiNhNmNhZjA7Cit9Cit0YWJsZS5kZXRhaWxzIHRyIHRkeworICAgIGJhY2tncm91bmQ6I2VlZWVlMDsKK30KKworcCB7CisgICAgbGluZS1oZWlnaHQ6MS41ZW07CisgICAgbWFyZ2luLXRvcDowLjVlbTsgbWFyZ2luLWJvdHRvbToxLjBlbTsKK30KK2gxIHsKKyAgICBtYXJnaW46IDBweCAwcHggNXB4OyBmb250OiAxNjUlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCit9CitoMiB7CisgICAgbWFyZ2luLXRvcDogMWVtOyBtYXJnaW4tYm90dG9tOiAwLjVlbTsgZm9udDogYm9sZCAxMjUlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCit9CitoMyB7CisgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IGZvbnQ6IGJvbGQgMTE1JSB2ZXJkYW5hLGFyaWFsLGhlbHZldGljYQorfQoraDQgeworICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDEwMCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EKK30KK2g1IHsKKyAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgZm9udDogYm9sZCAxMDAlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCit9CitoNiB7CisgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IGZvbnQ6IGJvbGQgMTAwJSB2ZXJkYW5hLGFyaWFsLGhlbHZldGljYQorfQorLkVycm9yIHsKKyAgICBmb250LXdlaWdodDpib2xkOyBjb2xvcjpyZWQ7Cit9CisuRmFpbHVyZSB7CisgICAgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6cHVycGxlOworfQorLlByb3BlcnRpZXMgeworICB0ZXh0LWFsaWduOnJpZ2h0OworfQorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gQ3JlYXRlIGxpc3Qgb2YgYWxsL2ZhaWxlZC9lcnJvcmVkIHRlc3RzIC0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGVzdHN1aXRlcyIgbW9kZT0iYWxsLnRlc3RzIj4KKyAgICA8eHNsOnBhcmFtIG5hbWU9InR5cGUiIHNlbGVjdD0iJ2FsbCciLz4KKyAgICA8aHRtbD4KKwk8eHNsOnZhcmlhYmxlIG5hbWU9InRpdGxlIj4KKwkgICAgPHhzbDpjaG9vc2U+CisJCTx4c2w6d2hlbiB0ZXN0PSIkdHlwZSA9ICdmYWlscyciPgorCQkgICAgPHhzbDp0ZXh0PkFsbCBGYWlsdXJlczwveHNsOnRleHQ+CisJCTwveHNsOndoZW4+CisJCTx4c2w6d2hlbiB0ZXN0PSIkdHlwZSA9ICdlcnJvcnMnIj4KKwkJICAgIDx4c2w6dGV4dD5BbGwgRXJyb3JzPC94c2w6dGV4dD4KKwkJPC94c2w6d2hlbj4KKwkJPHhzbDpvdGhlcndpc2U+CisJCSAgICA8eHNsOnRleHQ+QWxsIFRlc3RzPC94c2w6dGV4dD4KKwkJPC94c2w6b3RoZXJ3aXNlPgorCSAgICA8L3hzbDpjaG9vc2U+CisJPC94c2w6dmFyaWFibGU+CisJPGhlYWQ+CisJICAgIDx0aXRsZT5Vbml0IFRlc3QgUmVzdWx0czogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0aXRsZSIvPjwvdGl0bGU+CisJICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIj4KKyAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icGFja2FnZS5uYW1lIi8+CisgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorCTwvaGVhZD4KKwk8Ym9keT4KKwkgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0ib25sb2FkIj5vcGVuKCdhbGxjbGFzc2VzLWZyYW1lLmh0bWwnLCdjbGFzc0xpc3RGcmFtZScpPC94c2w6YXR0cmlidXRlPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiLz4KKyAgICAgICAgICAgIDxoMj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRpdGxlIi8+PC9oMj4KKworICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJkZXRhaWxzIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9Ijk1JSI+CisJCTx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ0ZXN0Y2FzZS50ZXN0LmhlYWRlciI+CisJCSAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ic2hvdy5jbGFzcyIgc2VsZWN0PSIneWVzJyIvPgorCQk8L3hzbDpjYWxsLXRlbXBsYXRlPgorCQk8IS0tCisgICAgICAgICAgICAgICAgdGVzdCBjYW4gZXZlbiBub3QgYmUgc3RhcnRlZCBhdCBhbGwgKGZhaWx1cmUgdG8gbG9hZCB0aGUgY2xhc3MpCisJCXNvIHJlcG9ydCB0aGUgZXJyb3IgZGlyZWN0bHkKKwkJLS0+CisgICAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iLi9lcnJvciI+CisgICAgICAgICAgICAgICAgPHRyIGNsYXNzPSJFcnJvciI+CisgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iNCI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLi9lcnJvciIvPgorICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgICAgICAgPHhzbDpjaG9vc2U+CisgICAgICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9IiR0eXBlID0gJ2ZhaWxzJyI+CisgICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vL3Rlc3RjYXNlW2ZhaWx1cmVdIiBtb2RlPSJwcmludC50ZXN0Ij4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InNob3cuY2xhc3MiIHNlbGVjdD0iJ3llcyciLz4KKyAgICAgICAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICAgICAgICAgICAgICA8L3hzbDp3aGVuPgorICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkdHlwZSA9ICdlcnJvcnMnIj4KKyAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLi8vdGVzdGNhc2VbZXJyb3JdIiBtb2RlPSJwcmludC50ZXN0Ij4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InNob3cuY2xhc3MiIHNlbGVjdD0iJ3llcyciLz4KKyAgICAgICAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICAgICAgICAgICAgICA8L3hzbDp3aGVuPgorICAgICAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgorICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuLy90ZXN0Y2FzZSIgbW9kZT0icHJpbnQudGVzdCI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJzaG93LmNsYXNzIiBzZWxlY3Q9Iid5ZXMnIi8+CisgICAgICAgICAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgICAgICAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgorICAgICAgICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2JvZHk+CisgICAgPC9odG1sPgorPC94c2w6dGVtcGxhdGU+CisKKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgVGhpcyBwYWdlIGlzIGNyZWF0ZWQgZm9yIGV2ZXJ5IHRlc3RzdWl0ZSBjbGFzcy4KKyAgICBJdCBwcmludHMgYSBzdW1tYXJ5IG9mIHRoZSB0ZXN0c3VpdGUgYW5kIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0CisgICAgdGVzdGNhc2UgbWV0aG9kcy4KKyAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9InRlc3RzdWl0ZSIgbW9kZT0iY2xhc3MuZGV0YWlscyI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ0eXBlIiBzZWxlY3Q9IidhbGwnIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iQHBhY2thZ2UiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImNsYXNzLm5hbWUiPjx4c2w6aWYgdGVzdD0ibm90KCRwYWNrYWdlLm5hbWUgPSAnJykiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkcGFja2FnZS5uYW1lIi8+LjwveHNsOmlmPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwveHNsOnZhcmlhYmxlPgorICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgICA8dGl0bGU+VW5pdCBUZXN0IFJlc3VsdHM6IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2xhc3MubmFtZSIvPjwvdGl0bGU+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIgc2VsZWN0PSIkcGFja2FnZS5uYW1lIi8+CisgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CisgICAgICAgIHZhciBUZXN0Q2FzZXMgPSBuZXcgQXJyYXkoKTsKKyAgICAgICAgdmFyIGN1cjsKKyAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJwcm9wZXJ0aWVzIi8+CisgICAgICAgPC9zY3JpcHQ+CisgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGxhbmd1YWdlPSJKYXZhU2NyaXB0Ij48IVtDREFUQVsKKyAgICAgICAgZnVuY3Rpb24gZGlzcGxheVByb3BlcnRpZXMgKG5hbWUpIHsKKyAgICAgICAgICB2YXIgd2luID0gd2luZG93Lm9wZW4oJycsJ0pVbml0U3lzdGVtUHJvcGVydGllcycsJ3Njcm9sbGJhcnM9MSxyZXNpemFibGU9MScpOworICAgICAgICAgIHZhciBkb2MgPSB3aW4uZG9jdW1lbnQ7CisgICAgICAgICAgZG9jLm9wZW4oKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjxodG1sPjxoZWFkPjx0aXRsZT5Qcm9wZXJ0aWVzIG9mICIgKyBuYW1lICsgIjwvdGl0bGU+Iik7CisgICAgICAgICAgZG9jLndyaXRlKCI8c3R5bGUgdHlwZT1cInRleHQvY3NzXCI+Iik7CisgICAgICAgICAgZG9jLndyaXRlKCJib2R5IHtmb250Om5vcm1hbCA2OCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2E7IGNvbG9yOiMwMDAwMDA7IH0iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoInRhYmxlIHRyIHRkLCB0YWJsZSB0ciB0aCB7IGZvbnQtc2l6ZTogNjglOyB9Iik7CisgICAgICAgICAgZG9jLndyaXRlKCJ0YWJsZS5wcm9wZXJ0aWVzIHsgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlOyBib3JkZXItbGVmdDpzb2xpZCAxICNjY2NjY2M7IGJvcmRlci10b3A6c29saWQgMSAjY2NjY2NjOyBwYWRkaW5nOjVweDsgfSIpOworICAgICAgICAgIGRvYy53cml0ZSgidGFibGUucHJvcGVydGllcyB0aCB7IHRleHQtYWxpZ246bGVmdDsgYm9yZGVyLXJpZ2h0OnNvbGlkIDEgI2NjY2NjYzsgYm9yZGVyLWJvdHRvbTpzb2xpZCAxICNjY2NjY2M7IGJhY2tncm91bmQtY29sb3I6I2VlZWVlZTsgfSIpOworICAgICAgICAgIGRvYy53cml0ZSgidGFibGUucHJvcGVydGllcyB0ZCB7IGZvbnQ6bm9ybWFsOyB0ZXh0LWFsaWduOmxlZnQ7IGJvcmRlci1yaWdodDpzb2xpZCAxICNjY2NjY2M7IGJvcmRlci1ib3R0b206c29saWQgMSAjY2NjY2NjOyBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmZmOyB9Iik7CisgICAgICAgICAgZG9jLndyaXRlKCJoMyB7IG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDExNSUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EgfSIpOworICAgICAgICAgIGRvYy53cml0ZSgiPC9zdHlsZT4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjwvaGVhZD48Ym9keT4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjxoMz5Qcm9wZXJ0aWVzIG9mICIgKyBuYW1lICsgIjwvaDM+Iik7CisgICAgICAgICAgZG9jLndyaXRlKCI8ZGl2IGFsaWduPVwicmlnaHRcIj48YSBocmVmPVwiamF2YXNjcmlwdDp3aW5kb3cuY2xvc2UoKTtcIj5DbG9zZTwvYT48L2Rpdj4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjx0YWJsZSBjbGFzcz0ncHJvcGVydGllcyc+Iik7CisgICAgICAgICAgZG9jLndyaXRlKCI8dHI+PHRoPk5hbWU8L3RoPjx0aD5WYWx1ZTwvdGg+PC90cj4iKTsKKyAgICAgICAgICBmb3IgKHByb3AgaW4gVGVzdENhc2VzW25hbWVdKSB7CisgICAgICAgICAgICBkb2Mud3JpdGUoIjx0cj48dGg+IiArIHByb3AgKyAiPC90aD48dGQ+IiArIFRlc3RDYXNlc1tuYW1lXVtwcm9wXSArICI8L3RkPjwvdHI+Iik7CisgICAgICAgICAgfQorICAgICAgICAgIGRvYy53cml0ZSgiPC90YWJsZT4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjwvYm9keT48L2h0bWw+Iik7CisgICAgICAgICAgZG9jLmNsb3NlKCk7CisgICAgICAgICAgd2luLmZvY3VzKCk7CisgICAgICAgIH0KKyAgICAgIF1dPgorICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDwvaGVhZD4KKyAgICAgICAgPGJvZHk+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGFnZUhlYWRlciIvPgorICAgICAgICAgICAgPGgzPkNsYXNzIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY2xhc3MubmFtZSIvPjwvaDM+CisKKworICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJkZXRhaWxzIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9Ijk1JSI+CisgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InRlc3RzdWl0ZS50ZXN0LmhlYWRlciIvPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0icHJpbnQudGVzdCIvPgorICAgICAgICAgICAgPC90YWJsZT4KKworCSAgICA8eHNsOmNob29zZT4KKwkJPHhzbDp3aGVuIHRlc3Q9IiR0eXBlID0gJ2ZhaWxzJyI+CisJCSAgICA8aDI+RmFpbHVyZXM8L2gyPgorCQk8L3hzbDp3aGVuPgorCQk8eHNsOndoZW4gdGVzdD0iJHR5cGUgPSAnZXJyb3JzJyI+CisJCSAgICA8aDI+RXJyb3JzPC9oMj4KKwkJPC94c2w6d2hlbj4KKwkJPHhzbDpvdGhlcndpc2U+CisJCSAgICA8aDI+VGVzdHM8L2gyPgorCQk8L3hzbDpvdGhlcndpc2U+CisJICAgIDwveHNsOmNob29zZT4KKyAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iZGV0YWlscyIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSI5NSUiPgorCQk8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGVzdGNhc2UudGVzdC5oZWFkZXIiLz4KKwkJPCEtLQorICAgICAgICAgICAgICAgIHRlc3QgY2FuIGV2ZW4gbm90IGJlIHN0YXJ0ZWQgYXQgYWxsIChmYWlsdXJlIHRvIGxvYWQgdGhlIGNsYXNzKQorCQlzbyByZXBvcnQgdGhlIGVycm9yIGRpcmVjdGx5CisJCS0tPgorICAgICAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iLi9lcnJvciI+CisgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz0iRXJyb3IiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49IjQiPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLi9lcnJvciIvPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICAgICAgPC94c2w6aWY+CisJCTx4c2w6Y2hvb3NlPgorCQkgICAgPHhzbDp3aGVuIHRlc3Q9IiR0eXBlID0gJ2ZhaWxzJyI+CisJCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vdGVzdGNhc2VbZmFpbHVyZV0iIG1vZGU9InByaW50LnRlc3QiLz4KKwkJICAgIDwveHNsOndoZW4+CisJCSAgICA8eHNsOndoZW4gdGVzdD0iJHR5cGUgPSAnZXJyb3JzJyI+CisJCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vdGVzdGNhc2VbZXJyb3JdIiBtb2RlPSJwcmludC50ZXN0Ii8+CisJCSAgICA8L3hzbDp3aGVuPgorCQkgICAgPHhzbDpvdGhlcndpc2U+CisJCQk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vdGVzdGNhc2UiIG1vZGU9InByaW50LnRlc3QiLz4KKwkJICAgIDwveHNsOm90aGVyd2lzZT4KKwkJPC94c2w6Y2hvb3NlPgorICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9IlByb3BlcnRpZXMiPgorICAgICAgICAgICAgICAgIDxhPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj5qYXZhc2NyaXB0OmRpc3BsYXlQcm9wZXJ0aWVzKCc8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHBhY2thZ2UiLz4uPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+Jyk7PC94c2w6YXR0cmlidXRlPgorICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0aWVzICYjMTg3OworICAgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJzdHJpbmctbGVuZ3RoKC4vc3lzdGVtLW91dCkhPTAiPgorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlByb3BlcnRpZXMiPgorICAgICAgICAgICAgICAgICAgICA8YT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPi4vPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBpZCIvPl88eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4tb3V0Lmh0bWw8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0ICYjMTg3OworICAgICAgICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICA8L3hzbDppZj4KKyAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0ic3RyaW5nLWxlbmd0aCguL3N5c3RlbS1lcnIpIT0wIj4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJQcm9wZXJ0aWVzIj4KKyAgICAgICAgICAgICAgICAgICAgPGE+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj4uLzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAaWQiLz5fPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+LWVyci5odG1sPC94c2w6YXR0cmlidXRlPgorICAgICAgICAgICAgICAgICAgICAgICAgU3lzdGVtLmVyciAmIzE4NzsKKyAgICAgICAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPC94c2w6aWY+CisgICAgICAgIDwvYm9keT4KKyAgICA8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworICA8IS0tCisgICBXcml0ZSBwcm9wZXJ0aWVzIGludG8gYSBKYXZhU2NyaXB0IGRhdGEgc3RydWN0dXJlLgorICAgVGhpcyBpcyBiYXNlZCBvbiB0aGUgb3JpZ2luYWwgaWRlYSBieSBFcmlrIEhhdGNoZXIgKGVoYXRjaGVyQGFwYWNoZS5vcmcpCisgICAtLT4KKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icHJvcGVydGllcyI+CisgICAgY3VyID0gVGVzdENhc2VzWyc8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vQHBhY2thZ2UiLz4uPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4uL0BuYW1lIi8+J10gPSBuZXcgQXJyYXkoKTsKKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0icHJvcGVydHkiPgorICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgIGN1clsnPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+J10gPSAnPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9IkpTLWVzY2FwZSI+PHhzbDp3aXRoLXBhcmFtIG5hbWU9InN0cmluZyIgc2VsZWN0PSJAdmFsdWUiLz48L3hzbDpjYWxsLXRlbXBsYXRlPic7CisgICAgPC94c2w6Zm9yLWVhY2g+CisgIDwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgIFRoaXMgcGFnZSBpcyBjcmVhdGVkIGZvciBldmVyeSBwYWNrYWdlLgorICAgIEl0IHByaW50cyB0aGUgbmFtZSBvZiBhbGwgY2xhc3NlcyB0aGF0IGJlbG9uZ3MgdG8gdGhpcyBwYWNrYWdlLgorICAgIEBwYXJhbSBuYW1lIHRoZSBwYWNrYWdlIG5hbWUgdG8gcHJpbnQgY2xhc3Nlcy4KKyAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzwhLS0gbGlzdCBvZiBjbGFzc2VzIGluIGEgcGFja2FnZSAtLT4KKzx4c2w6dGVtcGxhdGUgbmFtZT0iY2xhc3Nlcy5saXN0Ij4KKyAgICA8eHNsOnBhcmFtIG5hbWU9Im5hbWUiLz4KKyAgICA8aHRtbD4KKyAgICAgICAgPGhlYWQ+CisgICAgICAgICAgICA8dGl0bGU+VW5pdCBUZXN0IENsYXNzZXM6IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvdGl0bGU+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIgc2VsZWN0PSIkbmFtZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC9oZWFkPgorICAgICAgICA8Ym9keT4KKyAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICA8dGQgbm93cmFwPSJub3dyYXAiPgorICAgICAgICAgICAgICAgICAgICAgICAgPGgyPjxhIGhyZWY9InBhY2thZ2Utc3VtbWFyeS5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iJG5hbWUgPSAnJyI+Jmx0O25vbmUmZ3Q7PC94c2w6aWY+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PC9oMj4KKyAgICAgICAgICAgICAgICAgICAgPC90ZD4KKyAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgPC90YWJsZT4KKworICAgICAgICAgICAgPGgyPkNsYXNzZXM8L2gyPgorICAgICAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL3Rlc3RzdWl0ZXMvdGVzdHN1aXRlWy4vQHBhY2thZ2UgPSAkbmFtZV0iPgorICAgICAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAbmFtZSIvPgorICAgICAgICAgICAgICAgICAgICA8dHI+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQgbm93cmFwPSJub3dyYXAiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IntAaWR9X3tAbmFtZX0uaHRtbCIgdGFyZ2V0PSJjbGFzc0ZyYW1lIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPC9ib2R5PgorICAgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0KKyAgICBDcmVhdGVzIGFuIGFsbC1jbGFzc2VzLmh0bWwgZmlsZSB0aGF0IGNvbnRhaW5zIGEgbGluayB0byBhbGwgcGFja2FnZS1zdW1tYXJ5Lmh0bWwKKyAgICBvbiBlYWNoIGNsYXNzLgorLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJ0ZXN0c3VpdGVzIiBtb2RlPSJhbGwuY2xhc3NlcyI+CisgICAgPGh0bWw+CisgICAgICAgIDxoZWFkPgorICAgICAgICAgICAgPHRpdGxlPkFsbCBVbml0IFRlc3QgQ2xhc3NlczwvdGl0bGU+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC9oZWFkPgorICAgICAgICA8Ym9keT4KKyAgICAgICAgICAgIDxoMj5DbGFzc2VzPC9oMj4KKyAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJ0ZXN0c3VpdGUiIG1vZGU9ImFsbC5jbGFzc2VzIj4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2JvZHk+CisgICAgPC9odG1sPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9InRlc3RzdWl0ZSIgbW9kZT0iYWxsLmNsYXNzZXMiPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0icGFja2FnZS5uYW1lIiBzZWxlY3Q9IkBwYWNrYWdlIi8+CisgICAgPHRyPgorICAgICAgICA8dGQgbm93cmFwPSJub3dyYXAiPgorICAgICAgICAgICAgPGEgdGFyZ2V0PSJjbGFzc0ZyYW1lIj4KKyAgICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJub3QoJHBhY2thZ2UubmFtZT0nJykiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InRyYW5zbGF0ZSgkcGFja2FnZS5uYW1lLCcuJywnLycpIi8+PHhzbDp0ZXh0Pi88L3hzbDp0ZXh0PgorICAgICAgICAgICAgICAgICAgICA8L3hzbDppZj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGlkIi8+Xzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjx4c2w6dGV4dD4uaHRtbDwveHNsOnRleHQ+CisgICAgICAgICAgICAgICAgPC94c2w6YXR0cmlidXRlPgorICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPgorICAgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tCisgICAgQ3JlYXRlcyBhbiBodG1sIGZpbGUgdGhhdCBjb250YWlucyBhIGxpbmsgdG8gYWxsIHBhY2thZ2Utc3VtbWFyeS5odG1sIGZpbGVzIG9uCisgICAgZWFjaCBwYWNrYWdlIGV4aXN0aW5nIG9uIHRlc3RzdWl0ZXMuCisgICAgQGJ1ZyB0aGVyZSB3aWxsIGJlIGEgcHJvYmxlbSBoZXJlLCBJIGRvbid0IGtub3cgeWV0IGhvdyB0byBoYW5kbGUgdW5uYW1lZCBwYWNrYWdlIDooCistLT4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9InRlc3RzdWl0ZXMiIG1vZGU9ImFsbC5wYWNrYWdlcyI+CisgICAgPGh0bWw+CisgICAgICAgIDxoZWFkPgorICAgICAgICAgICAgPHRpdGxlPkFsbCBVbml0IFRlc3QgUGFja2FnZXM8L3RpdGxlPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNyZWF0ZS5zdHlsZXNoZWV0LmxpbmsiPgorICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYWNrYWdlLm5hbWUiLz4KKyAgICAgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICAgIDwvaGVhZD4KKyAgICAgICAgPGJvZHk+CisgICAgICAgICAgICA8aDI+PGEgaHJlZj0ib3ZlcnZpZXctc3VtbWFyeS5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPkhvbWU8L2E+PC9oMj4KKyAgICAgICAgICAgIDxoMj5QYWNrYWdlczwvaDI+CisgICAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0idGVzdHN1aXRlW25vdCguL0BwYWNrYWdlID0gcHJlY2VkaW5nLXNpYmxpbmc6OnRlc3RzdWl0ZS9AcGFja2FnZSldIiBtb2RlPSJhbGwucGFja2FnZXMiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAcGFja2FnZSIvPgorICAgICAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgIDwvYm9keT4KKyAgICA8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGVzdHN1aXRlIiBtb2RlPSJhbGwucGFja2FnZXMiPgorICAgIDx0cj4KKyAgICAgICAgPHRkIG5vd3JhcD0ibm93cmFwIj4KKyAgICAgICAgICAgIDxhIGhyZWY9Ii4ve3RyYW5zbGF0ZShAcGFja2FnZSwnLicsJy8nKX0vcGFja2FnZS1zdW1tYXJ5Lmh0bWwiIHRhcmdldD0iY2xhc3NGcmFtZSI+CisgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwYWNrYWdlIi8+CisgICAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJAcGFja2FnZSA9ICcnIj4mbHQ7bm9uZSZndDs8L3hzbDppZj4KKyAgICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICA8L3RyPgorPC94c2w6dGVtcGxhdGU+CisKKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGVzdHN1aXRlcyIgbW9kZT0ib3ZlcnZpZXcucGFja2FnZXMiPgorICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgICAgIDx0aXRsZT5Vbml0IFRlc3QgUmVzdWx0czogU3VtbWFyeTwvdGl0bGU+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC9oZWFkPgorICAgICAgICA8Ym9keT4KKyAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0ib25sb2FkIj5vcGVuKCdhbGxjbGFzc2VzLWZyYW1lLmh0bWwnLCdjbGFzc0xpc3RGcmFtZScpPC94c2w6YXR0cmlidXRlPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGFnZUhlYWRlciIvPgorICAgICAgICA8aDI+U3VtbWFyeTwvaDI+CisgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGVzdENvdW50IiBzZWxlY3Q9InN1bSh0ZXN0c3VpdGUvQHRlc3RzKSIvPgorICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImVycm9yQ291bnQiIHNlbGVjdD0ic3VtKHRlc3RzdWl0ZS9AZXJyb3JzKSIvPgorICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImZhaWx1cmVDb3VudCIgc2VsZWN0PSJzdW0odGVzdHN1aXRlL0BmYWlsdXJlcykiLz4KKyAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0aW1lQ291bnQiIHNlbGVjdD0ic3VtKHRlc3RzdWl0ZS9AdGltZSkiLz4KKyAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJzdWNjZXNzUmF0ZSIgc2VsZWN0PSIoJHRlc3RDb3VudCAtICRmYWlsdXJlQ291bnQgLSAkZXJyb3JDb3VudCkgZGl2ICR0ZXN0Q291bnQiLz4KKyAgICAgICAgPHRhYmxlIGNsYXNzPSJkZXRhaWxzIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9Ijk1JSI+CisgICAgICAgIDx0ciB2YWxpZ249InRvcCI+CisgICAgICAgICAgICA8dGg+VGVzdHM8L3RoPgorICAgICAgICAgICAgPHRoPkZhaWx1cmVzPC90aD4KKyAgICAgICAgICAgIDx0aD5FcnJvcnM8L3RoPgorICAgICAgICAgICAgPHRoPlN1Y2Nlc3MgcmF0ZTwvdGg+CisgICAgICAgICAgICA8dGg+VGltZTwvdGg+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0ciB2YWxpZ249InRvcCI+CisgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgICAgICAgICAgICAgICAgPHhzbDpjaG9vc2U+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkZXJyb3JDb3VudCAmZ3Q7IDAiPkVycm9yPC94c2w6d2hlbj4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9IiRmYWlsdXJlQ291bnQgJmd0OyAwIj5GYWlsdXJlPC94c2w6d2hlbj4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDpvdGhlcndpc2U+UGFzczwveHNsOm90aGVyd2lzZT4KKyAgICAgICAgICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAgICAgICAgICA8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICA8dGQ+PGEgdGl0bGU9IkRpc3BsYXkgYWxsIHRlc3RzIiBocmVmPSJhbGwtdGVzdHMuaHRtbCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0ZXN0Q291bnQiLz48L2E+PC90ZD4KKyAgICAgICAgICAgIDx0ZD48YSB0aXRsZT0iRGlzcGxheSBhbGwgZmFpbHVyZXMiIGhyZWY9ImFsbHRlc3RzLWZhaWxzLmh0bWwiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkZmFpbHVyZUNvdW50Ii8+PC9hPjwvdGQ+CisgICAgICAgICAgICA8dGQ+PGEgdGl0bGU9IkRpc3BsYXkgYWxsIGVycm9ycyIgaHJlZj0iYWxsdGVzdHMtZXJyb3JzLmh0bWwiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkZXJyb3JDb3VudCIvPjwvYT48L3RkPgorICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LXBlcmNlbnQiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idmFsdWUiIHNlbGVjdD0iJHN1Y2Nlc3NSYXRlIi8+CisgICAgICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8dGQ+CisgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdGltZSI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ2YWx1ZSIgc2VsZWN0PSIkdGltZUNvdW50Ii8+CisgICAgICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgICAgIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFibGU+CisgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI5NSUiPgorICAgICAgICA8dHI+CisgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsiPgorICAgICAgICBOb3RlOiA8ZW0+ZmFpbHVyZXM8L2VtPiBhcmUgYW50aWNpcGF0ZWQgYW5kIGNoZWNrZWQgZm9yIHdpdGggYXNzZXJ0aW9ucyB3aGlsZSA8ZW0+ZXJyb3JzPC9lbT4gYXJlIHVuYW50aWNpcGF0ZWQuCisgICAgICAgIDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgICAgIDwvdGFibGU+CisKKyAgICAgICAgPGgyPlBhY2thZ2VzPC9oMj4KKyAgICAgICAgPHRhYmxlIGNsYXNzPSJkZXRhaWxzIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9Ijk1JSI+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGVzdHN1aXRlLnRlc3QuaGVhZGVyIi8+CisgICAgICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0idGVzdHN1aXRlW25vdCguL0BwYWNrYWdlID0gcHJlY2VkaW5nLXNpYmxpbmc6OnRlc3RzdWl0ZS9AcGFja2FnZSldIj4KKyAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAcGFja2FnZSIgb3JkZXI9ImFzY2VuZGluZyIvPgorICAgICAgICAgICAgICAgIDwhLS0gZ2V0IHRoZSBub2RlIHNldCBjb250YWluaW5nIGFsbCB0ZXN0c3VpdGVzIHRoYXQgaGF2ZSB0aGUgc2FtZSBwYWNrYWdlIC0tPgorICAgICAgICAgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0iaW5zYW1lcGFja2FnZSIgc2VsZWN0PSIvdGVzdHN1aXRlcy90ZXN0c3VpdGVbLi9AcGFja2FnZSA9IGN1cnJlbnQoKS9AcGFja2FnZV0iLz4KKyAgICAgICAgICAgICAgICA8dHIgdmFsaWduPSJ0b3AiPgorICAgICAgICAgICAgICAgICAgICA8IS0tIGRpc3BsYXkgYSBmYWlsdXJlIGlmIHRoZXJlIGlzIGFueSBmYWlsdXJlL2Vycm9yIGluIHRoZSBwYWNrYWdlIC0tPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmNob29zZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0ic3VtKCRpbnNhbWVwYWNrYWdlL0BlcnJvcnMpICZndDsgMCI+RXJyb3I8L3hzbDp3aGVuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJzdW0oJGluc2FtZXBhY2thZ2UvQGZhaWx1cmVzKSAmZ3Q7IDAiPkZhaWx1cmU8L3hzbDp3aGVuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPlBhc3M8L3hzbDpvdGhlcndpc2U+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAgICAgICAgICAgICAgICAgIDwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgICAgICAgPHRkPjxhIGhyZWY9Ii4ve3RyYW5zbGF0ZShAcGFja2FnZSwnLicsJy8nKX0vcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBwYWNrYWdlIi8+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9IkBwYWNrYWdlID0gJyciPiZsdDtub25lJmd0OzwveHNsOmlmPgorICAgICAgICAgICAgICAgICAgICA8L2E+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdW0oJGluc2FtZXBhY2thZ2UvQHRlc3RzKSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3VtKCRpbnNhbWVwYWNrYWdlL0BlcnJvcnMpIi8+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJzdW0oJGluc2FtZXBhY2thZ2UvQGZhaWx1cmVzKSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDx0ZD4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdGltZSI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idmFsdWUiIHNlbGVjdD0ic3VtKCRpbnNhbWVwYWNrYWdlL0B0aW1lKSIvPgorICAgICAgICAgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRpbnNhbWVwYWNrYWdlL0B0aW1lc3RhbXAiLz48L3RkPgorICAgICAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRpbnNhbWVwYWNrYWdlL0Bob3N0bmFtZSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2JvZHk+CisgICAgICAgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCisKKzx4c2w6dGVtcGxhdGUgbmFtZT0icGFja2FnZS5zdW1tYXJ5Ij4KKyAgICA8eHNsOnBhcmFtIG5hbWU9Im5hbWUiLz4KKyAgICA8aHRtbD4KKyAgICAgICAgPGhlYWQ+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIgc2VsZWN0PSIkbmFtZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC9oZWFkPgorICAgICAgICA8Ym9keT4KKyAgICAgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9Im9ubG9hZCI+b3BlbigncGFja2FnZS1mcmFtZS5odG1sJywnY2xhc3NMaXN0RnJhbWUnKTwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWdlSGVhZGVyIi8+CisgICAgICAgICAgICA8aDM+UGFja2FnZSA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG5hbWUiLz48L2gzPgorCisgICAgICAgICAgICA8IS0tdGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSI5NSUiPgorICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjbGFzcy5tZXRyaWNzLmhlYWRlciIvPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0icHJpbnQubWV0cmljcyIvPgorICAgICAgICAgICAgPC90YWJsZS0tPgorCisgICAgICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9Imluc2FtZXBhY2thZ2UiIHNlbGVjdD0iL3Rlc3RzdWl0ZXMvdGVzdHN1aXRlWy4vQHBhY2thZ2UgPSAkbmFtZV0iLz4KKyAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iY291bnQoJGluc2FtZXBhY2thZ2UpICZndDsgMCI+CisgICAgICAgICAgICAgICAgPGgyPkNsYXNzZXM8L2gyPgorICAgICAgICAgICAgICAgIDxwPgorICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iZGV0YWlscyIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSI5NSUiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGVzdHN1aXRlLnRlc3QuaGVhZGVyIi8+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iJGluc2FtZXBhY2thZ2UiIG1vZGU9InByaW50LnRlc3QiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgPC9wPgorICAgICAgICAgICAgPC94c2w6aWY+CisgICAgICAgIDwvYm9keT4KKyAgICA8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tCisgICAgdHJhbnNmb3JtIHN0cmluZyBsaWtlIGEuYi5jIHRvIC4uLy4uLy4uLworICAgIEBwYXJhbSBwYXRoIHRoZSBwYXRoIHRvIHRyYW5zZm9ybSBpbnRvIGEgZGVzY2VuZGluZyBkaXJlY3RvcnkgcGF0aAorLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InBhdGgiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0icGF0aCIvPgorICAgIDx4c2w6aWYgdGVzdD0iY29udGFpbnMoJHBhdGgsJy4nKSI+CisgICAgICAgIDx4c2w6dGV4dD4uLi88L3hzbDp0ZXh0PgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGF0aCI+CisgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icGF0aCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InN1YnN0cmluZy1hZnRlcigkcGF0aCwnLicpIi8+PC94c2w6d2l0aC1wYXJhbT4KKyAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOmlmIHRlc3Q9Im5vdChjb250YWlucygkcGF0aCwnLicpKSBhbmQgbm90KCRwYXRoID0gJycpIj4KKyAgICAgICAgPHhzbDp0ZXh0Pi4uLzwveHNsOnRleHQ+CisgICAgPC94c2w6aWY+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tIGNyZWF0ZSB0aGUgbGluayB0byB0aGUgc3R5bGVzaGVldCBiYXNlZCBvbiB0aGUgcGFja2FnZSBuYW1lIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIj4KKyAgICA8eHNsOnBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIvPgorICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJTdHlsZSI+PHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+PHhzbDppZiB0ZXN0PSJub3QoJHBhY2thZ2UubmFtZSA9ICd1bm5hbWVkIHBhY2thZ2UnKSI+PHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhdGgiPjx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYXRoIiBzZWxlY3Q9IiRwYWNrYWdlLm5hbWUiLz48L3hzbDpjYWxsLXRlbXBsYXRlPjwveHNsOmlmPnN0eWxlc2hlZXQuY3NzPC94c2w6YXR0cmlidXRlPjwvbGluaz4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gUGFnZSBIRUFERVIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiPgorICAgIDxoMT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJFRJVExFIi8+PC9oMT4KKyAgICA8dGFibGUgd2lkdGg9IjEwMCUiPgorICAgIDx0cj4KKyAgICAgICAgPHRkIGFsaWduPSJsZWZ0Ij48L3RkPgorICAgICAgICA8dGQgYWxpZ249InJpZ2h0Ij5EZXNpZ25lZCBmb3IgdXNlIHdpdGggPGEgaHJlZj0iaHR0cDovL3d3dy5qdW5pdC5vcmcvIj5KVW5pdDwvYT4gYW5kIDxhIGhyZWY9Imh0dHA6Ly9hbnQuYXBhY2hlLm9yZy8iPkFudDwvYT4uPC90ZD4KKyAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGhyIHNpemU9IjEiLz4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIGNsYXNzIGhlYWRlciAtLT4KKzx4c2w6dGVtcGxhdGUgbmFtZT0idGVzdHN1aXRlLnRlc3QuaGVhZGVyIj4KKyAgICA8dHIgdmFsaWduPSJ0b3AiPgorICAgICAgICA8dGggd2lkdGg9IjgwJSI+TmFtZTwvdGg+CisgICAgICAgIDx0aD5UZXN0czwvdGg+CisgICAgICAgIDx0aD5FcnJvcnM8L3RoPgorICAgICAgICA8dGg+RmFpbHVyZXM8L3RoPgorICAgICAgICA8dGggbm93cmFwPSJub3dyYXAiPlRpbWUocyk8L3RoPgorICAgICAgICA8dGggbm93cmFwPSJub3dyYXAiPlRpbWUgU3RhbXA8L3RoPgorICAgICAgICA8dGg+SG9zdDwvdGg+CisgICAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIG1ldGhvZCBoZWFkZXIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InRlc3RjYXNlLnRlc3QuaGVhZGVyIj4KKyAgICA8eHNsOnBhcmFtIG5hbWU9InNob3cuY2xhc3MiIHNlbGVjdD0iJyciLz4KKyAgICA8dHIgdmFsaWduPSJ0b3AiPgorCTx4c2w6aWYgdGVzdD0iYm9vbGVhbigkc2hvdy5jbGFzcykiPgorCSAgICA8dGg+Q2xhc3M8L3RoPgorCTwveHNsOmlmPgorICAgICAgICA8dGg+TmFtZTwvdGg+CisgICAgICAgIDx0aD5TdGF0dXM8L3RoPgorICAgICAgICA8dGggd2lkdGg9IjgwJSI+VHlwZTwvdGg+CisgICAgICAgIDx0aCBub3dyYXA9Im5vd3JhcCI+VGltZShzKTwvdGg+CisgICAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gY2xhc3MgaW5mb3JtYXRpb24gLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJ0ZXN0c3VpdGUiIG1vZGU9InByaW50LnRlc3QiPgorICAgIDx0ciB2YWxpZ249InRvcCI+CisgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4KKyAgICAgICAgICAgIDx4c2w6Y2hvb3NlPgorICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJAZXJyb3JzWy4mZ3Q7IDBdIj5FcnJvcjwveHNsOndoZW4+CisgICAgICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9IkBmYWlsdXJlc1suJmd0OyAwXSI+RmFpbHVyZTwveHNsOndoZW4+CisgICAgICAgICAgICAgICAgPHhzbDpvdGhlcndpc2U+UGFzczwveHNsOm90aGVyd2lzZT4KKyAgICAgICAgICAgIDwveHNsOmNob29zZT4KKyAgICAgICAgPC94c2w6YXR0cmlidXRlPgorICAgICAgICA8dGQ+PGEgdGl0bGU9IkRpc3BsYXkgYWxsIHRlc3RzIiBocmVmPSJ7QGlkfV97QG5hbWV9Lmh0bWwiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvYT48L3RkPgorICAgICAgICA8dGQ+PGEgdGl0bGU9IkRpc3BsYXkgYWxsIHRlc3RzIiBocmVmPSJ7QGlkfV97QG5hbWV9Lmh0bWwiPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQHRlc3RzIi8+PC9hPjwvdGQ+CisgICAgICAgIDx0ZD4KKwkgICAgPHhzbDpjaG9vc2U+CisJCTx4c2w6d2hlbiB0ZXN0PSJAZXJyb3JzICE9IDAiPgorCQkgICAgPGEgdGl0bGU9IkRpc3BsYXkgb25seSBlcnJvcnMiIGhyZWY9IntAaWR9X3tAbmFtZX0tZXJyb3JzLmh0bWwiPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQGVycm9ycyIvPjwvYT4KKwkJPC94c2w6d2hlbj4KKwkJPHhzbDpvdGhlcndpc2U+CisJCSAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkBlcnJvcnMiLz4KKwkJPC94c2w6b3RoZXJ3aXNlPgorCSAgICA8L3hzbDpjaG9vc2U+CisJPC90ZD4KKyAgICAgICAgPHRkPgorCSAgICA8eHNsOmNob29zZT4KKwkJPHhzbDp3aGVuIHRlc3Q9IkBmYWlsdXJlcyAhPSAwIj4KKwkJICAgIDxhIHRpdGxlPSJEaXNwbGF5IG9ubHkgZmFpbHVyZXMiIGhyZWY9IntAaWR9X3tAbmFtZX0tZmFpbHMuaHRtbCI+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAZmFpbHVyZXMiLz48L2E+CisJCTwveHNsOndoZW4+CisJCTx4c2w6b3RoZXJ3aXNlPgorCQkgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAZmFpbHVyZXMiLz4KKwkJPC94c2w6b3RoZXJ3aXNlPgorCSAgICA8L3hzbDpjaG9vc2U+CisJPC90ZD4KKyAgICAgICAgPHRkPjx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LXRpbWUiPgorICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ2YWx1ZSIgc2VsZWN0PSJAdGltZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQHRpbWVzdGFtcCIvPjwvdGQ+CisgICAgICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkBob3N0bmFtZSIvPjwvdGQ+CisgICAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJ0ZXN0Y2FzZSIgbW9kZT0icHJpbnQudGVzdCI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJzaG93LmNsYXNzIiBzZWxlY3Q9IicnIi8+CisgICAgPHRyIHZhbGlnbj0idG9wIj4KKyAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPgorICAgICAgICAgICAgPHhzbDpjaG9vc2U+CisgICAgICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9ImVycm9yIj5FcnJvcjwveHNsOndoZW4+CisgICAgICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9ImZhaWx1cmUiPkZhaWx1cmU8L3hzbDp3aGVuPgorICAgICAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPlRhYmxlUm93Q29sb3I8L3hzbDpvdGhlcndpc2U+CisgICAgICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAgICAgIDwveHNsOmF0dHJpYnV0ZT4KKwk8eHNsOnZhcmlhYmxlIG5hbWU9ImNsYXNzLmhyZWYiPgorCSAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iY29uY2F0KHRyYW5zbGF0ZSguLi9AcGFja2FnZSwnLicsJy8nKSwgJy8nLCAuLi9AaWQsICdfJywgLi4vQG5hbWUsICcuaHRtbCcpIi8+CisJPC94c2w6dmFyaWFibGU+CisJPHhzbDppZiB0ZXN0PSJib29sZWFuKCRzaG93LmNsYXNzKSI+CisJICAgIDx0ZD48YSBocmVmPSJ7JGNsYXNzLmhyZWZ9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vQG5hbWUiLz48L2E+PC90ZD4KKwk8L3hzbDppZj4KKyAgICAgICAgPHRkPgorCSAgICA8YSBuYW1lPSJ7QG5hbWV9Ii8+CisJICAgIDx4c2w6Y2hvb3NlPgorCQk8eHNsOndoZW4gdGVzdD0iYm9vbGVhbigkc2hvdy5jbGFzcykiPgorCQkgICAgPGEgaHJlZj0ie2NvbmNhdCgkY2xhc3MuaHJlZiwgJyMnLCBAbmFtZSl9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+CisJCTwveHNsOndoZW4+CisJCTx4c2w6b3RoZXJ3aXNlPgorCQkgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisJCTwveHNsOm90aGVyd2lzZT4KKwkgICAgPC94c2w6Y2hvb3NlPgorCTwvdGQ+CisgICAgICAgIDx4c2w6Y2hvb3NlPgorICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9ImZhaWx1cmUiPgorICAgICAgICAgICAgICAgIDx0ZD5GYWlsdXJlPC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJmYWlsdXJlIi8+PC90ZD4KKyAgICAgICAgICAgIDwveHNsOndoZW4+CisgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0iZXJyb3IiPgorICAgICAgICAgICAgICAgIDx0ZD5FcnJvcjwvdGQ+CisgICAgICAgICAgICAgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZXJyb3IiLz48L3RkPgorICAgICAgICAgICAgPC94c2w6d2hlbj4KKyAgICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgorICAgICAgICAgICAgICAgIDx0ZD5TdWNjZXNzPC90ZD4KKyAgICAgICAgICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgICAgIDwveHNsOm90aGVyd2lzZT4KKyAgICAgICAgPC94c2w6Y2hvb3NlPgorICAgICAgICA8dGQ+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGlzcGxheS10aW1lIj4KKyAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idmFsdWUiIHNlbGVjdD0iQHRpbWUiLz4KKyAgICAgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICAgIDwvdGQ+CisgICAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gTm90ZSA6IHRoZSBiZWxvdyB0ZW1wbGF0ZSBlcnJvciBhbmQgZmFpbHVyZSBhcmUgdGhlIHNhbWUgc3R5bGUKKyAgICAgICAgICAgIHNvIGp1c3QgY2FsbCB0aGUgc2FtZSBzdHlsZSBzdG9yZSBpbiB0aGUgdG9vbGtpdCB0ZW1wbGF0ZSAtLT4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9ImZhaWx1cmUiPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LWZhaWx1cmVzIi8+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZXJyb3IiPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LWZhaWx1cmVzIi8+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSBTdHlsZSBmb3IgdGhlIGVycm9yIGFuZCBmYWlsdXJlIGluIHRoZSB0ZXN0Y2FzZSB0ZW1wbGF0ZSAtLT4KKzx4c2w6dGVtcGxhdGUgbmFtZT0iZGlzcGxheS1mYWlsdXJlcyI+CisgICAgPHhzbDpjaG9vc2U+CisgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJub3QoQG1lc3NhZ2UpIj5OL0E8L3hzbDp3aGVuPgorICAgICAgICA8eHNsOm90aGVyd2lzZT4KKyAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbWVzc2FnZSIvPgorICAgICAgICA8L3hzbDpvdGhlcndpc2U+CisgICAgPC94c2w6Y2hvb3NlPgorICAgIDwhLS0gZGlzcGxheSB0aGUgc3RhY2t0cmFjZSAtLT4KKyAgICA8YnIvPjxici8+CisgICAgPGNvZGU+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJici1yZXBsYWNlIj4KKyAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ3b3JkIiBzZWxlY3Q9Ii4iLz4KKyAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L2NvZGU+CisgICAgPCEtLSB0aGUgbGF0dGVyIGlzIGJldHRlciBidXQgbWlnaHQgYmUgcHJvYmxlbWF0aWMgZm9yIG5vbi0yMSIgbW9uaXRvcnMuLi4gLS0+CisgICAgPCEtLXByZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjwvcHJlLS0+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBuYW1lPSJKUy1lc2NhcGUiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0ic3RyaW5nIi8+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ0bXAxIiBzZWxlY3Q9InN0cmluZ3V0aWxzOnJlcGxhY2Uoc3RyaW5nKCRzdHJpbmcpLCdcJywnXFwnKSIvPgorICAgIDx4c2w6cGFyYW0gbmFtZT0idG1wMiIgc2VsZWN0PSJzdHJpbmd1dGlsczpyZXBsYWNlKHN0cmluZygkdG1wMSksJnF1b3Q7JyZxdW90OywmcXVvdDtcJmFwb3M7JnF1b3Q7KSIvPgorICAgIDx4c2w6cGFyYW0gbmFtZT0idG1wMyIgc2VsZWN0PSJzdHJpbmd1dGlsczpyZXBsYWNlKHN0cmluZygkdG1wMiksJnF1b3Q7JiMxMDsmcXVvdDssJ1xuJykiLz4KKyAgICA8eHNsOnBhcmFtIG5hbWU9InRtcDQiIHNlbGVjdD0ic3RyaW5ndXRpbHM6cmVwbGFjZShzdHJpbmcoJHRtcDMpLCZxdW90OyYjMTM7JnF1b3Q7LCdccicpIi8+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0bXA0Ii8+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tCisgICAgdGVtcGxhdGUgdGhhdCB3aWxsIGNvbnZlcnQgYSBjYXJyaWFnZSByZXR1cm4gaW50byBhIGJyIHRhZworICAgIEBwYXJhbSB3b3JkIHRoZSB0ZXh0IGZyb20gd2hpY2ggdG8gY29udmVydCBDUiB0byBCUiB0YWcKKy0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJici1yZXBsYWNlIj4KKyAgICA8eHNsOnBhcmFtIG5hbWU9IndvcmQiLz4KKyAgICA8eHNsOmNob29zZT4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSJjb250YWlucygkd29yZCwgJyYjeGE7JykiPgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vic3RyaW5nLWJlZm9yZSgkd29yZCwgJyYjeGE7JykiLz4KKyAgICAgICAgPGJyLz4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImJyLXJlcGxhY2UiPgorICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ3b3JkIiBzZWxlY3Q9InN1YnN0cmluZy1hZnRlcigkd29yZCwgJyYjeGE7JykiLz4KKyAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOm90aGVyd2lzZT4KKwk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHdvcmQiLz4KKyAgICAgIDwveHNsOm90aGVyd2lzZT4KKyAgICA8L3hzbDpjaG9vc2U+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LXRpbWUiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0idmFsdWUiLz4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iZm9ybWF0LW51bWJlcigkdmFsdWUsJzAuMDAwJykiLz4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG5hbWU9ImRpc3BsYXktcGVyY2VudCI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ2YWx1ZSIvPgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJmb3JtYXQtbnVtYmVyKCR2YWx1ZSwnMC4wMCUnKSIvPgorPC94c2w6dGVtcGxhdGU+Cis8L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvanVuaXQtbm9mcmFtZXMueHNsIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvanVuaXQtbm9mcmFtZXMueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwMzY3MWYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9qdW5pdC1ub2ZyYW1lcy54c2wKQEAgLTAsMCArMSw0ODAgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiCisgICAgICAgIHhtbG5zOmx4c2x0PSJodHRwOi8veG1sLmFwYWNoZS5vcmcveHNsdCIKKyAgICAgICAgeG1sbnM6c3RyaW5ndXRpbHM9InhhbGFuOi8vb3JnLmFwYWNoZS50b29scy5hbnQudXRpbC5TdHJpbmdVdGlscyI+Cis8eHNsOm91dHB1dCBtZXRob2Q9Imh0bWwiIGluZGVudD0ieWVzIiBlbmNvZGluZz0iVVRGLTgiCisgIGRvY3R5cGUtcHVibGljPSItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgLz4KKzx4c2w6ZGVjaW1hbC1mb3JtYXQgZGVjaW1hbC1zZXBhcmF0b3I9Ii4iIGdyb3VwaW5nLXNlcGFyYXRvcj0iLCIgLz4KKzwhLS0KKyAgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgLS0+CisKKzx4c2w6cGFyYW0gbmFtZT0iVElUTEUiPlVuaXQgVGVzdCBSZXN1bHRzLjwveHNsOnBhcmFtPgorCis8IS0tCisKKyBTYW1wbGUgc3R5bGVzaGVldCB0byBiZSB1c2VkIHdpdGggQW50IEpVbml0UmVwb3J0IG91dHB1dC4KKworIEl0IGNyZWF0ZXMgYSBub24tZnJhbWVkIHJlcG9ydCB0aGF0IGNhbiBiZSB1c2VmdWwgdG8gc2VuZCB2aWEKKyBlLW1haWwgb3Igc3VjaC4KKworLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJ0ZXN0c3VpdGVzIj4KKyAgICA8aHRtbD4KKyAgICAgICAgPGhlYWQ+CisgICAgICAgICAgICA8dGl0bGU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRUSVRMRSIvPjwvdGl0bGU+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIGJvZHkgeworICAgICAgICBmb250Om5vcm1hbCA2OCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2E7CisgICAgICAgIGNvbG9yOiMwMDAwMDA7CisgICAgICB9CisgICAgICB0YWJsZSB0ciB0ZCwgdGFibGUgdHIgdGggeworICAgICAgICAgIGZvbnQtc2l6ZTogNjglOworICAgICAgfQorICAgICAgdGFibGUuZGV0YWlscyB0ciB0aHsKKyAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgICAgIHRleHQtYWxpZ246bGVmdDsKKyAgICAgICAgYmFja2dyb3VuZDojYTZjYWYwOworICAgICAgfQorICAgICAgdGFibGUuZGV0YWlscyB0ciB0ZHsKKyAgICAgICAgYmFja2dyb3VuZDojZWVlZWUwOworICAgICAgfQorCisgICAgICBwIHsKKyAgICAgICAgbGluZS1oZWlnaHQ6MS41ZW07CisgICAgICAgIG1hcmdpbi10b3A6MC41ZW07IG1hcmdpbi1ib3R0b206MS4wZW07CisgICAgICB9CisgICAgICBoMSB7CisgICAgICAgIG1hcmdpbjogMHB4IDBweCA1cHg7IGZvbnQ6IDE2NSUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EKKyAgICAgIH0KKyAgICAgIGgyIHsKKyAgICAgICAgbWFyZ2luLXRvcDogMWVtOyBtYXJnaW4tYm90dG9tOiAwLjVlbTsgZm9udDogYm9sZCAxMjUlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCisgICAgICB9CisgICAgICBoMyB7CisgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDExNSUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EKKyAgICAgIH0KKyAgICAgIGg0IHsKKyAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07IGZvbnQ6IGJvbGQgMTAwJSB2ZXJkYW5hLGFyaWFsLGhlbHZldGljYQorICAgICAgfQorICAgICAgaDUgeworICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgZm9udDogYm9sZCAxMDAlIHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhCisgICAgICB9CisgICAgICBoNiB7CisgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDEwMCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EKKyAgICAgIH0KKyAgICAgIC5FcnJvciB7CisgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7IGNvbG9yOnJlZDsKKyAgICAgIH0KKyAgICAgIC5GYWlsdXJlIHsKKyAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsgY29sb3I6cHVycGxlOworICAgICAgfQorICAgICAgLlByb3BlcnRpZXMgeworICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0OworICAgICAgfQorICAgICAgPC9zdHlsZT4KKyAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CisgICAgICAgIHZhciBUZXN0Q2FzZXMgPSBuZXcgQXJyYXkoKTsKKyAgICAgICAgdmFyIGN1cjsKKyAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii4vdGVzdHN1aXRlIj4KKyAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0icHJvcGVydGllcyIvPgorICAgICAgICA8L3hzbDpmb3ItZWFjaD4KKworICAgICAgIDwvc2NyaXB0PgorICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+PCFbQ0RBVEFbCisgICAgICAgIGZ1bmN0aW9uIGRpc3BsYXlQcm9wZXJ0aWVzIChuYW1lKSB7CisgICAgICAgICAgdmFyIHdpbiA9IHdpbmRvdy5vcGVuKCcnLCdKVW5pdFN5c3RlbVByb3BlcnRpZXMnLCdzY3JvbGxiYXJzPTEscmVzaXphYmxlPTEnKTsKKyAgICAgICAgICB2YXIgZG9jID0gd2luLmRvY3VtZW50OworICAgICAgICAgIGRvYy5vcGVuKCk7CisgICAgICAgICAgZG9jLndyaXRlKCI8aHRtbD48aGVhZD48dGl0bGU+UHJvcGVydGllcyBvZiAiICsgbmFtZSArICI8L3RpdGxlPiIpOworICAgICAgICAgIGRvYy53cml0ZSgiPHN0eWxlPiIpCisgICAgICAgICAgZG9jLndyaXRlKCJib2R5IHtmb250Om5vcm1hbCA2OCUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2E7IGNvbG9yOiMwMDAwMDA7IH0iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoInRhYmxlIHRyIHRkLCB0YWJsZSB0ciB0aCB7IGZvbnQtc2l6ZTogNjglOyB9Iik7CisgICAgICAgICAgZG9jLndyaXRlKCJ0YWJsZS5wcm9wZXJ0aWVzIHsgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlOyBib3JkZXItbGVmdDpzb2xpZCAxICNjY2NjY2M7IGJvcmRlci10b3A6c29saWQgMSAjY2NjY2NjOyBwYWRkaW5nOjVweDsgfSIpOworICAgICAgICAgIGRvYy53cml0ZSgidGFibGUucHJvcGVydGllcyB0aCB7IHRleHQtYWxpZ246bGVmdDsgYm9yZGVyLXJpZ2h0OnNvbGlkIDEgI2NjY2NjYzsgYm9yZGVyLWJvdHRvbTpzb2xpZCAxICNjY2NjY2M7IGJhY2tncm91bmQtY29sb3I6I2VlZWVlZTsgfSIpOworICAgICAgICAgIGRvYy53cml0ZSgidGFibGUucHJvcGVydGllcyB0ZCB7IGZvbnQ6bm9ybWFsOyB0ZXh0LWFsaWduOmxlZnQ7IGJvcmRlci1yaWdodDpzb2xpZCAxICNjY2NjY2M7IGJvcmRlci1ib3R0b206c29saWQgMSAjY2NjY2NjOyBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmZmOyB9Iik7CisgICAgICAgICAgZG9jLndyaXRlKCJoMyB7IG1hcmdpbi1ib3R0b206IDAuNWVtOyBmb250OiBib2xkIDExNSUgdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2EgfSIpOworICAgICAgICAgIGRvYy53cml0ZSgiPC9zdHlsZT4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjwvaGVhZD48Ym9keT4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjxoMz5Qcm9wZXJ0aWVzIG9mICIgKyBuYW1lICsgIjwvaDM+Iik7CisgICAgICAgICAgZG9jLndyaXRlKCI8ZGl2IGFsaWduPVwicmlnaHRcIj48YSBocmVmPVwiamF2YXNjcmlwdDp3aW5kb3cuY2xvc2UoKTtcIj5DbG9zZTwvYT48L2Rpdj4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjx0YWJsZSBjbGFzcz0ncHJvcGVydGllcyc+Iik7CisgICAgICAgICAgZG9jLndyaXRlKCI8dHI+PHRoPk5hbWU8L3RoPjx0aD5WYWx1ZTwvdGg+PC90cj4iKTsKKyAgICAgICAgICBmb3IgKHByb3AgaW4gVGVzdENhc2VzW25hbWVdKSB7CisgICAgICAgICAgICBkb2Mud3JpdGUoIjx0cj48dGg+IiArIHByb3AgKyAiPC90aD48dGQ+IiArIFRlc3RDYXNlc1tuYW1lXVtwcm9wXSArICI8L3RkPjwvdHI+Iik7CisgICAgICAgICAgfQorICAgICAgICAgIGRvYy53cml0ZSgiPC90YWJsZT4iKTsKKyAgICAgICAgICBkb2Mud3JpdGUoIjwvYm9keT48L2h0bWw+Iik7CisgICAgICAgICAgZG9jLmNsb3NlKCk7CisgICAgICAgICAgd2luLmZvY3VzKCk7CisgICAgICAgIH0KKyAgICAgIF1dPgorICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDwvaGVhZD4KKyAgICAgICAgPGJvZHk+CisgICAgICAgICAgICA8YSBuYW1lPSJ0b3AiPjwvYT4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWdlSGVhZGVyIi8+CisKKyAgICAgICAgICAgIDwhLS0gU3VtbWFyeSBwYXJ0IC0tPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InN1bW1hcnkiLz4KKyAgICAgICAgICAgIDxociBzaXplPSIxIiB3aWR0aD0iOTUlIiBhbGlnbj0ibGVmdCIvPgorCisgICAgICAgICAgICA8IS0tIFBhY2thZ2UgTGlzdCBwYXJ0IC0tPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhY2thZ2VsaXN0Ii8+CisgICAgICAgICAgICA8aHIgc2l6ZT0iMSIgd2lkdGg9Ijk1JSIgYWxpZ249ImxlZnQiLz4KKworICAgICAgICAgICAgPCEtLSBGb3IgZWFjaCBwYWNrYWdlIGNyZWF0ZSBpdHMgcGFydCAtLT4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWNrYWdlcyIvPgorICAgICAgICAgICAgPGhyIHNpemU9IjEiIHdpZHRoPSI5NSUiIGFsaWduPSJsZWZ0Ii8+CisKKyAgICAgICAgICAgIDwhLS0gRm9yIGVhY2ggY2xhc3MgY3JlYXRlIHRoZSAgcGFydCAtLT4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjbGFzc2VzIi8+CisKKyAgICAgICAgPC9ib2R5PgorICAgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCisKKworICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDwhLS0gV3JpdGUgYSBsaXN0IG9mIGFsbCBwYWNrYWdlcyB3aXRoIGFuIGh5cGVybGluayB0byB0aGUgYW5jaG9yIG9mICAgIC0tPgorICAgIDwhLS0gb2YgdGhlIHBhY2thZ2UgbmFtZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorICAgIDwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorICAgIDx4c2w6dGVtcGxhdGUgbmFtZT0icGFja2FnZWxpc3QiPgorICAgICAgICA8aDI+UGFja2FnZXM8L2gyPgorICAgICAgICBOb3RlOiBwYWNrYWdlIHN0YXRpc3RpY3MgYXJlIG5vdCBjb21wdXRlZCByZWN1cnNpdmVseSwgdGhleSBvbmx5IHN1bSB1cCBhbGwgb2YgaXRzIHRlc3RzdWl0ZXMgbnVtYmVycy4KKyAgICAgICAgPHRhYmxlIGNsYXNzPSJkZXRhaWxzIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9Ijk1JSI+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGVzdHN1aXRlLnRlc3QuaGVhZGVyIi8+CisgICAgICAgICAgICA8IS0tIGxpc3QgYWxsIHBhY2thZ2VzIHJlY3Vyc2l2ZWx5IC0tPgorICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii4vdGVzdHN1aXRlW25vdCguL0BwYWNrYWdlID0gcHJlY2VkaW5nLXNpYmxpbmc6OnRlc3RzdWl0ZS9AcGFja2FnZSldIj4KKyAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAcGFja2FnZSIvPgorICAgICAgICAgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGVzdHN1aXRlcy1pbi1wYWNrYWdlIiBzZWxlY3Q9Ii90ZXN0c3VpdGVzL3Rlc3RzdWl0ZVsuL0BwYWNrYWdlID0gY3VycmVudCgpL0BwYWNrYWdlXSIvPgorICAgICAgICAgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGVzdENvdW50IiBzZWxlY3Q9InN1bSgkdGVzdHN1aXRlcy1pbi1wYWNrYWdlL0B0ZXN0cykiLz4KKyAgICAgICAgICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImVycm9yQ291bnQiIHNlbGVjdD0ic3VtKCR0ZXN0c3VpdGVzLWluLXBhY2thZ2UvQGVycm9ycykiLz4KKyAgICAgICAgICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImZhaWx1cmVDb3VudCIgc2VsZWN0PSJzdW0oJHRlc3RzdWl0ZXMtaW4tcGFja2FnZS9AZmFpbHVyZXMpIi8+CisgICAgICAgICAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0aW1lQ291bnQiIHNlbGVjdD0ic3VtKCR0ZXN0c3VpdGVzLWluLXBhY2thZ2UvQHRpbWUpIi8+CisKKyAgICAgICAgICAgICAgICA8IS0tIHdyaXRlIGEgc3VtbWFyeSBmb3IgdGhlIHBhY2thZ2UgLS0+CisgICAgICAgICAgICAgICAgPHRyIHZhbGlnbj0idG9wIj4KKyAgICAgICAgICAgICAgICAgICAgPCEtLSBzZXQgYSBuaWNlIGNvbG9yIGRlcGVuZGluZyBpZiB0aGVyZSBpcyBhbiBlcnJvci9mYWlsdXJlIC0tPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOmNob29zZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOndoZW4gdGVzdD0iJGZhaWx1cmVDb3VudCAmZ3Q7IDAiPkZhaWx1cmU8L3hzbDp3aGVuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkZXJyb3JDb3VudCAmZ3Q7IDAiPkVycm9yPC94c2w6d2hlbj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwveHNsOmNob29zZT4KKyAgICAgICAgICAgICAgICAgICAgPC94c2w6YXR0cmlidXRlPgorICAgICAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0iI3tAcGFja2FnZX0iPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcGFja2FnZSIvPjwvYT48L3RkPgorICAgICAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0ZXN0Q291bnQiLz48L3RkPgorICAgICAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRlcnJvckNvdW50Ii8+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkZmFpbHVyZUNvdW50Ii8+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGlzcGxheS10aW1lIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ2YWx1ZSIgc2VsZWN0PSIkdGltZUNvdW50Ii8+CisgICAgICAgICAgICAgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICAgICAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICAgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHRlc3RzdWl0ZXMtaW4tcGFja2FnZS9AdGltZXN0YW1wIi8+PC90ZD4KKyAgICAgICAgICAgICAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGVzdHN1aXRlcy1pbi1wYWNrYWdlL0Bob3N0bmFtZSIvPjwvdGQ+CisgICAgICAgICAgICAgICAgPC90cj4KKyAgICAgICAgICAgIDwveHNsOmZvci1lYWNoPgorICAgICAgICA8L3RhYmxlPgorICAgIDwveHNsOnRlbXBsYXRlPgorCisKKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8IS0tIFdyaXRlIGEgcGFja2FnZSBsZXZlbCByZXBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKyAgICA8IS0tIEl0IGNyZWF0ZXMgYSB0YWJsZSB3aXRoIHZhbHVlcyBmcm9tIHRoZSBkb2N1bWVudDogICAgICAgICAgICAgICAgICAtLT4KKyAgICA8IS0tIE5hbWUgfCBUZXN0cyB8IEVycm9ycyB8IEZhaWx1cmVzIHwgVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKyAgICA8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAgICA8eHNsOnRlbXBsYXRlIG5hbWU9InBhY2thZ2VzIj4KKyAgICAgICAgPCEtLSBjcmVhdGUgYW4gYW5jaG9yIHRvIHRoaXMgcGFja2FnZSBuYW1lIC0tPgorICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iL3Rlc3RzdWl0ZXMvdGVzdHN1aXRlW25vdCguL0BwYWNrYWdlID0gcHJlY2VkaW5nLXNpYmxpbmc6OnRlc3RzdWl0ZS9AcGFja2FnZSldIj4KKyAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBwYWNrYWdlIi8+CisgICAgICAgICAgICAgICAgPGEgbmFtZT0ie0BwYWNrYWdlfSI+PC9hPgorICAgICAgICAgICAgICAgIDxoMz5QYWNrYWdlIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcGFja2FnZSIvPjwvaDM+CisKKyAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9ImRldGFpbHMiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIyIiB3aWR0aD0iOTUlIj4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InRlc3RzdWl0ZS50ZXN0LmhlYWRlciIvPgorCisgICAgICAgICAgICAgICAgICAgIDwhLS0gbWF0Y2ggdGhlIHRlc3RzdWl0ZXMgb2YgdGhpcyBwYWNrYWdlIC0tPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii90ZXN0c3VpdGVzL3Rlc3RzdWl0ZVsuL0BwYWNrYWdlID0gY3VycmVudCgpL0BwYWNrYWdlXSIgbW9kZT0icHJpbnQudGVzdCIvPgorICAgICAgICAgICAgICAgIDwvdGFibGU+CisgICAgICAgICAgICAgICAgPGEgaHJlZj0iI3RvcCI+QmFjayB0byB0b3A8L2E+CisgICAgICAgICAgICAgICAgPHAvPgorICAgICAgICAgICAgICAgIDxwLz4KKyAgICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPC94c2w6dGVtcGxhdGU+CisKKyAgICA8eHNsOnRlbXBsYXRlIG5hbWU9ImNsYXNzZXMiPgorICAgICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0idGVzdHN1aXRlIj4KKyAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgICAgICA8IS0tIGNyZWF0ZSBhbiBhbmNob3IgdG8gdGhpcyBjbGFzcyBuYW1lIC0tPgorICAgICAgICAgICAgPGEgbmFtZT0ie0BuYW1lfSI+PC9hPgorICAgICAgICAgICAgPGgzPlRlc3RDYXNlIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvaDM+CisKKyAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iZGV0YWlscyIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSI5NSUiPgorICAgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0idGVzdGNhc2UudGVzdC5oZWFkZXIiLz4KKyAgICAgICAgICAgICAgPCEtLQorICAgICAgICAgICAgICB0ZXN0IGNhbiBldmVuIG5vdCBiZSBzdGFydGVkIGF0IGFsbCAoZmFpbHVyZSB0byBsb2FkIHRoZSBjbGFzcykKKyAgICAgICAgICAgICAgc28gcmVwb3J0IHRoZSBlcnJvciBkaXJlY3RseQorICAgICAgICAgICAgICAtLT4KKyAgICAgICAgICAgICAgICA8eHNsOmlmIHRlc3Q9Ii4vZXJyb3IiPgorICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9IkVycm9yIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPSI0Ij48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vZXJyb3IiLz48L3RkPgorICAgICAgICAgICAgICAgICAgICA8L3RyPgorICAgICAgICAgICAgICAgIDwveHNsOmlmPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLi90ZXN0Y2FzZSIgbW9kZT0icHJpbnQudGVzdCIvPgorICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9IlByb3BlcnRpZXMiPgorICAgICAgICAgICAgICAgIDxhPgorICAgICAgICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj5qYXZhc2NyaXB0OmRpc3BsYXlQcm9wZXJ0aWVzKCc8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHBhY2thZ2UiLz4uPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+Jyk7PC94c2w6YXR0cmlidXRlPgorICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0aWVzICYjMTg3OworICAgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgPHAvPgorCisgICAgICAgICAgICA8YSBocmVmPSIjdG9wIj5CYWNrIHRvIHRvcDwvYT4KKyAgICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPC94c2w6dGVtcGxhdGU+CisKKyAgICA8eHNsOnRlbXBsYXRlIG5hbWU9InN1bW1hcnkiPgorICAgICAgICA8aDI+U3VtbWFyeTwvaDI+CisgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idGVzdENvdW50IiBzZWxlY3Q9InN1bSh0ZXN0c3VpdGUvQHRlc3RzKSIvPgorICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImVycm9yQ291bnQiIHNlbGVjdD0ic3VtKHRlc3RzdWl0ZS9AZXJyb3JzKSIvPgorICAgICAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImZhaWx1cmVDb3VudCIgc2VsZWN0PSJzdW0odGVzdHN1aXRlL0BmYWlsdXJlcykiLz4KKyAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJ0aW1lQ291bnQiIHNlbGVjdD0ic3VtKHRlc3RzdWl0ZS9AdGltZSkiLz4KKyAgICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJzdWNjZXNzUmF0ZSIgc2VsZWN0PSIoJHRlc3RDb3VudCAtICRmYWlsdXJlQ291bnQgLSAkZXJyb3JDb3VudCkgZGl2ICR0ZXN0Q291bnQiLz4KKyAgICAgICAgPHRhYmxlIGNsYXNzPSJkZXRhaWxzIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9Ijk1JSI+CisgICAgICAgIDx0ciB2YWxpZ249InRvcCI+CisgICAgICAgICAgICA8dGg+VGVzdHM8L3RoPgorICAgICAgICAgICAgPHRoPkZhaWx1cmVzPC90aD4KKyAgICAgICAgICAgIDx0aD5FcnJvcnM8L3RoPgorICAgICAgICAgICAgPHRoPlN1Y2Nlc3MgcmF0ZTwvdGg+CisgICAgICAgICAgICA8dGg+VGltZTwvdGg+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0ciB2YWxpZ249InRvcCI+CisgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgICAgICAgICAgICAgICAgPHhzbDpjaG9vc2U+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkZmFpbHVyZUNvdW50ICZndDsgMCI+RmFpbHVyZTwveHNsOndoZW4+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSIkZXJyb3JDb3VudCAmZ3Q7IDAiPkVycm9yPC94c2w6d2hlbj4KKyAgICAgICAgICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAgICAgICAgICA8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0ZXN0Q291bnQiLz48L3RkPgorICAgICAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkZmFpbHVyZUNvdW50Ii8+PC90ZD4KKyAgICAgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGVycm9yQ291bnQiLz48L3RkPgorICAgICAgICAgICAgPHRkPgorICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LXBlcmNlbnQiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idmFsdWUiIHNlbGVjdD0iJHN1Y2Nlc3NSYXRlIi8+CisgICAgICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgICAgIDwvdGQ+CisgICAgICAgICAgICA8dGQ+CisgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdGltZSI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ2YWx1ZSIgc2VsZWN0PSIkdGltZUNvdW50Ii8+CisgICAgICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgICAgIDwvdGQ+CisKKyAgICAgICAgPC90cj4KKyAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9Ijk1JSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+CisgICAgICAgIE5vdGU6IDxpPmZhaWx1cmVzPC9pPiBhcmUgYW50aWNpcGF0ZWQgYW5kIGNoZWNrZWQgZm9yIHdpdGggYXNzZXJ0aW9ucyB3aGlsZSA8aT5lcnJvcnM8L2k+IGFyZSB1bmFudGljaXBhdGVkLgorICAgICAgICA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8L3RhYmxlPgorICAgIDwveHNsOnRlbXBsYXRlPgorCisgIDwhLS0KKyAgIFdyaXRlIHByb3BlcnRpZXMgaW50byBhIEphdmFTY3JpcHQgZGF0YSBzdHJ1Y3R1cmUuCisgICBUaGlzIGlzIGJhc2VkIG9uIHRoZSBvcmlnaW5hbCBpZGVhIGJ5IEVyaWsgSGF0Y2hlciAoZWhhdGNoZXJAYXBhY2hlLm9yZykKKyAgIC0tPgorICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJwcm9wZXJ0aWVzIj4KKyAgICBjdXIgPSBUZXN0Q2FzZXNbJzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuLi9AcGFja2FnZSIvPi48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vQG5hbWUiLz4nXSA9IG5ldyBBcnJheSgpOworICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJwcm9wZXJ0eSI+CisgICAgPHhzbDpzb3J0IHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgY3VyWyc8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4nXSA9ICc8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iSlMtZXNjYXBlIj48eHNsOndpdGgtcGFyYW0gbmFtZT0ic3RyaW5nIiBzZWxlY3Q9IkB2YWx1ZSIvPjwveHNsOmNhbGwtdGVtcGxhdGU+JzsKKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gUGFnZSBIRUFERVIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiPgorICAgIDxoMT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJFRJVExFIi8+PC9oMT4KKyAgICA8dGFibGUgd2lkdGg9IjEwMCUiPgorICAgIDx0cj4KKyAgICAgICAgPHRkIGFsaWduPSJsZWZ0Ij48L3RkPgorICAgICAgICA8dGQgYWxpZ249InJpZ2h0Ij5EZXNpZ25lZCBmb3IgdXNlIHdpdGggPGEgaHJlZj0naHR0cDovL3d3dy5qdW5pdC5vcmcnPkpVbml0PC9hPiBhbmQgPGEgaHJlZj0naHR0cDovL2FudC5hcGFjaGUub3JnL2FudCc+QW50PC9hPi48L3RkPgorICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8aHIgc2l6ZT0iMSIvPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9InRlc3RzdWl0ZSIgbW9kZT0iaGVhZGVyIj4KKyAgICA8dHIgdmFsaWduPSJ0b3AiPgorICAgICAgICA8dGggd2lkdGg9IjgwJSI+TmFtZTwvdGg+CisgICAgICAgIDx0aD5UZXN0czwvdGg+CisgICAgICAgIDx0aD5FcnJvcnM8L3RoPgorICAgICAgICA8dGg+RmFpbHVyZXM8L3RoPgorICAgICAgICA8dGggbm93cmFwPSJub3dyYXAiPlRpbWUocyk8L3RoPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSBjbGFzcyBoZWFkZXIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InRlc3RzdWl0ZS50ZXN0LmhlYWRlciI+CisgICAgPHRyIHZhbGlnbj0idG9wIj4KKyAgICAgICAgPHRoIHdpZHRoPSI4MCUiPk5hbWU8L3RoPgorICAgICAgICA8dGg+VGVzdHM8L3RoPgorICAgICAgICA8dGg+RXJyb3JzPC90aD4KKyAgICAgICAgPHRoPkZhaWx1cmVzPC90aD4KKyAgICAgICAgPHRoIG5vd3JhcD0ibm93cmFwIj5UaW1lKHMpPC90aD4KKyAgICAgICAgPHRoIG5vd3JhcD0ibm93cmFwIj5UaW1lIFN0YW1wPC90aD4KKyAgICAgICAgPHRoPkhvc3Q8L3RoPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSBtZXRob2QgaGVhZGVyIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJ0ZXN0Y2FzZS50ZXN0LmhlYWRlciI+CisgICAgPHRyIHZhbGlnbj0idG9wIj4KKyAgICAgICAgPHRoPk5hbWU8L3RoPgorICAgICAgICA8dGg+U3RhdHVzPC90aD4KKyAgICAgICAgPHRoIHdpZHRoPSI4MCUiPlR5cGU8L3RoPgorICAgICAgICA8dGggbm93cmFwPSJub3dyYXAiPlRpbWUocyk8L3RoPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tIGNsYXNzIGluZm9ybWF0aW9uIC0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGVzdHN1aXRlIiBtb2RlPSJwcmludC50ZXN0Ij4KKyAgICA8dHIgdmFsaWduPSJ0b3AiPgorICAgICAgICA8IS0tIHNldCBhIG5pY2UgY29sb3IgZGVwZW5kaW5nIGlmIHRoZXJlIGlzIGFuIGVycm9yL2ZhaWx1cmUgLS0+CisgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4KKyAgICAgICAgICAgIDx4c2w6Y2hvb3NlPgorICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJAZmFpbHVyZXNbLiZndDsgMF0iPkZhaWx1cmU8L3hzbDp3aGVuPgorICAgICAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJAZXJyb3JzWy4mZ3Q7IDBdIj5FcnJvcjwveHNsOndoZW4+CisgICAgICAgICAgICA8L3hzbDpjaG9vc2U+CisgICAgICAgIDwveHNsOmF0dHJpYnV0ZT4KKworICAgICAgICA8IS0tIHByaW50IHRlc3RzdWl0ZSBpbmZvcm1hdGlvbiAtLT4KKyAgICAgICAgPHRkPjxhIGhyZWY9IiN7QG5hbWV9Ij48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+PC90ZD4KKyAgICAgICAgPHRkPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAdGVzdHMiLz48L3RkPgorICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBlcnJvcnMiLz48L3RkPgorICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBmYWlsdXJlcyIvPjwvdGQ+CisgICAgICAgIDx0ZD4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LXRpbWUiPgorICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ2YWx1ZSIgc2VsZWN0PSJAdGltZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQHRpbWVzdGFtcCIvPjwvdGQ+CisgICAgICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkBob3N0bmFtZSIvPjwvdGQ+CisgICAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJ0ZXN0Y2FzZSIgbW9kZT0icHJpbnQudGVzdCI+CisgICAgPHRyIHZhbGlnbj0idG9wIj4KKyAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iY2xhc3MiPgorICAgICAgICAgICAgPHhzbDpjaG9vc2U+CisgICAgICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9ImZhaWx1cmUgfCBlcnJvciI+RXJyb3I8L3hzbDp3aGVuPgorICAgICAgICAgICAgPC94c2w6Y2hvb3NlPgorICAgICAgICA8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L3RkPgorICAgICAgICA8eHNsOmNob29zZT4KKyAgICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJmYWlsdXJlIj4KKyAgICAgICAgICAgICAgICA8dGQ+RmFpbHVyZTwvdGQ+CisgICAgICAgICAgICAgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iZmFpbHVyZSIvPjwvdGQ+CisgICAgICAgICAgICA8L3hzbDp3aGVuPgorICAgICAgICAgICAgPHhzbDp3aGVuIHRlc3Q9ImVycm9yIj4KKyAgICAgICAgICAgICAgICA8dGQ+RXJyb3I8L3RkPgorICAgICAgICAgICAgICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImVycm9yIi8+PC90ZD4KKyAgICAgICAgICAgIDwveHNsOndoZW4+CisgICAgICAgICAgICA8eHNsOm90aGVyd2lzZT4KKyAgICAgICAgICAgICAgICA8dGQ+U3VjY2VzczwvdGQ+CisgICAgICAgICAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgICAgICA8L3hzbDpvdGhlcndpc2U+CisgICAgICAgIDwveHNsOmNob29zZT4KKyAgICAgICAgPHRkPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdGltZSI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InZhbHVlIiBzZWxlY3Q9IkB0aW1lIi8+CisgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICA8L3RkPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJmYWlsdXJlIj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGlzcGxheS1mYWlsdXJlcyIvPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9ImVycm9yIj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGlzcGxheS1mYWlsdXJlcyIvPgorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gU3R5bGUgZm9yIHRoZSBlcnJvciBhbmQgZmFpbHVyZSBpbiB0aGUgdGVzY2FzZSB0ZW1wbGF0ZSAtLT4KKzx4c2w6dGVtcGxhdGUgbmFtZT0iZGlzcGxheS1mYWlsdXJlcyI+CisgICAgPHhzbDpjaG9vc2U+CisgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJub3QoQG1lc3NhZ2UpIj5OL0E8L3hzbDp3aGVuPgorICAgICAgICA8eHNsOm90aGVyd2lzZT4KKyAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbWVzc2FnZSIvPgorICAgICAgICA8L3hzbDpvdGhlcndpc2U+CisgICAgPC94c2w6Y2hvb3NlPgorICAgIDwhLS0gZGlzcGxheSB0aGUgc3RhY2t0cmFjZSAtLT4KKyAgICA8Y29kZT4KKyAgICAgICAgPGJyLz48YnIvPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iYnItcmVwbGFjZSI+CisgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0id29yZCIgc2VsZWN0PSIuIi8+CisgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC9jb2RlPgorICAgIDwhLS0gdGhlIGxhdGVyIGlzIGJldHRlciBidXQgbWlnaHQgYmUgcHJvYmxlbWF0aWMgZm9yIG5vbi0yMSIgbW9uaXRvcnMuLi4gLS0+CisgICAgPCEtLXByZT48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjwvcHJlLS0+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBuYW1lPSJKUy1lc2NhcGUiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0ic3RyaW5nIi8+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ0bXAxIiBzZWxlY3Q9InN0cmluZ3V0aWxzOnJlcGxhY2Uoc3RyaW5nKCRzdHJpbmcpLCdcJywnXFwnKSIvPgorICAgIDx4c2w6cGFyYW0gbmFtZT0idG1wMiIgc2VsZWN0PSJzdHJpbmd1dGlsczpyZXBsYWNlKHN0cmluZygkdG1wMSksJnF1b3Q7JyZxdW90OywmcXVvdDtcJmFwb3M7JnF1b3Q7KSIvPgorICAgIDx4c2w6cGFyYW0gbmFtZT0idG1wMyIgc2VsZWN0PSJzdHJpbmd1dGlsczpyZXBsYWNlKHN0cmluZygkdG1wMiksJnF1b3Q7JiMxMDsmcXVvdDssJ1xuJykiLz4KKyAgICA8eHNsOnBhcmFtIG5hbWU9InRtcDQiIHNlbGVjdD0ic3RyaW5ndXRpbHM6cmVwbGFjZShzdHJpbmcoJHRtcDMpLCZxdW90OyYjMTM7JnF1b3Q7LCdccicpIi8+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0bXA0Ii8+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tCisgICAgdGVtcGxhdGUgdGhhdCB3aWxsIGNvbnZlcnQgYSBjYXJyaWFnZSByZXR1cm4gaW50byBhIGJyIHRhZworICAgIEBwYXJhbSB3b3JkIHRoZSB0ZXh0IGZyb20gd2hpY2ggdG8gY29udmVydCBDUiB0byBCUiB0YWcKKy0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJici1yZXBsYWNlIj4KKyAgICA8eHNsOnBhcmFtIG5hbWU9IndvcmQiLz4KKyAgICA8eHNsOmNob29zZT4KKyAgICAgIDx4c2w6d2hlbiB0ZXN0PSJjb250YWlucygkd29yZCwgJyYjeGE7JykiPgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vic3RyaW5nLWJlZm9yZSgkd29yZCwgJyYjeGE7JykiLz4KKyAgICAgICAgPGJyLz4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImJyLXJlcGxhY2UiPgorICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ3b3JkIiBzZWxlY3Q9InN1YnN0cmluZy1hZnRlcigkd29yZCwgJyYjeGE7JykiLz4KKyAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgIDwveHNsOndoZW4+CisgICAgICA8eHNsOm90aGVyd2lzZT4KKwk8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHdvcmQiLz4KKyAgICAgIDwveHNsOm90aGVyd2lzZT4KKyAgICA8L3hzbDpjaG9vc2U+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LXRpbWUiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0idmFsdWUiLz4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iZm9ybWF0LW51bWJlcigkdmFsdWUsJzAuMDAwJykiLz4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG5hbWU9ImRpc3BsYXktcGVyY2VudCI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ2YWx1ZSIvPgorICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJmb3JtYXQtbnVtYmVyKCR2YWx1ZSwnMC4wMCUnKSIvPgorPC94c2w6dGVtcGxhdGU+CisKKzwveHNsOnN0eWxlc2hlZXQ+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy9sb2cueHNsIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvbG9nLnhzbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDQwOTkzCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvbG9nLnhzbApAQCAtMCwwICsxLDIwMyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+Cis8eHNsOm91dHB1dCBtZXRob2Q9Imh0bWwiIGluZGVudD0ieWVzIiBlbmNvZGluZz0iVVMtQVNDSUkiLz4KKzwhLS0KKyAgIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQorICAgY29udHJpYnV0b3IgbGljZW5zZSBhZ3JlZW1lbnRzLiAgU2VlIHRoZSBOT1RJQ0UgZmlsZSBkaXN0cmlidXRlZCB3aXRoCisgICB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuCisgICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAorICAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgKKyAgIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CisKKyAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKworICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQorICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAorICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgICAKKy0tPgorIAorPCEtLQorCisgIFRoZSBwdXJwb3NlIGhhdmUgdGhpcyBYU0wgaXMgdG8gcHJvdmlkZSBhIG5pY2Ugd2F5IHRvIGxvb2sgYXQgdGhlIG91dHB1dAorICBmcm9tIHRoZSBBbnQgWG1sTG9nZ2VyIChpZTogYW50IC1saXN0ZW5lciBvcmcuYXBhY2hlLnRvb2xzLmFudC5YbWxMb2dnZXIgKQorICAKKyAgQGF1dGhvciA8YSBocmVmPSJtYWlsdG86c2JhaWxsaWV6QGFwYWNoZS5vcmciPlN0ZXBoYW5lIEJhaWxsaWV6PC9hPgorICAKKy0tPgorPHhzbDpkZWNpbWFsLWZvcm1hdCBkZWNpbWFsLXNlcGFyYXRvcj0iLiIgZ3JvdXBpbmctc2VwYXJhdG9yPSIsIiAvPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSIvIj4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIC5iYW5uZXJjZWxsIHsKKyAgICAgIGJvcmRlcjogMHB4OworICAgICAgcGFkZGluZzogMHB4OworICAgIH0KKyAgICBib2R5IHsKKyAgICAgIG1hcmdpbjogMDsKKyAgICAgIGZvbnQ6bm9ybWFsIDEwMCUgYXJpYWwsaGVsdmV0aWNhLHNhbnNlcmlmOworICAgICAgYmFja2dyb3VuZC1jb2xvcjojRkZGRkZGOworICAgICAgY29sb3I6IzAwMDAwMDsKKyAgICB9CisgICAgdGFibGUuc3RhdHVzIHsKKyAgICAgIGZvbnQ6Ym9sZCA4MCUgYXJpYWwsaGVsdmV0aWNhLHNhbnNlcmlmOworICAgICAgYmFja2dyb3VuZC1jb2xvcjojNTI1RDc2OworICAgICAgY29sb3I6I2ZmZmZmZjsKKyAgICB9CisgICAgdGFibGUubG9nIHRyIHRkLCB0ciB0aCB7CisgICAgICBmb250LXNpemU6IDgwJTsKKyAgICB9CisgICAgLmVycm9yIHsKKyAgICAgIGNvbG9yOnJlZDsKKyAgICB9CisgICAgLndhcm4geworICAgICAgY29sb3I6YnJvd247CisgICAgfQorICAgIC5pbmZvIHsKKyAgICAgIGNvbG9yOmdyYXk7CisgICAgfQorICAgIC5kZWJ1Z3sKKyAgICAgIGNvbG9yOmdyYXk7CisgICAgfQorICAgIC5mYWlsZWQgeworICAgICAgZm9udC1zaXplOjgwJTsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKKyAgICAgIGNvbG9yOiNGRkZGRkY7CisgICAgICBmb250LXdlaWdodDogYm9sZAorICAgIH0KKyAgICAuY29tcGxldGUgeworICAgICAgZm9udC1zaXplOjgwJTsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1MjVENzY7CisgICAgICBjb2xvcjojRkZGRkZGOworICAgICAgZm9udC13ZWlnaHQ6IGJvbGQKKyAgICB9CisgICAgLmEgdGQgeyAKKyAgICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7CisgICAgfQorICAgIC5iIHRkIHsgCisgICAgICBiYWNrZ3JvdW5kOiAjZmZmOworICAgIH0KKyAgICB0aCwgdGQgeworICAgICAgdGV4dC1hbGlnbjogbGVmdDsKKyAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CisgICAgfQorICAgIHRoIHsKKyAgICAgIGJhY2tncm91bmQ6ICNjY2M7CisgICAgICBjb2xvcjogYmxhY2s7CisgICAgfQorICAgIHRhYmxlLCB0aCwgdGQgeworICAgICAgYm9yZGVyOiBub25lCisgICAgfQorICAgIGgzIHsKKyAgICAgIGZvbnQ6Ym9sZCA4MCUgYXJpYWwsaGVsdmV0aWNhLHNhbnNlcmlmOworICAgICAgYmFja2dyb3VuZDogIzUyNUQ3NjsKKyAgICAgIGNvbG9yOiB3aGl0ZTsKKyAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKKyAgICAgIHBhZGRpbmc6IDVweDsKKyAgICAgIG1hcmdpbi1yaWdodDogMnB4OworICAgICAgbWFyZ2luLWxlZnQ6IDJweDsKKyAgICAgIG1hcmdpbi1ib3R0b206IDA7CisgICAgfQorICAgIDwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPCEtLSBqYWthcnRhIGxvZ28gLS0+CisgICAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+CisgICAgPHRyPgorICAgICAgPHRkIHZhbGlnbj0idG9wIiBjbGFzcz0iYmFubmVyY2VsbCI+CisgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9qYWthcnRhLmFwYWNoZS5vcmcvIj4KKyAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9qYWthcnRhLmFwYWNoZS5vcmcvaW1hZ2VzL2pha2FydGEtbG9nby5naWYiIGFsdD0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZyIgYWxpZ249ImxlZnQiIGJvcmRlcj0iMCIvPgorICAgICAgICA8L2E+CisgICAgICA8L3RkPgorICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOnJpZ2h0O3ZlcnRpY2FsLWFsaWduOmJvdHRvbSI+CisgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9hbnQuYXBhY2hlLm9yZy8iPkFwYWNoZSBBbnQ8L2E+CisgICAgICA8L3RkPgorICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICAgIAorICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIj4KKyAgICA8dHI+PHRkPjxociBub3NoYWRlPSJ5ZXMiIHNpemU9IjEiLz48L3RkPjwvdHI+CisgICAgPC90YWJsZT4KKworICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iYnVpbGQiLz4KKworICA8L2JvZHk+Cis8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iYnVpbGQiPgorICA8IS0tIGJ1aWxkIHN0YXR1cyAtLT4KKyAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KKyAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgICAgICA8eHNsOmlmIHRlc3Q9IkBlcnJvciI+ZmFpbGVkPC94c2w6aWY+CisgICAgICA8eHNsOmlmIHRlc3Q9Im5vdChAZXJyb3IpIj5jb21wbGV0ZTwveHNsOmlmPgorICAgIDwveHNsOmF0dHJpYnV0ZT4KKyAgICA8dHI+CisgICAgICA8eHNsOmlmIHRlc3Q9IkBlcnJvciI+CisgICAgICAgIDx0ZCBub3dyYXA9InllcyI+QnVpbGQgRmFpbGVkPC90ZD4gCisgICAgICA8L3hzbDppZj4KKyAgICAgIDx4c2w6aWYgdGVzdD0ibm90KEBlcnJvcikiPgorICAgICAgICA8dGQgbm93cmFwPSJ5ZXMiPkJ1aWxkIENvbXBsZXRlPC90ZD4KKyAgICAgIDwveHNsOmlmPgorICAgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246cmlnaHQiIG5vd3JhcD0ieWVzIj5Ub3RhbCBUaW1lOiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHRpbWUiLz48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgPHRkIGNvbHNwYW49IjIiPgorICAgICAgICA8eHNsOmlmIHRlc3Q9IkBlcnJvciI+CisgICAgICAgICAgPHR0Pjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAZXJyb3IiLz48L3R0Pjxici8+CisgICAgICAgICAgPGkgc3R5bGU9ImZvbnQtc2l6ZTo4MCUiPlNlZSB0aGUgPGEgaHJlZj0iI3N0YWNrdHJhY2UiIGFsdD0iQ2xpY2sgZm9yIGRldGFpbHMiPnN0YWNrdHJhY2U8L2E+LjwvaT4KKyAgICAgICAgPC94c2w6aWY+CisgICAgICA8L3RkPgorICAgIDwvdHI+CisgIDwvdGFibGU+CisgIDx0YWJsZSBib3JkZXI9IjEiIGNlbGxzcGFjaW5nPSIyIiBjZWxscGFkZGluZz0iMyIgd2lkdGg9IjEwMCUiIHN0eWxlPSJmb250LXNpemU6ODAlIj4KKyAgICA8dHIgY2xhc3M9ImEiPjx0ZCB3aWR0aD0iMSI+YW50LmZpbGU8L3RkPjx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vic3RyaW5nLWFmdGVyKC8vbWVzc2FnZVtjb250YWlucyh0ZXh0KCksJ2FudC5maWxlJyldLCAnLT4nKSIvPjwvdGQ+PC90cj4KKyAgICA8dHIgY2xhc3M9ImIiPjx0ZCB3aWR0aD0iMSI+YW50LnZlcnNpb248L3RkPjx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vic3RyaW5nLWFmdGVyKC8vbWVzc2FnZVtjb250YWlucyh0ZXh0KCksJ2FudC52ZXJzaW9uJyldLCAnLT4nKSIvPjwvdGQ+PC90cj4KKyAgICA8dHIgY2xhc3M9ImEiPjx0ZCB3aWR0aD0iMSI+amF2YS52ZXJzaW9uPC90ZD48dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InN1YnN0cmluZy1hZnRlcigvL21lc3NhZ2VbY29udGFpbnModGV4dCgpLCdqYXZhLnZtLnZlcnNpb24nKV0sICctPicpIi8+PC90ZD48L3RyPgorICAgIDx0ciBjbGFzcz0iYiI+PHRkIHdpZHRoPSIxIj5vcy5uYW1lPC90ZD48dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InN1YnN0cmluZy1hZnRlcigvL21lc3NhZ2VbY29udGFpbnModGV4dCgpLCdvcy5uYW1lJyldLCAnLT4nKSIvPjwvdGQ+PC90cj4KKyAgPC90YWJsZT4KKyAgPCEtLSBidWlsZCBpbmZvcm1hdGlvbiAtLT4KKyAgPGgzPkJ1aWxkIGV2ZW50czwvaDM+CisgIDx0YWJsZSBjbGFzcz0ibG9nIiBib3JkZXI9IjEiIGNlbGxzcGFjaW5nPSIyIiBjZWxscGFkZGluZz0iMyIgd2lkdGg9IjEwMCUiPgorICA8dHI+CisgICAgPHRoIG5vd3JhcD0ieWVzIiBhbGlnbj0ibGVmdCIgd2lkdGg9IjElIj50YXJnZXQ8L3RoPgorICAgIDx0aCBub3dyYXA9InllcyIgYWxpZ249ImxlZnQiIHdpZHRoPSIxJSI+dGFzazwvdGg+CisgICAgPHRoIG5vd3JhcD0ieWVzIiBhbGlnbj0ibGVmdCI+bWVzc2FnZTwvdGg+CisgIDwvdHI+CisgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLi8vbWVzc2FnZVtAcHJpb3JpdHkgIT0gJ2RlYnVnJ10iLz4KKyAgPC90YWJsZT4KKyAgPHA+CisgIDwhLS0gc3RhY2t0cmFjZSAtLT4KKyAgPHhzbDppZiB0ZXN0PSJzdGFja3RyYWNlIj4KKyAgPGEgbmFtZT0ic3RhY2t0cmFjZSIvPgorICA8aDM+RXJyb3IgZGV0YWlsczwvaDM+CisgIDx0YWJsZSB3aWR0aD0iMTAwJSI+CisgICAgPHRyPjx0ZD4KKyAgICAgIDxwcmU+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InN0YWNrdHJhY2UiLz48L3ByZT4KKyAgICA8L3RkPjwvdHI+CisgIDwvdGFibGU+CisgIDwveHNsOmlmPgorICA8L3A+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSByZXBvcnQgZXZlcnkgbWVzc2FnZSBidXQgdGhvc2Ugd2l0aCBkZWJ1ZyBwcmlvcml0eSAtLT4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9Im1lc3NhZ2VbQHByaW9yaXR5IT0nZGVidWcnXSI+CisgIDx0ciB2YWxpZ249InRvcCI+CisgICAgPCEtLSBhbHRlcm5hdGVkIHJvdyBzdHlsZSAtLT4KKyAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkgbW9kIDIgPSAxIj5hPC94c2w6aWY+CisgICAgICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkgbW9kIDIgPSAwIj5iPC94c2w6aWY+CisgICAgPC94c2w6YXR0cmlidXRlPgorICAgIDx0ZCBub3dyYXA9InllcyIgd2lkdGg9IjElIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vLi4vQG5hbWUiLz48L3RkPgorICAgIDx0ZCBub3dyYXA9InllcyIgc3R5bGU9InRleHQtYWxpZ246cmlnaHQiIHdpZHRoPSIxJSI+WyA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLi4vQG5hbWUiLz4gXTwvdGQ+CisgICAgPHRkIGNsYXNzPSJ7QHByaW9yaXR5fSIgbm93cmFwPSJ5ZXMiPgorICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InRleHQoKSIvPgorICAgIDwvdGQ+CisgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL21hdWRpdC1mcmFtZXMueHNsIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvbWF1ZGl0LWZyYW1lcy54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU3YzBjOAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL21hdWRpdC1mcmFtZXMueHNsCkBAIC0wLDAgKzEsNTAzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIgdmVyc2lvbj0iMS4wIgorICAgIHhtbG5zOmx4c2x0PSJodHRwOi8veG1sLmFwYWNoZS5vcmcveHNsdCIKKyAgICB4bWxuczpyZWRpcmVjdD0ib3JnLmFwYWNoZS54YWxhbi5saWIuUmVkaXJlY3QiCisgICAgZXh0ZW5zaW9uLWVsZW1lbnQtcHJlZml4ZXM9InJlZGlyZWN0Ij4KKzx4c2w6b3V0cHV0IG1ldGhvZD0iaHRtbCIgaW5kZW50PSJ5ZXMiIGVuY29kaW5nPSJVUy1BU0NJSSIvPgorPHhzbDpkZWNpbWFsLWZvcm1hdCBkZWNpbWFsLXNlcGFyYXRvcj0iLiIgZ3JvdXBpbmctc2VwYXJhdG9yPSIsIiAvPgorPCEtLQorICAgTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZSBvciBtb3JlCisgICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgKKyAgIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KKyAgIFRoZSBBU0YgbGljZW5zZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wCisgICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aAorICAgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKy0tPgorPCEtLQorCisgICAgU3R5bGVzaGVldCB0byB0cmFuc2Zvcm0gYW4gWE1MIGZpbGUgZ2VuZXJhdGVkIGJ5IHRoZSBBbnQgTUF1ZGl0IHRhc2sgaW50bworICAgIGEgc2V0IG9mIEphdmFEb2MtbGlrZSBIVE1MIHBhZ2UgdG8gbWFrZSBwYWdlcyBtb3JlIGNvbnZlbmllbnQgdG8gYmUgYnJvd3NlZC4KKworICAgIEl0IHVzZSB0aGUgWGFsYW4gcmVkaXJlY3QgZXh0ZW5zaW9uIHRvIHdyaXRlIHRvIG11bHRpcGxlIG91dHB1dCBmaWxlcy4KKworICAgIEBhdXRob3IgU3RlcGhhbmUgQmFpbGxpZXogPGEgaHJlZj0ibWFpbHRvOnNiYWlsbGllekBhcGFjaGUub3JnIi8+CistLT4KKworPHhzbDpwYXJhbSBuYW1lPSJvdXRwdXQuZGlyIiBzZWxlY3Q9IicuJyIvPgorCisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9ImNsYXNzZXMiPgorICAgIDwhLS0gY3JlYXRlIHRoZSBpbmRleC5odG1sIC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L2luZGV4Lmh0bWwiPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iaW5kZXguaHRtbCIvPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgICA8IS0tIGNyZWF0ZSB0aGUgc3R5bGVzaGVldC5jc3MgLS0+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vc3R5bGVzaGVldC5jc3MiPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic3R5bGVzaGVldC5jc3MiLz4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgPCEtLSBjcmVhdGUgdGhlIG92ZXJ2aWV3LXBhY2thZ2VzLmh0bWwgYXQgdGhlIHJvb3QgLS0+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vb3ZlcnZpZXctc3VtbWFyeS5odG1sIj4KKyAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJvdmVydmlldy5wYWNrYWdlcyIvPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgICA8IS0tIGNyZWF0ZSB0aGUgYWxsLXBhY2thZ2VzLmh0bWwgYXQgdGhlIHJvb3QgLS0+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vb3ZlcnZpZXctZnJhbWUuaHRtbCI+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0iYWxsLnBhY2thZ2VzIi8+CisgICAgPC9yZWRpcmVjdDp3cml0ZT4KKworICAgIDwhLS0gY3JlYXRlIHRoZSBhbGwtY2xhc3Nlcy5odG1sIGF0IHRoZSByb290IC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L2FsbGNsYXNzZXMtZnJhbWUuaHRtbCI+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0iYWxsLmNsYXNzZXMiLz4KKyAgICA8L3JlZGlyZWN0OndyaXRlPgorCisgICAgPCEtLSBwcm9jZXNzIGFsbCBwYWNrYWdlcyAtLT4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iLi9jbGFzc1tub3QoLi9AcGFja2FnZSA9IHByZWNlZGluZy1zaWJsaW5nOjpjbGFzcy9AcGFja2FnZSldIj4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhY2thZ2UiPgorICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im5hbWUiIHNlbGVjdD0iQHBhY2thZ2UiLz4KKyAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKzwveHNsOnRlbXBsYXRlPgorCisKKzx4c2w6dGVtcGxhdGUgbmFtZT0icGFja2FnZSI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJuYW1lIi8+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLmRpciI+CisgICAgICAgIDx4c2w6aWYgdGVzdD0ibm90KCRuYW1lID0gJycpIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0idHJhbnNsYXRlKCRuYW1lLCcuJywnLycpIi8+PC94c2w6aWY+CisgICAgICAgIDx4c2w6aWYgdGVzdD0iJG5hbWUgPSAnJyI+LjwveHNsOmlmPgorICAgIDwveHNsOnZhcmlhYmxlPgorICAgIDwhLS1Qcm9jZXNzaW5nIHBhY2thZ2UgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+IGluIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkb3V0cHV0LmRpciIvPiAtLT4KKyAgICA8IS0tIGNyZWF0ZSBhIGNsYXNzZXMtbGlzdC5odG1sIGluIHRoZSBwYWNrYWdlIGRpcmVjdG9yeSAtLT4KKyAgICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS97JHBhY2thZ2UuZGlyfS9wYWNrYWdlLWZyYW1lLmh0bWwiPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY2xhc3Nlcy5saXN0Ij4KKyAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJuYW1lIiBzZWxlY3Q9IiRuYW1lIi8+CisgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC9yZWRpcmVjdDp3cml0ZT4KKworICAgIDwhLS0gY3JlYXRlIGEgcGFja2FnZS1zdW1tYXJ5Lmh0bWwgaW4gdGhlIHBhY2thZ2UgZGlyZWN0b3J5IC0tPgorICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L3skcGFja2FnZS5kaXJ9L3BhY2thZ2Utc3VtbWFyeS5odG1sIj4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhY2thZ2Uuc3VtbWFyeSI+CisgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibmFtZSIgc2VsZWN0PSIkbmFtZSIvPgorICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgICA8IS0tIGZvciBlYWNoIGNsYXNzLCBjcmVhdGVzIGEgQG5hbWUuaHRtbCAtLT4KKyAgICA8IS0tIEBidWcgdGhlcmUgd2lsbCBiZSBhIHByb2JsZW0gd2l0aCBpbm5lciBjbGFzc2VzIGhhdmluZyB0aGUgc2FtZSBuYW1lLCBpdCB3aWxsIGJlIG92ZXJ3cml0dGVuIC0tPgorICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSIvY2xhc3Nlcy9jbGFzc1tAcGFja2FnZSA9ICRuYW1lXSI+CisgICAgICAgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L3skcGFja2FnZS5kaXJ9L3tAbmFtZX0uaHRtbCI+CisgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImNsYXNzLmRldGFpbHMiLz4KKyAgICAgICAgPC9yZWRpcmVjdDp3cml0ZT4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG5hbWU9ImluZGV4Lmh0bWwiPgorPEhUTUw+CisgICAgPEhFQUQ+PFRJVExFPkF1ZGl0IFJlc3VsdHMuPC9USVRMRT48L0hFQUQ+CisgICAgPEZSQU1FU0VUIGNvbHM9IjIwJSw4MCUiPgorICAgICAgICA8RlJBTUVTRVQgcm93cz0iMzAlLDcwJSI+CisgICAgICAgICAgICA8RlJBTUUgc3JjPSJvdmVydmlldy1mcmFtZS5odG1sIiBuYW1lPSJwYWNrYWdlTGlzdEZyYW1lIi8+CisgICAgICAgICAgICA8RlJBTUUgc3JjPSJhbGxjbGFzc2VzLWZyYW1lLmh0bWwiIG5hbWU9ImNsYXNzTGlzdEZyYW1lIi8+CisgICAgICAgIDwvRlJBTUVTRVQ+CisgICAgICAgIDxGUkFNRSBzcmM9Im92ZXJ2aWV3LXN1bW1hcnkuaHRtbCIgbmFtZT0iY2xhc3NGcmFtZSIvPgorICAgIDwvRlJBTUVTRVQ+CisgICAgPG5vZnJhbWVzPgorICAgICAgICA8SDI+RnJhbWUgQWxlcnQ8L0gyPgorICAgICAgICA8UD4KKyAgICAgICAgVGhpcyBkb2N1bWVudCBpcyBkZXNpZ25lZCB0byBiZSB2aWV3ZWQgdXNpbmcgdGhlIGZyYW1lcyBmZWF0dXJlLiBJZiB5b3Ugc2VlIHRoaXMgbWVzc2FnZSwgeW91IGFyZSB1c2luZyBhIG5vbi1mcmFtZS1jYXBhYmxlIHdlYiBjbGllbnQuCisgICAgICAgIDwvUD4KKyAgICA8L25vZnJhbWVzPgorPC9IVE1MPgorPC94c2w6dGVtcGxhdGU+CisKKworPCEtLSB0aGlzIGlzIHRoZSBzdHlsZXNoZWV0IGNzcyB0byB1c2UgZm9yIG5lYXJseSBldmVyeXRoaW5nIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJzdHlsZXNoZWV0LmNzcyI+CisgICAgLmJhbm5lcmNlbGwgeworICAgICAgYm9yZGVyOiAwcHg7CisgICAgICBwYWRkaW5nOiAwcHg7CisgICAgfQorICAgIGJvZHkgeworICAgICAgbWFyZ2luLWxlZnQ6IDEwOworICAgICAgbWFyZ2luLXJpZ2h0OiAxMDsKKyAgICAgIGZvbnQ6bm9ybWFsIDgwJSBhcmlhbCxoZWx2ZXRpY2Esc2Fuc2VyaWY7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7CisgICAgICBjb2xvcjojMDAwMDAwOworICAgIH0KKyAgICAuYSB0ZCB7CisgICAgICBiYWNrZ3JvdW5kOiAjZWZlZmVmOworICAgIH0KKyAgICAuYiB0ZCB7CisgICAgICBiYWNrZ3JvdW5kOiAjZmZmOworICAgIH0KKyAgICB0aCwgdGQgeworICAgICAgdGV4dC1hbGlnbjogbGVmdDsKKyAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CisgICAgfQorICAgIHRoIHsKKyAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7CisgICAgICBiYWNrZ3JvdW5kOiAjY2NjOworICAgICAgY29sb3I6IGJsYWNrOworICAgIH0KKyAgICB0YWJsZSwgdGgsIHRkIHsKKyAgICAgIGZvbnQtc2l6ZToxMDAlOworICAgICAgYm9yZGVyOiBub25lCisgICAgfQorICAgIHRhYmxlLmxvZyB0ciB0ZCwgdHIgdGggeworCisgICAgfQorICAgIGgyIHsKKyAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7CisgICAgICBmb250LXNpemU6MTQwJTsKKyAgICAgIG1hcmdpbi1ib3R0b206IDU7CisgICAgfQorICAgIGgzIHsKKyAgICAgIGZvbnQtc2l6ZToxMDAlOworICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsKKyAgICAgIGJhY2tncm91bmQ6ICM1MjVENzY7CisgICAgICBjb2xvcjogd2hpdGU7CisgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CisgICAgICBwYWRkaW5nOiA1cHg7CisgICAgICBtYXJnaW4tcmlnaHQ6IDJweDsKKyAgICAgIG1hcmdpbi1sZWZ0OiAycHg7CisgICAgICBtYXJnaW4tYm90dG9tOiAwOworICAgIH0KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gcHJpbnQgdGhlIHZpb2xhdGlvbnMgb2YgdGhlIGNsYXNzIC0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY2xhc3MiIG1vZGU9ImNsYXNzLmRldGFpbHMiPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0icGFja2FnZS5uYW1lIiBzZWxlY3Q9IkBwYWNrYWdlIi8+CisgICAgPEhUTUw+CisgICAgICAgIDxIRUFEPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNyZWF0ZS5zdHlsZXNoZWV0LmxpbmsiPgorICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iJHBhY2thZ2UubmFtZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC9IRUFEPgorICAgICAgICA8Qk9EWT4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWdlSGVhZGVyIi8+CisgICAgICAgICAgICA8SDM+Q2xhc3MgPHhzbDppZiB0ZXN0PSJub3QoJHBhY2thZ2UubmFtZSA9ICcnKSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRwYWNrYWdlLm5hbWUiLz4uPC94c2w6aWY+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9IMz4KKworICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJsb2ciIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNsYXNzLmF1ZGl0LmhlYWRlciIvPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0icHJpbnQuYXVkaXQiLz4KKyAgICAgICAgICAgIDwvdGFibGU+CisKKyAgICAgICAgICAgIDxIMz5WaW9sYXRpb25zPC9IMz4KKyAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0ibG9nIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9IjEwMCUiPgorICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJ2aW9sYXRpb24uYXVkaXQuaGVhZGVyIi8+CisgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuL3Zpb2xhdGlvbiIgbW9kZT0icHJpbnQuYXVkaXQiPgorICAgICAgICAgICAgICAgICAgICA8eHNsOnNvcnQgZGF0YS10eXBlPSJudW1iZXIiIHNlbGVjdD0iQGxpbmUiLz4KKyAgICAgICAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VGb290ZXIiLz4KKyAgICAgICAgPC9CT0RZPgorICAgIDwvSFRNTD4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gbGlzdCBvZiBjbGFzc2VzIGluIGEgcGFja2FnZSAtLT4KKzx4c2w6dGVtcGxhdGUgbmFtZT0iY2xhc3Nlcy5saXN0Ij4KKyAgICA8eHNsOnBhcmFtIG5hbWU9Im5hbWUiLz4KKyAgICA8SFRNTD4KKyAgICAgICAgPEhFQUQ+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgICAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIgc2VsZWN0PSIkbmFtZSIvPgorICAgICAgICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC9IRUFEPgorICAgICAgICA8Qk9EWT4KKyAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgPHRyPgorICAgICAgICAgICAgICAgICAgICA8dGQgbm93cmFwPSJub3dyYXAiPgorICAgICAgICAgICAgICAgICAgICAgICAgPEgyPjxhIGhyZWY9InBhY2thZ2Utc3VtbWFyeS5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbmFtZSIvPjwvYT48L0gyPgorICAgICAgICAgICAgICAgICAgICA8L3RkPgorICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICA8L3RhYmxlPgorCisgICAgICAgICAgICA8aDI+Q2xhc3NlczwvaDI+CisgICAgICAgICAgICA8VEFCTEUgV0lEVEg9IjEwMCUiPgorICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iL2NsYXNzZXMvY2xhc3NbLi9AcGFja2FnZSA9ICRuYW1lXSIgbW9kZT0iY2xhc3Nlcy5saXN0Ij4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgICAgICAgICA8L1RBQkxFPgorICAgICAgICA8L0JPRFk+CisgICAgPC9IVE1MPgorPC94c2w6dGVtcGxhdGU+Cis8IS0tIHRoZSBjbGFzcyB0byBsaXN0IC0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY2xhc3MiIG1vZGU9ImNsYXNzZXMubGlzdCI+CisgICAgPHRyPgorICAgICAgICA8dGQgbm93cmFwPSJub3dyYXAiPgorICAgICAgICAgICAgPCEtLSBAYnVnIG5hbWluZyB0byBmaXggZm9yIGlubmVyIGNsYXNzZXMgLS0+CisgICAgICAgICAgICA8YSBocmVmPSJ7QG5hbWV9Lmh0bWwiIHRhcmdldD0iY2xhc3NGcmFtZSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9hPgorICAgICAgICA8L3RkPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tCisgICAgQ3JlYXRlcyBhbiBhbGwtY2xhc3Nlcy5odG1sIGZpbGUgdGhhdCBjb250YWlucyBhIGxpbmsgdG8gYWxsIHBhY2thZ2Utc3VtbWFyeS5odG1sCisgICAgb24gZWFjaCBjbGFzcy4KKy0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY2xhc3NlcyIgbW9kZT0iYWxsLmNsYXNzZXMiPgorICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIj4KKyAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icGFja2FnZS5uYW1lIi8+CisgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICA8L2hlYWQ+CisgICAgICAgIDxib2R5PgorICAgICAgICAgICAgPGgyPkNsYXNzZXM8L2gyPgorICAgICAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vL2NsYXNzIiBtb2RlPSJhbGwuY2xhc3NlcyI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgICAgICAgICAgPC94c2w6YXBwbHktdGVtcGxhdGVzPgorICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPC9ib2R5PgorICAgIDwvaHRtbD4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJjbGFzcyIgbW9kZT0iYWxsLmNsYXNzZXMiPgorICAgIDwhLS0gKGFuY2VzdG9yOjpwYWNrYWdlKVtsYXN0KCldIGlzIGJ1Z2d5IGluIE1TWE1MMyA/IC0tPgorICAgIDx4c2w6dmFyaWFibGUgbmFtZT0icGFja2FnZS5uYW1lIiBzZWxlY3Q9IkBwYWNrYWdlIi8+CisgICAgPHRyPgorICAgICAgICA8dGQgbm93cmFwPSJub3dyYXAiPgorICAgICAgICAgICAgPGEgdGFyZ2V0PSJjbGFzc0ZyYW1lIj4KKyAgICAgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDppZiB0ZXN0PSJub3QoJHBhY2thZ2UubmFtZT0nJykiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InRyYW5zbGF0ZSgkcGFja2FnZS5uYW1lLCcuJywnLycpIi8+PHhzbDp0ZXh0Pi88L3hzbDp0ZXh0PgorICAgICAgICAgICAgICAgICAgICA8L3hzbDppZj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48eHNsOnRleHQ+Lmh0bWw8L3hzbDp0ZXh0PgorICAgICAgICAgICAgICAgIDwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgICAgIDwvYT4KKyAgICAgICAgPC90ZD4KKyAgICA8L3RyPgorPC94c2w6dGVtcGxhdGU+CisKKworPCEtLQorICAgIENyZWF0ZXMgYW4gaHRtbCBmaWxlIHRoYXQgY29udGFpbnMgYSBsaW5rIHRvIGFsbCBwYWNrYWdlLXN1bW1hcnkuaHRtbCBmaWxlcyBvbgorICAgIGVhY2ggcGFja2FnZSBleGlzdGluZyBvbiB0ZXN0c3VpdGVzLgorICAgIEBidWcgdGhlcmUgd2lsbCBiZSBhIHByb2JsZW0gaGVyZSwgSSBkb24ndCBrbm93IHlldCBob3cgdG8gaGFuZGxlIHVubmFtZWQgcGFja2FnZSA6KAorLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJjbGFzc2VzIiBtb2RlPSJhbGwucGFja2FnZXMiPgorICAgIDxodG1sPgorICAgICAgICA8aGVhZD4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIj4KKyAgICAgICAgICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icGFja2FnZS5uYW1lIi8+CisgICAgICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgICAgICA8L2hlYWQ+CisgICAgICAgIDxib2R5PgorICAgICAgICAgICAgPGgyPjxhIGhyZWY9Im92ZXJ2aWV3LXN1bW1hcnkuaHRtbCIgdGFyZ2V0PSJjbGFzc0ZyYW1lIj5Ib21lPC9hPjwvaDI+CisgICAgICAgICAgICA8aDI+UGFja2FnZXM8L2gyPgorICAgICAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iY2xhc3Nbbm90KC4vQHBhY2thZ2UgPSBwcmVjZWRpbmctc2libGluZzo6Y2xhc3MvQHBhY2thZ2UpXSIgbW9kZT0iYWxsLnBhY2thZ2VzIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBwYWNrYWdlIiBvcmRlcj0iYXNjZW5kaW5nIi8+CisgICAgICAgICAgICAgICAgICAgIDwveHNsOmFwcGx5LXRlbXBsYXRlcz4KKyAgICAgICAgICAgICAgICA8L3RhYmxlPgorICAgICAgICA8L2JvZHk+CisgICAgPC9odG1sPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9ImNsYXNzIiBtb2RlPSJhbGwucGFja2FnZXMiPgorICAgIDx0cj4KKyAgICAgICAgPHRkIG5vd3JhcD0ibm93cmFwIj4KKyAgICAgICAgICAgIDxhIGhyZWY9Int0cmFuc2xhdGUoQHBhY2thZ2UsJy4nLCcvJyl9L3BhY2thZ2Utc3VtbWFyeS5odG1sIiB0YXJnZXQ9ImNsYXNzRnJhbWUiPgorICAgICAgICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcGFja2FnZSIvPgorICAgICAgICAgICAgPC9hPgorICAgICAgICA8L3RkPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJjbGFzc2VzIiBtb2RlPSJvdmVydmlldy5wYWNrYWdlcyI+CisgICAgPGh0bWw+CisgICAgICAgIDxoZWFkPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNyZWF0ZS5zdHlsZXNoZWV0LmxpbmsiPgorICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYWNrYWdlLm5hbWUiLz4KKyAgICAgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICAgIDwvaGVhZD4KKyAgICAgICAgPGJvZHkgb25sb2FkPSJvcGVuKCdhbGxjbGFzc2VzLWZyYW1lLmh0bWwnLCdjbGFzc0xpc3RGcmFtZScpIj4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiLz4KKyAgICAgICAgPGgzPlN1bW1hcnk8L2gzPgorICAgICAgICA8dGFibGUgY2xhc3M9ImxvZyIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgPHRyPgorICAgICAgICAgICAgPHRoPkF1ZGl0ZWQgY2xhc3NlczwvdGg+CisgICAgICAgICAgICA8dGg+UmVwb3J0ZWQgY2xhc3NlczwvdGg+CisgICAgICAgICAgICA8dGg+VmlvbGF0aW9uczwvdGg+CisgICAgICAgIDwvdHI+CisgICAgICAgIDx0ciBjbGFzcz0iYSI+CisgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBhdWRpdGVkIi8+PC90ZD4KKyAgICAgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHJlcG9ydGVkIi8+PC90ZD4KKyAgICAgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHZpb2xhdGlvbnMiLz48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8L3RhYmxlPgorICAgICAgICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSI+CisgICAgICAgIDx0cj4KKyAgICAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+CisgICAgICAgIE5vdGU6IFJ1bGVzIGNoZWNrZWQgaGF2ZSBvcmlnaW5hdGVkIGZyb20gc3R5bGUgZ3VpZGVsaW5lcyBzdWdnZXN0ZWQgYnkgdGhlIGxhbmd1YWdlIGRlc2lnbmVycywKKyAgICAgICAgZXhwZXJpZW5jZSBmcm9tIHRoZSBKYXZhIGRldmVsb3BtZW50IGNvbW11bml0eSBhbmQgaW5zaXRlIGV4cGVyaWVuY2UuIFZpb2xhdGlvbnMgYXJlIGdlbmVyYWxseQorICAgICAgICByZXBvcnRlZCB3aXRoIGEgcmVmZXJlbmNlIHRvIHRoZSA8YSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL2RvY3MvYm9va3MvamxzL3NlY29uZF9lZGl0aW9uL2h0bWwvalRPQy5kb2MuaHRtbCI+SmF2YSBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uczwvYT4gKEpMUyB4LngueCkKKyAgICAgICAgYW5kIE1ldGFtYXRhIEF1ZGl0IHJ1bGVzICh4LngpLgorICAgICAgICBQbGVhc2UgY29uc3VsdCB0aGVzZSBkb2N1bWVudHMgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdmlvbGF0aW9ucy4KKyAgICAgICAgPHAvPgorICAgICAgICBSdWxlcyBjaGVja2VkIGFsc28gZW5mb3JjZSBhZGhlcmVuY2UgdG8gPGEgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9kb2NzL2NvZGVjb252L2h0bWwvQ29kZUNvbnZUT0MuZG9jLmh0bWwiPlN1biBKYXZhIGNvZGluZyBndWlkZWxpbmVzPC9hPiBpbiB1c2UgYXQgSmFrYXJ0YS4KKyAgICAgICAgPHAvPgorICAgICAgICBPbmUgc2hvdWxkIG5vdGUgdGhhdCB0aGVzZSB2aW9sYXRpb25zIGRvIG5vdCBuZWNlc3NhcnkgdW5kZXJsaW5lIGVycm9ycyBidXQgc2hvdWxkIGJlIHVzZWQKKyAgICAgICAgYXMgYW4gaW5kaWNhdGlvbiBmb3IgPGk+cG9zc2libGU8L2k+IGVycm9ycy4gQXMgYWx3YXlzLCB1c2UgeW91ciBiZXN0IGp1ZGdtZW50IGFuZCByZXZpZXcKKyAgICAgICAgdGhlbSBjYXJlZnVsbHksIGl0IG1pZ2h0IHNhdmUgeW91IGhvdXJzIG9mIGRlYnVnZ2luZy4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAgICAgPC90YWJsZT4KKworICAgICAgICA8aDM+UGFja2FnZXM8L2gzPgorICAgICAgICA8dGFibGUgY2xhc3M9ImxvZyIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjbGFzcy5hdWRpdC5oZWFkZXIiLz4KKyAgICAgICAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PSJjbGFzc1tub3QoLi9AcGFja2FnZSA9IHByZWNlZGluZy1zaWJsaW5nOjpjbGFzcy9AcGFja2FnZSldIj4KKyAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAcGFja2FnZSIgb3JkZXI9ImFzY2VuZGluZyIvPgorICAgICAgICAgICAgICAgIDx0cj4KKyAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iYWx0ZXJuYXRlLXJvdyIvPgorICAgICAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj0ie3RyYW5zbGF0ZShAcGFja2FnZSwnLicsJy8nKX0vcGFja2FnZS1zdW1tYXJ5Lmh0bWwiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAcGFja2FnZSIvPjwvYT48L3RkPgorICAgICAgICAgICAgICAgICAgICA8dGQ+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InN1bSgvY2xhc3Nlcy9jbGFzc1suL0BwYWNrYWdlID0gY3VycmVudCgpL0BwYWNrYWdlXS9AdmlvbGF0aW9ucykiLz48L3RkPgorICAgICAgICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAgICAgPC90YWJsZT4KKyAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VGb290ZXIiLz4KKyAgICAgICAgPC9ib2R5PgorICAgICAgICA8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8eHNsOnRlbXBsYXRlIG5hbWU9InBhY2thZ2Uuc3VtbWFyeSI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJuYW1lIi8+CisgICAgPEhUTUw+CisgICAgICAgIDxIRUFEPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNyZWF0ZS5zdHlsZXNoZWV0LmxpbmsiPgorICAgICAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iJG5hbWUiLz4KKyAgICAgICAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgICAgIDwvSEVBRD4KKyAgICAgICAgPEJPRFk+CisgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJvbmxvYWQiPm9wZW4oJ3BhY2thZ2UtZnJhbWUuaHRtbCcsJ2NsYXNzTGlzdEZyYW1lJyk8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGFnZUhlYWRlciIvPgorICAgICAgICAgICAgPGgzPlBhY2thZ2UgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRuYW1lIi8+PC9oMz4KKworICAgICAgICAgICAgPCEtLXRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNsYXNzLm1ldHJpY3MuaGVhZGVyIi8+CisgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJwcmludC5tZXRyaWNzIi8+CisgICAgICAgICAgICA8L3RhYmxlLS0+CisKKyAgICAgICAgICAgIDx4c2w6aWYgdGVzdD0iY291bnQoL2NsYXNzZXMvY2xhc3NbLi9AcGFja2FnZSA9ICRuYW1lXSkgJmd0OyAwIj4KKyAgICAgICAgICAgICAgICA8SDM+Q2xhc3NlczwvSDM+CisgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJsb2ciIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgICAgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjbGFzcy5hdWRpdC5oZWFkZXIiLz4KKyAgICAgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIvY2xhc3Nlcy9jbGFzc1suL0BwYWNrYWdlID0gJG5hbWVdIiBtb2RlPSJwcmludC5hdWRpdCI+CisgICAgICAgICAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAbmFtZSIvPgorICAgICAgICAgICAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgICAgICAgICAgICAgPC90YWJsZT4KKyAgICAgICAgICAgIDwveHNsOmlmPgorICAgICAgICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VGb290ZXIiLz4KKyAgICAgICAgPC9CT0RZPgorICAgIDwvSFRNTD4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0KKyAgICB0cmFuc2Zvcm0gc3RyaW5nIGxpa2UgYS5iLmMgdG8gLi4vLi4vLi4vCisgICAgQHBhcmFtIHBhdGggdGhlIHBhdGggdG8gdHJhbnNmb3JtIGludG8gYSBkZXNjZW5kaW5nIGRpcmVjdG9yeSBwYXRoCistLT4KKzx4c2w6dGVtcGxhdGUgbmFtZT0icGF0aCI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJwYXRoIi8+CisgICAgPHhzbDppZiB0ZXN0PSJjb250YWlucygkcGF0aCwnLicpIj4KKyAgICAgICAgPHhzbDp0ZXh0Pi4uLzwveHNsOnRleHQ+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYXRoIj4KKyAgICAgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYXRoIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vic3RyaW5nLWFmdGVyKCRwYXRoLCcuJykiLz48L3hzbDp3aXRoLXBhcmFtPgorICAgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwveHNsOmlmPgorICAgIDx4c2w6aWYgdGVzdD0ibm90KGNvbnRhaW5zKCRwYXRoLCcuJykpIGFuZCBub3QoJHBhdGggPSAnJykiPgorICAgICAgICA8eHNsOnRleHQ+Li4vPC94c2w6dGV4dD4KKyAgICA8L3hzbDppZj4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gY3JlYXRlIHRoZSBsaW5rIHRvIHRoZSBzdHlsZXNoZWV0IGJhc2VkIG9uIHRoZSBwYWNrYWdlIG5hbWUgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9ImNyZWF0ZS5zdHlsZXNoZWV0LmxpbmsiPgorICAgIDx4c2w6cGFyYW0gbmFtZT0icGFja2FnZS5uYW1lIi8+CisgICAgPExJTksgUkVMID0ic3R5bGVzaGVldCIgVFlQRT0idGV4dC9jc3MiIFRJVExFPSJTdHlsZSI+PHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+PHhzbDppZiB0ZXN0PSJub3QoJHBhY2thZ2UubmFtZSA9ICd1bm5hbWVkIHBhY2thZ2UnKSI+PHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhdGgiPjx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYXRoIiBzZWxlY3Q9IiRwYWNrYWdlLm5hbWUiLz48L3hzbDpjYWxsLXRlbXBsYXRlPjwveHNsOmlmPnN0eWxlc2hlZXQuY3NzPC94c2w6YXR0cmlidXRlPjwvTElOSz4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIFBhZ2UgSEVBREVSIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJwYWdlSGVhZGVyIj4KKworICA8IS0tIGpha2FydGEgbG9nbyAtLT4KKyAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+CisgIDx0cj4KKyAgICA8dGQgY2xhc3M9ImJhbm5lcmNlbGwiIHJvd3NwYW49IjIiPgorICAgICAgPGEgaHJlZj0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZy8iPgorICAgICAgPGltZyBzcmM9Imh0dHA6Ly9qYWthcnRhLmFwYWNoZS5vcmcvaW1hZ2VzL2pha2FydGEtbG9nby5naWYiIGFsdD0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZyIgYWxpZ249ImxlZnQiIGJvcmRlcj0iMCIvPgorICAgICAgPC9hPgorICAgIDwvdGQ+CisgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjpyaWdodCI+PGgyPlNvdXJjZSBDb2RlIEF1ZGl0PC9oMj48L3RkPgorICAgICAgICA8L3RyPgorICAgICAgICA8dHI+CisgICAgICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjpyaWdodCI+RGVzaWduZWQgZm9yIHVzZSB3aXRoIDxhIGhyZWY9J2h0dHA6Ly93d3cud2ViZ2Fpbi5jb20vcHJvZHVjdHMvcXVhbGl0eV9hbmFseXplci8nPldlYmdhaW4gUUEvTWV0YW1hdGEgQXVkaXQ8L2E+IGFuZCA8YSBocmVmPSdodHRwOi8vamFrYXJ0YS5hcGFjaGUub3JnJz5BbnQ8L2E+LjwvdGQ+CisgICAgICAgIDwvdHI+CisgIDwvdGFibGU+CisgICAgPGhyIHNpemU9IjEiLz4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIFBhZ2UgSEVBREVSIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJwYWdlRm9vdGVyIj4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gY2xhc3MgaGVhZGVyIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJjbGFzcy5hdWRpdC5oZWFkZXIiPgorICAgIDx0cj4KKyAgICAgICAgPHRoIHdpZHRoPSI4MCUiPk5hbWU8L3RoPgorICAgICAgICA8dGg+VmlvbGF0aW9uczwvdGg+CisgICAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIG1ldGhvZCBoZWFkZXIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InZpb2xhdGlvbi5hdWRpdC5oZWFkZXIiPgorICAgIDx0cj4KKyAgICAgICAgPHRoPkxpbmU8L3RoPgorICAgICAgICA8dGg+TWVzc2FnZTwvdGg+CisgICAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gY2xhc3MgaW5mb3JtYXRpb24gLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJjbGFzcyIgbW9kZT0icHJpbnQuYXVkaXQiPgorICAgIDx0cj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iYWx0ZXJuYXRlLXJvdyIvPgorICAgICAgICA8dGQ+PGEgaHJlZj0ie0BuYW1lfS5odG1sIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+PC90ZD4KKyAgICAgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQHZpb2xhdGlvbnMiLz48L3RkPgorICAgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idmlvbGF0aW9uIiBtb2RlPSJwcmludC5hdWRpdCI+CisgICAgPHRyPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJhbHRlcm5hdGUtcm93Ii8+CisgICAgICAgIDx0ZD48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQGxpbmUiLz48L3RkPgorICAgICAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAbWVzc2FnZSIvPjwvdGQ+CisgICAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIGFsdGVybmF0ZWQgcm93IHN0eWxlIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJhbHRlcm5hdGUtcm93Ij4KKzx4c2w6YXR0cmlidXRlIG5hbWU9ImNsYXNzIj4KKyAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpIG1vZCAyID0gMSI+YTwveHNsOmlmPgorICA8eHNsOmlmIHRlc3Q9InBvc2l0aW9uKCkgbW9kIDIgPSAwIj5iPC94c2w6aWY+Cis8L3hzbDphdHRyaWJ1dGU+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPC94c2w6c3R5bGVzaGVldD4KKwpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9ldGMvbW1ldHJpY3MtZnJhbWVzLnhzbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL21tZXRyaWNzLWZyYW1lcy54c2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI0NjQzYQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL21tZXRyaWNzLWZyYW1lcy54c2wKQEAgLTAsMCArMSwxMDI2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzx4c2w6c3R5bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIgdmVyc2lvbj0iMS4wIgorICB4bWxuczpseHNsdD0iaHR0cDovL3htbC5hcGFjaGUub3JnL3hzbHQiCisgIHhtbG5zOnhhbGFuPSJodHRwOi8veG1sLmFwYWNoZS5vcmcveGFsYW4iCisgIHhtbG5zOnJlZGlyZWN0PSJvcmcuYXBhY2hlLnhhbGFuLmxpYi5SZWRpcmVjdCIKKyAgZXhjbHVkZS1yZXN1bHQtcHJlZml4ZXM9InhhbGFuIgorICBleHRlbnNpb24tZWxlbWVudC1wcmVmaXhlcz0icmVkaXJlY3QiPgorPHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBpbmRlbnQ9InllcyIgZW5jb2Rpbmc9IlVTLUFTQ0lJIi8+Cis8eHNsOmRlY2ltYWwtZm9ybWF0IGRlY2ltYWwtc2VwYXJhdG9yPSIuIiBncm91cGluZy1zZXBhcmF0b3I9IiwiIC8+Cis8IS0tCisgICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+Cis8IS0tCisgIEBhdXRob3IgU3RlcGhhbmUgQmFpbGxpZXogPGEgaHJlZj0ibWFpbHRvOnNiYWlsbGllekBhcGFjaGUub3JnIi8+CisgIC0tPgorPHhzbDpwYXJhbSBuYW1lPSJvdXRwdXQuZGlyIiBzZWxlY3Q9IicuJyIvPgorCis8IS0tIGRlZmF1bHQgbWF4IHZhbHVlIGZvciB0aGUgbWV0cmljcyAtLT4KKzx4c2w6cGFyYW0gbmFtZT0idmcubWF4IiBzZWxlY3Q9IjEwIi8+Cis8eHNsOnBhcmFtIG5hbWU9ImxvYy5tYXgiIHNlbGVjdD0iMTAwMCIvPgorPHhzbDpwYXJhbSBuYW1lPSJkaXQubWF4IiBzZWxlY3Q9IjEwIi8+Cis8eHNsOnBhcmFtIG5hbWU9Im5vYS5tYXgiIHNlbGVjdD0iMjUwIi8+Cis8eHNsOnBhcmFtIG5hbWU9Im5ybS5tYXgiIHNlbGVjdD0iNTAiLz4KKzx4c2w6cGFyYW0gbmFtZT0ibmxtLm1heCIgc2VsZWN0PSIyNTAiLz4KKzx4c2w6cGFyYW0gbmFtZT0id21jLm1heCIgc2VsZWN0PSIyNTAiLz4KKzx4c2w6cGFyYW0gbmFtZT0icmZjLm1heCIgc2VsZWN0PSI1MCIvPgorPHhzbDpwYXJhbSBuYW1lPSJkYWMubWF4IiBzZWxlY3Q9IjEwIi8+Cis8eHNsOnBhcmFtIG5hbWU9ImZhbm91dC5tYXgiIHNlbGVjdD0iMTAiLz4KKzx4c2w6cGFyYW0gbmFtZT0iY2JvLm1heCIgc2VsZWN0PSIxNSIvPgorPHhzbDpwYXJhbSBuYW1lPSJsY29tLm1heCIgc2VsZWN0PSIxMCIvPgorPHhzbDpwYXJhbSBuYW1lPSJub2NsLm1heCIgc2VsZWN0PSIxMCIvPgorCisKKzwhLS0gY3JlYXRlIGEgdHJlZSBmcmFnbWVudCB0byBzcGVlZCB1cCBwcm9jZXNzaW5nIC0tPgorPHhzbDp2YXJpYWJsZSBuYW1lPSJkb2N0cmVlLnZhciI+CisgIDx4c2w6ZWxlbWVudCBuYW1lPSJjbGFzc2VzIj4KKyAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iLi8vY2xhc3MiPgorICAgICAgPHhzbDplbGVtZW50IG5hbWU9ImNsYXNzIj4KKyAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0icGFja2FnZSI+CisgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IihhbmNlc3Rvcjo6cGFja2FnZSlbbGFzdCgpXS9AbmFtZSIvPgorICAgICAgICA8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgIDx4c2w6Y29weS1vZiBzZWxlY3Q9IkAqIi8+CisgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9Im5hbWUiPgorICAgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0iY2xhc3MubmFtZSIvPgorICAgICAgICA8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgIDx4c2w6Y29weS1vZiBzZWxlY3Q9Im1ldGhvZCIvPgorICAgICAgPC94c2w6ZWxlbWVudD4KKyAgICA8L3hzbDpmb3ItZWFjaD4KKyAgPC94c2w6ZWxlbWVudD4KKzwveHNsOnZhcmlhYmxlPgorCis8eHNsOnZhcmlhYmxlIG5hbWU9ImRvY3RyZWUiIHNlbGVjdD0ieGFsYW46bm9kZXNldCgkZG9jdHJlZS52YXIpIi8+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9Im1ldHJpY3MiPgorCisgIDwhLS0gY3JlYXRlIHRoZSBpbmRleC5odG1sIC0tPgorICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS9pbmRleC5odG1sIj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iaW5kZXguaHRtbCIvPgorICA8L3JlZGlyZWN0OndyaXRlPgorCisgIDwhLS0gY3JlYXRlIHRoZSBzdHlsZXNoZWV0LmNzcyAtLT4KKyAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vc3R5bGVzaGVldC5jc3MiPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzdHlsZXNoZWV0LmNzcyIvPgorICA8L3JlZGlyZWN0OndyaXRlPgorCisgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L21ldHJpY3MtcmVmZXJlbmNlLmh0bWwiPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJtZXRyaWNzLXJlZmVyZW5jZS5odG1sIi8+CisgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgPCEtLSBjcmVhdGUgdGhlIG92ZXJ2aWV3LXBhY2thZ2VzLmh0bWwgYXQgdGhlIHJvb3QgLS0+CisgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L292ZXJ2aWV3LXN1bW1hcnkuaHRtbCI+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJvdmVydmlldy5wYWNrYWdlcyIvPgorICA8L3JlZGlyZWN0OndyaXRlPgorCisgIDwhLS0gY3JlYXRlIHRoZSBhbGwtcGFja2FnZXMuaHRtbCBhdCB0aGUgcm9vdCAtLT4KKyAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vb3ZlcnZpZXctZnJhbWUuaHRtbCI+CisgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJhbGwucGFja2FnZXMiLz4KKyAgPC9yZWRpcmVjdDp3cml0ZT4KKworICA8IS0tIGNyZWF0ZSB0aGUgYWxsLWNsYXNzZXMuaHRtbCBhdCB0aGUgcm9vdCAtLT4KKyAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0vYWxsY2xhc3Nlcy1mcmFtZS5odG1sIj4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImFsbC5jbGFzc2VzIi8+CisgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgPCEtLSBwcm9jZXNzIGFsbCBwYWNrYWdlcyAtLT4KKyAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuLy9wYWNrYWdlIi8+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJwYWNrYWdlIj4KKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLmRpciI+CisgICAgPHhzbDppZiB0ZXN0PSJub3QoJHBhY2thZ2UubmFtZSA9ICd1bm5hbWVkIHBhY2thZ2UnKSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InRyYW5zbGF0ZSgkcGFja2FnZS5uYW1lLCcuJywnLycpIi8+PC94c2w6aWY+CisgICAgPHhzbDppZiB0ZXN0PSIkcGFja2FnZS5uYW1lID0gJ3VubmFtZWQgcGFja2FnZSciPi48L3hzbDppZj4KKyAgPC94c2w6dmFyaWFibGU+CisgIDwhLS0gY3JlYXRlIGEgY2xhc3Nlcy1saXN0Lmh0bWwgaW4gdGhlIHBhY2thZ2UgZGlyZWN0b3J5IC0tPgorICA8cmVkaXJlY3Q6d3JpdGUgZmlsZT0ieyRvdXRwdXQuZGlyfS97JHBhY2thZ2UuZGlyfS9wYWNrYWdlLWZyYW1lLmh0bWwiPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0iY2xhc3Nlcy5saXN0Ii8+CisgIDwvcmVkaXJlY3Q6d3JpdGU+CisKKyAgPCEtLSBjcmVhdGUgYSBwYWNrYWdlLXN1bW1hcnkuaHRtbCBpbiB0aGUgcGFja2FnZSBkaXJlY3RvcnkgLS0+CisgIDxyZWRpcmVjdDp3cml0ZSBmaWxlPSJ7JG91dHB1dC5kaXJ9L3skcGFja2FnZS5kaXJ9L3BhY2thZ2Utc3VtbWFyeS5odG1sIj4KKyAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9InBhY2thZ2Uuc3VtbWFyeSIvPgorICA8L3JlZGlyZWN0OndyaXRlPgorCisgIDwhLS0gZm9yIGVhY2ggY2xhc3MsIGNyZWF0ZXMgYSBAbmFtZS5odG1sIC0tPgorICA8IS0tIEBidWcgdGhlcmUgd2lsbCBiZSBhIHByb2JsZW0gd2l0aCBpbm5lciBjbGFzc2VzIGhhdmluZyB0aGUgc2FtZSBuYW1lLCBpdCB3aWxsIGJlIG92ZXJ3cml0dGVuIC0tPgorICA8eHNsOmZvci1lYWNoIHNlbGVjdD0iJGRvY3RyZWUvY2xhc3Nlcy9jbGFzc1tAcGFja2FnZSA9IGN1cnJlbnQoKS9AbmFtZV0iPgorICAgICAgPCEtLVByb2Nlc3NpbmcgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjbGFzcy5uYW1lIi8+PHhzbDp0ZXh0PiYjMTA7PC94c2w6dGV4dD4gLS0+CisgICAgPHJlZGlyZWN0OndyaXRlIGZpbGU9Inskb3V0cHV0LmRpcn0veyRwYWNrYWdlLmRpcn0ve0BuYW1lfS5odG1sIj4KKyAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0iY2xhc3MuZGV0YWlscyIvPgorICAgIDwvcmVkaXJlY3Q6d3JpdGU+CisgIDwveHNsOmZvci1lYWNoPgorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gbGl0dGxlIHRyaWNrIHRvIGNvbXB1dGUgdGhlIGNsYXNzbmFtZSBmb3IgaW5uZXIgYW5kIG5vbiBpbm5lciBjbGFzc2VzIC0tPgorPCEtLSB0aGlzIGlzIGFsbCBpbiBvbmUgbGluZSB0byBhdm9pZCBDUkxGIGluIHRoZSBuYW1lIC0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iY2xhc3MiIG1vZGU9ImNsYXNzLm5hbWUiPgorICAgIDx4c2w6aWYgdGVzdD0icGFyZW50OjpjbGFzcyI+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJwYXJlbnQ6OmNsYXNzIiBtb2RlPSJjbGFzcy5uYW1lIi8+Ljx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwveHNsOmlmPjx4c2w6aWYgdGVzdD0ibm90KHBhcmVudDo6Y2xhc3MpIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L3hzbDppZj4KKzwveHNsOnRlbXBsYXRlPgorCisKKzx4c2w6dGVtcGxhdGUgbmFtZT0iaW5kZXguaHRtbCI+Cis8SFRNTD4KKyAgPEhFQUQ+PFRJVExFPk1ldHJpY3MgUmVzdWx0cy48L1RJVExFPjwvSEVBRD4KKyAgPEZSQU1FU0VUIGNvbHM9IjIwJSw4MCUiPgorICAgIDxGUkFNRVNFVCByb3dzPSIzMCUsNzAlIj4KKyAgICAgIDxGUkFNRSBzcmM9Im92ZXJ2aWV3LWZyYW1lLmh0bWwiIG5hbWU9InBhY2thZ2VMaXN0RnJhbWUiLz4KKyAgICAgIDxGUkFNRSBzcmM9ImFsbGNsYXNzZXMtZnJhbWUuaHRtbCIgbmFtZT0iY2xhc3NMaXN0RnJhbWUiLz4KKyAgICA8L0ZSQU1FU0VUPgorICAgIDxGUkFNRSBzcmM9Im92ZXJ2aWV3LXN1bW1hcnkuaHRtbCIgbmFtZT0iY2xhc3NGcmFtZSIvPgorICA8L0ZSQU1FU0VUPgorICA8bm9mcmFtZXM+CisgICAgPEgyPkZyYW1lIEFsZXJ0PC9IMj4KKyAgICA8UD4KKyAgICBUaGlzIGRvY3VtZW50IGlzIGRlc2lnbmVkIHRvIGJlIHZpZXdlZCB1c2luZyB0aGUgZnJhbWVzIGZlYXR1cmUuIElmIHlvdSBzZWUgdGhpcyBtZXNzYWdlLCB5b3UgYXJlIHVzaW5nIGEgbm9uLWZyYW1lLWNhcGFibGUgd2ViIGNsaWVudC4KKyAgICA8L1A+CisgIDwvbm9mcmFtZXM+Cis8L0hUTUw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSB0aGlzIGlzIHRoZSBzdHlsZXNoZWV0IGNzcyB0byB1c2UgZm9yIG5lYXJseSBldmVyeXRoaW5nIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJtZXRyaWNzLXJlZmVyZW5jZS5odG1sIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayB0aXRsZT0iU3R5bGUiIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlc2hlZXQuY3NzIi8+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0idGV4dC1hbGlnbjpqdXN0aWZ5OyI+Cis8aDI+TWV0cmljcyBSZWZlcmVuY2U8L2gyPgorPGEgaHJlZj0iI1YoRykiPlYoRyk8L2E+IHwKKzxhIGhyZWY9IiNMT0MiPkxPQzwvYT4gfAorPGEgaHJlZj0iI0RJVCI+RElUPC9hPiB8Cis8YSBocmVmPSIjTk9BIj5OT0E8L2E+IHwKKzxhIGhyZWY9IiNOUk0iPk5STTwvYT4gfAorPGEgaHJlZj0iI05MTSI+TkxNPC9hPiB8Cis8YSBocmVmPSIjV01DIj5XTUM8L2E+IHwKKzxhIGhyZWY9IiNSRkMiPlJGQzwvYT4gfAorPGEgaHJlZj0iI0RBQyI+REFDPC9hPiB8Cis8YSBocmVmPSIjRkFOT1VUIj5GQU5PVVQ8L2E+IHwKKzxhIGhyZWY9IiNDQk8iPkNCTzwvYT4gfAorPGEgaHJlZj0iI0xDT00iPkxDT008L2E+IHwKKzxhIGhyZWY9IiNOT0MiPk5PQzwvYT4KKworPGEgbmFtZT0iVihHKSIvPgorPGgzPkN5Y2xvbWF0aWMgQ29tcGxleGl0eSAtIFYoRyk8L2gzPgorVGhpcyBtZXRyaWMgd2FzIGludHJvZHVjZWQgaW4gdGhlIDE5NzBzIHRvIG1lYXN1cmUgdGhlIGFtb3VudCBvZiBjb250cm9sCitmbG93IGNvbXBsZXhpdHkgb3IgYnJhbmNoaW5nIGNvbXBsZXhpdHkgaW4gYSBtb2R1bGUgc3VjaCBhcyBhCitzdWJyb3V0aW5lLiBJdCBnaXZlcyB0aGUgbnVtYmVyIG9mIHBhdGhzIHRoYXQgbWF5IGJlIHRha2VuIHRocm91Z2ggdGhlCitjb2RlLCBhbmQgd2FzIGluaXRpYWxseSBkZXZlbG9wZWQgdG8gZ2l2ZSBzb21lIG1lYXN1cmUgb2YgdGhlIGNvc3Qgb2YKK3Byb2R1Y2luZyBhIHRlc3QgY2FzZSBmb3IgdGhlIG1vZHVsZSBieSBleGVjdXRpbmcgZWFjaCBwYXRoLgorPHAvPgorTWV0aG9kcyB3aXRoIGEgaGlnaCBjeWNsb21hdGljIGNvbXBsZXhpdHkgdGVuZCB0byBiZSBtb3JlIGRpZmZpY3VsdCB0bwordW5kZXJzdGFuZCBhbmQgbWFpbnRhaW4uIEluIGdlbmVyYWwgdGhlIG1vcmUgY29tcGxleCB0aGUgbWV0aG9kcyBvZiBhbgorYXBwbGljYXRpb24sIHRoZSBtb3JlIGRpZmZpY3VsdCBpdCB3aWxsIGJlIHRvIHRlc3QgaXQsIGFuZCB0aGlzIHdpbGwgYWR2ZXJzZWx5CithZmZlY3QgaXRzIHJlbGlhYmlsaXR5LgorPHAvPgorVihHKSBpcyBhIG1lYXN1cmUgb2YgdGhlIGNvbnRyb2wgZmxvdyBjb21wbGV4aXR5IG9mIGEgbWV0aG9kIG9yCitjb25zdHJ1Y3Rvci4gIEl0IGNvdW50cyB0aGUgbnVtYmVyIG9mIGJyYW5jaGVzIGluIHRoZSBib2R5IG9mIHRoZSBtZXRob2QsCitkZWZpbmVkIGFzOgorPHVsPgorPGxpPndoaWxlIHN0YXRlbWVudHM7PC9saT4KKzxsaT5pZiBzdGF0ZW1lbnRzOzwvbGk+Cis8bGk+Zm9yIHN0YXRlbWVudHMuPC9saT4KKzwvdWw+CisKK1RoZSBtZXRyaWMgY2FuIGFsc28gYmUgY29uZmlndXJlZCB0byBjb3VudCBlYWNoIGNhc2Ugb2YgYSBzd2l0Y2gKK3N0YXRlbWVudCBhcyB3ZWxsLgorCis8YSBuYW1lPSJMT0MiLz4KKzxoMz5MaW5lcyBvZiBDb2RlIC0gTE9DPC9oMz4KKworVGhpcyBpcyBwZXJoYXBzIHRoZSBzaW1wbGVzdCBvZiBhbGwgdGhlIG1ldHJpY3MgdG8gZGVmaW5lIGFuZCBjb21wdXRlLgorQ291bnRpbmcgbGluZXMgaGFzIGEgbG9uZyBoaXN0b3J5IGFzIGEgc29mdHdhcmUgbWV0cmljIGRhdGluZyBmcm9tIGJlZm9yZQordGhlIHJpc2Ugb2Ygc3RydWN0dXJlZCBwcm9ncmFtbWluZywgYW5kIGl0IGlzIHN0aWxsIGluIHdpZGVzcHJlYWQgdXNlIHRvZGF5LgorVGhlIHNpemUgb2YgYSBtZXRob2QgYWZmZWN0cyB0aGUgZWFzZSB3aXRoIHdoaWNoIGl0IGNhbiBiZSB1bmRlcnN0b29kLCBpdHMKK3JldXNhYmlsaXR5IGFuZCBpdHMgbWFpbnRhaW5hYmlsaXR5LiBUaGVyZSBhcmUgYSB2YXJpZXR5IG9mIHdheXMgdGhhdCB0aGUgc2l6ZQorY2FuIGJlIGNhbGN1bGF0ZWQuIFRoZXNlIGluY2x1ZGUgY291bnRpbmcgYWxsIHRoZSBsaW5lcyBvZiBjb2RlLCB0aGUgbnVtYmVyCitvZiBzdGF0ZW1lbnRzLCB0aGUgYmxhbmsgbGluZXMgb2YgY29kZSwgdGhlIGxpbmVzIG9mIGNvbW1lbnRhcnksIGFuZCB0aGUKK2xpbmVzIGNvbnNpc3Rpbmcgb25seSBvZiBzeW50YXggc3VjaCBhcyBibG9jayBkZWxpbWl0ZXJzLgorPHAvPgorVGhpcyBtZXRyaWMgY2FuIGFsc28gYmUgdXNlZCBmb3Igc2l6aW5nIG90aGVyIGNvbnN0cnVjdHMgYXMgd2VsbCwgZm9yCitleGFtcGxlLCB0aGUgb3ZlcmFsbCBzaXplIG9mIGEgSmF2YSBjbGFzcyBvciBwYWNrYWdlIGNhbiBiZSBtZWFzdXJlZCBieQorY291bnRpbmcgdGhlIG51bWJlciBvZiBzb3VyY2UgbGluZXMgaXQgY29uc2lzdHMgb2YuCis8cC8+CitMT0MgY2FuIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBzaXplIG9mIGEgY29tcGlsYXRpb24gdW5pdCAoc291cmNlIGZpbGUpLAorY2xhc3Mgb3IgaW50ZXJmYWNlLCBtZXRob2QsIGNvbnN0cnVjdG9yLCBvciBmaWVsZC4gIEl0IGNhbiBiZSBjb25maWd1cmVkIHRvCitpZ25vcmU6Cis8dWw+Cis8bGk+YmxhbmsgbGluZXM7PC9saT4KKzxsaT5saW5lcyBjb25zaXN0aW5nIG9ubHkgb2YgY29tbWVudHM7PC9saT4KKzxsaT5saW5lcyBjb25zaXN0aW5nIG9ubHkgb2Ygb3BlbmluZyBhbmQgY2xvc2luZyBicmFjZXMuPC9saT4KKzwvdWw+CisKKzxhIG5hbWU9IkRJVCIvPgorPGgzPkRlcHRoIG9mIEluaGVyaXRhbmNlIEhpZXJhcmNoeSAtIERJVDwvaDM+CisKK1RoaXMgbWV0cmljIGNhbGN1bGF0ZXMgaG93IGZhciBkb3duIHRoZSBpbmhlcml0YW5jZSBoaWVyYXJjaHkgYSBjbGFzcyBpcworZGVjbGFyZWQuIEluIEphdmEgYWxsIGNsYXNzZXMgaGF2ZSBqYXZhLmxhbmcuT2JqZWN0IGFzIHRoZWlyIHVsdGltYXRlCitzdXBlcmNsYXNzLCB3aGljaCBpcyBkZWZpbmVkIHRvIGhhdmUgYSBkZXB0aCBvZiAxLiBTbyBhIGNsYXNzIHRoYXQKK2ltbWVkaWF0ZWx5IGV4dGVuZHMgamF2YS5sYW5nLk9iamVjdCBoYXMgYSBtZXRyaWMgdmFsdWUgb2YgMjsgYW55IG9mIGl0cworc3ViY2xhc3NlcyB3aWxsIGhhdmUgYSB2YWx1ZSBvZiAzLCBhbmQgc28gb24uCis8cC8+CitBIGNsYXNzIHRoYXQgaXMgZGVlcCB3aXRoaW4gdGhlIHRyZWUgaW5oZXJpdHMgbW9yZSBtZXRob2RzIGFuZCBzdGF0ZQordmFyaWFibGVzLCB0aGVyZWJ5IGluY3JlYXNpbmcgaXRzIGNvbXBsZXhpdHkgYW5kIG1ha2luZyBpdCBkaWZmaWN1bHQgdG8KK3ByZWRpY3QgaXRzIGJlaGF2aW9yLiBJdCBjYW4gYmUgaGFyZGVyIHRvIHVuZGVyc3RhbmQgYSBzeXN0ZW0gd2l0aCBtYW55Citpbmhlcml0YW5jZSBsYXllcnMuCis8cC8+CitESVQgaXMgZGVmaW5lZCBmb3IgY2xhc3NlcyBhbmQgaW50ZXJmYWNlczoKKzx1bD4KKzxsaT5hbGwgaW50ZXJmYWNlIHR5cGVzIGhhdmUgYSBkZXB0aCBvZiAxOzwvbGk+Cis8bGk+dGhlIGNsYXNzIGphdmEubGFuZy5PYmplY3QgaGFzIGEgZGVwdGggb2YgMTs8L2xpPgorPGxpPmFsbCBvdGhlciBjbGFzc2VzIGhhdmUgYSBkZXB0aCBvZiAxICsgdGhlIGRlcHRoIG9mIHRoZWlyIHN1cGVyIGNsYXNzLjwvbGk+Cis8L3VsPgorCis8YSBuYW1lPSJOT0EiLz4KKzxoMz5OdW1iZXIgb2YgQXR0cmlidXRlcyAtIE5PQTwvaDM+CisKK1RoZSBudW1iZXIgb2YgZGlzdGluY3Qgc3RhdGUgdmFyaWFibGVzIGluIGEgY2xhc3Mgc2VydmVzIGFzIG9uZSBtZWFzdXJlIG9mCitpdHMgY29tcGxleGl0eS4gVGhlIG1vcmUgc3RhdGUgYSBjbGFzcyByZXByZXNlbnRzIHRoZSBtb3JlIGRpZmZpY3VsdCBpdCBpcyB0bworbWFpbnRhaW4gaW52YXJpYW50cyBmb3IgaXQuIEl0IGFsc28gaGluZGVycyBjb21wcmVoZW5zaWJpbGl0eSBhbmQgcmV1c2UuCis8cC8+CitJbiBKYXZhLCBzdGF0ZSBjYW4gYmUgZXhwb3NlZCB0byBzdWJjbGFzc2VzIHRocm91Z2ggcHJvdGVjdGVkIGZpZWxkcywgd2hpY2gKK2VudGFpbHMgdGhhdCB0aGUgc3ViY2xhc3MgYWxzbyBiZSBhd2FyZSBvZiBhbmQgbWFpbnRhaW4gYW55IGludmFyaWFudHMuIFRoaXMKK2ludGVyZmVyZW5jZSB3aXRoIHRoZSBjbGFzcydzIGRhdGEgZW5jYXBzdWxhdGlvbiBjYW4gYmUgYSBzb3VyY2Ugb2YgZGVmZWN0cworYW5kIGhpZGRlbiBkZXBlbmRlbmNpZXMgYmV0d2VlbiB0aGUgc3RhdGUgdmFyaWFibGVzLgorPHAvPgorTk9BIGlzIGRlZmluZWQgZm9yIGNsYXNzZXMgYW5kIGludGVyZmFjZXMuICBJdCBjb3VudHMgdGhlIG51bWJlciBvZiBmaWVsZHMKK2RlY2xhcmVkIGluIHRoZSBjbGFzcyBvciBpbnRlcmZhY2UuCisKKzxhIG5hbWU9Ik5STSIvPgorPGgzPk51bWJlciBvZiBSZW1vdGUgTWV0aG9kcyAtIE5STTwvaDM+CisKK05STSBpcyBkZWZpbmVkIGZvciBjbGFzc2VzLiAgQSByZW1vdGUgbWV0aG9kIGNhbGwgaXMgZGVmaW5lZCBhcyBhbgoraW52b2NhdGlvbiBvZiBhIG1ldGhvZCB0aGF0IGlzIG5vdCBkZWNsYXJlZCBpbiBhbnkgb2Y6Cis8dWw+Cis8bGk+dGhlIGNsYXNzIGl0c2VsZjs8L2xpPgorPGxpPmEgY2xhc3Mgb3IgaW50ZXJmYWNlIHRoYXQgdGhlIGNsYXNzIGV4dGVuZHMgb3IgaW1wbGVtZW50czs8L2xpPgorPGxpPmEgY2xhc3Mgb3IgbWV0aG9kIHRoYXQgZXh0ZW5kcyB0aGUgY2xhc3MuPC9saT4KKzwvdWw+CisKK1RoZSB2YWx1ZSBpcyB0aGUgY291bnQgb2YgYWxsIHRoZSByZW1vdGUgbWV0aG9kIGNhbGxzIGluIGFsbCBvZiB0aGUgbWV0aG9kcworYW5kIGNvbnN0cnVjdG9ycyBvZiB0aGUgY2xhc3MuCisKKzxhIG5hbWU9Ik5MTSIvPgorPGgzPk51bWJlciBvZiBMb2NhbCBNZXRob2RzIC0gTkxNPC9oMz4KKworTkxNIGlzIGRlZmluZWQgZm9yIGNsYXNzZXMgYW5kIGludGVyZmFjZXMuICBBIGxvY2FsIG1ldGhvZCBpcyBkZWZpbmVkIGFzIGEKK21ldGhvZCB0aGF0IGlzIGRlY2xhcmVkIGluIHRoZSBjbGFzcyBvciBpbnRlcmZhY2UuIE5MTSBjYW4gYmUgY29uZmlndXJlZCB0bworaW5jbHVkZSB0aGUgbG9jYWwgbWV0aG9kcyBvZiBhbGwgb2YgdGhlIGNsYXNzJ3Mgc3VwZXJjbGFzc2VzLiAgTWV0aG9kcyB3aXRoCitwdWJsaWMsIHByb3RlY3RlZCwgcGFja2FnZSBhbmQgcHJpdmF0ZSB2aXNpYmlsaXR5IGNhbiBiZSBpbmRlcGVuZGVudGx5Citjb3VudGVkIGJ5IHNldHRpbmcgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLgorCis8YSBuYW1lPSJXTUMiLz4KKzxoMz5XZWlnaHRlZCBNZXRob2RzIHBlciBDbGFzcyAtIFdNQzwvaDM+CisKK0lmIHRoZSBudW1iZXIgb2YgbWV0aG9kcyBpbiBhIGNsYXNzIGNhbiBiZSBkZXRlcm1pbmVkIGR1cmluZyB0aGUgZGVzaWduCithbmQgbW9kZWxpbmcgcGhhc2Ugb2YgYSBwcm9qZWN0LCBpdCBjYW4gYmUgdXNlZCBhcyBhIHByZWRpY3RvciBvZiBob3cKK211Y2ggdGltZSBhbmQgZWZmb3J0IGlzIG5lZWRlZCB0byBkZXZlbG9wLCBkZWJ1ZyBhbmQgbWFpbnRhaW4gaXQuIFRoaXMKK21ldHJpYyBjYW4gYmUgZnVydGhlciByZWZpbmVkIGJ5IGluY29ycG9yYXRpbmcgYSB3ZWlnaHRpbmcgZm9yIHRoZQorY29tcGxleGl0eSBvZiBlYWNoIG1ldGhvZC4gVGhlIHVzdWFsIHdlaWdodGluZyBpcyBnaXZlbiBieSB0aGUgY3ljbG9tYXRpYworY29tcGxleGl0eSBvZiB0aGUgbWV0aG9kLgorPHAvPgorVGhlIHN1YmNsYXNzZXMgb2YgYSBjbGFzcyBpbmhlcml0IGFsbCBvZiBpdHMgcHVibGljIGFuZCBwcm90ZWN0ZWQgbWV0aG9kcywKK2FuZCBwb3NzaWJseSBpdHMgcGFja2FnZSBtZXRob2RzIGFzIHdlbGwsIHNvIHRoZSBudW1iZXIgb2YgbWV0aG9kcyBhCitjbGFzcyBoYXMgZGlyZWN0bHkgaW1wYWN0cyB0aGUgY29tcGxleGl0eSBvZiBpdHMgc3ViY2xhc3Nlcy4gQ2xhc3NlcyB3aXRoCitsYXJnZSBudW1iZXJzIG9mIG1ldGhvZHMgYXJlIG9mdGVuIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciBhcHBsaWNhdGlvbiwKK3JlZHVjaW5nIHRoZSBhYmlsaXR5IHRvIHJldXNlIHRoZW0uCis8cC8+CitUaGUgZGVmaW5pdGlvbiBvZiBXTUMgaXMgYmFzZWQgdXBvbiBOTE0sIGFuZCBpdCBwcm92aWRlcyB0aGUgc2FtZQorY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIGZvciBjb3VudGluZyBpbmhlcml0ZWQgbWV0aG9kcyBhbmQgb2YgdmFyeWluZwordmlzaWJpbGl0eS4gVGhlIG1haW4gZGlmZmVyZW5jZSBpcyB0aGF0IE5MTSBhbHdheXMgY291bnRzIGVhY2ggbWV0aG9kIGFzIDEsCit3aGVyZWFzIFdNQyB3aWxsIHdlaWdodCBlYWNoIG1ldGhvZC4gVGhlcmUgYXJlIHR3byB3ZWlnaHRpbmcgc2NoZW1lczoKKzx1bD4KKzxsaT5WKEcpIHRoZSBjeWNsb21hdGljIGNvbXBsZXhpdHkgb2YgdGhlIG1ldGhvZCBpcyB1c2VkIGFzIGl0cyB3ZWlnaHQuCisgICBNZXRob2RzIGZyb20gY2xhc3MgZmlsZXMgYXJlIGdpdmVuIGEgVihHKSBvZiAxLjwvbGk+Cis8bGk+dGhlIGFyaXR5LCBvciB0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgb2YgdGhlIG1ldGhvZCBhcmUgdXNlZCB0bworICAgZGV0ZXJtaW5lIHRoZSB3ZWlnaHQuPC9saT4KKzwvdWw+CisKKzxhIG5hbWU9IlJGQyIvPgorPGgzPlJlc3BvbnNlIEZvciBDbGFzcyAtIFJGQzwvaDM+CisKK1RoZSByZXNwb25zZSBzZXQgb2YgYSBjbGFzcyBpcyB0aGUgc2V0IG9mIGFsbCBtZXRob2RzIHRoYXQgY2FuIGJlIGludm9rZWQgYXMKK2EgcmVzdWx0IG9mIGEgbWVzc2FnZSBzZW50IHRvIGFuIG9iamVjdCBvZiB0aGUgY2xhc3MuIFRoaXMgaW5jbHVkZXMgbWV0aG9kcworaW4gdGhlIGNsYXNzJ3MgaW5oZXJpdGFuY2UgaGllcmFyY2h5IGFuZCBtZXRob2RzIHRoYXQgY2FuIGJlIGludm9rZWQgb24KK290aGVyIG9iamVjdHMuIFRoZSBSZXNwb25zZSBGb3IgQ2xhc3MgbWV0cmljIGlzIGRlZmluZWQgdG8gYmUgc2l6ZSBvZiB0aGUKK3Jlc3BvbnNlIHNldCBmb3IgdGhlIGNsYXNzLiBBIGNsYXNzIHdoaWNoIHByb3ZpZGVzIGEgbGFyZ2VyIHJlc3BvbnNlIHNldCBpcworY29uc2lkZXJlZCB0byBiZSBtb3JlIGNvbXBsZXggdGhhbiBvbmUgd2l0aCBhIHNtYWxsZXIgcmVzcG9uc2Ugc2V0LgorPHAvPgorT25lIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IGlmIGEgbWV0aG9kIGNhbGwgb24gYSBjbGFzcyBjYW4gcmVzdWx0IGluIGEgbGFyZ2UKK251bWJlciBvZiBkaWZmZXJlbnQgbWV0aG9kIGNhbGxzIG9uIHRoZSB0YXJnZXQgYW5kIG90aGVyIGNsYXNzZXMsIHRoZW4gaXQKK2NhbiBiZSBoYXJkZXIgdG8gdGVzdCB0aGUgYmVoYXZpb3Igb2YgdGhlIGNsYXNzIGFuZCBkZWJ1ZyBwcm9ibGVtcy4gSXQgd2lsbAordHlwaWNhbGx5IHJlcXVpcmUgYSBkZWVwZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgcG90ZW50aWFsIGludGVyYWN0aW9ucyB0aGF0CitvYmplY3RzIG9mIHRoZSBjbGFzcyBjYW4gaGF2ZSB3aXRoIHRoZSByZXN0IG9mIHRoZSBzeXN0ZW0uCis8cC8+CitSRkMgaXMgZGVmaW5lZCBhcyB0aGUgc3VtIG9mIE5MTSBhbmQgTlJNIGZvciB0aGUgY2xhc3MuICBUaGUgbG9jYWwgbWV0aG9kcworaW5jbHVkZSBhbGwgb2YgdGhlIHB1YmxpYywgcHJvdGVjdGVkLCBwYWNrYWdlIGFuZCBwcml2YXRlIG1ldGhvZHMsIGJ1dCBub3QKK21ldGhvZHMgZGVjbGFyZWQgb25seSBpbiBhIHN1cGVyY2xhc3MuCisKKzxhIG5hbWU9IkRBQyIvPgorPGgzPkRhdGEgQWJzdHJhY3Rpb24gQ291cGxpbmcgLSBEQUM8L2gzPgorCitEQUMgaXMgZGVmaW5lZCBmb3IgY2xhc3NlcyBhbmQgaW50ZXJmYWNlcy4gIEl0IGNvdW50cyB0aGUgbnVtYmVyIG9mIHJlZmVyZW5jZQordHlwZXMgdGhhdCBhcmUgdXNlZCBpbiB0aGUgZmllbGQgZGVjbGFyYXRpb25zIG9mIHRoZSBjbGFzcyBvciBpbnRlcmZhY2UuICBUaGUKK2NvbXBvbmVudCB0eXBlcyBvZiBhcnJheXMgYXJlIGFsc28gY291bnRlZC4gIEFueSBmaWVsZCB3aXRoIGEgdHlwZSB0aGF0IGlzCitlaXRoZXIgYSBzdXBlcnR5cGUgb3IgYSBzdWJ0eXBlIG9mIHRoZSBjbGFzcyBpcyBub3QgY291bnRlZC4KKworPGEgbmFtZT0iRkFOT1VUIi8+Cis8aDM+RmFuIE91dCAtIEZBTk9VVDwvaDM+CisKK0ZBTk9VVCBpcyBkZWZpbmVkIGZvciBjbGFzc2VzIGFuZCBpbnRlcmZhY2VzLCBjb25zdHJ1Y3RvcnMgYW5kIG1ldGhvZHMuIEl0Citjb3VudHMgdGhlIG51bWJlciBvZiByZWZlcmVuY2UgdHlwZXMgdGhhdCBhcmUgdXNlZCBpbjoKKzx1bD4KKzxsaT5maWVsZCBkZWNsYXJhdGlvbnM7PC9saT4KKzxsaT5mb3JtYWwgcGFyYW1ldGVycyBhbmQgcmV0dXJuIHR5cGVzOzwvbGk+Cis8bGk+dGhyb3dzIGRlY2xhcmF0aW9uczs8L2xpPgorPGxpPmxvY2FsIHZhcmlhYmxlcy48L2xpPgorPC91bD4KKworVGhlIGNvbXBvbmVudCB0eXBlcyBvZiBhcnJheXMgYXJlIGFsc28gY291bnRlZC4gQW55IHR5cGUgdGhhdCBpcyBlaXRoZXIgYQorc3VwZXJ0eXBlIG9yIGEgc3VidHlwZSBvZiB0aGUgY2xhc3MgaXMgbm90IGNvdW50ZWQuCisKKzxhIG5hbWU9IkNCTyIvPgorPGgzPkNvdXBsaW5nIEJldHdlZW4gT2JqZWN0cyAtIENCTzwvaDM+CisKK1doZW4gb25lIG9iamVjdCBvciBjbGFzcyB1c2VzIGFub3RoZXIgb2JqZWN0IG9yIGNsYXNzIHRoZXkgYXJlIHNhaWQgdG8gYmUKK2NvdXBsZWQuIE9uZSBtYWpvciBzb3VyY2Ugb2YgY291cGxpbmcgaXMgdGhhdCBiZXR3ZWVuIGEgc3VwZXJjbGFzcyBhbmQgYQorc3ViY2xhc3MuIEEgY291cGxpbmcgaXMgYWxzbyBpbnRyb2R1Y2VkIHdoZW4gYSBtZXRob2Qgb3IgZmllbGQgaW4gYW5vdGhlcgorY2xhc3MgaXMgYWNjZXNzZWQsIG9yIHdoZW4gYW4gb2JqZWN0IG9mIGFub3RoZXIgY2xhc3MgaXMgcGFzc2VkIGludG8gb3Igb3V0CitvZiBhIG1ldGhvZCBpbnZvY2F0aW9uLiBDb3VwbGluZyBCZXR3ZWVuIE9iamVjdHMgaXMgYSBtZWFzdXJlIG9mIHRoZQorbm9uLWluaGVyaXRhbmNlIGNvdXBsaW5nIGJldHdlZW4gdHdvIG9iamVjdHMuCis8cC8+CitBIGhpZ2ggdmFsdWUgb2YgY291cGxpbmcgcmVkdWNlcyB0aGUgbW9kdWxhcml0eSBvZiB0aGUgY2xhc3MgYW5kIG1ha2VzCityZXVzZSBtb3JlIGRpZmZpY3VsdC4gVGhlIG1vcmUgaW5kZXBlbmRlbnQgYSBjbGFzcyBpcyB0aGUgbW9yZSBsaWtlbHkgaXQgaXMKK3RoYXQgaXQgd2lsbCBiZSBwb3NzaWJsZSB0byByZXVzZSBpdCBpbiBhbm90aGVyIHBhcnQgb2YgdGhlIHN5c3RlbS4gV2hlbiBhCitjbGFzcyBpcyBjb3VwbGVkIHRvIGFub3RoZXIgY2xhc3MgaXQgYmVjb21lcyBzZW5zaXRpdmUgdG8gY2hhbmdlcyBpbiB0aGF0CitjbGFzcywgdGhlcmVieSBtYWtpbmcgbWFpbnRlbmFuY2UgZm9yIGRpZmZpY3VsdC4gSW4gYWRkaXRpb24sIGEgY2xhc3MgdGhhdCBpcworb3Zlcmx5IGRlcGVuZGVudCBvbiBvdGhlciBjbGFzc2VzIGNhbiBiZSBkaWZmaWN1bHQgdG8gdW5kZXJzdGFuZCBhbmQgdGVzdCBpbgoraXNvbGF0aW9uLgorPHAvPgorQ0JPIGlzIGRlZmluZWQgZm9yIGNsYXNzZXMgYW5kIGludGVyZmFjZXMsIGNvbnN0cnVjdG9ycyBhbmQgbWV0aG9kcy4gSXQKK2NvdW50cyB0aGUgbnVtYmVyIG9mIHJlZmVyZW5jZSB0eXBlcyB0aGF0IGFyZSB1c2VkIGluOgorPHVsPgorPGxpPmZpZWxkIGRlY2xhcmF0aW9uczwvbGk+Cis8bGk+Zm9ybWFsIHBhcmFtZXRlcnMgYW5kIHJldHVybiB0eXBlczwvbGk+Cis8bGk+dGhyb3dzIGRlY2xhcmF0aW9uczwvbGk+Cis8bGk+bG9jYWwgdmFyaWFibGVzPC9saT4KKzwvdWw+CisKK0l0IGFsc28gY291bnRzOgorPHVsPgorPGxpPnR5cGVzIGZyb20gd2hpY2ggZmllbGQgYW5kIG1ldGhvZCBzZWxlY3Rpb25zIGFyZSBtYWRlPC9saT4KKzwvdWw+CisKK1RoZSBjb21wb25lbnQgdHlwZXMgb2YgYXJyYXlzIGFyZSBhbHNvIGNvdW50ZWQuIEFueSB0eXBlIHRoYXQgaXMgZWl0aGVyIGEKK3N1cGVydHlwZSBvciBhIHN1YnR5cGUgb2YgdGhlIGNsYXNzIGlzIG5vdCBjb3VudGVkLgorCis8YSBuYW1lPSJMQ09NIi8+Cis8aDM+TGFjayBvZiBDb2hlc2lvbiBPZiBNZXRob2RzIC0gTENPTTwvaDM+CisKK1RoZSBjb2hlc2lvbiBvZiBhIGNsYXNzIGlzIHRoZSBkZWdyZWUgdG8gd2hpY2ggaXRzIG1ldGhvZHMgYXJlIHJlbGF0ZWQgdG8KK2VhY2ggb3RoZXIuIEl0IGlzIGRldGVybWluZWQgYnkgZXhhbWluaW5nIHRoZSBwYXR0ZXJuIG9mIHN0YXRlIHZhcmlhYmxlCithY2Nlc3NlcyB3aXRoaW4gdGhlIHNldCBvZiBtZXRob2RzLiBJZiBhbGwgdGhlIG1ldGhvZHMgYWNjZXNzIHRoZSBzYW1lIHN0YXRlCit2YXJpYWJsZXMgdGhlbiB0aGV5IGhhdmUgaGlnaCBjb2hlc2lvbjsgaWYgdGhleSBhY2Nlc3MgZGlzam9pbnQgc2V0cyBvZgordmFyaWFibGVzIHRoZW4gdGhlIGNvaGVzaW9uIGlzIGxvdy4gQW4gZXh0cmVtZSBleGFtcGxlIG9mIGxvdyBjb2hlc2lvbgord291bGQgYmUgaWYgbm9uZSBvZiB0aGUgbWV0aG9kcyBhY2Nlc3NlZCBhbnkgb2YgdGhlIHN0YXRlIHZhcmlhYmxlcy4KKworSWYgYSBjbGFzcyBleGhpYml0cyBsb3cgbWV0aG9kIGNvaGVzaW9uIGl0IGluZGljYXRlcyB0aGF0IHRoZSBkZXNpZ24gb2YgdGhlCitjbGFzcyBoYXMgcHJvYmFibHkgYmVlbiBwYXJ0aXRpb25lZCBpbmNvcnJlY3RseSwgYW5kIGNvdWxkIGJlbmVmaXQgYnkgYmVpbmcKK3NwbGl0IGludG8gbW9yZSBjbGFzc2VzIHdpdGggaW5kaXZpZHVhbGx5IGhpZ2hlciBjb2hlc2lvbi4gT24gdGhlIG90aGVyCitoYW5kLCBhIGhpZ2ggdmFsdWUgb2YgY29oZXNpb24gKGEgbG93IGxhY2sgb2YgY29oZXNpb24pIGltcGxpZXMgdGhhdCB0aGUKK2NsYXNzIGlzIHdlbGwgZGVzaWduZWQuIEEgY29oZXNpdmUgY2xhc3Mgd2lsbCB0ZW5kIHRvIHByb3ZpZGUgYSBoaWdoIGRlZ3JlZQorb2YgZW5jYXBzdWxhdGlvbiwgd2hlcmVhcyBhIGxhY2sgb2YgY29oZXNpb24gZGVjcmVhc2VzIGVuY2Fwc3VsYXRpb24gYW5kCitpbmNyZWFzZXMgY29tcGxleGl0eS4KKzxwLz4KK0Fub3RoZXIgZm9ybSBvZiBjb2hlc2lvbiB0aGF0IGlzIHVzZWZ1bCBmb3IgSmF2YSBwcm9ncmFtcyBpcyBjb2hlc2lvbgorYmV0d2VlbiBuZXN0ZWQgYW5kIGVuY2xvc2luZyBjbGFzc2VzLiBBIG5lc3RlZCBjbGFzcyB0aGF0IGhhcyB2ZXJ5IGxvdworY29oZXNpb24gd2l0aCBpdHMgZW5jbG9zaW5nIGNsYXNzIHdvdWxkIHByb2JhYmx5IGJldHRlciBkZXNpZ25lZCBhcyBhIHBlZXIKK2NsYXNzIHJhdGhlciB0aGFuIGEgbmVzdGVkIGNsYXNzLgorPHAvPgorTENPTSBpcyBkZWZpbmVkIGZvciBjbGFzc2VzLiBPcGVyYXRpb25hbGx5LCBMQ09NIHRha2VzIGVhY2ggcGFpciBvZgorbWV0aG9kcyBpbiB0aGUgY2xhc3MgYW5kIGRldGVybWluZXMgdGhlIHNldCBvZiBmaWVsZHMgdGhleSBlYWNoIGFjY2Vzcy4gSWYKK3RoZXkgaGF2ZSBkaXNqb2ludCBzZXRzIG9mIGZpZWxkIGFjY2Vzc2VzIGluY3JlYXNlIHRoZSBjb3VudCBQIGJ5IG9uZS4gSWYgdGhleQorc2hhcmUgYXQgbGVhc3Qgb25lIGZpZWxkIGFjY2VzcyB0aGVuIGluY3JlYXNlIFEgYnkgb25lLiBBZnRlciBjb25zaWRlcmluZworZWFjaCBwYWlyIG9mIG1ldGhvZHMsCitMQ09NID0gKFAgPiBRKSA/IChQIC0gUSkgOiAwCis8cC8+CitJbmRpcmVjdCBhY2Nlc3MgdG8gZmllbGRzIHZpYSBsb2NhbCBtZXRob2RzIGNhbiBiZSBjb25zaWRlcmVkIGJ5IHNldHRpbmcgYQorbWV0cmljIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyLgorCis8YSBuYW1lPSJOT0MiLz4KKzxoMz5OdW1iZXIgT2YgQ2xhc3NlcyAtIE5PQzwvaDM+CisKK1RoZSBvdmVyYWxsIHNpemUgb2YgdGhlIHN5c3RlbSBjYW4gYmUgZXN0aW1hdGVkIGJ5IGNhbGN1bGF0aW5nIHRoZSBudW1iZXIKK29mIGNsYXNzZXMgaXQgY29udGFpbnMuIEEgbGFyZ2Ugc3lzdGVtIHdpdGggbW9yZSBjbGFzc2VzIGlzIG1vcmUgY29tcGxleAordGhhbiBhIHNtYWxsZXIgb25lIGJlY2F1c2UgdGhlIG51bWJlciBvZiBwb3RlbnRpYWwgaW50ZXJhY3Rpb25zIGJldHdlZW4KK29iamVjdHMgaXMgaGlnaGVyLiBUaGlzIHJlZHVjZXMgdGhlIGNvbXByZWhlbnNpYmlsaXR5IG9mIHRoZSBzeXN0ZW0gd2hpY2gKK2luIHR1cm4gbWFrZXMgaXQgaGFyZGVyIHRvIHRlc3QsIGRlYnVnIGFuZCBtYWludGFpbi4KKzxwLz4KK0lmIHRoZSBudW1iZXIgb2YgY2xhc3NlcyBpbiB0aGUgc3lzdGVtIGNhbiBiZSBwcm9qZWN0ZWQgZHVyaW5nIHRoZSBpbml0aWFsCitkZXNpZ24gcGhhc2Ugb2YgdGhlIHByb2plY3QgaXQgY2FuIHNlcnZlIGFzIGEgYmFzZSBmb3IgZXN0aW1hdGluZyB0aGUgdG90YWwKK2VmZm9ydCBhbmQgY29zdCBvZiBkZXZlbG9waW5nLCBkZWJ1Z2dpbmcgYW5kIG1haW50YWluaW5nIHRoZSBzeXN0ZW0uCis8cC8+CitUaGUgTk9DIG1ldHJpYyBjYW4gYWxzbyB1c2VmdWxseSBiZSBhcHBsaWVkIGF0IHRoZSBwYWNrYWdlIGFuZCBjbGFzcyBsZXZlbAorYXMgd2VsbCBhcyB0aGUgdG90YWwgc3lzdGVtLgorPHAvPgorTk9DTCBpcyBkZWZpbmVkIGZvciBjbGFzcyBhbmQgaW50ZXJmYWNlcy4gSXQgY291bnRzIHRoZSBudW1iZXIgb2YgY2xhc3NlcyBvcgoraW50ZXJmYWNlcyB0aGF0IGFyZSBkZWNsYXJlZC4gVGhpcyBpcyB1c3VhbGx5IDEsIGJ1dCBuZXN0ZWQgY2xhc3MgZGVjbGFyYXRpb25zCit3aWxsIGluY3JlYXNlIHRoaXMgbnVtYmVyLgorPC9ib2R5PgorPC9odG1sPgorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gdGhpcyBpcyB0aGUgc3R5bGVzaGVldCBjc3MgdG8gdXNlIGZvciBuZWFybHkgZXZlcnl0aGluZyAtLT4KKzx4c2w6dGVtcGxhdGUgbmFtZT0ic3R5bGVzaGVldC5jc3MiPgorICAgIC5iYW5uZXJjZWxsIHsKKyAgICAgIGJvcmRlcjogMHB4OworICAgICAgcGFkZGluZzogMHB4OworICAgIH0KKyAgICBib2R5IHsKKyAgICAgIG1hcmdpbi1sZWZ0OiAxMDsKKyAgICAgIG1hcmdpbi1yaWdodDogMTA7CisgICAgICBmb250Om5vcm1hbCA4MCUgYXJpYWwsaGVsdmV0aWNhLHNhbnNlcmlmOworICAgICAgYmFja2dyb3VuZC1jb2xvcjojRkZGRkZGOworICAgICAgY29sb3I6IzAwMDAwMDsKKyAgICB9CisgICAgLmEgdGQgeworICAgICAgYmFja2dyb3VuZDogI2VmZWZlZjsKKyAgICB9CisgICAgLmIgdGQgeworICAgICAgYmFja2dyb3VuZDogI2ZmZjsKKyAgICB9CisgICAgdGgsIHRkIHsKKyAgICAgIHRleHQtYWxpZ246IGxlZnQ7CisgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOworICAgIH0KKyAgICB0aCB7CisgICAgICBmb250LXdlaWdodDpib2xkOworICAgICAgYmFja2dyb3VuZDogI2NjYzsKKyAgICAgIGNvbG9yOiBibGFjazsKKyAgICB9CisgICAgdGFibGUsIHRoLCB0ZCB7CisgICAgICBmb250LXNpemU6MTAwJTsKKyAgICAgIGJvcmRlcjogbm9uZQorICAgIH0KKyAgICB0YWJsZS5sb2cgdHIgdGQsIHRyIHRoIHsKKworICAgIH0KKyAgICBoMiB7CisgICAgICBmb250LXdlaWdodDpib2xkOworICAgICAgZm9udC1zaXplOjE0MCU7CisgICAgICBtYXJnaW4tYm90dG9tOiA1OworICAgIH0KKyAgICBoMyB7CisgICAgICBmb250LXNpemU6MTAwJTsKKyAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7CisgICAgICBiYWNrZ3JvdW5kOiAjNTI1RDc2OworICAgICAgY29sb3I6IHdoaXRlOworICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOworICAgICAgcGFkZGluZzogNXB4OworICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7CisgICAgICBtYXJnaW4tbGVmdDogMnB4OworICAgICAgbWFyZ2luLWJvdHRvbTogMDsKKyAgICB9CisgICAgLkVycm9yIHsKKyAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7IGNvbG9yOnJlZDsKKyAgICB9CisKKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIHByaW50IHRoZSBtZXRyaWNzIG9mIHRoZSBjbGFzcyAtLT4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9ImNsYXNzIiBtb2RlPSJjbGFzcy5kZXRhaWxzIj4KKyAgPCEtLXhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iKGFuY2VzdG9yOjpwYWNrYWdlKVtsYXN0KCldL0BuYW1lIi8tLT4KKyAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iQHBhY2thZ2UiLz4KKyAgPEhUTUw+CisgICAgPEhFQUQ+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iJHBhY2thZ2UubmFtZSIvPgorICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L0hFQUQ+CisgICAgPEJPRFk+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGFnZUhlYWRlciIvPgorCisgICAgICA8SDM+Q2xhc3MgPHhzbDppZiB0ZXN0PSJub3QoJHBhY2thZ2UubmFtZSA9ICd1bm5hbWVkIHBhY2thZ2UnKSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRwYWNrYWdlLm5hbWUiLz4uPC94c2w6aWY+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9IMz4KKyAgICAgIDx0YWJsZSBjbGFzcz0ibG9nIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9IjEwMCUiPgorICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iYWxsLm1ldHJpY3MuaGVhZGVyIi8+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0icHJpbnQubWV0cmljcyIvPgorICAgICAgPC90YWJsZT4KKworICAgICAgPEgzPk1ldGhvZHM8L0gzPgorICAgICAgPHRhYmxlIGNsYXNzPSJsb2ciIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJtZXRob2QubWV0cmljcy5oZWFkZXIiLz4KKyAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJtZXRob2QiIG1vZGU9InByaW50Lm1ldHJpY3MiLz4KKyAgICAgIDwvdGFibGU+CisKKyAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYWdlRm9vdGVyIi8+CisgICAgPC9CT0RZPgorICA8L0hUTUw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tIGxpc3Qgb2YgY2xhc3NlcyBpbiBhIHBhY2thZ2UgLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJwYWNrYWdlIiBtb2RlPSJjbGFzc2VzLmxpc3QiPgorICA8SFRNTD4KKyAgICA8SEVBRD4KKyAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIj4KKyAgICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InBhY2thZ2UubmFtZSIgc2VsZWN0PSJAbmFtZSIvPgorICAgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICA8L0hFQUQ+CisgICAgPEJPRFk+CisgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiPgorICAgICAgICA8dHI+CisgICAgICAgICAgPHRkIG5vd3JhcD0ibm93cmFwIj4KKyAgICAgICAgICAgIDxIMj48YSBocmVmPSJwYWNrYWdlLXN1bW1hcnkuaHRtbCIgdGFyZ2V0PSJjbGFzc0ZyYW1lIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+PC9IMj4KKyAgICAgICAgICA8L3RkPgorICAgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKworICAgICAgPEgyPkNsYXNzZXM8L0gyPgorICAgICAgPFRBQkxFIFdJRFRIPSIxMDAlIj4KKyAgICAgICAgPCEtLSB4YWxhbi1ub2Rlc2V0Om5vZGVzZXQgZm9yIFhhbGFuIDEuMi4yIC0tPgorICAgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IiRkb2N0cmVlL2NsYXNzZXMvY2xhc3NbQHBhY2thZ2UgPSBjdXJyZW50KCkvQG5hbWVdIj4KKyAgICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAbmFtZSIvPgorICAgICAgICAgIDx0cj4KKyAgICAgICAgICAgIDx0ZCBub3dyYXA9Im5vd3JhcCI+CisgICAgICAgICAgICAgIDxhIGhyZWY9IntAbmFtZX0uaHRtbCIgdGFyZ2V0PSJjbGFzc0ZyYW1lIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iQG5hbWUiLz48L2E+CisgICAgICAgICAgICA8L3RkPgorICAgICAgICAgIDwvdHI+CisgICAgICAgICAgICA8L3hzbDpmb3ItZWFjaD4KKyAgICAgIDwvVEFCTEU+CisgICAgPC9CT0RZPgorICA8L0hUTUw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tCisgIENyZWF0ZXMgYW4gYWxsLWNsYXNzZXMuaHRtbCBmaWxlIHRoYXQgY29udGFpbnMgYSBsaW5rIHRvIGFsbCBwYWNrYWdlLXN1bW1hcnkuaHRtbAorICBvbiBlYWNoIGNsYXNzLgorLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJtZXRyaWNzIiBtb2RlPSJhbGwuY2xhc3NlcyI+CisgIDxodG1sPgorICAgIDxoZWFkPgorICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImNyZWF0ZS5zdHlsZXNoZWV0LmxpbmsiPgorICAgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0icGFja2FnZS5uYW1lIiBzZWxlY3Q9IicnIi8+CisgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgIDxoMj5DbGFzc2VzPC9oMj4KKyAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSI+CisgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IiRkb2N0cmVlL2NsYXNzZXMvY2xhc3MiPgorICAgICAgICAgICAgICA8eHNsOnNvcnQgc2VsZWN0PSJAbmFtZSIvPgorICAgICAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4iIG1vZGU9ImFsbC5jbGFzc2VzIi8+CisgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgICA8L3RhYmxlPgorICAgIDwvYm9keT4KKyAgPC9odG1sPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9ImNsYXNzIiBtb2RlPSJhbGwuY2xhc3NlcyI+CisgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iQHBhY2thZ2UiLz4KKyAgICA8eHNsOnZhcmlhYmxlIG5hbWU9ImNsYXNzLm5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KKyAgPHRyPgorICAgIDx0ZCBub3dyYXA9Im5vd3JhcCI+CisgICAgICA8YSB0YXJnZXQ9ImNsYXNzRnJhbWUiPgorICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj4KKyAgICAgICAgICA8eHNsOmlmIHRlc3Q9Im5vdCgkcGFja2FnZS5uYW1lPSd1bm5hbWVkIHBhY2thZ2UnKSI+CisgICAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0idHJhbnNsYXRlKCRwYWNrYWdlLm5hbWUsJy4nLCcvJykiLz48eHNsOnRleHQ+LzwveHNsOnRleHQ+CisgICAgICAgICAgPC94c2w6aWY+CisgICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjbGFzcy5uYW1lIi8+PHhzbDp0ZXh0Pi5odG1sPC94c2w6dGV4dD4KKyAgICAgICAgPC94c2w6YXR0cmlidXRlPgorICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGNsYXNzLm5hbWUiLz4KKyAgICAgIDwvYT4KKyAgICA8L3RkPgorICA8L3RyPgorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0KKyAgQ3JlYXRlcyBhbiBodG1sIGZpbGUgdGhhdCBjb250YWlucyBhIGxpbmsgdG8gYWxsIHBhY2thZ2Utc3VtbWFyeS5odG1sIGZpbGVzIG9uCisgIGVhY2ggcGFja2FnZSBleGlzdGluZyBvbiB0ZXN0c3VpdGVzLgorICBAYnVnIHRoZXJlIHdpbGwgYmUgYSBwcm9ibGVtIGhlcmUsIEkgZG9uJ3Qga25vdyB5ZXQgaG93IHRvIGhhbmRsZSB1bm5hbWVkIHBhY2thZ2UgOigKKy0tPgorPHhzbDp0ZW1wbGF0ZSBtYXRjaD0ibWV0cmljcyIgbW9kZT0iYWxsLnBhY2thZ2VzIj4KKyAgPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iLi9wYWNrYWdlL0BuYW1lIi8+CisgICAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgIDxoMj48YSBocmVmPSJvdmVydmlldy1zdW1tYXJ5Lmh0bWwiIHRhcmdldD0iY2xhc3NGcmFtZSI+SG9tZTwvYT48L2gyPgorICAgICAgPGgyPlBhY2thZ2VzPC9oMj4KKyAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vL3BhY2thZ2Vbbm90KC4vQG5hbWUgPSAndW5uYW1lZCBwYWNrYWdlJyldIiBtb2RlPSJhbGwucGFja2FnZXMiPgorICAgICAgICAgICAgPHhzbDpzb3J0IHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgICAgICA8L3hzbDphcHBseS10ZW1wbGF0ZXM+CisgICAgICAgIDwvdGFibGU+CisgICAgPC9ib2R5PgorICA8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icGFja2FnZSIgbW9kZT0iYWxsLnBhY2thZ2VzIj4KKyAgPHRyPgorICAgIDx0ZCBub3dyYXA9Im5vd3JhcCI+CisgICAgICA8YSBocmVmPSJ7dHJhbnNsYXRlKEBuYW1lLCcuJywnLycpfS9wYWNrYWdlLXN1bW1hcnkuaHRtbCIgdGFyZ2V0PSJjbGFzc0ZyYW1lIj4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICA8L2E+CisgICAgPC90ZD4KKyAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9Im1ldHJpY3MiIG1vZGU9Im92ZXJ2aWV3LnBhY2thZ2VzIj4KKyAgPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iJyciLz4KKyAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0ib3BlbignYWxsY2xhc3Nlcy1mcmFtZS5odG1sJywnY2xhc3NMaXN0RnJhbWUnKSI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiLz4KKyAgICA8aDM+U3VtbWFyeTwvaDM+CisgICAgPHRhYmxlIGNsYXNzPSJsb2ciIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgPHRyPgorICAgICAgPHRoPjxhIGhyZWY9Im1ldHJpY3MtcmVmZXJlbmNlLmh0bWwjVihHKSI+VihHKTwvYT48L3RoPgorICAgICAgPHRoPjxhIGhyZWY9Im1ldHJpY3MtcmVmZXJlbmNlLmh0bWwjTE9DIj5MT0M8L2E+PC90aD4KKyAgICAgIDx0aD48YSBocmVmPSJtZXRyaWNzLXJlZmVyZW5jZS5odG1sI0RJVCI+RElUPC9hPjwvdGg+CisgICAgICA8dGg+PGEgaHJlZj0ibWV0cmljcy1yZWZlcmVuY2UuaHRtbCNOT0EiPk5PQTwvYT48L3RoPgorICAgICAgPHRoPjxhIGhyZWY9Im1ldHJpY3MtcmVmZXJlbmNlLmh0bWwjTlJNIj5OUk08L2E+PC90aD4KKyAgICAgIDx0aD48YSBocmVmPSJtZXRyaWNzLXJlZmVyZW5jZS5odG1sI05MTSI+TkxNPC9hPjwvdGg+CisgICAgICA8dGg+PGEgaHJlZj0ibWV0cmljcy1yZWZlcmVuY2UuaHRtbCNXTUMiPldNQzwvYT48L3RoPgorICAgICAgPHRoPjxhIGhyZWY9Im1ldHJpY3MtcmVmZXJlbmNlLmh0bWwjUkZDIj5SRkM8L2E+PC90aD4KKyAgICAgIDx0aD48YSBocmVmPSJtZXRyaWNzLXJlZmVyZW5jZS5odG1sI0RBQyI+REFDPC9hPjwvdGg+CisgICAgICA8dGg+PGEgaHJlZj0ibWV0cmljcy1yZWZlcmVuY2UuaHRtbCNGQU5PVVQiPkZBTk9VVDwvYT48L3RoPgorICAgICAgPHRoPjxhIGhyZWY9Im1ldHJpY3MtcmVmZXJlbmNlLmh0bWwjQ0JPIj5DQk88L2E+PC90aD4KKyAgICAgIDx0aD48YSBocmVmPSJtZXRyaWNzLXJlZmVyZW5jZS5odG1sI0xDT00iPkxDT008L2E+PC90aD4KKyAgICAgIDx0aD48YSBocmVmPSJtZXRyaWNzLXJlZmVyZW5jZS5odG1sI05PQ0wiPk5PQ0w8L2E+PC90aD4KKyAgICA8L3RyPgorICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0icHJpbnQubWV0cmljcyIvPgorICAgIDwvdGFibGU+CisgICAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjEwMCUiPgorICAgIDx0cj4KKyAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij4KKyAgICBOb3RlOiBNZXRyaWNzIGV2YWx1YXRlIHRoZSBxdWFsaXR5IG9mIHNvZnR3YXJlIGJ5IGFuYWx5emluZyB0aGUgcHJvZ3JhbSBzb3VyY2UgYW5kIHF1YW50aWZ5aW5nCisgICAgdmFyaW91cyBraW5kIG9mIGNvbXBsZXhpdHkuIENvbXBsZXhpdHkgaXMgYSBjb21tb24gc291cmNlIG9mIHByb2JsZW1zIGFuZCBkZWZlY3RzIGluIHNvZnR3YXJlLgorICAgIEhpZ2ggY29tcGxleGl0eSBtYWtlcyBpdCBtb3JlIGRpZmZpY3VsdCB0byBkZXZlbG9wLCB1bmRlcnN0YW5kLCBtYWludGFpbiwgZXh0ZW5kLCB0ZXN0IGFuZCBkZWJ1ZworICAgIGEgcHJvZ3JhbS4KKyAgICA8cC8+CisgICAgVGhlIHByaW1hcnkgdXNlIG9mIG1ldHJpY3MgaXMgdG8gZm9jdXMgeW91ciBhdHRlbnRpb24gb24gdGhvc2UgcGFydHMgb2YgY29kZSB0aGF0IHBvdGVudGlhbGx5IGFyZQorICAgIGNvbXBsZXhpdHkgaG90IHNwb3RzLiBPbmNlIHRoZSBjb21wbGV4IGFyZWFzIHlvdXIgcHJvZ3JhbSBoYXZlIGJlZW4gdW5jb3ZlcmVkLCB5b3UgY2FuIHRha2UgcmVtZWRpYWwKKyAgICBhY3Rpb25zLgorICAgIEZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IG1ldHJpY3MgYW5kIHRoZWlyIG1lYW5pbmcsIHBsZWFzZSBjb25zdWx0CisgICAgTWV0YW1hdGEgTWV0cmljcyBtYW51YWwuCisgICAgPC90ZD4KKyAgICA8L3RyPgorICAgIDwvdGFibGU+CisKKyAgICA8aDM+UGFja2FnZXM8L2gzPgorICAgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0iMiIgd2lkdGg9IjEwMCUiPgorICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImFsbC5tZXRyaWNzLmhlYWRlciIvPgorICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9Ii4vL3BhY2thZ2Vbbm90KEBuYW1lID0gJ3VubmFtZWQgcGFja2FnZScpXSI+CisgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBuYW1lIiBvcmRlcj0iYXNjZW5kaW5nIi8+CisgICAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLiIgbW9kZT0icHJpbnQubWV0cmljcyIvPgorICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgPC90YWJsZT4KKyAgICA8IS0tIEBidWcgdGhlcmUgY291bGQgc29tZSBjbGFzc2VzIGF0IHRoaXMgbGV2ZWwgKGNsYXNzZXMgaW4gdW5uYW1lZCBwYWNrYWdlKSAtLT4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGFnZUZvb3RlciIvPgorICAgIDwvYm9keT4KKyAgICA8L2h0bWw+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPHhzbDp0ZW1wbGF0ZSBtYXRjaD0icGFja2FnZSIgbW9kZT0icGFja2FnZS5zdW1tYXJ5Ij4KKyAgPEhUTUw+CisgICAgPEhFQUQ+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iY3JlYXRlLnN0eWxlc2hlZXQubGluayI+CisgICAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYWNrYWdlLm5hbWUiIHNlbGVjdD0iQG5hbWUiLz4KKyAgICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgICAgPC9IRUFEPgorICAgIDxib2R5IG9ubG9hZD0ib3BlbigncGFja2FnZS1mcmFtZS5odG1sJywnY2xhc3NMaXN0RnJhbWUnKSI+CisgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0icGFnZUhlYWRlciIvPgorICAgICAgPCEtLSBjcmVhdGUgYW4gYW5jaG9yIHRvIHRoaXMgcGFja2FnZSBuYW1lIC0tPgorICAgICAgPGgzPlBhY2thZ2UgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+PC9oMz4KKworICAgICAgPHRhYmxlIGNsYXNzPSJsb2ciIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjUiIGNlbGxzcGFjaW5nPSIyIiB3aWR0aD0iMTAwJSI+CisgICAgICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJhbGwubWV0cmljcy5oZWFkZXIiLz4KKyAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJwcmludC5tZXRyaWNzIi8+CisgICAgICA8L3RhYmxlPgorCisgICAgICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSI+CisgICAgICA8dHI+CisgICAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij4KKyAgICAgIE5vdGU6IE1ldHJpY3MgZXZhbHVhdGUgdGhlIHF1YWxpdHkgb2Ygc29mdHdhcmUgYnkgYW5hbHl6aW5nIHRoZSBwcm9ncmFtIHNvdXJjZSBhbmQgcXVhbnRpZnlpbmcKKyAgICAgIHZhcmlvdXMga2luZCBvZiBjb21wbGV4aXR5LiBDb21wbGV4aXR5IGlzIGEgY29tbW9uIHNvdXJjZSBvZiBwcm9ibGVtcyBhbmQgZGVmZWN0cyBpbiBzb2Z0d2FyZS4KKyAgICAgIEhpZ2ggY29tcGxleGl0eSBtYWtlcyBpdCBtb3JlIGRpZmZpY3VsdCB0byBkZXZlbG9wLCB1bmRlcnN0YW5kLCBtYWludGFpbiwgZXh0ZW5kLCB0ZXN0IGFuZCBkZWJ1ZworICAgICAgYSBwcm9ncmFtLgorICAgICAgPHAvPgorICAgICAgVGhlIHByaW1hcnkgdXNlIG9mIG1ldHJpY3MgaXMgdG8gZm9jdXMgeW91ciBhdHRlbnRpb24gb24gdGhvc2UgcGFydHMgb2YgY29kZSB0aGF0IHBvdGVudGlhbGx5IGFyZQorICAgICAgY29tcGxleGl0eSBob3Qgc3BvdHMuIE9uY2UgdGhlIGNvbXBsZXggYXJlYXMgeW91ciBwcm9ncmFtIGhhdmUgYmVlbiB1bmNvdmVyZWQsIHlvdSBjYW4gdGFrZSByZW1lZGlhbAorICAgICAgYWN0aW9ucy4KKyAgICAgIEZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IG1ldHJpY3MgYW5kIHRoZWlyIG1lYW5pbmcsIHBsZWFzZSBjb25zdWx0CisgICAgICBNZXRhbWF0YSBNZXRyaWNzIG1hbnVhbC4KKyAgICAgIDwvdGQ+CisgICAgICA8L3RyPgorICAgICAgPC90YWJsZT4KKworICAgICAgPHhzbDp2YXJpYWJsZSBuYW1lPSJjbGFzc2VzLWluLXBhY2thZ2UiIHNlbGVjdD0iJGRvY3RyZWUvY2xhc3Nlcy9jbGFzc1tAcGFja2FnZSA9IGN1cnJlbnQoKS9AbmFtZV0iLz4KKyAgICAgIDx4c2w6aWYgdGVzdD0iY291bnQoJGNsYXNzZXMtaW4tcGFja2FnZSkgJmd0OyAwIj4KKyAgICAgICAgPEgzPkNsYXNzZXM8L0gzPgorICAgICAgICA8dGFibGUgY2xhc3M9ImxvZyIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjIiIHdpZHRoPSIxMDAlIj4KKyAgICAgICAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iYWxsLm1ldHJpY3MuaGVhZGVyIi8+CisgICAgICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9IiRjbGFzc2VzLWluLXBhY2thZ2UiPgorICAgICAgICAgICAgICAgIDx4c2w6c29ydCBzZWxlY3Q9IkBuYW1lIi8+CisgICAgICAgICAgICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuIiBtb2RlPSJwcmludC5tZXRyaWNzIi8+CisgICAgICAgICAgPC94c2w6Zm9yLWVhY2g+CisgICAgICAgIDwvdGFibGU+CisgICAgICA8L3hzbDppZj4KKworICAgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhZ2VGb290ZXIiLz4KKyAgICA8L2JvZHk+CisgIDwvSFRNTD4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0KKyAgICB0cmFuc2Zvcm0gc3RyaW5nIGxpa2UgYS5iLmMgdG8gLi4vLi4vLi4vCisgICAgQHBhcmFtIHBhdGggdGhlIHBhdGggdG8gdHJhbnNmb3JtIGludG8gYSBkZXNjZW5kaW5nIGRpcmVjdG9yeSBwYXRoCistLT4KKzx4c2w6dGVtcGxhdGUgbmFtZT0icGF0aCI+CisgIDx4c2w6cGFyYW0gbmFtZT0icGF0aCIvPgorICA8eHNsOmlmIHRlc3Q9ImNvbnRhaW5zKCRwYXRoLCcuJykiPgorICAgIDx4c2w6dGV4dD4uLi88L3hzbDp0ZXh0PgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJwYXRoIj4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYXRoIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0ic3Vic3RyaW5nLWFmdGVyKCRwYXRoLCcuJykiLz48L3hzbDp3aXRoLXBhcmFtPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgIDwveHNsOmlmPgorICA8eHNsOmlmIHRlc3Q9Im5vdChjb250YWlucygkcGF0aCwnLicpKSBhbmQgbm90KCRwYXRoID0gJycpIj4KKyAgICA8eHNsOnRleHQ+Li4vPC94c2w6dGV4dD4KKyAgPC94c2w6aWY+Cis8L3hzbDp0ZW1wbGF0ZT4KKworCis8IS0tIGNyZWF0ZSB0aGUgbGluayB0byB0aGUgc3R5bGVzaGVldCBiYXNlZCBvbiB0aGUgcGFja2FnZSBuYW1lIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJjcmVhdGUuc3R5bGVzaGVldC5saW5rIj4KKyAgPHhzbDpwYXJhbSBuYW1lPSJwYWNrYWdlLm5hbWUiLz4KKyAgPExJTksgUkVMID0ic3R5bGVzaGVldCIgVFlQRT0idGV4dC9jc3MiIFRJVExFPSJTdHlsZSI+PHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+PHhzbDppZiB0ZXN0PSJub3QoJHBhY2thZ2UubmFtZSA9ICd1bm5hbWVkIHBhY2thZ2UnKSI+PHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9InBhdGgiPjx4c2w6d2l0aC1wYXJhbSBuYW1lPSJwYXRoIiBzZWxlY3Q9IiRwYWNrYWdlLm5hbWUiLz48L3hzbDpjYWxsLXRlbXBsYXRlPjwveHNsOmlmPnN0eWxlc2hlZXQuY3NzPC94c2w6YXR0cmlidXRlPjwvTElOSz4KKzwveHNsOnRlbXBsYXRlPgorCisKKzwhLS0gUGFnZSBIZWFkZXIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InBhZ2VIZWFkZXIiPgorCisgIDwhLS0gamFrYXJ0YSBsb2dvIC0tPgorICA8dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKyAgPHRyPgorICAgIDx0ZCBjbGFzcz0iYmFubmVyY2VsbCIgcm93c3Bhbj0iMiI+CisgICAgICA8YSBocmVmPSJodHRwOi8vamFrYXJ0YS5hcGFjaGUub3JnLyI+CisgICAgICA8aW1nIHNyYz0iaHR0cDovL2pha2FydGEuYXBhY2hlLm9yZy9pbWFnZXMvamFrYXJ0YS1sb2dvLmdpZiIgYWx0PSJodHRwOi8vamFrYXJ0YS5hcGFjaGUub3JnIiBhbGlnbj0ibGVmdCIgYm9yZGVyPSIwIi8+CisgICAgICA8L2E+CisgICAgPC90ZD4KKyAgICA8dGQgc3R5bGU9InRleHQtYWxpZ246cmlnaHQiPjxoMj5Tb3VyY2UgQ29kZSBNZXRyaWNzPC9oMj48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgIDx0ZCBzdHlsZT0idGV4dC1hbGlnbjpyaWdodCI+RGVzaWduZWQgZm9yIHVzZSB3aXRoIDxhIGhyZWY9J2h0dHA6Ly93d3cud2ViZ2Fpbi5jb20vcHJvZHVjdHMvcXVhbGl0eV9hbmFseXplci8nPldlYmdhaW4gUUEvTWV0YW1hdGEgTWV0cmljczwvYT4gYW5kIDxhIGhyZWY9J2h0dHA6Ly9qYWthcnRhLmFwYWNoZS5vcmcnPkFudDwvYT4uPC90ZD4KKyAgICA8L3RyPgorICA8L3RhYmxlPgorICA8aHIgc2l6ZT0iMSIvPgorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gUGFnZSBGb290ZXIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9InBhZ2VGb290ZXIiPgorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gY2xhc3MgaGVhZGVyIC0tPgorPHhzbDp0ZW1wbGF0ZSBuYW1lPSJhbGwubWV0cmljcy5oZWFkZXIiPgorICA8dHI+CisgICAgPHRoIHdpZHRoPSI4MCUiPk5hbWU8L3RoPgorICAgIDx0aCBub3dyYXA9Im5vd3JhcCI+VihHKTwvdGg+CisgICAgPHRoPkxPQzwvdGg+CisgICAgPHRoPkRJVDwvdGg+CisgICAgPHRoPk5PQTwvdGg+CisgICAgPHRoPk5STTwvdGg+CisgICAgPHRoPk5MTTwvdGg+CisgICAgPHRoPldNQzwvdGg+CisgICAgPHRoPlJGQzwvdGg+CisgICAgPHRoPkRBQzwvdGg+CisgICAgPHRoPkZBTk9VVDwvdGg+CisgICAgPHRoPkNCTzwvdGg+CisgICAgPHRoPkxDT008L3RoPgorICAgIDx0aD5OT0NMPC90aD4KKyAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIG1ldGhvZCBoZWFkZXIgLS0+Cis8eHNsOnRlbXBsYXRlIG5hbWU9Im1ldGhvZC5tZXRyaWNzLmhlYWRlciI+CisgIDx0cj4KKyAgICA8dGggd2lkdGg9IjgwJSI+TmFtZTwvdGg+CisgICAgPHRoIG5vd3JhcD0ibm93cmFwIj5WKEcpPC90aD4KKyAgICA8dGg+TE9DPC90aD4KKyAgICA8dGg+RkFOT1VUPC90aD4KKyAgICA8dGg+Q0JPPC90aD4KKyAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCis8IS0tIG1ldGhvZCBpbmZvcm1hdGlvbiAtLT4KKzx4c2w6dGVtcGxhdGUgbWF0Y2g9Im1ldGhvZCIgbW9kZT0icHJpbnQubWV0cmljcyI+CisgIDx0cj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iYWx0ZXJuYXRlLXJvdyIvPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkBuYW1lIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAdmciLz48L3RkPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkBsb2MiLz48L3RkPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkBmYW5vdXQiLz48L3RkPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkBjYm8iLz48L3RkPgorICA8L3RyPgorPC94c2w6dGVtcGxhdGU+CisKKzwhLS0gY2xhc3MgaW5mb3JtYXRpb24gLS0+Cis8eHNsOnRlbXBsYXRlIG1hdGNoPSJjbGFzcyIgbW9kZT0icHJpbnQubWV0cmljcyI+CisgIDx0cj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iYWx0ZXJuYXRlLXJvdyIvPgorICAgIDx0ZD48YSBocmVmPSJ7QG5hbWV9Lmh0bWwiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAbmFtZSIvPjwvYT48L3RkPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkB2ZyIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQGxvYyIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQGRpdCIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQG5vYSIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQG5ybSIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQG5sbSIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQHdtYyIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQHJmYyIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQGRhYyIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQGZhbm91dCIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQGNibyIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQGxjb20iLz48L3RkPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9IkBub2NsIi8+PC90ZD4KKyAgPC90cj4KKzwveHNsOnRlbXBsYXRlPgorCis8eHNsOnRlbXBsYXRlIG1hdGNoPSJmaWxlfHBhY2thZ2UiIG1vZGU9InByaW50Lm1ldHJpY3MiPgorICA8dHI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImFsdGVybmF0ZS1yb3ciLz4KKyAgICA8dGQ+CisgICAgPGEgaHJlZj0ie3RyYW5zbGF0ZShAbmFtZSwnLicsJy8nKX0vcGFja2FnZS1zdW1tYXJ5Lmh0bWwiIHRhcmdldD0iY2xhc3NGcmFtZSI+CisgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBuYW1lIi8+CisgICAgPC9hPgorICAgIDwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQHZnIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAbG9jIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAZGl0Ii8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAbm9hIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAbnJtIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAbmxtIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAd21jIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAcmZjIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAZGFjIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAZmFub3V0Ii8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAY2JvIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSJAbGNvbSIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iQG5vY2wiLz48L3RkPgorICA8L3RyPgorPC94c2w6dGVtcGxhdGU+CisKKzx4c2w6dGVtcGxhdGUgbWF0Y2g9Im1ldHJpY3MiIG1vZGU9InByaW50Lm1ldHJpY3MiPgorICA8dHI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImFsdGVybmF0ZS1yb3ciLz4KKyAgICAgIDwhLS0gdGhlIGdsb2JhbCBtZXRyaWNzIGlzIHRoZSB0b3AgcGFja2FnZSBtZXRyaWNzIC0tPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vcGFja2FnZS9AdmciLz48L3RkPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vcGFja2FnZS9AbG9jIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuL3BhY2thZ2UvQGRpdCIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLi9wYWNrYWdlL0Bub2EiLz48L3RkPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vcGFja2FnZS9AbnJtIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuL3BhY2thZ2UvQG5sbSIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLi9wYWNrYWdlL0B3bWMiLz48L3RkPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vcGFja2FnZS9AcmZjIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuL3BhY2thZ2UvQGRhYyIvPjwvdGQ+CisgICAgPHRkPjx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD0iLi9wYWNrYWdlL0BmYW5vdXQiLz48L3RkPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vcGFja2FnZS9AY2JvIi8+PC90ZD4KKyAgICA8dGQ+PHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIuL3BhY2thZ2UvQGxjb20iLz48L3RkPgorICAgIDx0ZD48eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9Ii4vcGFja2FnZS9Abm9jbCIvPjwvdGQ+CisgIDwvdHI+Cis8L3hzbDp0ZW1wbGF0ZT4KKworPCEtLSBhbHRlcm5hdGVkIHJvdyBzdHlsZSAtLT4KKzx4c2w6dGVtcGxhdGUgbmFtZT0iYWx0ZXJuYXRlLXJvdyI+Cis8eHNsOmF0dHJpYnV0ZSBuYW1lPSJjbGFzcyI+CisgIDx4c2w6aWYgdGVzdD0icG9zaXRpb24oKSBtb2QgMiA9IDEiPmE8L3hzbDppZj4KKyAgPHhzbDppZiB0ZXN0PSJwb3NpdGlvbigpIG1vZCAyID0gMCI+YjwveHNsOmlmPgorPC94c2w6YXR0cmlidXRlPgorPC94c2w6dGVtcGxhdGU+CisKKworPCEtLSBob3cgdG8gZGlzcGxheSB0aGUgbWV0cmljcyB3aXRoIHRoZWlyIG1heCB2YWx1ZSAtLT4KKzwhLS0gQHRvZG8gdGhlIG1heCB2YWx1ZXMgbXVzdCBiZSBleHRlcm5hbCB0byB0aGUgeHNsIC0tPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9IkB2ZyI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdmFsdWUiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InZhbHVlIiBzZWxlY3Q9ImN1cnJlbnQoKSIvPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im1heCIgc2VsZWN0PSIkdmcubWF4Ii8+CisgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQGxvYyI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdmFsdWUiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InZhbHVlIiBzZWxlY3Q9ImN1cnJlbnQoKSIvPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im1heCIgc2VsZWN0PSIkbG9jLm1heCIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9IkBkaXQiPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LXZhbHVlIj4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ2YWx1ZSIgc2VsZWN0PSJjdXJyZW50KCkiLz4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJtYXgiIHNlbGVjdD0iJGRpdC5tYXgiLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJAbm9hIj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGlzcGxheS12YWx1ZSI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idmFsdWUiIHNlbGVjdD0iY3VycmVudCgpIi8+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibWF4IiBzZWxlY3Q9IiRub2EubWF4Ii8+CisgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQG5ybSI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdmFsdWUiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InZhbHVlIiBzZWxlY3Q9ImN1cnJlbnQoKSIvPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im1heCIgc2VsZWN0PSIkbnJtLm1heCIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9IkBubG0iPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LXZhbHVlIj4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ2YWx1ZSIgc2VsZWN0PSJjdXJyZW50KCkiLz4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJtYXgiIHNlbGVjdD0iJG5sbS5tYXgiLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJAd21jIj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGlzcGxheS12YWx1ZSI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idmFsdWUiIHNlbGVjdD0iY3VycmVudCgpIi8+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibWF4IiBzZWxlY3Q9IiR3bWMubWF4Ii8+CisgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQHJmYyI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdmFsdWUiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InZhbHVlIiBzZWxlY3Q9ImN1cnJlbnQoKSIvPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im1heCIgc2VsZWN0PSIkcmZjLm1heCIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9IkBkYWMiPgorICAgIDx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJkaXNwbGF5LXZhbHVlIj4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ2YWx1ZSIgc2VsZWN0PSJjdXJyZW50KCkiLz4KKyAgICAgIDx4c2w6d2l0aC1wYXJhbSBuYW1lPSJtYXgiIHNlbGVjdD0iJGRhYy5tYXgiLz4KKyAgICA8L3hzbDpjYWxsLXRlbXBsYXRlPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJAZmFub3V0Ij4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGlzcGxheS12YWx1ZSI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idmFsdWUiIHNlbGVjdD0iY3VycmVudCgpIi8+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibWF4IiBzZWxlY3Q9IiRmYW5vdXQubWF4Ii8+CisgICAgPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iQGNibyI+CisgICAgPHhzbDpjYWxsLXRlbXBsYXRlIG5hbWU9ImRpc3BsYXktdmFsdWUiPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9InZhbHVlIiBzZWxlY3Q9ImN1cnJlbnQoKSIvPgorICAgICAgPHhzbDp3aXRoLXBhcmFtIG5hbWU9Im1heCIgc2VsZWN0PSIkY2JvLm1heCIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9IkBsY29tIj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGlzcGxheS12YWx1ZSI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idmFsdWUiIHNlbGVjdD0iY3VycmVudCgpIi8+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibWF4IiBzZWxlY3Q9IiRsY29tLm1heCIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9IkBub2NsIj4KKyAgICA8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0iZGlzcGxheS12YWx1ZSI+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0idmFsdWUiIHNlbGVjdD0iY3VycmVudCgpIi8+CisgICAgICA8eHNsOndpdGgtcGFyYW0gbmFtZT0ibWF4IiBzZWxlY3Q9IiRub2NsLm1heCIvPgorICAgIDwveHNsOmNhbGwtdGVtcGxhdGU+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbmFtZT0iZGlzcGxheS12YWx1ZSI+CisgICAgPHhzbDpwYXJhbSBuYW1lPSJ2YWx1ZSIvPgorICAgIDx4c2w6cGFyYW0gbmFtZT0ibWF4Ii8+CisgICAgPHhzbDppZiB0ZXN0PSIkdmFsdWUgPiAkbWF4Ij4KKyAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImNsYXNzIj5FcnJvcjwveHNsOmF0dHJpYnV0ZT4KKyAgICA8L3hzbDppZj4KKyAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iJHZhbHVlIi8+CisgIDwveHNsOnRlbXBsYXRlPgorCis8L3hzbDpzdHlsZXNoZWV0PgorCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy90YWdkaWZmLnhzbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvZXRjL3RhZ2RpZmYueHNsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkNDMwYTcKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2V0Yy90YWdkaWZmLnhzbApAQCAtMCwwICsxLDE3OSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0tCisgICBMaWNlbnNlZCB0byB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEFTRikgdW5kZXIgb25lIG9yIG1vcmUKKyAgIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAorICAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLgorICAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUgdG8gWW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAKKyAgICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCisgICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorCisgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCisKKyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorLS0+Cis8IS0tIGEgc3R5bGVzaGVldCB0byBkaXNwbGF5IGNoYW5nZWxvZ3MgYWxhIG5ldGJlYW5zIC0tPgorPHhzbDpzdHlsZXNoZWV0CisgICAgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iCisgICAgdmVyc2lvbj0iMS4wIj4KKyAgPHhzbDpwYXJhbSBuYW1lPSJ0aXRsZSIvPgorICA8eHNsOnBhcmFtIG5hbWU9Im1vZHVsZSIvPgorICA8eHNsOnBhcmFtIG5hbWU9ImN2c3dlYiIvPgorCisgIDx4c2w6b3V0cHV0IG1ldGhvZD0iaHRtbCIgaW5kZW50PSJ5ZXMiLz4KKworICA8IS0tIENvcHkgc3RhbmRhcmQgZG9jdW1lbnQgZWxlbWVudHMuICBFbGVtZW50cyB0aGF0CisgICAgICAgc2hvdWxkIGJlIGlnbm9yZWQgbXVzdCBiZSBmaWx0ZXJlZCBieSBhcHBseS10ZW1wbGF0ZXMKKyAgICAgICB0YWdzLiAtLT4KKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iKiI+CisgICAgPHhzbDpjb3B5PgorICAgICAgPHhzbDpjb3B5LW9mIHNlbGVjdD0iYXR0cmlidXRlOjoqWy4gIT0gJyddIi8+CisgICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+CisgICAgPC94c2w6Y29weT4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0idGFnZGlmZiI+CisgICAgPGh0bWw+CisgICAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkdGl0bGUiLz48L3RpdGxlPgorICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgICAgIGJvZHksIHAgeworICAgICAgICAgIGZvbnQtZmFtaWx5OiB2ZXJkYW5hLGFyaWFsLGhlbHZldGljYTsKKyAgICAgICAgICBmb250LXNpemU6IDgwJTsKKyAgICAgICAgICBjb2xvcjojMDAwMDAwOworICAgICAgICAgIH0KKwkgIC5kYXRlQW5kQXV0aG9yIHsKKyAgICAgICAgICBmb250LWZhbWlseTogdmVyZGFuYSxhcmlhbCxoZWx2ZXRpY2E7CisgICAgICAgICAgZm9udC1zaXplOiA4MCU7CisgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0OworICAgICAgICAgIGJhY2tncm91bmQ6I2E2Y2FmMDsKKwkgIH0KKyAgICAgICAgICB0ciwgdGR7CisgICAgICAgICAgZm9udC1mYW1pbHk6IHZlcmRhbmEsYXJpYWwsaGVsdmV0aWNhOworICAgICAgICAgIGZvbnQtc2l6ZTogODAlOworICAgICAgICAgIGJhY2tncm91bmQ6I2VlZWVlMDsKKyAgICAgICAgICB9CSAgCisJICA8L3N0eWxlPiAKKyAgICAgIDwvaGVhZD4KKyAgICAgIDxib2R5IGxpbms9IiMwMDAwMDAiIGFsaW5rPSIjMDAwMDAwIiB2bGluaz0iIzAwMDAwMCIgdGV4dD0iIzAwMDAwMCI+ICAgICAgIAorICAgICAgICAgIDxoMT4KKyAgICAgICAgICAgIDxhIG5hbWU9InRvcCI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0aXRsZSIvPjwvYT4KKyAgICAgICAgICA8L2gxPgorICAgICAgICAgIFRhZ2RpZmYgYmV0d2VlbiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iQHN0YXJ0VGFnIi8+IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJAc3RhcnREYXRlIi8+IGFuZAorCQkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBlbmRUYWciLz4gPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IkBlbmREYXRlIi8+CisgICAgICAgICAgPHAgYWxpZ249InJpZ2h0Ij5EZXNpZ25lZCBmb3IgdXNlIHdpdGggPGEgaHJlZj0iaHR0cDovL2FudC5hcGFjaGUub3JnLyI+QW50PC9hPi48L3A+CisgICAgICAgICAgPGhyIHNpemU9IjIiLz4KKwk8YSBuYW1lPSJUT1AiLz4KKwk8dGFibGUgd2lkdGg9IjEwMCUiPgorCQk8dHI+CisJCQk8dGQgYWxpZ249InJpZ2h0Ij4KKwkJCQk8YSBocmVmPSIjTmV3Ij5OZXcgRmlsZXM8L2E+IHwKKwkJCQk8YSBocmVmPSIjTW9kaWZpZWQiPk1vZGlmaWVkIEZpbGVzPC9hPiB8CisJCQkJPGEgaHJlZj0iI1JlbW92ZWQiPlJlbW92ZWQgRmlsZXM8L2E+CisJCQk8L3RkPgorCQk8L3RyPgorCTwvdGFibGU+CisgICAgICAgIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiPgorCQk8eHNsOmNhbGwtdGVtcGxhdGUgbmFtZT0ic2hvdy1lbnRyaWVzIj4KKwkJCTx4c2w6d2l0aC1wYXJhbSBuYW1lPSJ0aXRsZSI+TmV3IEZpbGVzPC94c2w6d2l0aC1wYXJhbT4KKwkJCTx4c2w6d2l0aC1wYXJhbSBuYW1lPSJhbmNob3IiPk5ldzwveHNsOndpdGgtcGFyYW0+CisJCQk8eHNsOndpdGgtcGFyYW0gbmFtZT0iZW50cmllcyIgc2VsZWN0PSIuLy9lbnRyeVtmaWxlL3JldmlzaW9uXVtub3QoZmlsZS9wcmV2cmV2aXNpb24pXSIvPgorCQk8L3hzbDpjYWxsLXRlbXBsYXRlPgorCisJCTx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzaG93LWVudHJpZXMiPgorCQkJPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRpdGxlIj5Nb2RpZmllZCBGaWxlczwveHNsOndpdGgtcGFyYW0+CisJCQk8eHNsOndpdGgtcGFyYW0gbmFtZT0iYW5jaG9yIj5Nb2RpZmllZDwveHNsOndpdGgtcGFyYW0+CisJCQk8eHNsOndpdGgtcGFyYW0gbmFtZT0iZW50cmllcyIgc2VsZWN0PSIuLy9lbnRyeVtmaWxlL3JldmlzaW9uXVtmaWxlL3ByZXZyZXZpc2lvbl0iLz4KKwkJPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKworCQk8IS0tIGNoYW5nZSB0byBlbnRyaWVzIHNlbGVjdCB0byBhZGRyZXNzIGJ1ZyAjMzY4MjcgLS0+CisJCTx4c2w6Y2FsbC10ZW1wbGF0ZSBuYW1lPSJzaG93LWVudHJpZXMiPgorCQkJPHhzbDp3aXRoLXBhcmFtIG5hbWU9InRpdGxlIj5SZW1vdmVkIEZpbGVzPC94c2w6d2l0aC1wYXJhbT4KKwkJCTx4c2w6d2l0aC1wYXJhbSBuYW1lPSJhbmNob3IiPlJlbW92ZWQ8L3hzbDp3aXRoLXBhcmFtPgorCQkJPHhzbDp3aXRoLXBhcmFtIG5hbWU9ImVudHJpZXMiIHNlbGVjdD0iLi8vZW50cnlbbm90KGZpbGUvcmV2aXNpb24pXVtmaWxlL3ByZXZyZXZpc2lvbl0iLz4KKwkJPC94c2w6Y2FsbC10ZW1wbGF0ZT4KKyAgICAgICAgPC90YWJsZT4KKyAgICAgICAgCisgICAgICA8L2JvZHk+CisgICAgPC9odG1sPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG5hbWU9InNob3ctZW50cmllcyI+CisJPHhzbDpwYXJhbSBuYW1lPSJ0aXRsZSIvPgorCTx4c2w6cGFyYW0gbmFtZT0iYW5jaG9yIi8+CisJPHhzbDpwYXJhbSBuYW1lPSJlbnRyaWVzIi8+CisJPHRyPgorCQk8dGQgY29sc3Bhbj0iMiIgY2xhc3M9ImRhdGVBbmRBdXRob3IiPgorCQkJPGE+CisJCQkJPHhzbDphdHRyaWJ1dGUgbmFtZT0ibmFtZSI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRhbmNob3IiLz48L3hzbDphdHRyaWJ1dGU+CisJCQkJPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiR0aXRsZSIvPiAtIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJjb3VudCgkZW50cmllcykiLz4gZW50cmllcworCQkJPC9hPgorCQkJPGEgaHJlZj0iI1RPUCI+KGJhY2sgdG8gdG9wKTwvYT4KKwkJPC90ZD4KKwk8L3RyPgorCTx0cj4KKwkJPHRkIHdpZHRoPSIyMCI+CisJCQk8eHNsOnRleHQ+ICAgIDwveHNsOnRleHQ+CisJCTwvdGQ+CisJCTx0ZD4KKwkJICAgICAgICA8dWw+CisJCQkJPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PSIkZW50cmllcyIvPgorCQkJPC91bD4KKwkJPC90ZD4KKwk8L3RyPgorICA8L3hzbDp0ZW1wbGF0ZT4gIAorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImVudHJ5Ij4KKwk8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9ImZpbGUiLz4KKyAgPC94c2w6dGVtcGxhdGU+CisKKyAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0ZSI+CisgICAgPGk+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz48L2k+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9InRpbWUiPgorICAgIDxpPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIuIi8+PC9pPgorICA8L3hzbDp0ZW1wbGF0ZT4KKworICA8eHNsOnRlbXBsYXRlIG1hdGNoPSJhdXRob3IiPgorICAgIDxpPgorICAgICAgPGE+CisgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPm1haWx0bzo8eHNsOnZhbHVlLW9mIHNlbGVjdD0iLiIvPjwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Ii4iLz4KKyAgICAgIDwvYT4KKyAgICA8L2k+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9ImZpbGUiPgorICAgIDxsaT4KKyAgICAgIDxhIHRhcmdldD0iX25ldyI+CisgICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9ImhyZWYiPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkY3Zzd2ViIi8+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRtb2R1bGUiIC8+Lzx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJuYW1lIiAvPjwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5hbWUiIC8+CisgICAgICA8L2E+CisgICAgICA8eHNsOmlmIHRlc3Q9InN0cmluZy1sZW5ndGgocHJldnJldmlzaW9uKSA+IDAgb3Igc3RyaW5nLWxlbmd0aChyZXZpc2lvbikgPiAwIj4KKyAgICAgIDx4c2w6dGV4dD4gPC94c2w6dGV4dD4KKyAgICAgIDxhIHRhcmdldD0iX25ldyI+CisgICAgICAgIDx4c2w6Y2hvb3NlPgorICAgICAgICAgIDx4c2w6d2hlbiB0ZXN0PSJzdHJpbmctbGVuZ3RoKHByZXZyZXZpc2lvbikgPSAwICI+CisgICAgICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPSJocmVmIj48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJGN2c3dlYiIvPjx4c2w6dmFsdWUtb2Ygc2VsZWN0PSIkbW9kdWxlIiAvPi88eHNsOnZhbHVlLW9mIHNlbGVjdD0ibmFtZSIgLz4/cmV2PTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJyZXZpc2lvbiIgLz4mYW1wO2NvbnRlbnQtdHlwZT10ZXh0L3gtY3Zzd2ViLW1hcmt1cDwveHNsOmF0dHJpYnV0ZT4KKyAgICAgICAgICA8L3hzbDp3aGVuPgorICAgICAgICAgIDx4c2w6b3RoZXJ3aXNlPgorICAgICAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT0iaHJlZiI+PHhzbDp2YWx1ZS1vZiBzZWxlY3Q9IiRjdnN3ZWIiLz48eHNsOnZhbHVlLW9mIHNlbGVjdD0iJG1vZHVsZSIgLz4vPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9Im5hbWUiIC8+P3IxPTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJyZXZpc2lvbiIgLz4mYW1wO3IyPTx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJwcmV2cmV2aXNpb24iLz4mYW1wO2RpZmZfZm9ybWF0PWg8L3hzbDphdHRyaWJ1dGU+CisgICAgICAgICAgPC94c2w6b3RoZXJ3aXNlPgorICAgICAgICA8L3hzbDpjaG9vc2U+ICg8eHNsOmlmIHRlc3Q9ImNvdW50KHByZXZyZXZpc2lvbikgJmd0OyAwIj4gPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9InByZXZyZXZpc2lvbiIvPiAtLSZndDsgPC94c2w6aWY+IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJyZXZpc2lvbiIvPikKKyAgICAgIDwvYT4KKyAgICAgIDwveHNsOmlmPgorICAgIDwvbGk+CisgIDwveHNsOnRlbXBsYXRlPgorCisgIDwhLS0gQW55IGVsZW1lbnRzIHdpdGhpbiBhIG1zZyBhcmUgcHJvY2Vzc2VkLAorICAgICAgIHNvIHRoYXQgd2UgY2FuIHByZXNlcnZlIEhUTUwgdGFncy4gLS0+CisgIDx4c2w6dGVtcGxhdGUgbWF0Y2g9Im1zZyI+CisgICAgPGI+PHhzbDphcHBseS10ZW1wbGF0ZXMvPjwvYj4KKyAgPC94c2w6dGVtcGxhdGU+CisgIAorPC94c2w6c3R5bGVzaGVldD4KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hbnRsci5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtYW50bHIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzYmU5MDIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtYW50bHIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUtYmNlbC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtYXBhY2hlLWJjZWwuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0OTczNzgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtYXBhY2hlLWJjZWwuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUtYnNmLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUtYnNmLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWRjZjcxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWFwYWNoZS1ic2YuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUtbG9nNGouamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWFwYWNoZS1sb2c0ai5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYzMTBlNgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUtbG9nNGouamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUtb3JvLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUtb3JvLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jN2I0NGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWFwYWNoZS1vcm8uamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUtcmVnZXhwLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUtcmVnZXhwLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWVhYTY5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWFwYWNoZS1yZWdleHAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUtcmVzb2x2ZXIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWFwYWNoZS1yZXNvbHZlci5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDRlOWZhNAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUtcmVzb2x2ZXIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUteGFsYW4yLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1hcGFjaGUteGFsYW4yLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWJiODQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWFwYWNoZS14YWxhbjIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1jb21tb25zLWxvZ2dpbmcuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWNvbW1vbnMtbG9nZ2luZy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc4NWNhYwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1jb21tb25zLWxvZ2dpbmcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1jb21tb25zLW5ldC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtY29tbW9ucy1uZXQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyMGQ2NDgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtY29tbW9ucy1uZXQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qYWkuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWphaS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI5MDM1ZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qYWkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qYXZhbWFpbC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtamF2YW1haWwuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2OWVjOTYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtamF2YW1haWwuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qZGVwZW5kLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qZGVwZW5kLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmZmMDdiCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWpkZXBlbmQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qbWYuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWptZi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBlZTAwMAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qbWYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qc2NoLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qc2NoLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjQyZjYwCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWpzY2guamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qdW5pdC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtanVuaXQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxYzliNjUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtanVuaXQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qdW5pdDQuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LWp1bml0NC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTNmOTFjNgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1qdW5pdDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1sYXVuY2hlci5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtbGF1bmNoZXIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZDNkZDcKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtbGF1bmNoZXIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1uZXRyZXh4LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1uZXRyZXh4LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjkzZDA2Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5hbnRfMS44LjMudjIwMTMwMTEyMDYwOS9saWIvYW50LW5ldHJleHguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC1zd2luZy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtc3dpbmcuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyZDFjODQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtc3dpbmcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC10ZXN0dXRpbC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtdGVzdHV0aWwuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1NmI2YmUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQtdGVzdHV0aWwuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvbGliL2FudC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmY2I3YTIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L2xpYi9hbnQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYW50XzEuOC4zLnYyMDEzMDExMjA2MDkvcGx1Z2luLnByb3BlcnRpZXMgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L3BsdWdpbi5wcm9wZXJ0aWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZjYyMWIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmFudF8xLjguMy52MjAxMzAxMTIwNjA5L3BsdWdpbi5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEsMTIgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQ29weXJpZ2h0IChjKSAyMDEyIElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIAorIyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKKyMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgIElCTSBDb3Jwb3JhdGlvbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworcGx1Z2luTmFtZSA9IEFwYWNoZSBBbnQKK3Byb3ZpZGVyTmFtZSA9IEVjbGlwc2UgT3JiaXQKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYmF0aWsuY3NzLnNvdXJjZV8xLjYuMC52MjAxMDExMDQxNDMyLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYmF0aWsuY3NzLnNvdXJjZV8xLjYuMC52MjAxMDExMDQxNDMyLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmNmYjQwCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5iYXRpay5jc3Muc291cmNlXzEuNi4wLnYyMDEwMTEwNDE0MzIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYmF0aWsuY3NzXzEuNi4wLnYyMDEwMTEwNDE0MzIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5iYXRpay5jc3NfMS42LjAudjIwMTAxMTA0MTQzMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjAwN2NhMAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYmF0aWsuY3NzXzEuNi4wLnYyMDEwMTEwNDE0MzIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYmF0aWsudXRpbC5ndWkuc291cmNlXzEuNi4wLnYyMDEwMTEwNDE0MzIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5iYXRpay51dGlsLmd1aS5zb3VyY2VfMS42LjAudjIwMTAxMTA0MTQzMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E0Nzk1NAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYmF0aWsudXRpbC5ndWkuc291cmNlXzEuNi4wLnYyMDEwMTEwNDE0MzIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYmF0aWsudXRpbC5ndWlfMS42LjAudjIwMTAxMTA0MTQzMi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmJhdGlrLnV0aWwuZ3VpXzEuNi4wLnYyMDEwMTEwNDE0MzIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MmIxZDkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmJhdGlrLnV0aWwuZ3VpXzEuNi4wLnYyMDEwMTEwNDE0MzIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYmF0aWsudXRpbC5zb3VyY2VfMS42LjAudjIwMTAxMTA0MTQzMi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmJhdGlrLnV0aWwuc291cmNlXzEuNi4wLnYyMDEwMTEwNDE0MzIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjM2RiOTYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmJhdGlrLnV0aWwuc291cmNlXzEuNi4wLnYyMDEwMTEwNDE0MzIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYmF0aWsudXRpbF8xLjYuMC52MjAxMDExMDQxNDMyLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuYmF0aWsudXRpbF8xLjYuMC52MjAxMDExMDQxNDMyLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzE1ZDg0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5iYXRpay51dGlsXzEuNi4wLnYyMDEwMTEwNDE0MzIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuY29tbW9ucy5jbGlfMS4yLjAudjIwMTEwNTIxMDY1MC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmNvbW1vbnMuY2xpXzEuMi4wLnYyMDExMDUyMTA2NTAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwOGE0ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuYXBhY2hlLmNvbW1vbnMuY2xpXzEuMi4wLnYyMDExMDUyMTA2NTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuY29tbW9ucy5sYW5nLnNvdXJjZV8yLjYuMC52MjAxMjA1MDMwOTA5LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuY29tbW9ucy5sYW5nLnNvdXJjZV8yLjYuMC52MjAxMjA1MDMwOTA5LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjAzMzM4Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5jb21tb25zLmxhbmcuc291cmNlXzIuNi4wLnYyMDEyMDUwMzA5MDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuY29tbW9ucy5sYW5nXzIuNi4wLnYyMDEyMDUwMzA5MDkuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5jb21tb25zLmxhbmdfMi42LjAudjIwMTIwNTAzMDkwOS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTVlYzg4ZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuY29tbW9ucy5sYW5nXzIuNi4wLnYyMDEyMDUwMzA5MDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuY29tbW9ucy5sb2dnaW5nXzEuMS4xLnYyMDExMDEyMTE3MjEuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5jb21tb25zLmxvZ2dpbmdfMS4xLjEudjIwMTEwMTIxMTcyMS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjAwN2RiNwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUuY29tbW9ucy5sb2dnaW5nXzEuMS4xLnYyMDExMDEyMTE3MjEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUubG9nNGouc291cmNlXzEuMi4xNS52MjAxMDEyMDcwODE1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUubG9nNGouc291cmNlXzEuMi4xNS52MjAxMDEyMDcwODE1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTU4MDA2Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5sb2c0ai5zb3VyY2VfMS4yLjE1LnYyMDEwMTIwNzA4MTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUubG9nNGpfMS4yLjE1LnYyMDEwMTIwNzA4MTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmFwYWNoZS5sb2c0al8xLjIuMTUudjIwMTAxMjA3MDgxNS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk0MWRmOAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5hcGFjaGUubG9nNGpfMS4yLjE1LnYyMDEwMTIwNzA4MTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmFudC5jb3JlLnNvdXJjZV8zLjIuNDAxLnYyMDEyMTIwNC0xNjIwMjIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuYW50LmNvcmUuc291cmNlXzMuMi40MDEudjIwMTIxMjA0LTE2MjAyMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTVlYzYxNAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmFudC5jb3JlLnNvdXJjZV8zLjIuNDAxLnYyMDEyMTIwNC0xNjIwMjIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmFudC5jb3JlXzMuMi40MDEudjIwMTIxMjA0LTE2MjAyMi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5hbnQuY29yZV8zLjIuNDAxLnYyMDEyMTIwNC0xNjIwMjIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkZGI2ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5hbnQuY29yZV8zLjIuNDAxLnYyMDEyMTIwNC0xNjIwMjIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmFudC5sYXVuY2hpbmcuc291cmNlXzEuMC4yMDAudjIwMTIwNTMwLTEyMDQuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuYW50LmxhdW5jaGluZy5zb3VyY2VfMS4wLjIwMC52MjAxMjA1MzAtMTIwNC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUyODk3NgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmFudC5sYXVuY2hpbmcuc291cmNlXzEuMC4yMDAudjIwMTIwNTMwLTEyMDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmFudC5sYXVuY2hpbmdfMS4wLjIwMC52MjAxMjA1MzAtMTIwNC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5hbnQubGF1bmNoaW5nXzEuMC4yMDAudjIwMTIwNTMwLTEyMDQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmOTNlMmQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5hbnQubGF1bmNoaW5nXzEuMC4yMDAudjIwMTIwNTMwLTEyMDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmFudC51aS5zb3VyY2VfMy41LjMwMS52MjAxMjEyMTAtMjEwOTQ4LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmFudC51aS5zb3VyY2VfMy41LjMwMS52MjAxMjEyMTAtMjEwOTQ4LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzEwOTI4Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuYW50LnVpLnNvdXJjZV8zLjUuMzAxLnYyMDEyMTIxMC0yMTA5NDguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmFudC51aV8zLjUuMzAxLnYyMDEyMTIxMC0yMTA5NDguamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuYW50LnVpXzMuNS4zMDEudjIwMTIxMjEwLTIxMDk0OC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmMxMjYxMAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmFudC51aV8zLjUuMzAxLnYyMDEyMTIxMC0yMTA5NDguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvbXBhcmUuY29yZS5zb3VyY2VfMy41LjIwMC52MjAxMjA1MjItMTE0OC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb21wYXJlLmNvcmUuc291cmNlXzMuNS4yMDAudjIwMTIwNTIyLTExNDguamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyYzA1YmUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb21wYXJlLmNvcmUuc291cmNlXzMuNS4yMDAudjIwMTIwNTIyLTExNDguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvbXBhcmUuY29yZV8zLjUuMjAwLnYyMDEyMDUyMi0xMTQ4LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvbXBhcmUuY29yZV8zLjUuMjAwLnYyMDEyMDUyMi0xMTQ4LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmM2NjUxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29tcGFyZS5jb3JlXzMuNS4yMDAudjIwMTIwNTIyLTExNDguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvbXBhcmUuc291cmNlXzMuNS4zMDEudjIwMTMwMTI1LTEzNTQyNC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb21wYXJlLnNvdXJjZV8zLjUuMzAxLnYyMDEzMDEyNS0xMzU0MjQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyZjQ5YTkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb21wYXJlLnNvdXJjZV8zLjUuMzAxLnYyMDEzMDEyNS0xMzU0MjQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvbXBhcmVfMy41LjMwMS52MjAxMzAxMjUtMTM1NDI0LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvbXBhcmVfMy41LjMwMS52MjAxMzAxMjUtMTM1NDI0LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzlkZGEzCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29tcGFyZV8zLjUuMzAxLnYyMDEzMDEyNS0xMzU0MjQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuY29tbWFuZHMuc291cmNlXzMuNi4yLnYyMDEzMDEyMy0xNjI2NTguamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5jb21tYW5kcy5zb3VyY2VfMy42LjIudjIwMTMwMTIzLTE2MjY1OC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGYxN2VmNgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuY29tbWFuZHMuc291cmNlXzMuNi4yLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuY29tbWFuZHNfMy42LjIudjIwMTMwMTIzLTE2MjY1OC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmNvbW1hbmRzXzMuNi4yLnYyMDEzMDEyMy0xNjI2NTguamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZDg1ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmNvbW1hbmRzXzMuNi4yLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuY29udGVudHR5cGUuc291cmNlXzMuNC4yMDAudjIwMTIwNTIzLTIwMDQuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5jb250ZW50dHlwZS5zb3VyY2VfMy40LjIwMC52MjAxMjA1MjMtMjAwNC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ4MDY1MAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuY29udGVudHR5cGUuc291cmNlXzMuNC4yMDAudjIwMTIwNTIzLTIwMDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuY29udGVudHR5cGVfMy40LjIwMC52MjAxMjA1MjMtMjAwNC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmNvbnRlbnR0eXBlXzMuNC4yMDAudjIwMTIwNTIzLTIwMDQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyNTQ5NDkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmNvbnRlbnR0eXBlXzMuNC4yMDAudjIwMTIwNTIzLTIwMDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmcub2JzZXJ2YWJsZS5zb3VyY2VfMS40LjEudjIwMTIwNTIxLTIzMjkuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5kYXRhYmluZGluZy5vYnNlcnZhYmxlLnNvdXJjZV8xLjQuMS52MjAxMjA1MjEtMjMyOS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU3Y2QzZAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmcub2JzZXJ2YWJsZS5zb3VyY2VfMS40LjEudjIwMTIwNTIxLTIzMjkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmcub2JzZXJ2YWJsZV8xLjQuMS52MjAxMjA1MjEtMjMyOS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmRhdGFiaW5kaW5nLm9ic2VydmFibGVfMS40LjEudjIwMTIwNTIxLTIzMjkuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzODU1ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmRhdGFiaW5kaW5nLm9ic2VydmFibGVfMS40LjEudjIwMTIwNTIxLTIzMjkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmcucHJvcGVydHkuc291cmNlXzEuNC4xMDAudjIwMTIwNTIzLTE5NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5kYXRhYmluZGluZy5wcm9wZXJ0eS5zb3VyY2VfMS40LjEwMC52MjAxMjA1MjMtMTk1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2FhMTE2YwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmcucHJvcGVydHkuc291cmNlXzEuNC4xMDAudjIwMTIwNTIzLTE5NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmcucHJvcGVydHlfMS40LjEwMC52MjAxMjA1MjMtMTk1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmRhdGFiaW5kaW5nLnByb3BlcnR5XzEuNC4xMDAudjIwMTIwNTIzLTE5NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhYWJlMGQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmRhdGFiaW5kaW5nLnByb3BlcnR5XzEuNC4xMDAudjIwMTIwNTIzLTE5NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmcuc291cmNlXzEuNC4xLnYyMDEyMDkxMi0xMzI4MDcuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5kYXRhYmluZGluZy5zb3VyY2VfMS40LjEudjIwMTIwOTEyLTEzMjgwNy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZkMWZmYwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmcuc291cmNlXzEuNC4xLnYyMDEyMDkxMi0xMzI4MDcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZGF0YWJpbmRpbmdfMS40LjEudjIwMTIwOTEyLTEzMjgwNy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmRhdGFiaW5kaW5nXzEuNC4xLnYyMDEyMDkxMi0xMzI4MDcuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMGVkMTMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmRhdGFiaW5kaW5nXzEuNC4xLnYyMDEyMDkxMi0xMzI4MDcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZXhwcmVzc2lvbnMuc291cmNlXzMuNC40MDEudjIwMTIwOTEyLTE1NTAxOC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmV4cHJlc3Npb25zLnNvdXJjZV8zLjQuNDAxLnYyMDEyMDkxMi0xNTUwMTguamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5NmJmYTAKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmV4cHJlc3Npb25zLnNvdXJjZV8zLjQuNDAxLnYyMDEyMDkxMi0xNTUwMTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZXhwcmVzc2lvbnNfMy40LjQwMS52MjAxMjA5MTItMTU1MDE4LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZXhwcmVzc2lvbnNfMy40LjQwMS52MjAxMjA5MTItMTU1MDE4LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Y2Y1YmVhCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5leHByZXNzaW9uc18zLjQuNDAxLnYyMDEyMDkxMi0xNTUwMTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZXh0ZXJuYWx0b29scy5zb3VyY2VfMS4wLjEwMC52MjAxMjA1MjEtMjAxMi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmV4dGVybmFsdG9vbHMuc291cmNlXzEuMC4xMDAudjIwMTIwNTIxLTIwMTIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZjA2NmIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmV4dGVybmFsdG9vbHMuc291cmNlXzEuMC4xMDAudjIwMTIwNTIxLTIwMTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZXh0ZXJuYWx0b29sc18xLjAuMTAwLnYyMDEyMDUyMS0yMDEyLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZXh0ZXJuYWx0b29sc18xLjAuMTAwLnYyMDEyMDUyMS0yMDEyLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTkwZGM5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5leHRlcm5hbHRvb2xzXzEuMC4xMDAudjIwMTIwNTIxLTIwMTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZmlsZWJ1ZmZlcnMuc291cmNlXzMuNS4yMDAudjIwMTIwNTIzLTEzMTAuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5maWxlYnVmZmVycy5zb3VyY2VfMy41LjIwMC52MjAxMjA1MjMtMTMxMC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmUwNDQzYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZmlsZWJ1ZmZlcnMuc291cmNlXzMuNS4yMDAudjIwMTIwNTIzLTEzMTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZmlsZWJ1ZmZlcnNfMy41LjIwMC52MjAxMjA1MjMtMTMxMC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmZpbGVidWZmZXJzXzMuNS4yMDAudjIwMTIwNTIzLTEzMTAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5M2UzN2MKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLmZpbGVidWZmZXJzXzMuNS4yMDAudjIwMTIwNTIzLTEzMTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZmlsZXN5c3RlbS5zb3VyY2VfMS4zLjIwMC52MjAxMzAxMTUtMTQ1MDQ0LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZmlsZXN5c3RlbS5zb3VyY2VfMS4zLjIwMC52MjAxMzAxMTUtMTQ1MDQ0LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2UyM2EzCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5maWxlc3lzdGVtLnNvdXJjZV8xLjMuMjAwLnYyMDEzMDExNS0xNDUwNDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZmlsZXN5c3RlbV8xLjMuMjAwLnYyMDEzMDExNS0xNDUwNDQuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5maWxlc3lzdGVtXzEuMy4yMDAudjIwMTMwMTE1LTE0NTA0NC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODhjZDM3OQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuZmlsZXN5c3RlbV8xLjMuMjAwLnYyMDEzMDExNS0xNDUwNDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuam9icy5zb3VyY2VfMy41LjMwMC52MjAxMjA5MTItMTU1MDE4LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuam9icy5zb3VyY2VfMy41LjMwMC52MjAxMjA5MTItMTU1MDE4LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjMxZjU5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5qb2JzLnNvdXJjZV8zLjUuMzAwLnYyMDEyMDkxMi0xNTUwMTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuam9ic18zLjUuMzAwLnYyMDEyMDkxMi0xNTUwMTguamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5qb2JzXzMuNS4zMDAudjIwMTIwOTEyLTE1NTAxOC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk0MTgwMQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUuam9ic18zLjUuMzAwLnYyMDEyMDkxMi0xNTUwMTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLnNvdXJjZV8zLjguMS52MjAxMjExMTQtMTI0NDMyLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLnNvdXJjZV8zLjguMS52MjAxMjExMTQtMTI0NDMyLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjkwYjQwCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMuc291cmNlXzMuOC4xLnYyMDEyMTExNC0xMjQ0MzIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzXzMuOC4xLnYyMDEyMTExNC0xMjQ0MzIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXNfMy44LjEudjIwMTIxMTE0LTEyNDQzMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU3ZjIyYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzXzMuOC4xLnYyMDEyMTExNC0xMjQ0MzIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUucnVudGltZS5zb3VyY2VfMy44LjAudjIwMTIwOTEyLTE1NTAyNS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuc291cmNlXzMuOC4wLnYyMDEyMDkxMi0xNTUwMjUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzOThjYmIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuc291cmNlXzMuOC4wLnYyMDEyMDkxMi0xNTUwMjUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUucnVudGltZV8zLjguMC52MjAxMjA5MTItMTU1MDI1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUucnVudGltZV8zLjguMC52MjAxMjA5MTItMTU1MDI1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODcwZjI3Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lXzMuOC4wLnYyMDEyMDkxMi0xNTUwMjUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUudmFyaWFibGVzLnNvdXJjZV8zLjIuNjAwLnYyMDEyMDUyMS0yMDEyLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUudmFyaWFibGVzLnNvdXJjZV8zLjIuNjAwLnYyMDEyMDUyMS0yMDEyLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTc5MmJjCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS52YXJpYWJsZXMuc291cmNlXzMuMi42MDAudjIwMTIwNTIxLTIwMTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUudmFyaWFibGVzXzMuMi42MDAudjIwMTIwNTIxLTIwMTIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuY29yZS52YXJpYWJsZXNfMy4yLjYwMC52MjAxMjA1MjEtMjAxMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA2ZDkzMgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmNvcmUudmFyaWFibGVzXzMuMi42MDAudjIwMTIwNTIxLTIwMTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmRlYnVnLmNvcmUuc291cmNlXzMuNy4xMDAudjIwMTIwNTIxLTIwMTIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZGVidWcuY29yZS5zb3VyY2VfMy43LjEwMC52MjAxMjA1MjEtMjAxMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWFiYTE0ZgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmRlYnVnLmNvcmUuc291cmNlXzMuNy4xMDAudjIwMTIwNTIxLTIwMTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmRlYnVnLmNvcmVfMy43LjEwMC52MjAxMjA1MjEtMjAxMi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5kZWJ1Zy5jb3JlXzMuNy4xMDAudjIwMTIwNTIxLTIwMTIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwZDAyMTIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5kZWJ1Zy5jb3JlXzMuNy4xMDAudjIwMTIwNTIxLTIwMTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmRlYnVnLnVpLnNvdXJjZV8zLjguMi52MjAxMzAxMzAtMTcxNDE1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmRlYnVnLnVpLnNvdXJjZV8zLjguMi52MjAxMzAxMzAtMTcxNDE1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTE1NDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZGVidWcudWkuc291cmNlXzMuOC4yLnYyMDEzMDEzMC0xNzE0MTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmRlYnVnLnVpXzMuOC4yLnYyMDEzMDEzMC0xNzE0MTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZGVidWcudWlfMy44LjIudjIwMTMwMTMwLTE3MTQxNS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTVmMjRiYQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmRlYnVnLnVpXzMuOC4yLnYyMDEzMDEzMC0xNzE0MTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuY29tbWFuZHMuc291cmNlXzAuMTAuMS52MjAxMjA1MjMtMTk1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC5jb3JlLmNvbW1hbmRzLnNvdXJjZV8wLjEwLjEudjIwMTIwNTIzLTE5NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkMmY3MzAKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC5jb3JlLmNvbW1hbmRzLnNvdXJjZV8wLjEwLjEudjIwMTIwNTIzLTE5NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuY29tbWFuZHNfMC4xMC4xLnYyMDEyMDUyMy0xOTU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuY29tbWFuZHNfMC4xMC4xLnYyMDEyMDUyMy0xOTU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDkwODVhCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQuY29yZS5jb21tYW5kc18wLjEwLjEudjIwMTIwNTIzLTE5NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuY29udGV4dHMuc291cmNlXzEuMi4wLnYyMDEyMTIyMS0xOTI1MDguamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQuY29yZS5jb250ZXh0cy5zb3VyY2VfMS4yLjAudjIwMTIxMjIxLTE5MjUwOC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY2MjY0OAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuY29udGV4dHMuc291cmNlXzEuMi4wLnYyMDEyMTIyMS0xOTI1MDguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuY29udGV4dHNfMS4yLjAudjIwMTIxMjIxLTE5MjUwOC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC5jb3JlLmNvbnRleHRzXzEuMi4wLnYyMDEyMTIyMS0xOTI1MDguamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0YThkYzYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC5jb3JlLmNvbnRleHRzXzEuMi4wLnYyMDEyMTIyMS0xOTI1MDguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuZGkuZXh0ZW5zaW9ucy5zb3VyY2VfMC4xMS4xMDAudjIwMTIxMDI0LTE4MjM1OS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC5jb3JlLmRpLmV4dGVuc2lvbnMuc291cmNlXzAuMTEuMTAwLnYyMDEyMTAyNC0xODIzNTkuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YTJiZTEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC5jb3JlLmRpLmV4dGVuc2lvbnMuc291cmNlXzAuMTEuMTAwLnYyMDEyMTAyNC0xODIzNTkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuZGkuZXh0ZW5zaW9uc18wLjExLjEwMC52MjAxMjEwMjQtMTgyMzU5LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuZGkuZXh0ZW5zaW9uc18wLjExLjEwMC52MjAxMjEwMjQtMTgyMzU5LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZmViYzg5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQuY29yZS5kaS5leHRlbnNpb25zXzAuMTEuMTAwLnYyMDEyMTAyNC0xODIzNTkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuZGkuc291cmNlXzEuMi4wLnYyMDEyMTAyNC0xNzMxNDkuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQuY29yZS5kaS5zb3VyY2VfMS4yLjAudjIwMTIxMDI0LTE3MzE0OS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQzZDZlMQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuZGkuc291cmNlXzEuMi4wLnYyMDEyMTAyNC0xNzMxNDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuZGlfMS4yLjAudjIwMTIxMDI0LTE3MzE0OS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC5jb3JlLmRpXzEuMi4wLnYyMDEyMTAyNC0xNzMxNDkuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhNDY3ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC5jb3JlLmRpXzEuMi4wLnYyMDEyMTAyNC0xNzMxNDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuc2VydmljZXMuc291cmNlXzEuMC4wLnYyMDEyMDUyMS0yMzQ2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuc2VydmljZXMuc291cmNlXzEuMC4wLnYyMDEyMDUyMS0yMzQ2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmQzZTc2Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQuY29yZS5zZXJ2aWNlcy5zb3VyY2VfMS4wLjAudjIwMTIwNTIxLTIzNDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuc2VydmljZXNfMS4wLjAudjIwMTIwNTIxLTIzNDYuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQuY29yZS5zZXJ2aWNlc18xLjAuMC52MjAxMjA1MjEtMjM0Ni5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ4MTc1NAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LmNvcmUuc2VydmljZXNfMS4wLjAudjIwMTIwNTIxLTIzNDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmJpbmRpbmdzLnNvdXJjZV8wLjEwLjMudjIwMTMwMTIzLTE2MjY1OC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS5iaW5kaW5ncy5zb3VyY2VfMC4xMC4zLnYyMDEzMDEyMy0xNjI2NTguamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExYmFkNzYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS5iaW5kaW5ncy5zb3VyY2VfMC4xMC4zLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmJpbmRpbmdzXzAuMTAuMy52MjAxMzAxMjMtMTYyNjU4LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmJpbmRpbmdzXzAuMTAuMy52MjAxMzAxMjMtMTYyNjU4LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTYwOTg1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkuYmluZGluZ3NfMC4xMC4zLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmNzcy5jb3JlLnNvdXJjZV8wLjEwLjIudjIwMTIwOTEyLTEzMjgxNy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS5jc3MuY29yZS5zb3VyY2VfMC4xMC4yLnYyMDEyMDkxMi0xMzI4MTcuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwODEwZWEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS5jc3MuY29yZS5zb3VyY2VfMC4xMC4yLnYyMDEyMDkxMi0xMzI4MTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmNzcy5jb3JlXzAuMTAuMi52MjAxMjA5MTItMTMyODE3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmNzcy5jb3JlXzAuMTAuMi52MjAxMjA5MTItMTMyODE3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODEzMDY2Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkuY3NzLmNvcmVfMC4xMC4yLnYyMDEyMDkxMi0xMzI4MTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmNzcy5zd3Quc291cmNlXzAuMTAuMy52MjAxMzAxMjMtMTYyNjU4LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmNzcy5zd3Quc291cmNlXzAuMTAuMy52MjAxMzAxMjMtMTYyNjU4LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzVmY2I1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkuY3NzLnN3dC5zb3VyY2VfMC4xMC4zLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmNzcy5zd3QudGhlbWUuc291cmNlXzAuOS40LnYyMDEzMDEyMy0xNjI2NTguamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkuY3NzLnN3dC50aGVtZS5zb3VyY2VfMC45LjQudjIwMTMwMTIzLTE2MjY1OC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZhNjFhYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmNzcy5zd3QudGhlbWUuc291cmNlXzAuOS40LnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmNzcy5zd3QudGhlbWVfMC45LjQudjIwMTMwMTIzLTE2MjY1OC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS5jc3Muc3d0LnRoZW1lXzAuOS40LnYyMDEzMDEyMy0xNjI2NTguamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyYzQ3M2UKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS5jc3Muc3d0LnRoZW1lXzAuOS40LnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmNzcy5zd3RfMC4xMC4zLnYyMDEzMDEyMy0xNjI2NTguamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkuY3NzLnN3dF8wLjEwLjMudjIwMTMwMTIzLTE2MjY1OC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTAzY2E5MwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmNzcy5zd3RfMC4xMC4zLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmRpLnNvdXJjZV8wLjEwLjEudjIwMTIwNTIzLTE5NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkuZGkuc291cmNlXzAuMTAuMS52MjAxMjA1MjMtMTk1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTljNDRmYwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmRpLnNvdXJjZV8wLjEwLjEudjIwMTIwNTIzLTE5NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLmRpXzAuMTAuMS52MjAxMjA1MjMtMTk1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS5kaV8wLjEwLjEudjIwMTIwNTIzLTE5NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2ZTMyZTMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS5kaV8wLjEwLjEudjIwMTIwNTIzLTE5NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLm1vZGVsLndvcmtiZW5jaC5zb3VyY2VfMC4xMC4xLnYyMDEyMDUyMy0xOTU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLm1vZGVsLndvcmtiZW5jaC5zb3VyY2VfMC4xMC4xLnYyMDEyMDUyMy0xOTU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmVhNDJjCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkubW9kZWwud29ya2JlbmNoLnNvdXJjZV8wLjEwLjEudjIwMTIwNTIzLTE5NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLm1vZGVsLndvcmtiZW5jaF8wLjEwLjEudjIwMTIwNTIzLTE5NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkubW9kZWwud29ya2JlbmNoXzAuMTAuMS52MjAxMjA1MjMtMTk1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg3NzQ5MwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLm1vZGVsLndvcmtiZW5jaF8wLjEwLjEudjIwMTIwNTIzLTE5NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLnNlcnZpY2VzLnNvdXJjZV8wLjEwLjMudjIwMTMwMTIzLTE2MjY1OC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS5zZXJ2aWNlcy5zb3VyY2VfMC4xMC4zLnYyMDEzMDEyMy0xNjI2NTguamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlOGM3NTMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS5zZXJ2aWNlcy5zb3VyY2VfMC4xMC4zLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLnNlcnZpY2VzXzAuMTAuMy52MjAxMzAxMjMtMTYyNjU4LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLnNlcnZpY2VzXzAuMTAuMy52MjAxMzAxMjMtMTYyNjU4LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODVkMDJmCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkuc2VydmljZXNfMC4xMC4zLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndpZGdldHMuc291cmNlXzAuMTIuMy52MjAxMzAxMjMtMTYyNjU4LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndpZGdldHMuc291cmNlXzAuMTIuMy52MjAxMzAxMjMtMTYyNjU4LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzczZDhjCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkud2lkZ2V0cy5zb3VyY2VfMC4xMi4zLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndpZGdldHNfMC4xMi4zLnYyMDEzMDEyMy0xNjI2NTguamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkud2lkZ2V0c18wLjEyLjMudjIwMTMwMTIzLTE2MjY1OC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjZlYjEzOAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndpZGdldHNfMC4xMi4zLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5hZGRvbnMuc3d0LnNvdXJjZV8wLjEwLjMudjIwMTMwMTI0LTE4NTYyMi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS53b3JrYmVuY2guYWRkb25zLnN3dC5zb3VyY2VfMC4xMC4zLnYyMDEzMDEyNC0xODU2MjIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiYWMzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS53b3JrYmVuY2guYWRkb25zLnN3dC5zb3VyY2VfMC4xMC4zLnYyMDEzMDEyNC0xODU2MjIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5hZGRvbnMuc3d0XzAuMTAuMy52MjAxMzAxMjQtMTg1NjIyLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5hZGRvbnMuc3d0XzAuMTAuMy52MjAxMzAxMjQtMTg1NjIyLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzQzOWI2Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkud29ya2JlbmNoLmFkZG9ucy5zd3RfMC4xMC4zLnYyMDEzMDEyNC0xODU2MjIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5yZW5kZXJlcnMuc3d0LnNvdXJjZV8wLjEwLjMudjIwMTMwMTI0LTE3MDMxMi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS53b3JrYmVuY2gucmVuZGVyZXJzLnN3dC5zb3VyY2VfMC4xMC4zLnYyMDEzMDEyNC0xNzAzMTIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkOWYwM2IKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS53b3JrYmVuY2gucmVuZGVyZXJzLnN3dC5zb3VyY2VfMC4xMC4zLnYyMDEzMDEyNC0xNzAzMTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5yZW5kZXJlcnMuc3d0XzAuMTAuMy52MjAxMzAxMjQtMTcwMzEyLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5yZW5kZXJlcnMuc3d0XzAuMTAuMy52MjAxMzAxMjQtMTcwMzEyLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2E5YzMxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkud29ya2JlbmNoLnJlbmRlcmVycy5zd3RfMC4xMC4zLnYyMDEzMDEyNC0xNzAzMTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5zb3VyY2VfMC4xMS4wLnYyMDEzMDEyNS0xMDA3NTguamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkud29ya2JlbmNoLnNvdXJjZV8wLjExLjAudjIwMTMwMTI1LTEwMDc1OC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWVkMzc4YwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5zb3VyY2VfMC4xMS4wLnYyMDEzMDEyNS0xMDA3NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5zd3Quc291cmNlXzAuMTAuMy52MjAxMzAxMjQtMTMzOTAwLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5zd3Quc291cmNlXzAuMTAuMy52MjAxMzAxMjQtMTMzOTAwLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzRiMmM3Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkud29ya2JlbmNoLnN3dC5zb3VyY2VfMC4xMC4zLnYyMDEzMDEyNC0xMzM5MDAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5zd3RfMC4xMC4zLnYyMDEzMDEyNC0xMzM5MDAuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkud29ya2JlbmNoLnN3dF8wLjEwLjMudjIwMTMwMTI0LTEzMzkwMC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAxZWFiZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaC5zd3RfMC4xMC4zLnYyMDEzMDEyNC0xMzM5MDAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaDMuc291cmNlXzAuMTIuMC52MjAxMjA1MjEtMjMyOS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS53b3JrYmVuY2gzLnNvdXJjZV8wLjEyLjAudjIwMTIwNTIxLTIzMjkuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhZTFmZTcKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS53b3JrYmVuY2gzLnNvdXJjZV8wLjEyLjAudjIwMTIwNTIxLTIzMjkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaDNfMC4xMi4wLnYyMDEyMDUyMS0yMzI5LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaDNfMC4xMi4wLnYyMDEyMDUyMS0yMzI5LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGFiNDE0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZTQudWkud29ya2JlbmNoM18wLjEyLjAudjIwMTIwNTIxLTIzMjkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmU0LnVpLndvcmtiZW5jaF8wLjExLjAudjIwMTMwMTI1LTEwMDc1OC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS53b3JrYmVuY2hfMC4xMS4wLnYyMDEzMDEyNS0xMDA3NTguamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlZjdhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lNC51aS53b3JrYmVuY2hfMC4xMS4wLnYyMDEzMDEyNS0xMDA3NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb2RlZ2VuLmVjb3JlLnNvdXJjZV8yLjguMi52MjAxMzAxMjUtMDgyNi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuY29kZWdlbi5lY29yZS5zb3VyY2VfMi44LjIudjIwMTMwMTI1LTA4MjYuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyNjMyNTQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuY29kZWdlbi5lY29yZS5zb3VyY2VfMi44LjIudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb2RlZ2VuLmVjb3JlXzIuOC4yLnYyMDEzMDEyNS0wODI2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb2RlZ2VuLmVjb3JlXzIuOC4yLnYyMDEzMDEyNS0wODI2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjAyZjkyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmNvZGVnZW4uZWNvcmVfMi44LjIudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb2RlZ2VuLnNvdXJjZV8yLjguMC52MjAxMzAxMjUtMDgyNi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuY29kZWdlbi5zb3VyY2VfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiYWY2OGMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuY29kZWdlbi5zb3VyY2VfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb2RlZ2VuXzIuOC4wLnYyMDEzMDEyNS0wODI2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb2RlZ2VuXzIuOC4wLnYyMDEzMDEyNS0wODI2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzFkYmI5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmNvZGVnZW5fMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb21tb24uc291cmNlXzIuOC4wLnYyMDEzMDEyNS0wNTQ2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb21tb24uc291cmNlXzIuOC4wLnYyMDEzMDEyNS0wNTQ2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTVhY2EwCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmNvbW1vbi5zb3VyY2VfMi44LjAudjIwMTMwMTI1LTA1NDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb21tb24udWkuc291cmNlXzIuNy4wLnYyMDEzMDEyNS0wODI2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb21tb24udWkuc291cmNlXzIuNy4wLnYyMDEzMDEyNS0wODI2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWNkNDQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmNvbW1vbi51aS5zb3VyY2VfMi43LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb21tb24udWlfMi43LjAudjIwMTMwMTI1LTA4MjYuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmNvbW1vbi51aV8yLjcuMC52MjAxMzAxMjUtMDgyNi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTRhOWJjNQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb21tb24udWlfMi43LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb21tb25fMi44LjAudjIwMTMwMTI1LTA1NDYuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmNvbW1vbl8yLjguMC52MjAxMzAxMjUtMDU0Ni5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzg5MjgwMQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5jb21tb25fMi44LjAudjIwMTMwMTI1LTA1NDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5jaGFuZ2Uuc291cmNlXzIuOC4wLnYyMDEzMDEyNS0wNTQ2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5jaGFuZ2Uuc291cmNlXzIuOC4wLnYyMDEzMDEyNS0wNTQ2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTQ1ZTI3Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLmNoYW5nZS5zb3VyY2VfMi44LjAudjIwMTMwMTI1LTA1NDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5jaGFuZ2VfMi44LjAudjIwMTMwMTI1LTA1NDYuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLmNoYW5nZV8yLjguMC52MjAxMzAxMjUtMDU0Ni5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdhNmRkYwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5jaGFuZ2VfMi44LjAudjIwMTMwMTI1LTA1NDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5lZGl0LnNvdXJjZV8yLjguMC52MjAxMzAxMjUtMDgyNi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuZWNvcmUuZWRpdC5zb3VyY2VfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4YzdiZTMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuZWNvcmUuZWRpdC5zb3VyY2VfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5lZGl0XzIuOC4wLnYyMDEzMDEyNS0wODI2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5lZGl0XzIuOC4wLnYyMDEzMDEyNS0wODI2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGExNGI5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLmVkaXRfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5lZGl0b3Iuc291cmNlXzIuOC4wLnYyMDEzMDEyNS0wODI2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5lZGl0b3Iuc291cmNlXzIuOC4wLnYyMDEzMDEyNS0wODI2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGY1MzhhCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLmVkaXRvci5zb3VyY2VfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5lZGl0b3JfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLmVkaXRvcl8yLjguMC52MjAxMzAxMjUtMDgyNi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRlMjE1NAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5lZGl0b3JfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5zb3VyY2VfMi44LjMudjIwMTMwMTI1LTA1NDYuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnNvdXJjZV8yLjguMy52MjAxMzAxMjUtMDU0Ni5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTM4YmI4NgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS5zb3VyY2VfMi44LjMudjIwMTMwMTI1LTA1NDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS54bWkuc291cmNlXzIuOC4xLnYyMDEzMDEyNS0wNTQ2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS54bWkuc291cmNlXzIuOC4xLnYyMDEzMDEyNS0wNTQ2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzhkYzBjCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnhtaS5zb3VyY2VfMi44LjEudjIwMTMwMTI1LTA1NDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS54bWlfMi44LjEudjIwMTMwMTI1LTA1NDYuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnhtaV8yLjguMS52MjAxMzAxMjUtMDU0Ni5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmIyODE0MgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZS54bWlfMi44LjEudjIwMTMwMTI1LTA1NDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lY29yZV8yLjguMy52MjAxMzAxMjUtMDU0Ni5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuZWNvcmVfMi44LjMudjIwMTMwMTI1LTA1NDYuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3Nzk2ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuZWNvcmVfMi44LjMudjIwMTMwMTI1LTA1NDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lZGl0LnNvdXJjZV8yLjguMC52MjAxMzAxMjUtMDgyNi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuZWRpdC5zb3VyY2VfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkYTQ0MjcKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuZWRpdC5zb3VyY2VfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lZGl0LnVpLnNvdXJjZV8yLjguMC52MjAxMzAxMjUtMDgyNi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuZWRpdC51aS5zb3VyY2VfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NGViMTgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuZWRpdC51aS5zb3VyY2VfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lZGl0LnVpXzIuOC4wLnYyMDEzMDEyNS0wODI2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lZGl0LnVpXzIuOC4wLnYyMDEzMDEyNS0wODI2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTgwZTUwCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVkaXQudWlfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lZGl0XzIuOC4wLnYyMDEzMDEyNS0wODI2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5lZGl0XzIuOC4wLnYyMDEzMDEyNS0wODI2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjQyNDhlCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVkaXRfMi44LjAudjIwMTMwMTI1LTA4MjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UuY29yZS5zb3VyY2VfMS4yLjEudjIwMTMwMzE5MTQxMy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYubXdlLmNvcmUuc291cmNlXzEuMi4xLnYyMDEzMDMxOTE0MTMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwNDQ1NmMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYubXdlLmNvcmUuc291cmNlXzEuMi4xLnYyMDEzMDMxOTE0MTMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UuY29yZV8xLjIuMS52MjAxMzAzMTkxNDEzLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UuY29yZV8xLjIuMS52MjAxMzAzMTkxNDEzLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjkzNWNlCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLm13ZS5jb3JlXzEuMi4xLnYyMDEzMDMxOTE0MTMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UudXRpbHMuc291cmNlXzEuMy4wLnYyMDEzMDMxOTE0MTMuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLm13ZS51dGlscy5zb3VyY2VfMS4zLjAudjIwMTMwMzE5MTQxMy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRmZGMxNAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UudXRpbHMuc291cmNlXzEuMy4wLnYyMDEzMDMxOTE0MTMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UudXRpbHNfMS4zLjAudjIwMTMwMzE5MTQxMy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYubXdlLnV0aWxzXzEuMy4wLnYyMDEzMDMxOTE0MTMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2MjQ0NDQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYubXdlLnV0aWxzXzEuMy4wLnYyMDEzMDMxOTE0MTMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLmxhbmd1YWdlLnNvdXJjZV8yLjQuMC52MjAxMzAzMTkxNTAxLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLmxhbmd1YWdlLnNvdXJjZV8yLjQuMC52MjAxMzAzMTkxNTAxLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzRmNzA1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLm13ZTIubGFuZ3VhZ2Uuc291cmNlXzIuNC4wLnYyMDEzMDMxOTE1MDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLmxhbmd1YWdlXzIuNC4wLnYyMDEzMDMxOTE1MDEuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLm13ZTIubGFuZ3VhZ2VfMi40LjAudjIwMTMwMzE5MTUwMS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg2Y2MzZgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLmxhbmd1YWdlXzIuNC4wLnYyMDEzMDMxOTE1MDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLmxhdW5jaC5zb3VyY2VfMi40LjAudjIwMTMwMzE5MTUwMS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYubXdlMi5sYXVuY2guc291cmNlXzIuNC4wLnYyMDEzMDMxOTE1MDEuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNzczMTkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYubXdlMi5sYXVuY2guc291cmNlXzIuNC4wLnYyMDEzMDMxOTE1MDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLmxhdW5jaF8yLjQuMC52MjAxMzAzMTkxNTAxLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLmxhdW5jaF8yLjQuMC52MjAxMzAzMTkxNTAxLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmMxMGNmCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLm13ZTIubGF1bmNoXzIuNC4wLnYyMDEzMDMxOTE1MDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLmxpYi5zb3VyY2VfMi40LjAudjIwMTMwMzE5MTQxMy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYubXdlMi5saWIuc291cmNlXzIuNC4wLnYyMDEzMDMxOTE0MTMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3MzI2ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYubXdlMi5saWIuc291cmNlXzIuNC4wLnYyMDEzMDMxOTE0MTMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLmxpYl8yLjQuMC52MjAxMzAzMTkxNDEzLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLmxpYl8yLjQuMC52MjAxMzAzMTkxNDEzLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2Q1YjRmCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLm13ZTIubGliXzIuNC4wLnYyMDEzMDMxOTE0MTMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLnJ1bnRpbWUuc291cmNlXzIuNC4wLnYyMDEzMDMxOTE0MTMuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLm13ZTIucnVudGltZS5zb3VyY2VfMi40LjAudjIwMTMwMzE5MTQxMy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjExOTIyZgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLnJ1bnRpbWUuc291cmNlXzIuNC4wLnYyMDEzMDMxOTE0MTMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5td2UyLnJ1bnRpbWVfMi40LjAudjIwMTMwMzE5MTQxMy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYubXdlMi5ydW50aW1lXzIuNC4wLnYyMDEzMDMxOTE0MTMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0NWQ4NmEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYubXdlMi5ydW50aW1lXzIuNC4wLnYyMDEzMDMxOTE0MTMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guYXBwLnNvdXJjZV8xLjMuMTAwLnYyMDEyMDUyMi0xODQxLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guYXBwLnNvdXJjZV8xLjMuMTAwLnYyMDEyMDUyMi0xODQxLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNmJkMDA5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5hcHAuc291cmNlXzEuMy4xMDAudjIwMTIwNTIyLTE4NDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guYXBwXzEuMy4xMDAudjIwMTIwNTIyLTE4NDEuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5hcHBfMS4zLjEwMC52MjAxMjA1MjItMTg0MS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTNjZjFmMQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guYXBwXzEuMy4xMDAudjIwMTIwNTIyLTE4NDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guY29tbW9uLnNvdXJjZV8zLjYuMTAwLnYyMDEyMDUyMi0xODQxLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guY29tbW9uLnNvdXJjZV8zLjYuMTAwLnYyMDEyMDUyMi0xODQxLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTk0OGNiCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5jb21tb24uc291cmNlXzMuNi4xMDAudjIwMTIwNTIyLTE4NDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guY29tbW9uXzMuNi4xMDAudjIwMTIwNTIyLTE4NDEuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5jb21tb25fMy42LjEwMC52MjAxMjA1MjItMTg0MS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjcyZjY4YQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guY29tbW9uXzMuNi4xMDAudjIwMTIwNTIyLTE4NDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZHMuc291cmNlXzEuNC4xLnYyMDEyMDkyNi0yMDEzMjAuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5kcy5zb3VyY2VfMS40LjEudjIwMTIwOTI2LTIwMTMyMC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDg2MWQxNQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZHMuc291cmNlXzEuNC4xLnYyMDEyMDkyNi0yMDEzMjAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZHNfMS40LjEudjIwMTIwOTI2LTIwMTMyMC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LmRzXzEuNC4xLnYyMDEyMDkyNi0yMDEzMjAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0YWNmZTEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LmRzXzEuNC4xLnYyMDEyMDkyNi0yMDEzMjAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZXZlbnQuc291cmNlXzEuMi4yMDAudjIwMTIwNTIyLTIwNDkuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5ldmVudC5zb3VyY2VfMS4yLjIwMC52MjAxMjA1MjItMjA0OS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJhMjA3MwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZXZlbnQuc291cmNlXzEuMi4yMDAudjIwMTIwNTIyLTIwNDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZXZlbnRfMS4yLjIwMC52MjAxMjA1MjItMjA0OS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LmV2ZW50XzEuMi4yMDAudjIwMTIwNTIyLTIwNDkuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0MjNiM2IKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LmV2ZW50XzEuMi4yMDAudjIwMTIwNTIyLTIwNDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZnJhbWV3b3JrYWRtaW4uZXF1aW5veC5zb3VyY2VfMS4wLjQwMC52MjAxMjA5MTMtMTU1NzA5LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZnJhbWV3b3JrYWRtaW4uZXF1aW5veC5zb3VyY2VfMS4wLjQwMC52MjAxMjA5MTMtMTU1NzA5LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjE5ZjA4Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5mcmFtZXdvcmthZG1pbi5lcXVpbm94LnNvdXJjZV8xLjAuNDAwLnYyMDEyMDkxMy0xNTU3MDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZnJhbWV3b3JrYWRtaW4uZXF1aW5veF8xLjAuNDAwLnYyMDEyMDkxMy0xNTU3MDkuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5mcmFtZXdvcmthZG1pbi5lcXVpbm94XzEuMC40MDAudjIwMTIwOTEzLTE1NTcwOS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZiZTgwYwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZnJhbWV3b3JrYWRtaW4uZXF1aW5veF8xLjAuNDAwLnYyMDEyMDkxMy0xNTU3MDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZnJhbWV3b3JrYWRtaW4uc291cmNlXzIuMC4xMDAudjIwMTIwOTEzLTE1NTUxNS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LmZyYW1ld29ya2FkbWluLnNvdXJjZV8yLjAuMTAwLnYyMDEyMDkxMy0xNTU1MTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0OGQyZDQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LmZyYW1ld29ya2FkbWluLnNvdXJjZV8yLjAuMTAwLnYyMDEyMDkxMy0xNTU1MTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZnJhbWV3b3JrYWRtaW5fMi4wLjEwMC52MjAxMjA5MTMtMTU1NTE1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guZnJhbWV3b3JrYWRtaW5fMi4wLjEwMC52MjAxMjA5MTMtMTU1NTE1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTQ3ZmMyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5mcmFtZXdvcmthZG1pbl8yLjAuMTAwLnYyMDEyMDkxMy0xNTU1MTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuYXJ0aWZhY3QucmVwb3NpdG9yeS5zb3VyY2VfMS4xLjIwMC52MjAxMjA0MzAtMTk1OS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLmFydGlmYWN0LnJlcG9zaXRvcnkuc291cmNlXzEuMS4yMDAudjIwMTIwNDMwLTE5NTkuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhMzllMGQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLmFydGlmYWN0LnJlcG9zaXRvcnkuc291cmNlXzEuMS4yMDAudjIwMTIwNDMwLTE5NTkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuYXJ0aWZhY3QucmVwb3NpdG9yeV8xLjEuMjAwLnYyMDEyMDQzMC0xOTU5LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuYXJ0aWZhY3QucmVwb3NpdG9yeV8xLjEuMjAwLnYyMDEyMDQzMC0xOTU5LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTU5MzAyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5hcnRpZmFjdC5yZXBvc2l0b3J5XzEuMS4yMDAudjIwMTIwNDMwLTE5NTkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuY29yZS5zb3VyY2VfMi4yLjAudjIwMTIwNDMwLTA1MjUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5jb3JlLnNvdXJjZV8yLjIuMC52MjAxMjA0MzAtMDUyNS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQyNGVjYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuY29yZS5zb3VyY2VfMi4yLjAudjIwMTIwNDMwLTA1MjUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuY29yZV8yLjIuMC52MjAxMjA0MzAtMDUyNS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLmNvcmVfMi4yLjAudjIwMTIwNDMwLTA1MjUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZGFkYTYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLmNvcmVfMi4yLjAudjIwMTIwNDMwLTA1MjUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZGlyZWN0b3IuYXBwLnNvdXJjZV8xLjAuMzAwLnYyMDEyMDQyOC0wNTE3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZGlyZWN0b3IuYXBwLnNvdXJjZV8xLjAuMzAwLnYyMDEyMDQyOC0wNTE3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGU0NjliCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5kaXJlY3Rvci5hcHAuc291cmNlXzEuMC4zMDAudjIwMTIwNDI4LTA1MTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZGlyZWN0b3IuYXBwXzEuMC4zMDAudjIwMTIwNDI4LTA1MTcuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5kaXJlY3Rvci5hcHBfMS4wLjMwMC52MjAxMjA0MjgtMDUxNy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJmNDE5YgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZGlyZWN0b3IuYXBwXzEuMC4zMDAudjIwMTIwNDI4LTA1MTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZGlyZWN0b3Iuc291cmNlXzIuMi4wLnYyMDEyMDUyNC0wNTQyLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZGlyZWN0b3Iuc291cmNlXzIuMi4wLnYyMDEyMDUyNC0wNTQyLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmY3ODI5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5kaXJlY3Rvci5zb3VyY2VfMi4yLjAudjIwMTIwNTI0LTA1NDIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZGlyZWN0b3JfMi4yLjAudjIwMTIwNTI0LTA1NDIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5kaXJlY3Rvcl8yLjIuMC52MjAxMjA1MjQtMDU0Mi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U0MzIzYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZGlyZWN0b3JfMi4yLjAudjIwMTIwNTI0LTA1NDIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZW5naW5lLnNvdXJjZV8yLjIuMC52MjAxMzAxMjEtMDIxOTE5LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZW5naW5lLnNvdXJjZV8yLjIuMC52MjAxMzAxMjEtMDIxOTE5LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTgyYjkxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5lbmdpbmUuc291cmNlXzIuMi4wLnYyMDEzMDEyMS0wMjE5MTkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZW5naW5lXzIuMi4wLnYyMDEzMDEyMS0wMjE5MTkuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5lbmdpbmVfMi4yLjAudjIwMTMwMTIxLTAyMTkxOS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNhNjg3OQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZW5naW5lXzIuMi4wLnYyMDEzMDEyMS0wMjE5MTkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZ2FyYmFnZWNvbGxlY3Rvci5zb3VyY2VfMS4wLjIwMC52MjAxMTA4MDgtMTY1Ny5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLmdhcmJhZ2Vjb2xsZWN0b3Iuc291cmNlXzEuMC4yMDAudjIwMTEwODA4LTE2NTcuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2NjdiYTAKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLmdhcmJhZ2Vjb2xsZWN0b3Iuc291cmNlXzEuMC4yMDAudjIwMTEwODA4LTE2NTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZ2FyYmFnZWNvbGxlY3Rvcl8xLjAuMjAwLnYyMDExMDgwOC0xNjU3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuZ2FyYmFnZWNvbGxlY3Rvcl8xLjAuMjAwLnYyMDExMDgwOC0xNjU3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjYyNTFlCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5nYXJiYWdlY29sbGVjdG9yXzEuMC4yMDAudjIwMTEwODA4LTE2NTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuamFycHJvY2Vzc29yLnNvdXJjZV8xLjAuMjAwLnYyMDExMDgwOC0xNjU3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuamFycHJvY2Vzc29yLnNvdXJjZV8xLjAuMjAwLnYyMDExMDgwOC0xNjU3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjUzNDUxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5qYXJwcm9jZXNzb3Iuc291cmNlXzEuMC4yMDAudjIwMTEwODA4LTE2NTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuamFycHJvY2Vzc29yXzEuMC4yMDAudjIwMTEwODA4LTE2NTcuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5qYXJwcm9jZXNzb3JfMS4wLjIwMC52MjAxMTA4MDgtMTY1Ny5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE1ZjNhOAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIuamFycHJvY2Vzc29yXzEuMC4yMDAudjIwMTEwODA4LTE2NTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIubWV0YWRhdGEucmVwb3NpdG9yeS5zb3VyY2VfMS4yLjEwMC52MjAxMjA1MjQtMTcxNy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLm1ldGFkYXRhLnJlcG9zaXRvcnkuc291cmNlXzEuMi4xMDAudjIwMTIwNTI0LTE3MTcuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5M2M0MjYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLm1ldGFkYXRhLnJlcG9zaXRvcnkuc291cmNlXzEuMi4xMDAudjIwMTIwNTI0LTE3MTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIubWV0YWRhdGEucmVwb3NpdG9yeV8xLjIuMTAwLnYyMDEyMDUyNC0xNzE3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIubWV0YWRhdGEucmVwb3NpdG9yeV8xLjIuMTAwLnYyMDEyMDUyNC0xNzE3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzc5ZGU3Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5tZXRhZGF0YS5yZXBvc2l0b3J5XzEuMi4xMDAudjIwMTIwNTI0LTE3MTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIubWV0YWRhdGEuc291cmNlXzIuMS4wLnYyMDEyMDQzMC0yMDAxLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIubWV0YWRhdGEuc291cmNlXzIuMS4wLnYyMDEyMDQzMC0yMDAxLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTYyMjUxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5tZXRhZGF0YS5zb3VyY2VfMi4xLjAudjIwMTIwNDMwLTIwMDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIubWV0YWRhdGFfMi4xLjAudjIwMTIwNDMwLTIwMDEuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5tZXRhZGF0YV8yLjEuMC52MjAxMjA0MzAtMjAwMS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IwMzU5OQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIubWV0YWRhdGFfMi4xLjAudjIwMTIwNDMwLTIwMDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIub3BlcmF0aW9ucy5zb3VyY2VfMi4yLjAudjIwMTMwMTE5LTAxMDYxNC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLm9wZXJhdGlvbnMuc291cmNlXzIuMi4wLnYyMDEzMDExOS0wMTA2MTQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjYzAzMTYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLm9wZXJhdGlvbnMuc291cmNlXzIuMi4wLnYyMDEzMDExOS0wMTA2MTQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIub3BlcmF0aW9uc18yLjIuMC52MjAxMzAxMTktMDEwNjE0LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIub3BlcmF0aW9uc18yLjIuMC52MjAxMzAxMTktMDEwNjE0LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTZjYTk4Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5vcGVyYXRpb25zXzIuMi4wLnYyMDEzMDExOS0wMTA2MTQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucHVibGlzaGVyLmVjbGlwc2Uuc291cmNlXzEuMS4wLnYyMDEyMDkxMy0xNTU2MzUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5wdWJsaXNoZXIuZWNsaXBzZS5zb3VyY2VfMS4xLjAudjIwMTIwOTEzLTE1NTYzNS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzA4ZWRkYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucHVibGlzaGVyLmVjbGlwc2Uuc291cmNlXzEuMS4wLnYyMDEyMDkxMy0xNTU2MzUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucHVibGlzaGVyLmVjbGlwc2VfMS4xLjAudjIwMTIwOTEzLTE1NTYzNS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLnB1Ymxpc2hlci5lY2xpcHNlXzEuMS4wLnYyMDEyMDkxMy0xNTU2MzUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0ZjUyYmQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLnB1Ymxpc2hlci5lY2xpcHNlXzEuMS4wLnYyMDEyMDkxMy0xNTU2MzUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucHVibGlzaGVyLnNvdXJjZV8xLjIuMC52MjAxMjEwMDItMDgwNDE1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucHVibGlzaGVyLnNvdXJjZV8xLjIuMC52MjAxMjEwMDItMDgwNDE1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDRhNzMyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5wdWJsaXNoZXIuc291cmNlXzEuMi4wLnYyMDEyMTAwMi0wODA0MTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucHVibGlzaGVyXzEuMi4wLnYyMDEyMTAwMi0wODA0MTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5wdWJsaXNoZXJfMS4yLjAudjIwMTIxMDAyLTA4MDQxNS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdmZTg1MwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucHVibGlzaGVyXzEuMi4wLnYyMDEyMTAwMi0wODA0MTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucmVwb3NpdG9yeS5zb3VyY2VfMi4yLjAudjIwMTIwNTI0LTE5NDUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5yZXBvc2l0b3J5LnNvdXJjZV8yLjIuMC52MjAxMjA1MjQtMTk0NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzlmNTFmZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucmVwb3NpdG9yeS5zb3VyY2VfMi4yLjAudjIwMTIwNTI0LTE5NDUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucmVwb3NpdG9yeS50b29scy5zb3VyY2VfMi4wLjEwMC52MjAxMjA1MDEtMTMxNC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLnJlcG9zaXRvcnkudG9vbHMuc291cmNlXzIuMC4xMDAudjIwMTIwNTAxLTEzMTQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjYmZhNDAKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLnJlcG9zaXRvcnkudG9vbHMuc291cmNlXzIuMC4xMDAudjIwMTIwNTAxLTEzMTQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucmVwb3NpdG9yeS50b29sc18yLjAuMTAwLnYyMDEyMDUwMS0xMzE0LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucmVwb3NpdG9yeS50b29sc18yLjAuMTAwLnYyMDEyMDUwMS0xMzE0LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTZkYWU4Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5yZXBvc2l0b3J5LnRvb2xzXzIuMC4xMDAudjIwMTIwNTAxLTEzMTQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIucmVwb3NpdG9yeV8yLjIuMC52MjAxMjA1MjQtMTk0NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLnJlcG9zaXRvcnlfMi4yLjAudjIwMTIwNTI0LTE5NDUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkZjk4NjQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLnJlcG9zaXRvcnlfMi4yLjAudjIwMTIwNTI0LTE5NDUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIudG91Y2hwb2ludC5lY2xpcHNlLnNvdXJjZV8yLjEuMTAwLnYyMDEyMDQyOC0wMTE3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIudG91Y2hwb2ludC5lY2xpcHNlLnNvdXJjZV8yLjEuMTAwLnYyMDEyMDQyOC0wMTE3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWY3NDNlCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi50b3VjaHBvaW50LmVjbGlwc2Uuc291cmNlXzIuMS4xMDAudjIwMTIwNDI4LTAxMTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIudG91Y2hwb2ludC5lY2xpcHNlXzIuMS4xMDAudjIwMTIwNDI4LTAxMTcuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi50b3VjaHBvaW50LmVjbGlwc2VfMi4xLjEwMC52MjAxMjA0MjgtMDExNy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTM1NmNhNQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIudG91Y2hwb2ludC5lY2xpcHNlXzIuMS4xMDAudjIwMTIwNDI4LTAxMTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIudWkuc291cmNlXzIuMi4wLnYyMDEzMDExOS0wMTA2MTQuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wMi51aS5zb3VyY2VfMi4yLjAudjIwMTMwMTE5LTAxMDYxNC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVlZTVjMAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIudWkuc291cmNlXzIuMi4wLnYyMDEzMDExOS0wMTA2MTQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucDIudWlfMi4yLjAudjIwMTMwMTE5LTAxMDYxNC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLnVpXzIuMi4wLnYyMDEzMDExOS0wMTA2MTQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiNjFiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnAyLnVpXzIuMi4wLnYyMDEzMDExOS0wMTA2MTQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucHJlZmVyZW5jZXMuc291cmNlXzMuNS4xLnYyMDEyMTAzMS0xODI4MDkuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5wcmVmZXJlbmNlcy5zb3VyY2VfMy41LjEudjIwMTIxMDMxLTE4MjgwOS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEyOGFhMQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucHJlZmVyZW5jZXMuc291cmNlXzMuNS4xLnYyMDEyMTAzMS0xODI4MDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucHJlZmVyZW5jZXNfMy41LjEudjIwMTIxMDMxLTE4MjgwOS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnByZWZlcmVuY2VzXzMuNS4xLnYyMDEyMTAzMS0xODI4MDkuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkODM2MjEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnByZWZlcmVuY2VzXzMuNS4xLnYyMDEyMTAzMS0xODI4MDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucmVnaXN0cnkuc291cmNlXzMuNS4yMDAudjIwMTIwNTIyLTE4NDEuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5yZWdpc3RyeS5zb3VyY2VfMy41LjIwMC52MjAxMjA1MjItMTg0MS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWExMDI2YQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucmVnaXN0cnkuc291cmNlXzMuNS4yMDAudjIwMTIwNTIyLTE4NDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gucmVnaXN0cnlfMy41LjIwMC52MjAxMjA1MjItMTg0MS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnJlZ2lzdHJ5XzMuNS4yMDAudjIwMTIwNTIyLTE4NDEuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1NWJhNzkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnJlZ2lzdHJ5XzMuNS4yMDAudjIwMTIwNTIyLTE4NDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2VjdXJpdHkuc291cmNlXzEuMS4xMDAudjIwMTIwNTIyLTE4NDEuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5zZWN1cml0eS5zb3VyY2VfMS4xLjEwMC52MjAxMjA1MjItMTg0MS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFiNjIwNgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2VjdXJpdHkuc291cmNlXzEuMS4xMDAudjIwMTIwNTIyLTE4NDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2VjdXJpdHkudWkuc291cmNlXzEuMS4xMDAudjIwMTIwNTIyLTIwNDkuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5zZWN1cml0eS51aS5zb3VyY2VfMS4xLjEwMC52MjAxMjA1MjItMjA0OS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTc3YmYzYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2VjdXJpdHkudWkuc291cmNlXzEuMS4xMDAudjIwMTIwNTIyLTIwNDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2VjdXJpdHkudWlfMS4xLjEwMC52MjAxMjA1MjItMjA0OS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnNlY3VyaXR5LnVpXzEuMS4xMDAudjIwMTIwNTIyLTIwNDkuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4N2U2ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnNlY3VyaXR5LnVpXzEuMS4xMDAudjIwMTIwNTIyLTIwNDkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2VjdXJpdHlfMS4xLjEwMC52MjAxMjA1MjItMTg0MS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnNlY3VyaXR5XzEuMS4xMDAudjIwMTIwNTIyLTE4NDEuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwOWYyMGMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnNlY3VyaXR5XzEuMS4xMDAudjIwMTIwNTIyLTE4NDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2ltcGxlY29uZmlndXJhdG9yLm1hbmlwdWxhdG9yLnNvdXJjZV8yLjAuMC52MjAxMTA4MDgtMTY1Ny5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnNpbXBsZWNvbmZpZ3VyYXRvci5tYW5pcHVsYXRvci5zb3VyY2VfMi4wLjAudjIwMTEwODA4LTE2NTcuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlYmZkNmYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnNpbXBsZWNvbmZpZ3VyYXRvci5tYW5pcHVsYXRvci5zb3VyY2VfMi4wLjAudjIwMTEwODA4LTE2NTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2ltcGxlY29uZmlndXJhdG9yLm1hbmlwdWxhdG9yXzIuMC4wLnYyMDExMDgwOC0xNjU3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2ltcGxlY29uZmlndXJhdG9yLm1hbmlwdWxhdG9yXzIuMC4wLnYyMDExMDgwOC0xNjU3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjg0NjVkCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5zaW1wbGVjb25maWd1cmF0b3IubWFuaXB1bGF0b3JfMi4wLjAudjIwMTEwODA4LTE2NTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2ltcGxlY29uZmlndXJhdG9yLnNvdXJjZV8xLjAuMzAxLnYyMDEyMDkxNC0xNjM2MTIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC5zaW1wbGVjb25maWd1cmF0b3Iuc291cmNlXzEuMC4zMDEudjIwMTIwOTE0LTE2MzYxMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmMwNTU5MAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2ltcGxlY29uZmlndXJhdG9yLnNvdXJjZV8xLjAuMzAxLnYyMDEyMDkxNC0xNjM2MTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3guc2ltcGxlY29uZmlndXJhdG9yXzEuMC4zMDEudjIwMTIwOTE0LTE2MzYxMi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnNpbXBsZWNvbmZpZ3VyYXRvcl8xLjAuMzAxLnYyMDEyMDkxNC0xNjM2MTIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmNjNmOWQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5lcXVpbm94LnNpbXBsZWNvbmZpZ3VyYXRvcl8xLjAuMzAxLnYyMDEyMDkxNC0xNjM2MTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gudXRpbC5zb3VyY2VfMS4wLjQwMC52MjAxMjA5MTctMTkyODA3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gudXRpbC5zb3VyY2VfMS4wLjQwMC52MjAxMjA5MTctMTkyODA3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzMwZDgxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC51dGlsLnNvdXJjZV8xLjAuNDAwLnYyMDEyMDkxNy0xOTI4MDcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gudXRpbF8xLjAuNDAwLnYyMDEyMDkxNy0xOTI4MDcuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuZXF1aW5veC51dGlsXzEuMC40MDAudjIwMTIwOTE3LTE5MjgwNy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTgxYmI2YQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmVxdWlub3gudXRpbF8xLjAuNDAwLnYyMDEyMDkxNy0xOTI4MDcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmhlbHAuc291cmNlXzMuNi4wLnYyMDEyMDkxMi0xMzQxMjYuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuaGVscC5zb3VyY2VfMy42LjAudjIwMTIwOTEyLTEzNDEyNi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUxYjFmNgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmhlbHAuc291cmNlXzMuNi4wLnYyMDEyMDkxMi0xMzQxMjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmhlbHBfMy42LjAudjIwMTIwOTEyLTEzNDEyNi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5oZWxwXzMuNi4wLnYyMDEyMDkxMi0xMzQxMjYuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5YzZkYzMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5oZWxwXzMuNi4wLnYyMDEyMDkxMi0xMzQxMjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5hbm5vdGF0aW9uLnNvdXJjZV8xLjAuMS52MjAxMzAxMTEtMTM1MjQ2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5hbm5vdGF0aW9uLnNvdXJjZV8xLjAuMS52MjAxMzAxMTEtMTM1MjQ2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjhlZmE0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmFubm90YXRpb24uc291cmNlXzEuMC4xLnYyMDEzMDExMS0xMzUyNDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5hbm5vdGF0aW9uXzEuMC4xLnYyMDEzMDExMS0xMzUyNDYuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmFubm90YXRpb25fMS4wLjEudjIwMTMwMTExLTEzNTI0Ni5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWMwYzg1OAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5hbm5vdGF0aW9uXzEuMC4xLnYyMDEzMDExMS0xMzUyNDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5jb3JlLm1hbmlwdWxhdGlvbi5zb3VyY2VfMS41LjAudjIwMTIwNTIzLTE1NDMuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmNvcmUubWFuaXB1bGF0aW9uLnNvdXJjZV8xLjUuMC52MjAxMjA1MjMtMTU0My5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzIyYzVjNQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5jb3JlLm1hbmlwdWxhdGlvbi5zb3VyY2VfMS41LjAudjIwMTIwNTIzLTE1NDMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5jb3JlLm1hbmlwdWxhdGlvbl8xLjUuMC52MjAxMjA1MjMtMTU0My5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuY29yZS5tYW5pcHVsYXRpb25fMS41LjAudjIwMTIwNTIzLTE1NDMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhNGEwNmQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuY29yZS5tYW5pcHVsYXRpb25fMS41LjAudjIwMTIwNTIzLTE1NDMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5jb3JlLnNvdXJjZV8zLjguMy52MjAxMzAxMjEtMTQ1MzI1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5jb3JlLnNvdXJjZV8zLjguMy52MjAxMzAxMjEtMTQ1MzI1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Y2JiNmZmCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmNvcmUuc291cmNlXzMuOC4zLnYyMDEzMDEyMS0xNDUzMjUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5jb3JlXzMuOC4zLnYyMDEzMDEyMS0xNDUzMjUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmNvcmVfMy44LjMudjIwMTMwMTIxLTE0NTMyNS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE3Njk1YQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5jb3JlXzMuOC4zLnYyMDEzMDEyMS0xNDUzMjUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5zb3VyY2VfMy43LjEwMS52MjAxMjA5MTMtMTUzNjAxLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5zb3VyY2VfMy43LjEwMS52MjAxMjA5MTMtMTUzNjAxLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTkxODkxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnLnNvdXJjZV8zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Zy51aS5zb3VyY2VfMy42LjEwMC52MjAxMjA1MzAtMTQyNS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuZGVidWcudWkuc291cmNlXzMuNi4xMDAudjIwMTIwNTMwLTE0MjUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyMTU2ODcKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuZGVidWcudWkuc291cmNlXzMuNi4xMDAudjIwMTIwNTMwLTE0MjUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Zy51aV8zLjYuMTAwLnYyMDEyMDUzMC0xNDI1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Zy51aV8zLjYuMTAwLnYyMDEyMDUzMC0xNDI1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDNhODVlCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnLnVpXzMuNi4xMDAudjIwMTIwNTMwLTE0MjUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvLmFwaV9kZXNjcmlwdGlvbiBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvLmFwaV9kZXNjcmlwdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTU0Yzc3Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnXzMuNy4xMDEudjIwMTIwOTEzLTE1MzYwMS8uYXBpX2Rlc2NyaXB0aW9uCkBAIC0wLDAgKzEsNDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgorPGNvbXBvbmVudCBuYW1lPSJvcmcuZWNsaXBzZS5qZHQuZGVidWdfMy43LjEwMS52MjAxMjA5MTMtMTUzNjAxIiB2ZXJzaW9uPSIxLjIiPgorICAgIDxwbHVnaW4gaWQ9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEiLz4KKyAgICA8cGFja2FnZSBuYW1lPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuY29yZSIgdmlzaWJpbGl0eT0iMSI+CisgICAgICAgIDx0eXBlIG5hbWU9IklKYXZhQXJyYXkiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YUFycmF5VHlwZSIgcmVzdHJpY3Rpb25zPSIzIi8+CisgICAgICAgIDx0eXBlIG5hbWU9IklKYXZhQnJlYWtwb2ludCIgcmVzdHJpY3Rpb25zPSIzIi8+CisgICAgICAgIDx0eXBlIG5hbWU9IklKYXZhQ2xhc3NPYmplY3QiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YUNsYXNzUHJlcGFyZUJyZWFrcG9pbnQiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YUNsYXNzVHlwZSIgcmVzdHJpY3Rpb25zPSIzIi8+CisgICAgICAgIDx0eXBlIG5hbWU9IklKYXZhRGVidWdUYXJnZXQiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YUV4Y2VwdGlvbkJyZWFrcG9pbnQiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YUZpZWxkVmFyaWFibGUiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YUludGVyZmFjZVR5cGUiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YUxpbmVCcmVha3BvaW50IiByZXN0cmljdGlvbnM9IjMiLz4KKyAgICAgICAgPHR5cGUgbmFtZT0iSUphdmFNZXRob2RCcmVha3BvaW50IiByZXN0cmljdGlvbnM9IjMiLz4KKyAgICAgICAgPHR5cGUgbmFtZT0iSUphdmFNZXRob2RFbnRyeUJyZWFrcG9pbnQiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YU1vZGlmaWVycyIgcmVzdHJpY3Rpb25zPSIzIi8+CisgICAgICAgIDx0eXBlIG5hbWU9IklKYXZhT2JqZWN0IiByZXN0cmljdGlvbnM9IjMiLz4KKyAgICAgICAgPHR5cGUgbmFtZT0iSUphdmFQYXR0ZXJuQnJlYWtwb2ludCIgcmVzdHJpY3Rpb25zPSIzIi8+CisgICAgICAgIDx0eXBlIG5hbWU9IklKYXZhUHJpbWl0aXZlVmFsdWUiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YVJlZmVyZW5jZVR5cGUiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YVN0YWNrRnJhbWUiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YVN0cmF0dW1MaW5lQnJlYWtwb2ludCIgcmVzdHJpY3Rpb25zPSIzIi8+CisgICAgICAgIDx0eXBlIG5hbWU9IklKYXZhVGFyZ2V0UGF0dGVybkJyZWFrcG9pbnQiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YVRocmVhZCIgcmVzdHJpY3Rpb25zPSIzIi8+CisgICAgICAgIDx0eXBlIG5hbWU9IklKYXZhVGhyZWFkR3JvdXAiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YVR5cGUiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJSmF2YVZhbHVlIiByZXN0cmljdGlvbnM9IjMiLz4KKyAgICAgICAgPHR5cGUgbmFtZT0iSUphdmFWYXJpYWJsZSIgcmVzdHJpY3Rpb25zPSIzIi8+CisgICAgICAgIDx0eXBlIG5hbWU9IklKYXZhV2F0Y2hwb2ludCIgcmVzdHJpY3Rpb25zPSIzIi8+CisgICAgICAgIDx0eXBlIG5hbWU9IkpESURlYnVnTW9kZWwiIHJlc3RyaWN0aW9ucz0iNiIvPgorICAgIDwvcGFja2FnZT4KKyAgICA8cGFja2FnZSBuYW1lPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuZXZhbCIgdmlzaWJpbGl0eT0iMSI+CisgICAgICAgIDx0eXBlIG5hbWU9IkV2YWx1YXRpb25NYW5hZ2VyIiByZXN0cmljdGlvbnM9IjYiLz4KKyAgICAgICAgPHR5cGUgbmFtZT0iSUFzdEV2YWx1YXRpb25FbmdpbmUiIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJQ2xhc3NGaWxlRXZhbHVhdGlvbkVuZ2luZSIgcmVzdHJpY3Rpb25zPSIzIi8+CisgICAgICAgIDx0eXBlIG5hbWU9IklDb21waWxlZEV4cHJlc3Npb24iIHJlc3RyaWN0aW9ucz0iMyIvPgorICAgICAgICA8dHlwZSBuYW1lPSJJRXZhbHVhdGlvbkVuZ2luZSIgcmVzdHJpY3Rpb25zPSIzIi8+CisgICAgICAgIDx0eXBlIG5hbWU9IklFdmFsdWF0aW9uUmVzdWx0IiByZXN0cmljdGlvbnM9IjMiLz4KKyAgICA8L3BhY2thZ2U+Cis8L2NvbXBvbmVudD4KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvLm9wdGlvbnMgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuZGVidWdfMy43LjEwMS52MjAxMjA5MTMtMTUzNjAxLy5vcHRpb25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlZjVjZjYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuZGVidWdfMy43LjEwMS52MjAxMjA5MTMtMTUzNjAxLy5vcHRpb25zCkBAIC0wLDAgKzEsNiBAQAorb3JnLmVjbGlwc2UuamR0LmRlYnVnL2RlYnVnPWZhbHNlCitvcmcuZWNsaXBzZS5qZHQuZGVidWcvZGVidWcvamRpRXZlbnRzPWZhbHNlCitvcmcuZWNsaXBzZS5qZHQuZGVidWcvZGVidWcvamRpUmVxdWVzdFRpbWVzPWZhbHNlCitvcmcuZWNsaXBzZS5qZHQuZGVidWcvZGVidWcvYXN0RXZhbHVhdGlvbnM9ZmFsc2UKK29yZy5lY2xpcHNlLmpkdC5kZWJ1Zy9kZWJ1Zy9hc3RFdmFsdWF0aW9ucy9jYWxsaW5nVGhyZWFkcz1mYWxzZQorCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuZGVidWdfMy43LjEwMS52MjAxMjA5MTMtMTUzNjAxL01FVEEtSU5GL0VDTElQU0VfLlJTQSBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvTUVUQS1JTkYvRUNMSVBTRV8uUlNBCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4NjVmNDUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuZGVidWdfMy43LjEwMS52MjAxMjA5MTMtMTUzNjAxL01FVEEtSU5GL0VDTElQU0VfLlJTQQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuZGVidWdfMy43LjEwMS52MjAxMjA5MTMtMTUzNjAxL01FVEEtSU5GL0VDTElQU0VfLlNGIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnXzMuNy4xMDEudjIwMTIwOTEzLTE1MzYwMS9NRVRBLUlORi9FQ0xJUFNFXy5TRgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDVjNDllCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnXzMuNy4xMDEudjIwMTIwOTEzLTE1MzYwMS9NRVRBLUlORi9FQ0xJUFNFXy5TRgpAQCAtMCwwICsxLDI5IEBACitTaWduYXR1cmUtVmVyc2lvbjogMS4wDQorU0hBMS1EaWdlc3QtTWFuaWZlc3Q6IDlMTjlmdGxwd2RsKy83TWJkM1dnbnRQbDU3MD0NCitDcmVhdGVkLUJ5OiAxLjYuMCAoSUJNIENvcnBvcmF0aW9uKQ0KK1NIQTEtRGlnZXN0LU1hbmlmZXN0LU1haW4tQXR0cmlidXRlczogTitpV0tSWUtLaXdWR0wvclU4WldLZGJPQWVBPQ0KKw0KK05hbWU6IC5vcHRpb25zDQorU0hBMS1EaWdlc3Q6IG02T1ZZTzZUOHNuRWVKVUIyQkRsZklBUC9hND0NCisNCitOYW1lOiBNRVRBLUlORi9lY2xpcHNlLmluZg0KK1NIQTEtRGlnZXN0OiBTQXFZKzVJVEFMMG1rZFllaWpsU1JoeUlhWms9DQorDQorTmFtZTogamRpbW9kZWwuamFyDQorU0hBMS1EaWdlc3Q6IHI3azhGTVZJTEhUL1lWOGg0TEpWY1hEOStoMD0NCisNCitOYW1lOiAuYXBpX2Rlc2NyaXB0aW9uDQorU0hBMS1EaWdlc3Q6IHF1R3JpZ3kwaWRtWXRkUkZtN3g0ci9oaEN2MD0NCisNCitOYW1lOiBwbHVnaW4ueG1sDQorU0hBMS1EaWdlc3Q6IDM4R0c5aFQzSUFOcjRCYlBPekliV3VTajA5az0NCisNCitOYW1lOiBhYm91dC5odG1sDQorU0hBMS1EaWdlc3Q6IE0rZnlrdDloZXlXb0V2MUxOaUlFZUJoaS8yUT0NCisNCitOYW1lOiBqZGkuamFyDQorU0hBMS1EaWdlc3Q6IGtpd3RkWTc5TWt4d0h2SnRjSHJDNEZVYm82Yz0NCisNCitOYW1lOiBwbHVnaW4ucHJvcGVydGllcw0KK1NIQTEtRGlnZXN0OiBQeTZPNkN4N2h2dWxaZjQxOWdBR05Cbk1SZHM9DQorDQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnXzMuNy4xMDEudjIwMTIwOTEzLTE1MzYwMS9NRVRBLUlORi9NQU5JRkVTVC5NRiBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvTUVUQS1JTkYvTUFOSUZFU1QuTUYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzA0MmU2OAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvTUVUQS1JTkYvTUFOSUZFU1QuTUYKQEAgLTAsMCArMSw2NCBAQAorTWFuaWZlc3QtVmVyc2lvbjogMS4wDQorQnVuZGxlLUxvY2FsaXphdGlvbjogcGx1Z2luDQorQnVuZGxlLVJlcXVpcmVkRXhlY3V0aW9uRW52aXJvbm1lbnQ6IEoyU0UtMS41DQorQnVuZGxlLVN5bWJvbGljTmFtZTogb3JnLmVjbGlwc2UuamR0LmRlYnVnOyBzaW5nbGV0b246PXRydWUNCitFY2xpcHNlLVNvdXJjZVJlZmVyZW5jZXM6IHNjbTpnaXQ6Z2l0Oi8vZ2l0LmVjbGlwc2Uub3JnL2dpdHJvb3QvamR0L2VjDQorIGxpcHNlLmpkdC5kZWJ1Zy5naXQ7cGF0aD0ib3JnLmVjbGlwc2UuamR0LmRlYnVnIjt0YWc9djIwMTIwOTEzLTE1MzYwMQ0KK0J1bmRsZS1BY3RpdmF0b3I6IG9yZy5lY2xpcHNlLmpkdC5pbnRlcm5hbC5kZWJ1Zy5jb3JlLkpESURlYnVnUGx1Z2luDQorUmVxdWlyZS1CdW5kbGU6IG9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzO2J1bmRsZS12ZXJzaW9uPSJbMy41LjAsNC4wLg0KKyAwKSIsb3JnLmVjbGlwc2UuZGVidWcuY29yZTtidW5kbGUtdmVyc2lvbj0iWzMuNS4wLDQuMC4wKSIsb3JnLmVjbGlwc2UNCisgLmpkdC5jb3JlO2J1bmRsZS12ZXJzaW9uPSJbMy44LjAsNC4wLjApIixvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWU7YnVuDQorIGRsZS12ZXJzaW9uPSJbMy41LjAsNC4wLjApIixvcmcuZWNsaXBzZS5jb3JlLmV4cHJlc3Npb25zO2J1bmRsZS12ZXJzaQ0KKyBvbj0iWzMuNC4wLDQuMC4wKSINCitFeHBvcnQtUGFja2FnZTogY29tLnN1bi5qZGksY29tLnN1bi5qZGkuY29ubmVjdCxjb20uc3VuLmpkaS5jb25uZWN0LnNwDQorIGksY29tLnN1bi5qZGkuZXZlbnQsY29tLnN1bi5qZGkucmVxdWVzdCxvcmcuZWNsaXBzZS5qZGksb3JnLmVjbGlwc2Uuag0KKyBkaS5oY3Isb3JnLmVjbGlwc2UuamRpLmludGVybmFsO3gtZnJpZW5kczo9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy51aSINCisgLG9yZy5lY2xpcHNlLmpkaS5pbnRlcm5hbC5jb25uZWN0O3gtZnJpZW5kczo9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy51DQorIGkiLG9yZy5lY2xpcHNlLmpkaS5pbnRlcm5hbC5ldmVudDt4LWZyaWVuZHM6PSJvcmcuZWNsaXBzZS5qZHQuZGVidWcudQ0KKyBpIixvcmcuZWNsaXBzZS5qZGkuaW50ZXJuYWwuamR3cDt4LWZyaWVuZHM6PSJvcmcuZWNsaXBzZS5qZHQuZGVidWcudWkNCisgIixvcmcuZWNsaXBzZS5qZGkuaW50ZXJuYWwucmVxdWVzdDt4LWZyaWVuZHM6PSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuDQorIHVpIixvcmcuZWNsaXBzZS5qZGkuaW50ZXJuYWwuc3B5O3gtZnJpZW5kczo9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy51aQ0KKyAiLG9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLG9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5ldmFsLG9yZy5lY2xpcHNlLmoNCisgZHQuaW50ZXJuYWwuZGVidWcuY29yZTt4LWZyaWVuZHM6PSJvcmcuZWNsaXBzZS5qZHQuZGVidWcudWksb3JnLmVjbGlwDQorIHNlLmpkdC5sYXVuY2hpbmciLG9yZy5lY2xpcHNlLmpkdC5pbnRlcm5hbC5kZWJ1Zy5jb3JlLmJyZWFrcG9pbnRzO3gtZg0KKyByaWVuZHM6PSJvcmcuZWNsaXBzZS5qZHQuZGVidWcudWkiLG9yZy5lY2xpcHNlLmpkdC5pbnRlcm5hbC5kZWJ1Zy5jb3INCisgZS5oY3I7eC1mcmllbmRzOj0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLnVpIixvcmcuZWNsaXBzZS5qZHQuaW50ZXJuYWwuDQorIGRlYnVnLmNvcmUubG9naWNhbHN0cnVjdHVyZXM7eC1mcmllbmRzOj0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLnVpIixvcg0KKyBnLmVjbGlwc2UuamR0LmludGVybmFsLmRlYnVnLmNvcmUubW9kZWw7eC1mcmllbmRzOj0ib3JnLmVjbGlwc2UuamR0LmQNCisgZWJ1Zy51aSIsb3JnLmVjbGlwc2UuamR0LmludGVybmFsLmRlYnVnLmV2YWw7eC1mcmllbmRzOj0ib3JnLmVjbGlwc2UuDQorIGpkdC5kZWJ1Zy51aSIsb3JnLmVjbGlwc2UuamR0LmludGVybmFsLmRlYnVnLmV2YWwuYXN0LmVuZ2luZTt4LWZyaWVuZA0KKyBzOj0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLnVpIixvcmcuZWNsaXBzZS5qZHQuaW50ZXJuYWwuZGVidWcuZXZhbC5hc3QNCisgLmluc3RydWN0aW9uczt4LWZyaWVuZHM6PSJvcmcuZWNsaXBzZS5qZHQuZGVidWcudWkiDQorQnVuZGxlLVZlcnNpb246IDMuNy4xMDEudjIwMTIwOTEzLTE1MzYwMQ0KK0J1bmRsZS1DbGFzc1BhdGg6IGpkaS5qYXIsamRpbW9kZWwuamFyLHRvb2xzLmphcg0KK0J1bmRsZS1BY3RpdmF0aW9uUG9saWN5OiBsYXp5DQorQnVuZGxlLVZlbmRvcjogJXByb3ZpZGVyTmFtZQ0KK0J1bmRsZS1OYW1lOiAlcGx1Z2luTmFtZQ0KK0VjbGlwc2UtQnVuZGxlU2hhcGU6IGRpcg0KK0ltcG9ydC1QYWNrYWdlOiBjb20uaWJtLmljdS50ZXh0DQorQnVuZGxlLU1hbmlmZXN0VmVyc2lvbjogMg0KKw0KK05hbWU6IC5vcHRpb25zDQorU0hBMS1EaWdlc3Q6IDUvTzV0VGFkKzdZSnBXVWhTNnlOK1Y5U21IYz0NCisNCitOYW1lOiBNRVRBLUlORi9lY2xpcHNlLmluZg0KK1NIQTEtRGlnZXN0OiBLeVQ5RkY3Qzd0ODZOb0JvYTJrWlQzWkpCZnc9DQorDQorTmFtZTogamRpbW9kZWwuamFyDQorU0hBMS1EaWdlc3Q6IHJvL1BKTENKMG92aitjcGd4ZzRKMnl4cXpnOD0NCisNCitOYW1lOiAuYXBpX2Rlc2NyaXB0aW9uDQorU0hBMS1EaWdlc3Q6IHc2VE9hVVFybGZRUTlQVEhheFJhT3F5bmhSTT0NCisNCitOYW1lOiBqZGkuamFyDQorU0hBMS1EaWdlc3Q6IGttWi9EOTBhMGRyZDZOajZPbU5PUXlPb0xIWT0NCisNCitOYW1lOiBhYm91dC5odG1sDQorU0hBMS1EaWdlc3Q6IGVqT1pyYTBreXBHTFFRMmJKdEdUWCtMSTh0VT0NCisNCitOYW1lOiBwbHVnaW4ueG1sDQorU0hBMS1EaWdlc3Q6IGZTN0hxcnFDVGM1byszQ29NcHVXaW1sU3B0OD0NCisNCitOYW1lOiBwbHVnaW4ucHJvcGVydGllcw0KK1NIQTEtRGlnZXN0OiBzQkdhRGZqRk84WitQWE9GWEU5Zlg2Qks0cnc9DQorDQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnXzMuNy4xMDEudjIwMTIwOTEzLTE1MzYwMS9NRVRBLUlORi9lY2xpcHNlLmluZiBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvTUVUQS1JTkYvZWNsaXBzZS5pbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg2NGQzYwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvTUVUQS1JTkYvZWNsaXBzZS5pbmYKQEAgLTAsMCArMSwzIEBACisjUHJvY2Vzc2VkIHVzaW5nIEphcnByb2Nlc3NvcgorcGFjazIwMC5hcmdzID0gLUU0CitwYWNrMjAwLmNvbmRpdGlvbmVkID0gdHJ1ZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnXzMuNy4xMDEudjIwMTIwOTEzLTE1MzYwMS9hYm91dC5odG1sIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnXzMuNy4xMDEudjIwMTIwOTEzLTE1MzYwMS9hYm91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2MDIzMzAKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuZGVidWdfMy43LjEwMS52MjAxMjA5MTMtMTUzNjAxL2Fib3V0Lmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKKyAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiLz4KKzx0aXRsZT5BYm91dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keSBsYW5nPSJFTi1VUyI+Cis8aDI+QWJvdXQgVGhpcyBDb250ZW50PC9oMj4KKyAKKzxwPkp1bmUgMiwgMjAwNjwvcD4JCis8aDM+TGljZW5zZTwvaDM+CisKKzxwPlRoZSBFY2xpcHNlIEZvdW5kYXRpb24gbWFrZXMgYXZhaWxhYmxlIGFsbCBjb250ZW50IGluIHRoaXMgcGx1Zy1pbiAoJnF1b3Q7Q29udGVudCZxdW90OykuICBVbmxlc3Mgb3RoZXJ3aXNlIAoraW5kaWNhdGVkIGJlbG93LCB0aGUgQ29udGVudCBpcyBwcm92aWRlZCB0byB5b3UgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZQorRWNsaXBzZSBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDEuMCAoJnF1b3Q7RVBMJnF1b3Q7KS4gIEEgY29weSBvZiB0aGUgRVBMIGlzIGF2YWlsYWJsZSAKK2F0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sIj5odHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbDwvYT4uCitGb3IgcHVycG9zZXMgb2YgdGhlIEVQTCwgJnF1b3Q7UHJvZ3JhbSZxdW90OyB3aWxsIG1lYW4gdGhlIENvbnRlbnQuPC9wPgorCis8cD5JZiB5b3UgZGlkIG5vdCByZWNlaXZlIHRoaXMgQ29udGVudCBkaXJlY3RseSBmcm9tIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24sIHRoZSBDb250ZW50IGlzIAorYmVpbmcgcmVkaXN0cmlidXRlZCBieSBhbm90aGVyIHBhcnR5ICgmcXVvdDtSZWRpc3RyaWJ1dG9yJnF1b3Q7KSBhbmQgZGlmZmVyZW50IHRlcm1zIGFuZCBjb25kaXRpb25zIG1heQorYXBwbHkgdG8geW91ciB1c2Ugb2YgYW55IG9iamVjdCBjb2RlIGluIHRoZSBDb250ZW50LiAgQ2hlY2sgdGhlIFJlZGlzdHJpYnV0b3IncyBsaWNlbnNlIHRoYXQgd2FzIAorcHJvdmlkZWQgd2l0aCB0aGUgQ29udGVudC4gIElmIG5vIHN1Y2ggbGljZW5zZSBleGlzdHMsIGNvbnRhY3QgdGhlIFJlZGlzdHJpYnV0b3IuICBVbmxlc3Mgb3RoZXJ3aXNlCitpbmRpY2F0ZWQgYmVsb3csIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgRVBMIHN0aWxsIGFwcGx5IHRvIGFueSBzb3VyY2UgY29kZSBpbiB0aGUgQ29udGVudAorYW5kIHN1Y2ggc291cmNlIGNvZGUgbWF5IGJlIG9idGFpbmVkIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmciPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmc8L2E+LjwvcD4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvamRpLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvamRpLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTUxNzVmCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnXzMuNy4xMDEudjIwMTIwOTEzLTE1MzYwMS9qZGkuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvamRpbW9kZWwuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnXzMuNy4xMDEudjIwMTIwOTEzLTE1MzYwMS9qZGltb2RlbC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjhmYzg2MwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvamRpbW9kZWwuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvcGx1Z2luLnByb3BlcnRpZXMgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuZGVidWdfMy43LjEwMS52MjAxMjA5MTMtMTUzNjAxL3BsdWdpbi5wcm9wZXJ0aWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNDRiNzUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuZGVidWdfMy43LjEwMS52MjAxMjA5MTMtMTUzNjAxL3BsdWdpbi5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEsNDIgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgIENvcHlyaWdodCAoYykgMjAwMCwgMjAwOSBJQk0gQ29ycG9yYXRpb24gYW5kIG90aGVycy4KKyMgIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKKyMgIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAorIyAgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKKyMgIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisjIAorIyAgQ29udHJpYnV0b3JzOgorIyAgICAgSUJNIENvcnBvcmF0aW9uIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworcGx1Z2luTmFtZT1KREkgRGVidWcgTW9kZWwKK3Byb3ZpZGVyTmFtZT1FY2xpcHNlLm9yZworCitkZXNjcmlwdGlvbkNvbGxlY3Rpb249QXJyYXkKK2Rlc2NyaXB0aW9uTWFwPU1hcCBFbnRyaWVzCitkZXNjcmlwdGlvbk1hcEVudHJ5PUtleSBhbmQgVmFsdWUKK2Rlc2NyaXB0aW9uU1dUQ29tcG9zaXRlPUNoaWxkcmVuCisKK2phdmFMaW5lQnJlYWtwb2ludC5uYW1lPUphdmEgTGluZSBCcmVha3BvaW50cworamF2YUNsYXNzTG9hZEJyZWFrcG9pbnQubmFtZT1KYXZhIENsYXNzIExvYWQgQnJlYWtwb2ludHMKK2phdmFFeGNlcHRpb25CcmVha3BvaW50Lm5hbWU9SmF2YSBFeGNlcHRpb24gQnJlYWtwb2ludHMKK2phdmFXYXRjaHBvaW50Lm5hbWU9SmF2YSBXYXRjaHBvaW50cworamF2YU1ldGhvZEJyZWFrcG9pbnQubmFtZT1KYXZhIE1ldGhvZCBCcmVha3BvaW50cworCit2aXJ0dWFsTWFjaGluZU1hbmFnZXJJbXBsPSBvcmcuZWNsaXBzZS5qZGkuaW50ZXJuYWwuVmlydHVhbE1hY2hpbmVNYW5hZ2VySW1wbAoramF2YUxvZ2ljYWxTdHJ1Y3R1cmVzPSBKYXZhIExvZ2ljYWwgU3RydWN0dXJlcworCitKYXZhQnJlYWtwb2ludC5uYW1lID0gSmF2YSBCcmVha3BvaW50CitKYXZhQ2xhc3NMb2FkQnJlYWtwb2ludC5uYW1lID0gSmF2YSBDbGFzcyBMb2FkIEJyZWFrcG9pbnQKK0NvbW1vbkphdmFMaW5lQnJlYWtwb2ludC5uYW1lID0gQ29tbW9uIEphdmEgTGluZSBCcmVha3BvaW50CitKYXZhTGluZUJyZWFrcG9pbnQubmFtZSA9IEphdmEgTGluZSBCcmVha3BvaW50CitKYXZhUGF0dGVybkJyZWFrcG9pbnQubmFtZSA9IEphdmEgUGF0dGVybiBCcmVha3BvaW50CitKYXZhVGFyZ2V0UGF0dGVybkJyZWFrcG9pbnQubmFtZSA9IEphdmEgVGFyZ2V0IFBhdHRlcm4gQnJlYWtwb2ludAorSmF2YUV4Y2VwdGlvbkJyZWFrcG9pbnQubmFtZSA9IEphdmEgRXhjZXB0aW9uIEJyZWFrcG9pbnQKK0phdmFXYXRjaHBvaW50Lm5hbWUgPSBKYXZhIFdhdGNocG9pbnQKK0phdmFNZXRob2RCcmVha3BvaW50Lm5hbWUgPSBKYXZhIE1ldGhvZCBCcmVha3BvaW50CitKYXZhTWV0aG9kRW50cnlCcmVha3BvaW50Lm5hbWUgPSBKYXZhIE1ldGhvZCBFbnRyeSBCcmVha3BvaW50CitKYXZhU3RyYXR1bUxpbmVCcmVha3BvaW50Lm5hbWUgPSBKYXZhIFN0cmF0dW0gTGluZSBCcmVha3BvaW50CisKK2JyZWFrcG9pbnRMaXN0ZW5lcnMubmFtZSA9IEphdmEgQnJlYWtwb2ludCBMaXN0ZW5lcnMKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvcGx1Z2luLnhtbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5kZWJ1Z18zLjcuMTAxLnYyMDEyMDkxMy0xNTM2MDEvcGx1Z2luLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmZkMjU0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmRlYnVnXzMuNy4xMDEudjIwMTIwOTEzLTE1MzYwMS9wbHVnaW4ueG1sCkBAIC0wLDAgKzEsMzU0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPD9lY2xpcHNlIHZlcnNpb249IjMuMCI/PgorPCEtLQorICAgICBDb3B5cmlnaHQgKGMpIDIwMDUsIDIwMTAgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCisgICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKKyAgICAgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCisgICAgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CisgICAgIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgICAgCisgICAgIENvbnRyaWJ1dG9yczoKKyAgICAgICAgIElCTSBDb3Jwb3JhdGlvbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgorIC0tPgorCis8cGx1Z2luPgorCisgICAgCis8IS0tIE5vdCB0byBiZSBleHRlbmRlZCBjb20uc3VuLnRvb2xzLmpkaS5WaXJ0dWFsTWFjaGluZU1hbmFnZXJJbXBsIG9yIG9yZy5lY2xpcHNlLmpkaS5pbnRlcm5hbC5WaXJ0dWFsTWFjaGluZU1hbmFnZXJJbXBsIC0tPgorICAgPGV4dGVuc2lvbi1wb2ludCBpZD0iamRpY2xpZW50IiBuYW1lPSIldmlydHVhbE1hY2hpbmVNYW5hZ2VySW1wbCIgIHNjaGVtYT0ic2NoZW1hL2pkaWNsaWVudC5leHNkIi8+CisgICA8ZXh0ZW5zaW9uLXBvaW50IGlkPSJqYXZhTG9naWNhbFN0cnVjdHVyZXMiIG5hbWU9IiVqYXZhTG9naWNhbFN0cnVjdHVyZXMiIHNjaGVtYT0ic2NoZW1hL2phdmFMb2dpY2FsU3RydWN0dXJlcy5leHNkIi8+CisgICA8ZXh0ZW5zaW9uLXBvaW50IGlkPSJicmVha3BvaW50TGlzdGVuZXJzIiBuYW1lPSIlYnJlYWtwb2ludExpc3RlbmVycy5uYW1lIiBzY2hlbWE9InNjaGVtYS9icmVha3BvaW50TGlzdGVuZXJzLmV4c2QiLz4KKworPCEtLSBFeHRlbnNpb25zIC0tPgorICAgPGV4dGVuc2lvbgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmRlYnVnLmNvcmUuYnJlYWtwb2ludHMiPgorICAgICAgPGJyZWFrcG9pbnQKKyAgICAgICAgICAgIG1hcmtlclR5cGU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5qYXZhTGluZUJyZWFrcG9pbnRNYXJrZXIiCisgICAgICAgICAgICBjbGFzcz0ib3JnLmVjbGlwc2UuamR0LmludGVybmFsLmRlYnVnLmNvcmUuYnJlYWtwb2ludHMuSmF2YUxpbmVCcmVha3BvaW50IgorICAgICAgICAgICAgaWQ9ImphdmFMaW5lQnJlYWtwb2ludCIKKyAgICAgICAgICAgIG5hbWU9IiVqYXZhTGluZUJyZWFrcG9pbnQubmFtZSI+CisgICAgICA8L2JyZWFrcG9pbnQ+CisgICAgICA8YnJlYWtwb2ludAorICAgICAgICAgICAgbWFya2VyVHlwZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmphdmFDbGFzc1ByZXBhcmVCcmVha3BvaW50TWFya2VyIgorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLmpkdC5pbnRlcm5hbC5kZWJ1Zy5jb3JlLmJyZWFrcG9pbnRzLkphdmFDbGFzc1ByZXBhcmVCcmVha3BvaW50IgorICAgICAgICAgICAgaWQ9ImphdmFDbGFzc1ByZXBhcmVCcmVha3BvaW50IgorICAgICAgICAgICAgbmFtZT0iJWphdmFDbGFzc0xvYWRCcmVha3BvaW50Lm5hbWUiPgorICAgICAgPC9icmVha3BvaW50PiAgICAgIAorICAgICAgPGJyZWFrcG9pbnQKKyAgICAgICAgICAgIG1hcmtlclR5cGU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5qYXZhUGF0dGVybkJyZWFrcG9pbnRNYXJrZXIiCisgICAgICAgICAgICBjbGFzcz0ib3JnLmVjbGlwc2UuamR0LmludGVybmFsLmRlYnVnLmNvcmUuYnJlYWtwb2ludHMuSmF2YVBhdHRlcm5CcmVha3BvaW50IgorICAgICAgICAgICAgaWQ9ImphdmFQYXR0ZXJuQnJlYWtwb2ludCIKKyAgICAgICAgICAgIG5hbWU9IiVqYXZhTGluZUJyZWFrcG9pbnQubmFtZSI+CisgICAgICA8L2JyZWFrcG9pbnQ+CisgICAgICA8YnJlYWtwb2ludAorICAgICAgICAgICAgbWFya2VyVHlwZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmphdmFUYXJnZXRQYXR0ZXJuQnJlYWtwb2ludE1hcmtlciIKKyAgICAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5qZHQuaW50ZXJuYWwuZGVidWcuY29yZS5icmVha3BvaW50cy5KYXZhVGFyZ2V0UGF0dGVybkJyZWFrcG9pbnQiCisgICAgICAgICAgICBpZD0iamF2YVRhcmdldFBhdHRlcm5CcmVha3BvaW50IgorICAgICAgICAgICAgbmFtZT0iJWphdmFMaW5lQnJlYWtwb2ludC5uYW1lIj4KKyAgICAgIDwvYnJlYWtwb2ludD4KKyAgICAgIDxicmVha3BvaW50CisgICAgICAgICAgICBtYXJrZXJUeXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuamF2YUV4Y2VwdGlvbkJyZWFrcG9pbnRNYXJrZXIiCisgICAgICAgICAgICBjbGFzcz0ib3JnLmVjbGlwc2UuamR0LmludGVybmFsLmRlYnVnLmNvcmUuYnJlYWtwb2ludHMuSmF2YUV4Y2VwdGlvbkJyZWFrcG9pbnQiCisgICAgICAgICAgICBpZD0iamF2YUV4Y2VwdGlvbkJyZWFrcG9pbnQiCisgICAgICAgICAgICBuYW1lPSIlamF2YUV4Y2VwdGlvbkJyZWFrcG9pbnQubmFtZSI+CisgICAgICA8L2JyZWFrcG9pbnQ+CisgICAgICA8YnJlYWtwb2ludAorICAgICAgICAgICAgbWFya2VyVHlwZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmphdmFXYXRjaHBvaW50TWFya2VyIgorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLmpkdC5pbnRlcm5hbC5kZWJ1Zy5jb3JlLmJyZWFrcG9pbnRzLkphdmFXYXRjaHBvaW50IgorICAgICAgICAgICAgaWQ9ImphdmFXYXRjaHBvaW50IgorICAgICAgICAgICAgbmFtZT0iJWphdmFXYXRjaHBvaW50Lm5hbWUiPgorICAgICAgPC9icmVha3BvaW50PgorICAgICAgPGJyZWFrcG9pbnQKKyAgICAgICAgICAgIG1hcmtlclR5cGU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5qYXZhTWV0aG9kQnJlYWtwb2ludE1hcmtlciIKKyAgICAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5qZHQuaW50ZXJuYWwuZGVidWcuY29yZS5icmVha3BvaW50cy5KYXZhTWV0aG9kQnJlYWtwb2ludCIKKyAgICAgICAgICAgIGlkPSJqYXZhTWV0aG9kQnJlYWtwb2ludCIKKyAgICAgICAgICAgIG5hbWU9IiVqYXZhTWV0aG9kQnJlYWtwb2ludC5uYW1lIj4KKyAgICAgIDwvYnJlYWtwb2ludD4KKyAgICAgIDxicmVha3BvaW50CisgICAgICAgICAgICBtYXJrZXJUeXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuamF2YU1ldGhvZEVudHJ5QnJlYWtwb2ludE1hcmtlciIKKyAgICAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5qZHQuaW50ZXJuYWwuZGVidWcuY29yZS5icmVha3BvaW50cy5KYXZhTWV0aG9kRW50cnlCcmVha3BvaW50IgorICAgICAgICAgICAgaWQ9ImphdmFNZXRob2RFbnRyeUJyZWFrcG9pbnQiCisgICAgICAgICAgICBuYW1lPSIlamF2YU1ldGhvZEJyZWFrcG9pbnQubmFtZSI+CisgICAgICA8L2JyZWFrcG9pbnQ+CisgICAgICA8YnJlYWtwb2ludAorICAgICAgICAgICAgbWFya2VyVHlwZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmphdmFTdHJhdHVtTGluZUJyZWFrcG9pbnRNYXJrZXIiCisgICAgICAgICAgICBjbGFzcz0ib3JnLmVjbGlwc2UuamR0LmludGVybmFsLmRlYnVnLmNvcmUuYnJlYWtwb2ludHMuSmF2YVN0cmF0dW1MaW5lQnJlYWtwb2ludCIKKyAgICAgICAgICAgIGlkPSJqYXZhU3RyYXR1bUxpbmVCcmVha3BvaW50TWFya2VyIgorICAgICAgICAgICAgbmFtZT0iJWphdmFMaW5lQnJlYWtwb2ludC5uYW1lIj4KKyAgICAgIDwvYnJlYWtwb2ludD4KKyAgIDwvZXh0ZW5zaW9uPgorICAgPGV4dGVuc2lvbgorICAgICAgICAgaWQ9ImphdmFCcmVha3BvaW50TWFya2VyIgorICAgICAgICAgbmFtZT0iJUphdmFCcmVha3BvaW50Lm5hbWUiCisgICAgICAgICBwb2ludD0ib3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMubWFya2VycyI+CisgICAgICA8c3VwZXIKKyAgICAgICAgICAgIHR5cGU9Im9yZy5lY2xpcHNlLmRlYnVnLmNvcmUuYnJlYWtwb2ludE1hcmtlciI+CisgICAgICA8L3N1cGVyPgorICAgPC9leHRlbnNpb24+CisgICA8ZXh0ZW5zaW9uCisgICAgICAgICBpZD0iamF2YUNsYXNzUHJlcGFyZUJyZWFrcG9pbnRNYXJrZXIiCisgICAgICAgICBuYW1lPSIlSmF2YUNsYXNzTG9hZEJyZWFrcG9pbnQubmFtZSIKKyAgICAgICAgIHBvaW50PSJvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcy5tYXJrZXJzIj4KKyAgICAgIDxzdXBlcgorICAgICAgICAgICAgdHlwZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmphdmFCcmVha3BvaW50TWFya2VyIj4KKyAgICAgIDwvc3VwZXI+CisgICAgICA8cGVyc2lzdGVudAorICAgICAgICAgICAgdmFsdWU9InRydWUiPgorICAgICAgPC9wZXJzaXN0ZW50PgorICAgPC9leHRlbnNpb24+ICAgCisgICA8ZXh0ZW5zaW9uCisgICAgICAgICBpZD0iY29tbW9uSmF2YUxpbmVCcmVha3BvaW50TWFya2VyIgorICAgICAgICAgbmFtZT0iJUNvbW1vbkphdmFMaW5lQnJlYWtwb2ludC5uYW1lIgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLm1hcmtlcnMiPgorICAgICAgPHN1cGVyCisgICAgICAgICAgICB0eXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuamF2YUJyZWFrcG9pbnRNYXJrZXIiPgorICAgICAgPC9zdXBlcj4KKyAgICAgIDxzdXBlcgorICAgICAgICAgICAgdHlwZT0ib3JnLmVjbGlwc2UuZGVidWcuY29yZS5saW5lQnJlYWtwb2ludE1hcmtlciI+CisgICAgICA8L3N1cGVyPgorICAgICAgPHBlcnNpc3RlbnQKKyAgICAgICAgICAgIHZhbHVlPSJ0cnVlIj4KKyAgICAgIDwvcGVyc2lzdGVudD4KKyAgICAgIDxhdHRyaWJ1dGUKKyAgICAgICAgICAgIG5hbWU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLnR5cGVOYW1lIj4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZQorICAgICAgICAgICAgbmFtZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmNvcmUuaW5zdGFsbENvdW50Ij4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZQorICAgICAgICAgICAgbmFtZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmNvcmUuaGl0Q291bnQiPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8YXR0cmlidXRlCisgICAgICAgICAgICBuYW1lPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuY29yZS5leHBpcmVkIj4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgPC9leHRlbnNpb24+CisgICA8ZXh0ZW5zaW9uCisgICAgICAgICBpZD0iamF2YUxpbmVCcmVha3BvaW50TWFya2VyIgorICAgICAgICAgbmFtZT0iJUphdmFMaW5lQnJlYWtwb2ludC5uYW1lIgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLm1hcmtlcnMiPgorICAgICAgPHN1cGVyCisgICAgICAgICAgICB0eXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuY29tbW9uSmF2YUxpbmVCcmVha3BvaW50TWFya2VyIj4KKyAgICAgIDwvc3VwZXI+CisgICAgICA8cGVyc2lzdGVudAorICAgICAgICAgICAgdmFsdWU9InRydWUiPgorICAgICAgPC9wZXJzaXN0ZW50PgorICAgPC9leHRlbnNpb24+CisgICA8ZXh0ZW5zaW9uCisgICAgICAgICBpZD0iamF2YVBhdHRlcm5CcmVha3BvaW50TWFya2VyIgorICAgICAgICAgbmFtZT0iJUphdmFQYXR0ZXJuQnJlYWtwb2ludC5uYW1lIgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLm1hcmtlcnMiPgorICAgICAgPHN1cGVyCisgICAgICAgICAgICB0eXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuY29tbW9uSmF2YUxpbmVCcmVha3BvaW50TWFya2VyIj4KKyAgICAgIDwvc3VwZXI+CisgICAgICA8cGVyc2lzdGVudAorICAgICAgICAgICAgdmFsdWU9InRydWUiPgorICAgICAgPC9wZXJzaXN0ZW50PgorICAgICAgPGF0dHJpYnV0ZQorICAgICAgICAgICAgbmFtZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmNvcmUucGF0dGVybiI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUKKyAgICAgICAgICAgIG5hbWU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLnNvdXJjZU5hbWUiPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICA8L2V4dGVuc2lvbj4KKyAgIDxleHRlbnNpb24KKyAgICAgICAgIGlkPSJqYXZhVGFyZ2V0UGF0dGVybkJyZWFrcG9pbnRNYXJrZXIiCisgICAgICAgICBuYW1lPSIlSmF2YVRhcmdldFBhdHRlcm5CcmVha3BvaW50Lm5hbWUiCisgICAgICAgICBwb2ludD0ib3JnLmVjbGlwc2UuY29yZS5yZXNvdXJjZXMubWFya2VycyI+CisgICAgICA8c3VwZXIKKyAgICAgICAgICAgIHR5cGU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb21tb25KYXZhTGluZUJyZWFrcG9pbnRNYXJrZXIiPgorICAgICAgPC9zdXBlcj4KKyAgICAgIDxwZXJzaXN0ZW50CisgICAgICAgICAgICB2YWx1ZT0idHJ1ZSI+CisgICAgICA8L3BlcnNpc3RlbnQ+CisgICAgICA8YXR0cmlidXRlCisgICAgICAgICAgICBuYW1lPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuY29yZS5zb3VyY2VOYW1lIj4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgPC9leHRlbnNpb24+CisgICA8ZXh0ZW5zaW9uCisgICAgICAgICBpZD0iamF2YUV4Y2VwdGlvbkJyZWFrcG9pbnRNYXJrZXIiCisgICAgICAgICBuYW1lPSIlSmF2YUV4Y2VwdGlvbkJyZWFrcG9pbnQubmFtZSIKKyAgICAgICAgIHBvaW50PSJvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcy5tYXJrZXJzIj4KKyAgICAgIDxzdXBlcgorICAgICAgICAgICAgdHlwZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmphdmFCcmVha3BvaW50TWFya2VyIj4KKyAgICAgIDwvc3VwZXI+CisgICAgICA8cGVyc2lzdGVudAorICAgICAgICAgICAgdmFsdWU9InRydWUiPgorICAgICAgPC9wZXJzaXN0ZW50PgorICAgICAgPGF0dHJpYnV0ZQorICAgICAgICAgICAgbmFtZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmNvcmUuY2F1Z2h0Ij4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZQorICAgICAgICAgICAgbmFtZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmNvcmUudW5jYXVnaHQiPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8YXR0cmlidXRlCisgICAgICAgICAgICBuYW1lPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuY29yZS5jaGVja2VkIj4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgPC9leHRlbnNpb24+CisgICA8ZXh0ZW5zaW9uCisgICAgICAgICBpZD0iamF2YVdhdGNocG9pbnRNYXJrZXIiCisgICAgICAgICBuYW1lPSIlSmF2YVdhdGNocG9pbnQubmFtZSIKKyAgICAgICAgIHBvaW50PSJvcmcuZWNsaXBzZS5jb3JlLnJlc291cmNlcy5tYXJrZXJzIj4KKyAgICAgIDxzdXBlcgorICAgICAgICAgICAgdHlwZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmphdmFMaW5lQnJlYWtwb2ludE1hcmtlciI+CisgICAgICA8L3N1cGVyPgorICAgICAgPHBlcnNpc3RlbnQKKyAgICAgICAgICAgIHZhbHVlPSJ0cnVlIj4KKyAgICAgIDwvcGVyc2lzdGVudD4KKyAgICAgIDxhdHRyaWJ1dGUKKyAgICAgICAgICAgIG5hbWU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLmZpZWxkTmFtZSI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUKKyAgICAgICAgICAgIG5hbWU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLmFjY2VzcyI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUKKyAgICAgICAgICAgIG5hbWU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLm1vZGlmaWNhdGlvbiI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUKKyAgICAgICAgICAgIG5hbWU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLmF1dG9fZGlzYWJsZWQiPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICA8L2V4dGVuc2lvbj4KKyAgIDxleHRlbnNpb24KKyAgICAgICAgIGlkPSJqYXZhTWV0aG9kQnJlYWtwb2ludE1hcmtlciIKKyAgICAgICAgIG5hbWU9IiVKYXZhTWV0aG9kQnJlYWtwb2ludC5uYW1lIgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLm1hcmtlcnMiPgorICAgICAgPHN1cGVyCisgICAgICAgICAgICB0eXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuamF2YUxpbmVCcmVha3BvaW50TWFya2VyIj4KKyAgICAgIDwvc3VwZXI+CisgICAgICA8cGVyc2lzdGVudAorICAgICAgICAgICAgdmFsdWU9InRydWUiPgorICAgICAgPC9wZXJzaXN0ZW50PgorICAgICAgPGF0dHJpYnV0ZQorICAgICAgICAgICAgbmFtZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmNvcmUubWV0aG9kTmFtZSI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUKKyAgICAgICAgICAgIG5hbWU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLm1ldGhvZFNpZ25hdHVyZSI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUKKyAgICAgICAgICAgIG5hbWU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLmVudHJ5Ij4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZQorICAgICAgICAgICAgbmFtZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmNvcmUuZXhpdCI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUKKyAgICAgICAgICAgIG5hbWU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLm5hdGl2ZSI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgIDwvZXh0ZW5zaW9uPgorICAgPGV4dGVuc2lvbgorICAgICAgICAgaWQ9ImphdmFNZXRob2RFbnRyeUJyZWFrcG9pbnRNYXJrZXIiCisgICAgICAgICBuYW1lPSIlSmF2YU1ldGhvZEVudHJ5QnJlYWtwb2ludC5uYW1lIgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLm1hcmtlcnMiPgorICAgICAgPHN1cGVyCisgICAgICAgICAgICB0eXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuamF2YUxpbmVCcmVha3BvaW50TWFya2VyIj4KKyAgICAgIDwvc3VwZXI+CisgICAgICA8cGVyc2lzdGVudAorICAgICAgICAgICAgdmFsdWU9InRydWUiPgorICAgICAgPC9wZXJzaXN0ZW50PgorICAgICAgPGF0dHJpYnV0ZQorICAgICAgICAgICAgbmFtZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmNvcmUubWV0aG9kTmFtZSI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUKKyAgICAgICAgICAgIG5hbWU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLm1ldGhvZFNpZ25hdHVyZSI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgIDwvZXh0ZW5zaW9uPgorICAgPGV4dGVuc2lvbgorICAgICAgICAgaWQ9ImphdmFTdHJhdHVtTGluZUJyZWFrcG9pbnRNYXJrZXIiCisgICAgICAgICBuYW1lPSIlSmF2YVN0cmF0dW1MaW5lQnJlYWtwb2ludC5uYW1lIgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmNvcmUucmVzb3VyY2VzLm1hcmtlcnMiPgorICAgICAgPHN1cGVyCisgICAgICAgICAgICB0eXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuY29tbW9uSmF2YUxpbmVCcmVha3BvaW50TWFya2VyIj4KKyAgICAgIDwvc3VwZXI+CisgICAgICA8cGVyc2lzdGVudAorICAgICAgICAgICAgdmFsdWU9InRydWUiPgorICAgICAgPC9wZXJzaXN0ZW50PgorICAgICAgPGF0dHJpYnV0ZQorICAgICAgICAgICAgbmFtZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmNvcmUuc3RyYXR1bSI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgICAgIDxhdHRyaWJ1dGUKKyAgICAgICAgICAgIG5hbWU9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5jb3JlLnNvdXJjZU5hbWUiPgorICAgICAgPC9hdHRyaWJ1dGU+CisgICAgICA8YXR0cmlidXRlCisgICAgICAgICAgICBuYW1lPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuY29yZS5zb3VyY2VQYXRoIj4KKyAgICAgIDwvYXR0cmlidXRlPgorICAgICAgPGF0dHJpYnV0ZQorICAgICAgICAgICAgbmFtZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmNvcmUucGF0dGVybiI+CisgICAgICA8L2F0dHJpYnV0ZT4KKyAgIDwvZXh0ZW5zaW9uPgorCisgICAKKyAgIDxleHRlbnNpb24gcG9pbnQ9Im9yZy5lY2xpcHNlLmNvcmUuZXhwcmVzc2lvbnMucHJvcGVydHlUZXN0ZXJzIj4KKyAgICAgIDxwcm9wZXJ0eVRlc3RlcgorICAgICAgCQluYW1lc3BhY2U9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1ZyIKKyAgICAgICAgICAgIHByb3BlcnRpZXM9ImlzTXVsdGlTdHJhdGEiCisgICAgICAgICAgICB0eXBlPSJvcmcuZWNsaXBzZS5kZWJ1Zy5jb3JlLm1vZGVsLklTdGFja0ZyYW1lIgorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLmpkdC5pbnRlcm5hbC5kZWJ1Zy5jb3JlLkphdmFEZWJ1Z1Byb3BlcnR5VGVzdGVyIgorICAgICAgICAgICAgaWQ9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5Qcm9wZXJ0eVRlc3RlciI+CisgICAgICA8L3Byb3BlcnR5VGVzdGVyPiAgICAgICAgCisgICA8L2V4dGVuc2lvbj4KKyAgIAorICAJPGV4dGVuc2lvbiBwb2ludD0ib3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLnByZWZlcmVuY2VzIj4KKwkJPGluaXRpYWxpemVyIGNsYXNzPSJvcmcuZWNsaXBzZS5qZHQuaW50ZXJuYWwuZGVidWcuY29yZS5KRElEZWJ1Z1BsdWdpblByZWZlcmVuY2VJbml0aWFsaXplciIvPgorCTwvZXh0ZW5zaW9uPgorICAgPGV4dGVuc2lvbgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1Zy5qYXZhTG9naWNhbFN0cnVjdHVyZXMiPgorICAgICAgPGphdmFMb2dpY2FsU3RydWN0dXJlCisgICAgICAgICAgICBzdWJ0eXBlcz0idHJ1ZSIKKyAgICAgICAgICAgIHZhbHVlPSJyZXR1cm4gZW50cnlTZXQoKS50b0FycmF5KCk7IgorICAgICAgICAgICAgdHlwZT0iamF2YS51dGlsLk1hcCIKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uPSIlZGVzY3JpcHRpb25NYXAiLz4KKyAgICAgIDxqYXZhTG9naWNhbFN0cnVjdHVyZQorICAgICAgICAgICAgc3VidHlwZXM9InRydWUiCisgICAgICAgICAgICB2YWx1ZT0icmV0dXJuIHRvQXJyYXkoKTsiCisgICAgICAgICAgICB0eXBlPSJqYXZhLnV0aWwuQ29sbGVjdGlvbiIKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uPSIlZGVzY3JpcHRpb25Db2xsZWN0aW9uIi8+CisgICAgICA8amF2YUxvZ2ljYWxTdHJ1Y3R1cmUKKyAgICAgICAgICAgIHN1YnR5cGVzPSJ0cnVlIgorICAgICAgICAgICAgdHlwZT0iamF2YS51dGlsLk1hcCRFbnRyeSIKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uPSIlZGVzY3JpcHRpb25NYXBFbnRyeSI+CisgICAgICAgICA8dmFyaWFibGUKKyAgICAgICAgICAgICAgIHZhbHVlPSJyZXR1cm4gZ2V0S2V5KCk7IgorICAgICAgICAgICAgICAgbmFtZT0ia2V5Ii8+CisgICAgICAgICA8dmFyaWFibGUKKyAgICAgICAgICAgICAgIHZhbHVlPSJyZXR1cm4gZ2V0VmFsdWUoKTsiCisgICAgICAgICAgICAgICBuYW1lPSJ2YWx1ZSIvPgorICAgICAgPC9qYXZhTG9naWNhbFN0cnVjdHVyZT4KKyAgICAgIDxqYXZhTG9naWNhbFN0cnVjdHVyZQorICAgICAgICAgICAgc3VidHlwZXM9InRydWUiCisgICAgICAgICAgICB2YWx1ZT0icmV0dXJuIGdldENoaWxkcmVuKCk7IgorICAgICAgICAgICAgdHlwZT0ib3JnLmVjbGlwc2Uuc3d0LndpZGdldHMuQ29tcG9zaXRlIgorICAgICAgICAgICAgZGVzY3JpcHRpb249IiVkZXNjcmlwdGlvblNXVENvbXBvc2l0ZSIvPgorICAgPC9leHRlbnNpb24+CisgICA8ZXh0ZW5zaW9uCisgICAgICAgICBwb2ludD0ib3JnLmVjbGlwc2UuZGVidWcuY29yZS5sb2dpY2FsU3RydWN0dXJlUHJvdmlkZXJzIj4KKyAgICAgIDxsb2dpY2FsU3RydWN0dXJlUHJvdmlkZXIKKyAgICAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5qZHQuaW50ZXJuYWwuZGVidWcuY29yZS5sb2dpY2Fsc3RydWN0dXJlcy5KYXZhTG9naWNhbFN0cnVjdHVyZXMiCisgICAgICAgICAgICBtb2RlbElkZW50aWZpZXI9Im9yZy5lY2xpcHNlLmpkdC5kZWJ1ZyIvPgorICAgPC9leHRlbnNpb24+CisgICA8ZXh0ZW5zaW9uCisgICAgICAgICBwb2ludD0ib3JnLmVjbGlwc2UuZGVidWcuY29yZS5icmVha3BvaW50SW1wb3J0UGFydGljaXBhbnRzIj4KKyAgICAgIDxpbXBvcnRQYXJ0aWNpcGFudAorICAgICAgICAgICAgcGFydGljaXBhbnQ9Im9yZy5lY2xpcHNlLmpkdC5pbnRlcm5hbC5kZWJ1Zy5jb3JlLmJyZWFrcG9pbnRzLkphdmFCcmVha3BvaW50SW1wb3J0UGFydGljaXBhbnQiCisgICAgICAgICAgICB0eXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuamF2YUNsYXNzUHJlcGFyZUJyZWFrcG9pbnRNYXJrZXIiPgorICAgICAgPC9pbXBvcnRQYXJ0aWNpcGFudD4KKyAgICAgIDxpbXBvcnRQYXJ0aWNpcGFudAorICAgICAgICAgICAgcGFydGljaXBhbnQ9Im9yZy5lY2xpcHNlLmpkdC5pbnRlcm5hbC5kZWJ1Zy5jb3JlLmJyZWFrcG9pbnRzLkphdmFCcmVha3BvaW50SW1wb3J0UGFydGljaXBhbnQiCisgICAgICAgICAgICB0eXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuamF2YUV4Y2VwdGlvbkJyZWFrcG9pbnRNYXJrZXIiPgorICAgICAgPC9pbXBvcnRQYXJ0aWNpcGFudD4KKyAgICAgIDxpbXBvcnRQYXJ0aWNpcGFudAorICAgICAgICAgICAgcGFydGljaXBhbnQ9Im9yZy5lY2xpcHNlLmpkdC5pbnRlcm5hbC5kZWJ1Zy5jb3JlLmJyZWFrcG9pbnRzLkphdmFCcmVha3BvaW50SW1wb3J0UGFydGljaXBhbnQiCisgICAgICAgICAgICB0eXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuamF2YUxpbmVCcmVha3BvaW50TWFya2VyIj4KKyAgICAgIDwvaW1wb3J0UGFydGljaXBhbnQ+CisgICAgICA8aW1wb3J0UGFydGljaXBhbnQKKyAgICAgICAgICAgIHBhcnRpY2lwYW50PSJvcmcuZWNsaXBzZS5qZHQuaW50ZXJuYWwuZGVidWcuY29yZS5icmVha3BvaW50cy5KYXZhQnJlYWtwb2ludEltcG9ydFBhcnRpY2lwYW50IgorICAgICAgICAgICAgdHlwZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmphdmFNZXRob2RCcmVha3BvaW50TWFya2VyIj4KKyAgICAgIDwvaW1wb3J0UGFydGljaXBhbnQ+CisgICAgICA8aW1wb3J0UGFydGljaXBhbnQKKyAgICAgICAgICAgIHBhcnRpY2lwYW50PSJvcmcuZWNsaXBzZS5qZHQuaW50ZXJuYWwuZGVidWcuY29yZS5icmVha3BvaW50cy5KYXZhQnJlYWtwb2ludEltcG9ydFBhcnRpY2lwYW50IgorICAgICAgICAgICAgdHlwZT0ib3JnLmVjbGlwc2UuamR0LmRlYnVnLmphdmFNZXRob2RFbnRyeUJyZWFrcG9pbnRNYXJrZXIiPgorICAgICAgPC9pbXBvcnRQYXJ0aWNpcGFudD4KKyAgICAgIDxpbXBvcnRQYXJ0aWNpcGFudAorICAgICAgICAgICAgcGFydGljaXBhbnQ9Im9yZy5lY2xpcHNlLmpkdC5pbnRlcm5hbC5kZWJ1Zy5jb3JlLmJyZWFrcG9pbnRzLkphdmFCcmVha3BvaW50SW1wb3J0UGFydGljaXBhbnQiCisgICAgICAgICAgICB0eXBlPSJvcmcuZWNsaXBzZS5qZHQuZGVidWcuamF2YVdhdGNocG9pbnRNYXJrZXIiPgorICAgICAgPC9pbXBvcnRQYXJ0aWNpcGFudD4KKyAgIDwvZXh0ZW5zaW9uPgorICAgCis8L3BsdWdpbj4KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5qdW5pdC5jb3JlLnNvdXJjZV8zLjcuMTAwLnYyMDEyMDUyMy0xMjU3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5qdW5pdC5jb3JlLnNvdXJjZV8zLjcuMTAwLnYyMDEyMDUyMy0xMjU3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzJiNGJiCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0Lmp1bml0LmNvcmUuc291cmNlXzMuNy4xMDAudjIwMTIwNTIzLTEyNTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5qdW5pdC5jb3JlXzMuNy4xMDAudjIwMTIwNTIzLTEyNTcuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0Lmp1bml0LmNvcmVfMy43LjEwMC52MjAxMjA1MjMtMTI1Ny5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJhYTBkYwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5qdW5pdC5jb3JlXzMuNy4xMDAudjIwMTIwNTIzLTEyNTcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5qdW5pdC5ydW50aW1lLnNvdXJjZV8zLjQuMzAxLnYyMDEyMDkxNC0xMzEwMTYuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0Lmp1bml0LnJ1bnRpbWUuc291cmNlXzMuNC4zMDEudjIwMTIwOTE0LTEzMTAxNi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRiOTFmOQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5qdW5pdC5ydW50aW1lLnNvdXJjZV8zLjQuMzAxLnYyMDEyMDkxNC0xMzEwMTYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5qdW5pdC5ydW50aW1lXzMuNC4zMDEudjIwMTIwOTE0LTEzMTAxNi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuanVuaXQucnVudGltZV8zLjQuMzAxLnYyMDEyMDkxNC0xMzEwMTYuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1ZGVjYTYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuanVuaXQucnVudGltZV8zLjQuMzAxLnYyMDEyMDkxNC0xMzEwMTYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5qdW5pdC5zb3VyY2VfMy43LjEwMC52MjAxMjA1MjMtMTU0My5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuanVuaXQuc291cmNlXzMuNy4xMDAudjIwMTIwNTIzLTE1NDMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyMmU5MDUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQuanVuaXQuc291cmNlXzMuNy4xMDAudjIwMTIwNTIzLTE1NDMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5qdW5pdF8zLjcuMTAwLnYyMDEyMDUyMy0xNTQzLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5qdW5pdF8zLjcuMTAwLnYyMDEyMDUyMy0xNTQzLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzQ4M2U3Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0Lmp1bml0XzMuNy4xMDAudjIwMTIwNTIzLTE1NDMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5sYXVuY2hpbmcuc291cmNlXzMuNi4xMDEudjIwMTMwMTExLTE4MzA0Ni5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQubGF1bmNoaW5nLnNvdXJjZV8zLjYuMTAxLnYyMDEzMDExMS0xODMwNDYuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NDcxODgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQubGF1bmNoaW5nLnNvdXJjZV8zLjYuMTAxLnYyMDEzMDExMS0xODMwNDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5sYXVuY2hpbmdfMy42LjEwMS52MjAxMzAxMTEtMTgzMDQ2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC5sYXVuY2hpbmdfMy42LjEwMS52MjAxMzAxMTEtMTgzMDQ2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmM0MWMwCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LmxhdW5jaGluZ18zLjYuMTAxLnYyMDEzMDExMS0xODMwNDYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC51aS5zb3VyY2VfMy44LjIudjIwMTMwMTA3LTE2NTgzNC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQudWkuc291cmNlXzMuOC4yLnYyMDEzMDEwNy0xNjU4MzQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwY2QyMGYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZHQudWkuc291cmNlXzMuOC4yLnYyMDEzMDEwNy0xNjU4MzQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC51aV8zLjguMi52MjAxMzAxMDctMTY1ODM0LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpkdC51aV8zLjguMi52MjAxMzAxMDctMTY1ODM0LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTFhODZjCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamR0LnVpXzMuOC4yLnYyMDEzMDEwNy0xNjU4MzQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpmYWNlLmRhdGFiaW5kaW5nLnNvdXJjZV8xLjYuMC52MjAxMjA5MTItMTMyODA3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpmYWNlLmRhdGFiaW5kaW5nLnNvdXJjZV8xLjYuMC52MjAxMjA5MTItMTMyODA3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTFlMzIxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamZhY2UuZGF0YWJpbmRpbmcuc291cmNlXzEuNi4wLnYyMDEyMDkxMi0xMzI4MDcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpmYWNlLmRhdGFiaW5kaW5nXzEuNi4wLnYyMDEyMDkxMi0xMzI4MDcuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamZhY2UuZGF0YWJpbmRpbmdfMS42LjAudjIwMTIwOTEyLTEzMjgwNy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYxN2Y5ZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpmYWNlLmRhdGFiaW5kaW5nXzEuNi4wLnYyMDEyMDkxMi0xMzI4MDcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpmYWNlLnNvdXJjZV8zLjguMTAyLnYyMDEzMDEyMy0xNjI2NTguamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamZhY2Uuc291cmNlXzMuOC4xMDIudjIwMTMwMTIzLTE2MjY1OC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUwYjQ1NQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpmYWNlLnNvdXJjZV8zLjguMTAyLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpmYWNlLnRleHQuc291cmNlXzMuOC4yLnYyMDEyMTEyNi0xNjQxNDUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UuamZhY2UudGV4dC5zb3VyY2VfMy44LjIudjIwMTIxMTI2LTE2NDE0NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZkNjQ0OAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpmYWNlLnRleHQuc291cmNlXzMuOC4yLnYyMDEyMTEyNi0xNjQxNDUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpmYWNlLnRleHRfMy44LjIudjIwMTIxMTI2LTE2NDE0NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZmFjZS50ZXh0XzMuOC4yLnYyMDEyMTEyNi0xNjQxNDUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlNjYwYTcKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZmFjZS50ZXh0XzMuOC4yLnYyMDEyMTEyNi0xNjQxNDUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmpmYWNlXzMuOC4xMDIudjIwMTMwMTIzLTE2MjY1OC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZmFjZV8zLjguMTAyLnYyMDEzMDEyMy0xNjI2NTguamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxODFmZTgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5qZmFjZV8zLjguMTAyLnYyMDEzMDEyMy0xNjI2NTguamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmx0ay5jb3JlLnJlZmFjdG9yaW5nLnNvdXJjZV8zLjYuMC52MjAxMjA1MjMtMTU0My5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5sdGsuY29yZS5yZWZhY3RvcmluZy5zb3VyY2VfMy42LjAudjIwMTIwNTIzLTE1NDMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmNmE1ODIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5sdGsuY29yZS5yZWZhY3RvcmluZy5zb3VyY2VfMy42LjAudjIwMTIwNTIzLTE1NDMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmx0ay5jb3JlLnJlZmFjdG9yaW5nXzMuNi4wLnYyMDEyMDUyMy0xNTQzLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmx0ay5jb3JlLnJlZmFjdG9yaW5nXzMuNi4wLnYyMDEyMDUyMy0xNTQzLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDY1Zjg5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UubHRrLmNvcmUucmVmYWN0b3JpbmdfMy42LjAudjIwMTIwNTIzLTE1NDMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmx0ay51aS5yZWZhY3RvcmluZy5zb3VyY2VfMy43LjAudjIwMTIwNTIzLTE1NDMuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UubHRrLnVpLnJlZmFjdG9yaW5nLnNvdXJjZV8zLjcuMC52MjAxMjA1MjMtMTU0My5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRhZjVmNQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmx0ay51aS5yZWZhY3RvcmluZy5zb3VyY2VfMy43LjAudjIwMTIwNTIzLTE1NDMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLmx0ay51aS5yZWZhY3RvcmluZ18zLjcuMC52MjAxMjA1MjMtMTU0My5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5sdGsudWkucmVmYWN0b3JpbmdfMy43LjAudjIwMTIwNTIzLTE1NDMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5NTMxZWIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5sdGsudWkucmVmYWN0b3JpbmdfMy43LjAudjIwMTIwNTIzLTE1NDMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLm9zZ2kuc2VydmljZXMuc291cmNlXzMuMy4xMDAudjIwMTIwNTIyLTE4MjIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2Uub3NnaS5zZXJ2aWNlcy5zb3VyY2VfMy4zLjEwMC52MjAxMjA1MjItMTgyMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRkZGU3ZgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLm9zZ2kuc2VydmljZXMuc291cmNlXzMuMy4xMDAudjIwMTIwNTIyLTE4MjIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLm9zZ2kuc2VydmljZXNfMy4zLjEwMC52MjAxMjA1MjItMTgyMi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5vc2dpLnNlcnZpY2VzXzMuMy4xMDAudjIwMTIwNTIyLTE4MjIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiZTBkMTUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5vc2dpLnNlcnZpY2VzXzMuMy4xMDAudjIwMTIwNTIyLTE4MjIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLm9zZ2kuc291cmNlXzMuOC4yLnYyMDEzMDEyNC0xMzQ5NDQuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2Uub3NnaS5zb3VyY2VfMy44LjIudjIwMTMwMTI0LTEzNDk0NC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEwM2RmMwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLm9zZ2kuc291cmNlXzMuOC4yLnYyMDEzMDEyNC0xMzQ5NDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLm9zZ2lfMy44LjIudjIwMTMwMTI0LTEzNDk0NC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5vc2dpXzMuOC4yLnYyMDEzMDEyNC0xMzQ5NDQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3YjM2NTMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5vc2dpXzMuOC4yLnYyMDEzMDEyNC0xMzQ5NDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZC5zb3VyY2VfMy44LjIudjIwMTIxMTE0LTE0MDgxMC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGQuc291cmNlXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmODc5ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGQuc291cmNlXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwLy5hcGlfZGVzY3JpcHRpb24gYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC8uYXBpX2Rlc2NyaXB0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlY2FhYjkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC8uYXBpX2Rlc2NyaXB0aW9uCkBAIC0wLDAgKzEsOCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cis8Y29tcG9uZW50IG5hbWU9Im9yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwIiB2ZXJzaW9uPSIxLjIiPgorICAgIDxwbHVnaW4gaWQ9Im9yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwIi8+CisgICAgPHBhY2thZ2UgbmFtZT0ib3JnLmVjbGlwc2UucGRlLmJ1aWxkIiB2aXNpYmlsaXR5PSIxIj4KKyAgICAgICAgPHR5cGUgbmFtZT0iQ29uc3RhbnRzIiByZXN0cmljdGlvbnM9IjEiLz4KKyAgICAgICAgPHR5cGUgbmFtZT0iSUFudFNjcmlwdCIgcmVzdHJpY3Rpb25zPSIxIi8+CisgICAgPC9wYWNrYWdlPgorPC9jb21wb25lbnQ+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC8ub3B0aW9ucyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwLy5vcHRpb25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0NTZiMzIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC8ub3B0aW9ucwpAQCAtMCwwICsxLDIgQEAKKyMgRGVidWdnaW5nIG9wdGlvbnMgZm9yIHRoZSBvcmcuZWNsaXBzZS5wZGUuYnVpbGQgcGx1Zy1pbi4KK29yZy5lY2xpcHNlLnBkZS5idWlsZC9kZWJ1ZyA9IGZhbHNlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvTUVUQS1JTkYvRUNMSVBTRV8uUlNBIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvTUVUQS1JTkYvRUNMSVBTRV8uUlNBCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyOTIxNjkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9NRVRBLUlORi9FQ0xJUFNFXy5SU0EKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvTUVUQS1JTkYvRUNMSVBTRV8uU0YgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9NRVRBLUlORi9FQ0xJUFNFXy5TRgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjM3MzAzCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvTUVUQS1JTkYvRUNMSVBTRV8uU0YKQEAgLTAsMCArMSw5NSBAQAorU2lnbmF0dXJlLVZlcnNpb246IDEuMA0KK1NIQTEtRGlnZXN0LU1hbmlmZXN0OiBUcnBJRzVEbWpOMkVtVUVwQXFERW1hb3Q2dVk9DQorQ3JlYXRlZC1CeTogMS42LjAgKElCTSBDb3Jwb3JhdGlvbikNCitTSEExLURpZ2VzdC1NYW5pZmVzdC1NYWluLUF0dHJpYnV0ZXM6IGZYYThYczZBYUVYb0FVSkRPZnd6WTZ0OWVOZz0NCisNCitOYW1lOiBhYm91dF9maWxlcy9MSUNFTlNFLTIuMC50eHQNCitTSEExLURpZ2VzdDogRE1uWlByWTd3L1pFT2owWUkvbDhLb296dXZNPQ0KKw0KK05hbWU6IHRlbXBsYXRlcy9oZWFkbGVzcy1idWlsZC9hbGxFbGVtZW50cy54bWwNCitTSEExLURpZ2VzdDogdU5PUDR4ODdaRmN4Q1pyaDF3SGg2eG9jTkdFPQ0KKw0KK05hbWU6IHBkZWJ1aWxkLmphcg0KK1NIQTEtRGlnZXN0OiBaYjNjT2lHeCtPMDBBMjRDQmJWRTBCeXFjUWs9DQorDQorTmFtZTogZGF0YS8zMC9wbHVnaW4vcGx1Z2luLnhtbA0KK1NIQTEtRGlnZXN0OiBUTnIwU1lWSE96ODJoWUwxRTAzNXIxYmRheEk9DQorDQorTmFtZTogZGF0YS8yMS9mcmFnbWVudC9mcmFnbWVudC54bWwNCitTSEExLURpZ2VzdDogUnVPdkVUVndrV0hISXo2c0xMMGNHeldPeWZzPQ0KKw0KK05hbWU6IHBsdWdpbi5wcm9wZXJ0aWVzDQorU0hBMS1EaWdlc3Q6IGZTamlYdUJYcktEZWlhZGlOOGtXRE1CNStkMD0NCisNCitOYW1lOiBzY3JpcHRzL2J1aWxkLnhtbA0KK1NIQTEtRGlnZXN0OiBSYS9idVlXcStVbkNKY1B6QTVzejQxZC8xV289DQorDQorTmFtZTogZGF0YS8zMC9wbHVnaW4vTUVUQS1JTkYvTUFOSUZFU1QuTUYNCitTSEExLURpZ2VzdDogdUdQN0RHQUFvK3YyVkQyV1pNWk1jdmJXNXJnPQ0KKw0KK05hbWU6IGRhdGEvMzAvZnJhZ21lbnQvTUVUQS1JTkYvTUFOSUZFU1QuTUYNCitTSEExLURpZ2VzdDogeHV3SWRyaVRNZjV0Vy8xUThwZ2cvRFhxcmtVPQ0KKw0KK05hbWU6IGRhdGEvZW52LnByb3BlcnRpZXMNCitTSEExLURpZ2VzdDogeHY0ZXQycFh4TEY2bUFMV0xnRG5zVGNKTXowPQ0KKw0KK05hbWU6IHRlbXBsYXRlcy9oZWFkbGVzcy1idWlsZC9jdXN0b21UYXJnZXRzLnhtbA0KK1NIQTEtRGlnZXN0OiBXZlN3MGNUK1NuY0I4TE1rblpkUG05OXBYd1E9DQorDQorTmFtZTogcGx1Z2luLnhtbA0KK1NIQTEtRGlnZXN0OiBiaWxPM3dVREVaZ0Z3SEVOS1pOMnlHbFZCaXM9DQorDQorTmFtZTogdGVtcGxhdGVzL3BsdWdpbnMvY3VzdG9tQnVpbGRDYWxsYmFja3MueG1sDQorU0hBMS1EaWdlc3Q6IElEZk9wUkovdU9PdXRQS3YvOTE3dlRvSGNrQT0NCisNCitOYW1lOiB0ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvY3VzdG9tQXNzZW1ibHkueG1sDQorU0hBMS1EaWdlc3Q6IG5sMFY3NmJmUis1eFhqVHNyNmR4a3FIRTBvWT0NCisNCitOYW1lOiBNRVRBLUlORi9lY2xpcHNlLmluZg0KK1NIQTEtRGlnZXN0OiBCZTZEbjN4RFp2YUlENTFteHFseTVKdWhhR0E9DQorDQorTmFtZTogdGVtcGxhdGVzL3BhY2thZ2VyL3BhY2thZ2VyLnByb3BlcnRpZXMNCitTSEExLURpZ2VzdDogQTJWWWI3OThLeGJjS2hFK2Z5bGlmRCtCTmNZPQ0KKw0KK05hbWU6IHNjcmlwdHMvcGFja2FnZS54bWwNCitTSEExLURpZ2VzdDogU2JldmErL1NTZ0R3K3Z3YjhmR2ZDYUdzZFc0PQ0KKw0KK05hbWU6IC5hcGlfZGVzY3JpcHRpb24NCitTSEExLURpZ2VzdDogQWZaZmg2TVh5UFBRck9YQ051M1BZRnRBNDFNPQ0KKw0KK05hbWU6IHRlbXBsYXRlcy9wYWNrYWdlci9wYWNrYWdpbmcucHJvcGVydGllcw0KK1NIQTEtRGlnZXN0OiBsbU4ycVdFR3p3Ty9vTmFuRVRMMUUwT1FJRmc9DQorDQorTmFtZTogZGF0YS8zMC9mcmFnbWVudC9mcmFnbWVudC54bWwNCitTSEExLURpZ2VzdDogend6T21GZkNFMithYjdHOXdrTFU3b3pwSlBjPQ0KKw0KK05hbWU6IGFib3V0Lmh0bWwNCitTSEExLURpZ2VzdDogTnNxb25UdlRJb295VWNwZGRYWThmMDU1TW1BPQ0KKw0KK05hbWU6IHRlbXBsYXRlcy9wYWNrYWdlci9jdXN0b21UYXJnZXRzLnhtbA0KK1NIQTEtRGlnZXN0OiBjdnBOUjR4UllmaFd4NjcwOG5JMy9IZElhd009DQorDQorTmFtZTogZGF0YS8yMS9wbHVnaW4vcGx1Z2luLnhtbA0KK1NIQTEtRGlnZXN0OiBUcFpkNDhKbXJqOS9MVFFEeXVVdWJmUW9pNXc9DQorDQorTmFtZTogbGliL3BkZWJ1aWxkLWFudC5qYXINCitTSEExLURpZ2VzdDogUVJYNHk0MWhiUUcxZmFRbmVUUXlmZnBlYVR3PQ0KKw0KK05hbWU6IC5vcHRpb25zDQorU0hBMS1EaWdlc3Q6IGpmMTd2NnRlYnJWT3kvMkxpektDOGh5RzJFTT0NCisNCitOYW1lOiBzY3JpcHRzL3Byb2R1Y3RCdWlsZC9wcm9kdWN0QnVpbGQueG1sDQorU0hBMS1EaWdlc3Q6IG9XNmordURReERKcllPMkhqUmU0MWRDMjBjcz0NCisNCitOYW1lOiB0ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvYnVpbGQucHJvcGVydGllcw0KK1NIQTEtRGlnZXN0OiBvZVV2L3VOamFnbURodkFVZkZoQjhITzdzZ0E9DQorDQorTmFtZTogdGVtcGxhdGVzL2ZlYXR1cmVzL2N1c3RvbUJ1aWxkQ2FsbGJhY2tzLnhtbA0KK1NIQTEtRGlnZXN0OiBOeUMzbzFuUWtyVjFzWXJMSVBKcjg5YXFtY1E9DQorDQorTmFtZTogc2NyaXB0cy9wcm9kdWN0QnVpbGQvYWxsRWxlbWVudHMueG1sDQorU0hBMS1EaWdlc3Q6IFhRNnFmdExxeUZBa0RsdTJNVFMyMm5jeWZpMD0NCisNCitOYW1lOiBzY3JpcHRzL2dlbmVyaWNUYXJnZXRzLnhtbA0KK1NIQTEtRGlnZXN0OiBzeTErSGZJNUJ6YWxZZFU4UGFKUnN4RkEvUE09DQorDQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvTUVUQS1JTkYvTUFOSUZFU1QuTUYgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9NRVRBLUlORi9NQU5JRkVTVC5NRgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTI2NTIwCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvTUVUQS1JTkYvTUFOSUZFU1QuTUYKQEAgLTAsMCArMSwxNDAgQEAKK01hbmlmZXN0LVZlcnNpb246IDEuMA0KK0J1bmRsZS1Mb2NhbGl6YXRpb246IHBsdWdpbg0KK0J1bmRsZS1SZXF1aXJlZEV4ZWN1dGlvbkVudmlyb25tZW50OiBKMlNFLTEuNA0KK0J1bmRsZS1TeW1ib2xpY05hbWU6IG9yZy5lY2xpcHNlLnBkZS5idWlsZDtzaW5nbGV0b246PXRydWUNCitFY2xpcHNlLVNvdXJjZVJlZmVyZW5jZXM6IHNjbTpnaXQ6Z2l0Oi8vZ2l0LmVjbGlwc2Uub3JnL2dpdHJvb3QvcGRlL2VjDQorIGxpcHNlLnBkZS5idWlsZC5naXQ7cGF0aD0ib3JnLmVjbGlwc2UucGRlLmJ1aWxkIjt0YWc9djIwMTIxMTE0LTE0MDgxMA0KK0J1bmRsZS1BY3RpdmF0b3I6IG9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC5CdWlsZEFjdGl2YXRvcg0KK1JlcXVpcmUtQnVuZGxlOiBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWU7YnVuZGxlLXZlcnNpb249IlszLjIuMCw0LjAuMCkNCisgIixvcmcuZWNsaXBzZS5hbnQuY29yZTtidW5kbGUtdmVyc2lvbj0iWzMuMS4xMDAsNC4wLjApIixvcmcuZWNsaXBzZS5jDQorIG9yZS5ydW50aW1lLmNvbXBhdGliaWxpdHk7YnVuZGxlLXZlcnNpb249IlszLjEuMTAwLDQuMC4wKSI7cmVzb2x1dGlvbg0KKyA6PW9wdGlvbmFsLG9yZy5lY2xpcHNlLm9zZ2k7YnVuZGxlLXZlcnNpb249IlszLjMuMCw0LjAuMCkiLG9yZy5lY2xpcHMNCisgZS5lcXVpbm94LnAyLmphcnByb2Nlc3NvcjtidW5kbGUtdmVyc2lvbj0iWzEuMC4xLDIuMC4wKSIsb3JnLmVjbGlwc2UuDQorIGVxdWlub3gucDIucHVibGlzaGVyO2J1bmRsZS12ZXJzaW9uPSIxLjEuMCIsb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5yZQ0KKyBwb3NpdG9yeS50b29scztidW5kbGUtdmVyc2lvbj0iWzIuMC4wLDMuMC4wKSI7cmVzb2x1dGlvbjo9b3B0aW9uYWwsb3INCisgZy5lY2xpcHNlLmVxdWlub3gucDIuZGlyZWN0b3IuYXBwO2J1bmRsZS12ZXJzaW9uPSIxLjAuMjAwIixvcmcuZWNsaXBzDQorIGUuZXF1aW5veC5wMi5wdWJsaXNoZXIuZWNsaXBzZTtidW5kbGUtdmVyc2lvbj0iMS4wLjAiDQorRXhwb3J0LVBhY2thZ2U6IG9yZy5lY2xpcHNlLnBkZS5idWlsZCxvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQ7eA0KKyAtZnJpZW5kczo9Im9yZy5lY2xpcHNlLnBkZS5jb3JlLG9yZy5lY2xpcHNlLnBkZS51aSxvcmcuZWNsaXBzZS5wZGUubGENCisgdW5jaGluZyIsb3JnLmVjbGlwc2UucGRlLmludGVybmFsLmJ1aWxkLmFudDt4LWludGVybmFsOj10cnVlLG9yZy5lY2xpDQorIHBzZS5wZGUuaW50ZXJuYWwuYnVpbGQuYnVpbGRlcjt4LWludGVybmFsOj10cnVlLG9yZy5lY2xpcHNlLnBkZS5pbnRlcg0KKyBuYWwuYnVpbGQuZmV0Y2g7eC1pbnRlcm5hbDo9dHJ1ZSxvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQucGFja2ENCisgZ2VyO3gtZnJpZW5kczo9Im9yZy5lY2xpcHNlLnBkZS5jb3JlIixvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQuDQorIHByb3BlcnRpZXM7eC1pbnRlcm5hbDo9dHJ1ZSxvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQucHVibGlzaGVyLg0KKyBjb21wYXRpYmlsaXR5O3gtaW50ZXJuYWw6PXRydWUsb3JnLmVjbGlwc2UucGRlLmludGVybmFsLmJ1aWxkLnNpdGU7eC0NCisgZnJpZW5kczo9Im9yZy5lY2xpcHNlLnBkZS5jb3JlLG9yZy5lY2xpcHNlLnBkZS51aSIsb3JnLmVjbGlwc2UucGRlLmluDQorIHRlcm5hbC5idWlsZC5zaXRlLmNvbXBhdGliaWxpdHk7eC1pbnRlcm5hbDo9dHJ1ZQ0KK0J1bmRsZS1WZXJzaW9uOiAzLjguMi52MjAxMjExMTQtMTQwODEwDQorQnVuZGxlLUNsYXNzUGF0aDogcGRlYnVpbGQuamFyDQorQnVuZGxlLUFjdGl2YXRpb25Qb2xpY3k6IGxhenkNCitCdW5kbGUtVmVuZG9yOiAlcHJvdmlkZXJOYW1lDQorQnVuZGxlLU5hbWU6ICVwbHVnaW5OYW1lDQorRWNsaXBzZS1CdW5kbGVTaGFwZTogZGlyDQorSW1wb3J0LVBhY2thZ2U6IGNvbS5pYm0uaWN1LnV0aWwsb3JnLmVjbGlwc2UuZXF1aW5veC5mcmFtZXdvcmthZG1pbjt2ZQ0KKyByc2lvbj0iWzIuMC4wLDMuMC4wKSIsb3JnLmVjbGlwc2UuZXF1aW5veC5pbnRlcm5hbC5wMi5jb3JlLmhlbHBlcnMsb3INCisgZy5lY2xpcHNlLmVxdWlub3guaW50ZXJuYWwucDIuZW5naW5lLG9yZy5lY2xpcHNlLmVxdWlub3guaW50ZXJuYWwucDIuDQorIGVuZ2luZS5waGFzZXMsb3JnLmVjbGlwc2UuZXF1aW5veC5pbnRlcm5hbC5wMi5tZXRhZGF0YSxvcmcuZWNsaXBzZS5lcQ0KKyB1aW5veC5pbnRlcm5hbC5wMi5tZXRhZGF0YS5leHByZXNzaW9uLG9yZy5lY2xpcHNlLmVxdWlub3guaW50ZXJuYWwucDINCisgLnVwZGF0ZXNpdGU7cmVzb2x1dGlvbjo9b3B0aW9uYWwsb3JnLmVjbGlwc2UuZXF1aW5veC5pbnRlcm5hbC5wcm92aXNpDQorIG9uYWwuZnJhbWV3b3JrYWRtaW4sb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5jb3JlO3ZlcnNpb249IlsyLjAuMCwzLjAuMA0KKyApIixvcmcuZWNsaXBzZS5lcXVpbm94LnAyLmVuZ2luZTt2ZXJzaW9uPSJbMi4wLjAsMy4wLjApIixvcmcuZWNsaXBzZS4NCisgZXF1aW5veC5wMi5tZXRhZGF0YTt2ZXJzaW9uPSJbMi4wLjAsMy4wLjApIixvcmcuZWNsaXBzZS5lcXVpbm94LnAyLm1lDQorIHRhZGF0YS5leHByZXNzaW9uO3ZlcnNpb249IlsyLjAuMCwzLjAuMCkiLG9yZy5lY2xpcHNlLmVxdWlub3gucDIucXVlcg0KKyB5O3ZlcnNpb249IlsyLjAuMCwzLjAuMCkiLG9yZy5lY2xpcHNlLmVxdWlub3gucDIucmVwb3NpdG9yeTt2ZXJzaW9uPSINCisgWzIuMC4wLDMuMC4wKSIsb3JnLmVjbGlwc2UuZXF1aW5veC5wMi5yZXBvc2l0b3J5LmFydGlmYWN0O3ZlcnNpb249IlsyDQorIC4wLjAsMy4wLjApIixvcmcuZWNsaXBzZS5lcXVpbm94LnAyLnJlcG9zaXRvcnkuYXJ0aWZhY3Quc3BpO3ZlcnNpb249Ig0KKyBbMi4wLjAsMy4wLjApIixvcmcuZWNsaXBzZS5lcXVpbm94LnAyLnJlcG9zaXRvcnkubWV0YWRhdGE7dmVyc2lvbj0iWzINCisgLjAuMCwzLjAuMCkiLG9yZy5lY2xpcHNlLmVxdWlub3guc2ltcGxlY29uZmlndXJhdG9yLm1hbmlwdWxhdG9yO3ZlcnNpDQorIG9uPSJbMi4wLjAsMy4wLjApIg0KK0J1bmRsZS1NYW5pZmVzdFZlcnNpb246IDINCisNCitOYW1lOiBhYm91dF9maWxlcy9MSUNFTlNFLTIuMC50eHQNCitTSEExLURpZ2VzdDogSzR1QlVpbXFpbUhrZy90TG9GaUxpMnhKR0pBPQ0KKw0KK05hbWU6IHRlbXBsYXRlcy9oZWFkbGVzcy1idWlsZC9hbGxFbGVtZW50cy54bWwNCitTSEExLURpZ2VzdDogcTJiQktZcW1QSHFPT29aL0tIR1cyN3ZwVHJzPQ0KKw0KK05hbWU6IHBkZWJ1aWxkLmphcg0KK1NIQTEtRGlnZXN0OiBuRUlMUzk5dVhuRmpCTzI5Z1BoQzNaTnFZOE09DQorDQorTmFtZTogZGF0YS8zMC9wbHVnaW4vcGx1Z2luLnhtbA0KK1NIQTEtRGlnZXN0OiBJMHQrbzZrWGJ5U3J4SVkxYkxhVGFlYWkzVmM9DQorDQorTmFtZTogZGF0YS8yMS9mcmFnbWVudC9mcmFnbWVudC54bWwNCitTSEExLURpZ2VzdDogQWJhdlJRTkJDdTdiVE0wTGMxSDUwekRpU1lvPQ0KKw0KK05hbWU6IHBsdWdpbi5wcm9wZXJ0aWVzDQorU0hBMS1EaWdlc3Q6IE9uNEVDWVd1cEM3ZTdJYWlkS2xoWDdKUm1HRT0NCisNCitOYW1lOiBzY3JpcHRzL2J1aWxkLnhtbA0KK1NIQTEtRGlnZXN0OiBBTFQ2bWcwSjJWa2RsRWxPL0RaS0tpcmNMVVk9DQorDQorTmFtZTogZGF0YS8zMC9wbHVnaW4vTUVUQS1JTkYvTUFOSUZFU1QuTUYNCitTSEExLURpZ2VzdDogWVkvRGppdmZ1MmVMWGlQQlI4MWhTcWEydUpRPQ0KKw0KK05hbWU6IGRhdGEvMzAvZnJhZ21lbnQvTUVUQS1JTkYvTUFOSUZFU1QuTUYNCitTSEExLURpZ2VzdDogSXJyL3kvSSt6ajlxaTFXODdnWU9UTUtkYlk0PQ0KKw0KK05hbWU6IGRhdGEvZW52LnByb3BlcnRpZXMNCitTSEExLURpZ2VzdDogZ0dqejVWR2NjZmFoNUhnYmgzMG5hOEZ1Y0tRPQ0KKw0KK05hbWU6IHRlbXBsYXRlcy9oZWFkbGVzcy1idWlsZC9jdXN0b21UYXJnZXRzLnhtbA0KK1NIQTEtRGlnZXN0OiB5c0trMzQ1WEx1L2VuNUpGS3NvdXVUVDY4L0U9DQorDQorTmFtZTogcGx1Z2luLnhtbA0KK1NIQTEtRGlnZXN0OiAzSmY1TGtWeEV6UVBTMjhIclQ2QXhPZ3FpbFU9DQorDQorTmFtZTogdGVtcGxhdGVzL3BsdWdpbnMvY3VzdG9tQnVpbGRDYWxsYmFja3MueG1sDQorU0hBMS1EaWdlc3Q6IExKNnBGVTQ5SFNJbDVzZ1JRRDNSamtMenJBQT0NCisNCitOYW1lOiB0ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvY3VzdG9tQXNzZW1ibHkueG1sDQorU0hBMS1EaWdlc3Q6IFlDbkcvaXJOT2lvMlRWTm5YUnFGcldzYlBkaz0NCisNCitOYW1lOiBNRVRBLUlORi9lY2xpcHNlLmluZg0KK1NIQTEtRGlnZXN0OiAzVkRFZnFPYlVJNDQ2NGdtdjhzOSttUTlKUU09DQorDQorTmFtZTogdGVtcGxhdGVzL3BhY2thZ2VyL3BhY2thZ2VyLnByb3BlcnRpZXMNCitTSEExLURpZ2VzdDogUm5GemkyVWxxWE9HQmpjVjM3Ymdqb041Q2xFPQ0KKw0KK05hbWU6IHNjcmlwdHMvcGFja2FnZS54bWwNCitTSEExLURpZ2VzdDogU1lBRUNmMmdTVXRtczRVUXYwQzVrRVIyOGZrPQ0KKw0KK05hbWU6IC5hcGlfZGVzY3JpcHRpb24NCitTSEExLURpZ2VzdDogL2Y1V250NGtyalBGcXYvRTJCTTZjc0daczRJPQ0KKw0KK05hbWU6IHRlbXBsYXRlcy9wYWNrYWdlci9wYWNrYWdpbmcucHJvcGVydGllcw0KK1NIQTEtRGlnZXN0OiBOM2QrTzVxMXhpSVlUVkVYZmYyZXlMT3NIUEU9DQorDQorTmFtZTogZGF0YS8zMC9mcmFnbWVudC9mcmFnbWVudC54bWwNCitTSEExLURpZ2VzdDogbHlDdkNQSmZnK3cyWGpHL1dTbExUOXJKbXhvPQ0KKw0KK05hbWU6IGFib3V0Lmh0bWwNCitTSEExLURpZ2VzdDogUFRZSTN3Q0ViZ2FkTG5DZUVxREZaTzJuMkJrPQ0KKw0KK05hbWU6IHRlbXBsYXRlcy9wYWNrYWdlci9jdXN0b21UYXJnZXRzLnhtbA0KK1NIQTEtRGlnZXN0OiBOZEFtVEFFSGtiV0xPUEpPUWo1OG5sZ2tnb0U9DQorDQorTmFtZTogZGF0YS8yMS9wbHVnaW4vcGx1Z2luLnhtbA0KK1NIQTEtRGlnZXN0OiBUanJHalYrZ0RpdjNwMW12akhPdC9kOHlPdjQ9DQorDQorTmFtZTogbGliL3BkZWJ1aWxkLWFudC5qYXINCitTSEExLURpZ2VzdDogN0tKYWNaWE0yYmx1ODlxR1ZBNEFHd3ByQXFjPQ0KKw0KK05hbWU6IC5vcHRpb25zDQorU0hBMS1EaWdlc3Q6IDVybVBzTEN6aGMzK2VFRW53cTU5dGJ4NytKTT0NCisNCitOYW1lOiBzY3JpcHRzL3Byb2R1Y3RCdWlsZC9wcm9kdWN0QnVpbGQueG1sDQorU0hBMS1EaWdlc3Q6IERWUi81Yjh2SENyUWxwRkNHMko4WFV2bWF5MD0NCisNCitOYW1lOiB0ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvYnVpbGQucHJvcGVydGllcw0KK1NIQTEtRGlnZXN0OiBnUVc1TEZpYlNzRGRUS0hiWG1QekFQTWE3VWs9DQorDQorTmFtZTogdGVtcGxhdGVzL2ZlYXR1cmVzL2N1c3RvbUJ1aWxkQ2FsbGJhY2tzLnhtbA0KK1NIQTEtRGlnZXN0OiBBbzU0L3E5M29RNDhidDJEcVhiZmxWcndMUmM9DQorDQorTmFtZTogc2NyaXB0cy9wcm9kdWN0QnVpbGQvYWxsRWxlbWVudHMueG1sDQorU0hBMS1EaWdlc3Q6IGJRbEcrTUh4dTJSQzhpdThteFRGYXJyTmlhOD0NCisNCitOYW1lOiBzY3JpcHRzL2dlbmVyaWNUYXJnZXRzLnhtbA0KK1NIQTEtRGlnZXN0OiBrRVZ0Vk9PWC9yaVd6TzdROVFaYmV5b1ZnZ009DQorDQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvTUVUQS1JTkYvZWNsaXBzZS5pbmYgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9NRVRBLUlORi9lY2xpcHNlLmluZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTQyYjRlCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvTUVUQS1JTkYvZWNsaXBzZS5pbmYKQEAgLTAsMCArMSwzIEBACisjUHJvY2Vzc2VkIHVzaW5nIEphcnByb2Nlc3NvcgoramFycHJvY2Vzc29yLmV4Y2x1ZGUuY2hpbGRyZW4gPSB0cnVlCitqYXJwcm9jZXNzb3IuZXhjbHVkZS5wYWNrID0gdHJ1ZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvYWJvdXQuaHRtbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2Fib3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWFjM2RhNwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2Fib3V0Lmh0bWwKQEAgLTAsMCArMSw2NiBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKKyAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiLz4KKzx0aXRsZT5BYm91dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keSBsYW5nPSJFTi1VUyI+Cis8aDI+QWJvdXQgVGhpcyBDb250ZW50PC9oMj4KKyAKKzxwPkZlYnJ1YXJ5IDA4LCAyMDA3PC9wPgkKKzxoMz5MaWNlbnNlPC9oMz4KKworPHA+VGhlIEVjbGlwc2UgRm91bmRhdGlvbiBtYWtlcyBhdmFpbGFibGUgYWxsIGNvbnRlbnQgaW4gdGhpcyBwbHVnLWluICgmcXVvdDtDb250ZW50JnF1b3Q7KS4gIFVubGVzcyBvdGhlcndpc2UgCitpbmRpY2F0ZWQgYmVsb3csIHRoZSBDb250ZW50IGlzIHByb3ZpZGVkIHRvIHlvdSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlCitFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wICgmcXVvdDtFUEwmcXVvdDspLiAgQSBjb3B5IG9mIHRoZSBFUEwgaXMgYXZhaWxhYmxlIAorYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sPC9hPi4KK0ZvciBwdXJwb3NlcyBvZiB0aGUgRVBMLCAmcXVvdDtQcm9ncmFtJnF1b3Q7IHdpbGwgbWVhbiB0aGUgQ29udGVudC48L3A+CisKKzxwPklmIHlvdSBkaWQgbm90IHJlY2VpdmUgdGhpcyBDb250ZW50IGRpcmVjdGx5IGZyb20gdGhlIEVjbGlwc2UgRm91bmRhdGlvbiwgdGhlIENvbnRlbnQgaXMgCitiZWluZyByZWRpc3RyaWJ1dGVkIGJ5IGFub3RoZXIgcGFydHkgKCZxdW90O1JlZGlzdHJpYnV0b3ImcXVvdDspIGFuZCBkaWZmZXJlbnQgdGVybXMgYW5kIGNvbmRpdGlvbnMgbWF5CithcHBseSB0byB5b3VyIHVzZSBvZiBhbnkgb2JqZWN0IGNvZGUgaW4gdGhlIENvbnRlbnQuICBDaGVjayB0aGUgUmVkaXN0cmlidXRvcidzIGxpY2Vuc2UgdGhhdCB3YXMgCitwcm92aWRlZCB3aXRoIHRoZSBDb250ZW50LiAgSWYgbm8gc3VjaCBsaWNlbnNlIGV4aXN0cywgY29udGFjdCB0aGUgUmVkaXN0cmlidXRvci4gIFVubGVzcyBvdGhlcndpc2UKK2luZGljYXRlZCBiZWxvdywgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBFUEwgc3RpbGwgYXBwbHkgdG8gYW55IHNvdXJjZSBjb2RlIGluIHRoZSBDb250ZW50CithbmQgc3VjaCBzb3VyY2UgY29kZSBtYXkgYmUgb2J0YWluZWQgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZyI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZzwvYT4uPC9wPgorCis8aDM+VGhpcmQgUGFydHkgQ29udGVudDwvaDM+CisKKzxwPlRoZSBDb250ZW50IGluY2x1ZGVzIGl0ZW1zIHRoYXQgaGF2ZSBiZWVuIHNvdXJjZWQgZnJvbSB0aGlyZCBwYXJ0aWVzIGFzIHNldCBvdXQgYmVsb3cuIElmIHlvdSAKK2RpZCBub3QgcmVjZWl2ZSB0aGlzIENvbnRlbnQgZGlyZWN0bHkgZnJvbSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uLCB0aGUgZm9sbG93aW5nIGlzIHByb3ZpZGVkIAorZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSwgYW5kIHlvdSBzaG91bGQgbG9vayB0byB0aGUgUmVkaXN0cmlidXRvciZyc3F1bztzIGxpY2Vuc2UgZm9yIAordGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNlLjwvcD4KKworPGg0Pk9TR2kgTWF0ZXJpYWxzPC9oND4KKworPHA+VGhlIGZvbGxvd2luZyBmaWxlOjwvcD4KKworPHVsPgorCTxsaT5vcmcvb3NnaS9mcmFtZXdvcmsvVmVyc2lvbjwvbGk+Cis8L3VsPgorCis8cD5zaGFsbCBiZSBkZWZpbmVkIGFzIGEgc3Vic2V0IG9mIHRoZSAmcXVvdDtPU0dpIE1hdGVyaWFscy4mcXVvdDsgIFRoZSBPU0dpIE1hdGVyaWFscyBhcmU6PC9wPgorCis8YmxvY2txdW90ZT4KK0NvcHlyaWdodCAoYykgMjAwMCwgMjAwNgorPGJyIC8+PGJyIC8+CitPU0dpIEFsbGlhbmNlCitCaXNob3AgUmFuY2ggNjxici8+CisyNDAwIENhbWlubyBSYW1vbiwgU3VpdGUgMzc1PGJyLz4KK1NhbiBSYW1vbiwgQ0EgOTQ1ODMgVVNBCis8YnIgLz48YnIgLz4KK0FsbCBSaWdodHMgUmVzZXJ2ZWQuCis8L2Jsb2NrcXVvdGU+CisKKzxwPlRoZSBPU0dpIE1hdGVyaWFscyBhcmUgcHJvdmlkZWQgdG8geW91IHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLiAgQSBjb3B5IG9mIHRoZSBsaWNlbnNlIGlzIGNvbnRhaW5lZAoraW4gdGhlIGZpbGUgPGEgaHJlZj0iYWJvdXRfZmlsZXMvTElDRU5TRS0yLjAudHh0IiB0YXJnZXQ9Il9ibGFuayI+TElDRU5TRS0yLjAudHh0PC9hPiBhbmQgaXMgYWxzbyBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wLmh0bWwiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAuaHRtbDwvYT4uPC9wPgorCis8cD5JbXBsZW1lbnRhdGlvbiBvZiBjZXJ0YWluIGVsZW1lbnRzIG9mIHRoZSBPU0dpIE1hdGVyaWFscyBtYXkgYmUgc3ViamVjdCB0byB0aGlyZCBwYXJ0eSBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uLCBwYXRlbnQgcmlnaHRzIChzdWNoIGEgdGhpcmQgcGFydHkgbWF5CitvciBtYXkgbm90IGJlIGEgbWVtYmVyIG9mIHRoZSBPU0dpIEFsbGlhbmNlKS4gIFRoZSBPU0dpIEFsbGlhbmNlIGFuZCBpdHMgbWVtYmVycyBhcmUgbm90IHJlc3BvbnNpYmxlIGFuZCBzaGFsbCBub3QgYmUgaGVsZCByZXNwb25zaWJsZSBpbiBhbnkgbWFubmVyIGZvciBpZGVudGlmeWluZyBvciBmYWlsaW5nIHRvIGlkZW50aWZ5IGFueSBvciBhbGwgc3VjaCB0aGlyZCBwYXJ0eQoraW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cy48L3A+CisKKzxzbWFsbD5PU0dpJnRyYWRlOyBpcyBhIHRyYWRlbWFyaywgcmVnaXN0ZXJlZCB0cmFkZW1hcmssIG9yIHNlcnZpY2UgbWFyayBvZiBUaGUgT1NHaSBBbGxpYW5jZSBpbiB0aGUgVVMgYW5kIG90aGVyIGNvdW50cmllcy4gSmF2YSBpcyBhIHRyYWRlbWFyaywKK3JlZ2lzdGVyZWQgdHJhZGVtYXJrLCBvciBzZXJ2aWNlIG1hcmsgb2YgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBpbiB0aGUgVVMgYW5kIG90aGVyIGNvdW50cmllcy4gQWxsIG90aGVyIHRyYWRlbWFya3MsIHJlZ2lzdGVyZWQgdHJhZGVtYXJrcywgb3IKK3NlcnZpY2UgbWFya3MgdXNlZCBpbiB0aGUgQ29udGVudCBhcmUgdGhlIHByb3BlcnR5IG9mIHRoZWlyIHJlc3BlY3RpdmUgb3duZXJzIGFuZCBhcmUgaGVyZWJ5IHJlY29nbml6ZWQuPC9zbWFsbD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9hYm91dF9maWxlcy9MSUNFTlNFLTIuMC50eHQgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9hYm91dF9maWxlcy9MSUNFTlNFLTIuMC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY0NTY5NQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2Fib3V0X2ZpbGVzL0xJQ0VOU0UtMi4wLnR4dApAQCAtMCwwICsxLDIwMiBAQAorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcGFjaGUgTGljZW5zZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLjAsIEphbnVhcnkgMjAwNAorICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLworCisgICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgVVNFLCBSRVBST0RVQ1RJT04sIEFORCBESVNUUklCVVRJT04KKworICAgMS4gRGVmaW5pdGlvbnMuCisKKyAgICAgICJMaWNlbnNlIiBzaGFsbCBtZWFuIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sCisgICAgICBhbmQgZGlzdHJpYnV0aW9uIGFzIGRlZmluZWQgYnkgU2VjdGlvbnMgMSB0aHJvdWdoIDkgb2YgdGhpcyBkb2N1bWVudC4KKworICAgICAgIkxpY2Vuc29yIiBzaGFsbCBtZWFuIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgZW50aXR5IGF1dGhvcml6ZWQgYnkKKyAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIgdGhhdCBpcyBncmFudGluZyB0aGUgTGljZW5zZS4KKworICAgICAgIkxlZ2FsIEVudGl0eSIgc2hhbGwgbWVhbiB0aGUgdW5pb24gb2YgdGhlIGFjdGluZyBlbnRpdHkgYW5kIGFsbAorICAgICAgb3RoZXIgZW50aXRpZXMgdGhhdCBjb250cm9sLCBhcmUgY29udHJvbGxlZCBieSwgb3IgYXJlIHVuZGVyIGNvbW1vbgorICAgICAgY29udHJvbCB3aXRoIHRoYXQgZW50aXR5LiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwKKyAgICAgICJjb250cm9sIiBtZWFucyAoaSkgdGhlIHBvd2VyLCBkaXJlY3Qgb3IgaW5kaXJlY3QsIHRvIGNhdXNlIHRoZQorICAgICAgZGlyZWN0aW9uIG9yIG1hbmFnZW1lbnQgb2Ygc3VjaCBlbnRpdHksIHdoZXRoZXIgYnkgY29udHJhY3Qgb3IKKyAgICAgIG90aGVyd2lzZSwgb3IgKGlpKSBvd25lcnNoaXAgb2YgZmlmdHkgcGVyY2VudCAoNTAlKSBvciBtb3JlIG9mIHRoZQorICAgICAgb3V0c3RhbmRpbmcgc2hhcmVzLCBvciAoaWlpKSBiZW5lZmljaWFsIG93bmVyc2hpcCBvZiBzdWNoIGVudGl0eS4KKworICAgICAgIllvdSIgKG9yICJZb3VyIikgc2hhbGwgbWVhbiBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eQorICAgICAgZXhlcmNpc2luZyBwZXJtaXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4KKworICAgICAgIlNvdXJjZSIgZm9ybSBzaGFsbCBtZWFuIHRoZSBwcmVmZXJyZWQgZm9ybSBmb3IgbWFraW5nIG1vZGlmaWNhdGlvbnMsCisgICAgICBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVudGF0aW9uCisgICAgICBzb3VyY2UsIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzLgorCisgICAgICAiT2JqZWN0IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbAorICAgICAgdHJhbnNmb3JtYXRpb24gb3IgdHJhbnNsYXRpb24gb2YgYSBTb3VyY2UgZm9ybSwgaW5jbHVkaW5nIGJ1dAorICAgICAgbm90IGxpbWl0ZWQgdG8gY29tcGlsZWQgb2JqZWN0IGNvZGUsIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uLAorICAgICAgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLgorCisgICAgICAiV29yayIgc2hhbGwgbWVhbiB0aGUgd29yayBvZiBhdXRob3JzaGlwLCB3aGV0aGVyIGluIFNvdXJjZSBvcgorICAgICAgT2JqZWN0IGZvcm0sIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBhcyBpbmRpY2F0ZWQgYnkgYQorICAgICAgY29weXJpZ2h0IG5vdGljZSB0aGF0IGlzIGluY2x1ZGVkIGluIG9yIGF0dGFjaGVkIHRvIHRoZSB3b3JrCisgICAgICAoYW4gZXhhbXBsZSBpcyBwcm92aWRlZCBpbiB0aGUgQXBwZW5kaXggYmVsb3cpLgorCisgICAgICAiRGVyaXZhdGl2ZSBXb3JrcyIgc2hhbGwgbWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2Ugb3IgT2JqZWN0CisgICAgICBmb3JtLCB0aGF0IGlzIGJhc2VkIG9uIChvciBkZXJpdmVkIGZyb20pIHRoZSBXb3JrIGFuZCBmb3Igd2hpY2ggdGhlCisgICAgICBlZGl0b3JpYWwgcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2RpZmljYXRpb25zCisgICAgICByZXByZXNlbnQsIGFzIGEgd2hvbGUsIGFuIG9yaWdpbmFsIHdvcmsgb2YgYXV0aG9yc2hpcC4gRm9yIHRoZSBwdXJwb3NlcworICAgICAgb2YgdGhpcyBMaWNlbnNlLCBEZXJpdmF0aXZlIFdvcmtzIHNoYWxsIG5vdCBpbmNsdWRlIHdvcmtzIHRoYXQgcmVtYWluCisgICAgICBzZXBhcmFibGUgZnJvbSwgb3IgbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMgb2YsCisgICAgICB0aGUgV29yayBhbmQgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLgorCisgICAgICAiQ29udHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZworICAgICAgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhlIFdvcmsgYW5kIGFueSBtb2RpZmljYXRpb25zIG9yIGFkZGl0aW9ucworICAgICAgdG8gdGhhdCBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgdGhhdCBpcyBpbnRlbnRpb25hbGx5CisgICAgICBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyCisgICAgICBvciBieSBhbiBpbmRpdmlkdWFsIG9yIExlZ2FsIEVudGl0eSBhdXRob3JpemVkIHRvIHN1Ym1pdCBvbiBiZWhhbGYgb2YKKyAgICAgIHRoZSBjb3B5cmlnaHQgb3duZXIuIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAic3VibWl0dGVkIgorICAgICAgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywgdmVyYmFsLCBvciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudAorICAgICAgdG8gdGhlIExpY2Vuc29yIG9yIGl0cyByZXByZXNlbnRhdGl2ZXMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8KKyAgICAgIGNvbW11bmljYXRpb24gb24gZWxlY3Ryb25pYyBtYWlsaW5nIGxpc3RzLCBzb3VyY2UgY29kZSBjb250cm9sIHN5c3RlbXMsCisgICAgICBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0IGFyZSBtYW5hZ2VkIGJ5LCBvciBvbiBiZWhhbGYgb2YsIHRoZQorICAgICAgTGljZW5zb3IgZm9yIHRoZSBwdXJwb3NlIG9mIGRpc2N1c3NpbmcgYW5kIGltcHJvdmluZyB0aGUgV29yaywgYnV0CisgICAgICBleGNsdWRpbmcgY29tbXVuaWNhdGlvbiB0aGF0IGlzIGNvbnNwaWN1b3VzbHkgbWFya2VkIG9yIG90aGVyd2lzZQorICAgICAgZGVzaWduYXRlZCBpbiB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgIk5vdCBhIENvbnRyaWJ1dGlvbi4iCisKKyAgICAgICJDb250cmlidXRvciIgc2hhbGwgbWVhbiBMaWNlbnNvciBhbmQgYW55IGluZGl2aWR1YWwgb3IgTGVnYWwgRW50aXR5CisgICAgICBvbiBiZWhhbGYgb2Ygd2hvbSBhIENvbnRyaWJ1dGlvbiBoYXMgYmVlbiByZWNlaXZlZCBieSBMaWNlbnNvciBhbmQKKyAgICAgIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrLgorCisgICAyLiBHcmFudCBvZiBDb3B5cmlnaHQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAgICAgIHRoaXMgTGljZW5zZSwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIHRvIFlvdSBhIHBlcnBldHVhbCwKKyAgICAgIHdvcmxkd2lkZSwgbm9uLWV4Y2x1c2l2ZSwgbm8tY2hhcmdlLCByb3lhbHR5LWZyZWUsIGlycmV2b2NhYmxlCisgICAgICBjb3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgRGVyaXZhdGl2ZSBXb3JrcyBvZiwKKyAgICAgIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIHN1YmxpY2Vuc2UsIGFuZCBkaXN0cmlidXRlIHRoZQorICAgICAgV29yayBhbmQgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybS4KKworICAgMy4gR3JhbnQgb2YgUGF0ZW50IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mCisgICAgICB0aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJwZXR1YWwsCisgICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZQorICAgICAgKGV4Y2VwdCBhcyBzdGF0ZWQgaW4gdGhpcyBzZWN0aW9uKSBwYXRlbnQgbGljZW5zZSB0byBtYWtlLCBoYXZlIG1hZGUsCisgICAgICB1c2UsIG9mZmVyIHRvIHNlbGwsIHNlbGwsIGltcG9ydCwgYW5kIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgV29yaywKKyAgICAgIHdoZXJlIHN1Y2ggbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gdGhvc2UgcGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlCisgICAgICBieSBzdWNoIENvbnRyaWJ1dG9yIHRoYXQgYXJlIG5lY2Vzc2FyaWx5IGluZnJpbmdlZCBieSB0aGVpcgorICAgICAgQ29udHJpYnV0aW9uKHMpIGFsb25lIG9yIGJ5IGNvbWJpbmF0aW9uIG9mIHRoZWlyIENvbnRyaWJ1dGlvbihzKQorICAgICAgd2l0aCB0aGUgV29yayB0byB3aGljaCBzdWNoIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJZiBZb3UKKyAgICAgIGluc3RpdHV0ZSBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhCisgICAgICBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxlZ2luZyB0aGF0IHRoZSBXb3JrCisgICAgICBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0ZWQgd2l0aGluIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdAorICAgICAgb3IgY29udHJpYnV0b3J5IHBhdGVudCBpbmZyaW5nZW1lbnQsIHRoZW4gYW55IHBhdGVudCBsaWNlbnNlcworICAgICAgZ3JhbnRlZCB0byBZb3UgdW5kZXIgdGhpcyBMaWNlbnNlIGZvciB0aGF0IFdvcmsgc2hhbGwgdGVybWluYXRlCisgICAgICBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuCisKKyAgIDQuIFJlZGlzdHJpYnV0aW9uLiBZb3UgbWF5IHJlcHJvZHVjZSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlCisgICAgICBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiBpbiBhbnkgbWVkaXVtLCB3aXRoIG9yIHdpdGhvdXQKKyAgICAgIG1vZGlmaWNhdGlvbnMsIGFuZCBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0sIHByb3ZpZGVkIHRoYXQgWW91CisgICAgICBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworICAgICAgKGEpIFlvdSBtdXN0IGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFdvcmsgb3IKKyAgICAgICAgICBEZXJpdmF0aXZlIFdvcmtzIGEgY29weSBvZiB0aGlzIExpY2Vuc2U7IGFuZAorCisgICAgICAoYikgWW91IG11c3QgY2F1c2UgYW55IG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCisgICAgICAgICAgc3RhdGluZyB0aGF0IFlvdSBjaGFuZ2VkIHRoZSBmaWxlczsgYW5kCisKKyAgICAgIChjKSBZb3UgbXVzdCByZXRhaW4sIGluIHRoZSBTb3VyY2UgZm9ybSBvZiBhbnkgRGVyaXZhdGl2ZSBXb3JrcworICAgICAgICAgIHRoYXQgWW91IGRpc3RyaWJ1dGUsIGFsbCBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJrLCBhbmQKKyAgICAgICAgICBhdHRyaWJ1dGlvbiBub3RpY2VzIGZyb20gdGhlIFNvdXJjZSBmb3JtIG9mIHRoZSBXb3JrLAorICAgICAgICAgIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90IHBlcnRhaW4gdG8gYW55IHBhcnQgb2YKKyAgICAgICAgICB0aGUgRGVyaXZhdGl2ZSBXb3JrczsgYW5kCisKKyAgICAgIChkKSBJZiB0aGUgV29yayBpbmNsdWRlcyBhICJOT1RJQ0UiIHRleHQgZmlsZSBhcyBwYXJ0IG9mIGl0cworICAgICAgICAgIGRpc3RyaWJ1dGlvbiwgdGhlbiBhbnkgRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlIG11c3QKKyAgICAgICAgICBpbmNsdWRlIGEgcmVhZGFibGUgY29weSBvZiB0aGUgYXR0cmlidXRpb24gbm90aWNlcyBjb250YWluZWQKKyAgICAgICAgICB3aXRoaW4gc3VjaCBOT1RJQ0UgZmlsZSwgZXhjbHVkaW5nIHRob3NlIG5vdGljZXMgdGhhdCBkbyBub3QKKyAgICAgICAgICBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtzLCBpbiBhdCBsZWFzdCBvbmUKKyAgICAgICAgICBvZiB0aGUgZm9sbG93aW5nIHBsYWNlczogd2l0aGluIGEgTk9USUNFIHRleHQgZmlsZSBkaXN0cmlidXRlZAorICAgICAgICAgIGFzIHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IHdpdGhpbiB0aGUgU291cmNlIGZvcm0gb3IKKyAgICAgICAgICBkb2N1bWVudGF0aW9uLCBpZiBwcm92aWRlZCBhbG9uZyB3aXRoIHRoZSBEZXJpdmF0aXZlIFdvcmtzOyBvciwKKyAgICAgICAgICB3aXRoaW4gYSBkaXNwbGF5IGdlbmVyYXRlZCBieSB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaWYgYW5kCisgICAgICAgICAgd2hlcmV2ZXIgc3VjaCB0aGlyZC1wYXJ0eSBub3RpY2VzIG5vcm1hbGx5IGFwcGVhci4gVGhlIGNvbnRlbnRzCisgICAgICAgICAgb2YgdGhlIE5PVElDRSBmaWxlIGFyZSBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5IGFuZAorICAgICAgICAgIGRvIG5vdCBtb2RpZnkgdGhlIExpY2Vuc2UuIFlvdSBtYXkgYWRkIFlvdXIgb3duIGF0dHJpYnV0aW9uCisgICAgICAgICAgbm90aWNlcyB3aXRoaW4gRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbG9uZ3NpZGUKKyAgICAgICAgICBvciBhcyBhbiBhZGRlbmR1bSB0byB0aGUgTk9USUNFIHRleHQgZnJvbSB0aGUgV29yaywgcHJvdmlkZWQKKyAgICAgICAgICB0aGF0IHN1Y2ggYWRkaXRpb25hbCBhdHRyaWJ1dGlvbiBub3RpY2VzIGNhbm5vdCBiZSBjb25zdHJ1ZWQKKyAgICAgICAgICBhcyBtb2RpZnlpbmcgdGhlIExpY2Vuc2UuCisKKyAgICAgIFlvdSBtYXkgYWRkIFlvdXIgb3duIGNvcHlyaWdodCBzdGF0ZW1lbnQgdG8gWW91ciBtb2RpZmljYXRpb25zIGFuZAorICAgICAgbWF5IHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5zZSB0ZXJtcyBhbmQgY29uZGl0aW9ucworICAgICAgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLCBvciBkaXN0cmlidXRpb24gb2YgWW91ciBtb2RpZmljYXRpb25zLCBvcgorICAgICAgZm9yIGFueSBzdWNoIERlcml2YXRpdmUgV29ya3MgYXMgYSB3aG9sZSwgcHJvdmlkZWQgWW91ciB1c2UsCisgICAgICByZXByb2R1Y3Rpb24sIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBsaWVzIHdpdGgKKyAgICAgIHRoZSBjb25kaXRpb25zIHN0YXRlZCBpbiB0aGlzIExpY2Vuc2UuCisKKyAgIDUuIFN1Ym1pc3Npb24gb2YgQ29udHJpYnV0aW9ucy4gVW5sZXNzIFlvdSBleHBsaWNpdGx5IHN0YXRlIG90aGVyd2lzZSwKKyAgICAgIGFueSBDb250cmlidXRpb24gaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yaworICAgICAgYnkgWW91IHRvIHRoZSBMaWNlbnNvciBzaGFsbCBiZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YKKyAgICAgIHRoaXMgTGljZW5zZSwgd2l0aG91dCBhbnkgYWRkaXRpb25hbCB0ZXJtcyBvciBjb25kaXRpb25zLgorICAgICAgTm90d2l0aHN0YW5kaW5nIHRoZSBhYm92ZSwgbm90aGluZyBoZXJlaW4gc2hhbGwgc3VwZXJzZWRlIG9yIG1vZGlmeQorICAgICAgdGhlIHRlcm1zIG9mIGFueSBzZXBhcmF0ZSBsaWNlbnNlIGFncmVlbWVudCB5b3UgbWF5IGhhdmUgZXhlY3V0ZWQKKyAgICAgIHdpdGggTGljZW5zb3IgcmVnYXJkaW5nIHN1Y2ggQ29udHJpYnV0aW9ucy4KKworICAgNi4gVHJhZGVtYXJrcy4gVGhpcyBMaWNlbnNlIGRvZXMgbm90IGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIHRoZSB0cmFkZQorICAgICAgbmFtZXMsIHRyYWRlbWFya3MsIHNlcnZpY2UgbWFya3MsIG9yIHByb2R1Y3QgbmFtZXMgb2YgdGhlIExpY2Vuc29yLAorICAgICAgZXhjZXB0IGFzIHJlcXVpcmVkIGZvciByZWFzb25hYmxlIGFuZCBjdXN0b21hcnkgdXNlIGluIGRlc2NyaWJpbmcgdGhlCisgICAgICBvcmlnaW4gb2YgdGhlIFdvcmsgYW5kIHJlcHJvZHVjaW5nIHRoZSBjb250ZW50IG9mIHRoZSBOT1RJQ0UgZmlsZS4KKworICAgNy4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yCisgICAgICBhZ3JlZWQgdG8gaW4gd3JpdGluZywgTGljZW5zb3IgcHJvdmlkZXMgdGhlIFdvcmsgKGFuZCBlYWNoCisgICAgICBDb250cmlidXRvciBwcm92aWRlcyBpdHMgQ29udHJpYnV0aW9ucykgb24gYW4gIkFTIElTIiBCQVNJUywKKyAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvcgorICAgICAgaW1wbGllZCwgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIGFueSB3YXJyYW50aWVzIG9yIGNvbmRpdGlvbnMKKyAgICAgIG9mIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFksIG9yIEZJVE5FU1MgRk9SIEEKKyAgICAgIFBBUlRJQ1VMQVIgUFVSUE9TRS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZQorICAgICAgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIG9yIHJlZGlzdHJpYnV0aW5nIHRoZSBXb3JrIGFuZCBhc3N1bWUgYW55CisgICAgICByaXNrcyBhc3NvY2lhdGVkIHdpdGggWW91ciBleGVyY2lzZSBvZiBwZXJtaXNzaW9ucyB1bmRlciB0aGlzIExpY2Vuc2UuCisKKyAgIDguIExpbWl0YXRpb24gb2YgTGlhYmlsaXR5LiBJbiBubyBldmVudCBhbmQgdW5kZXIgbm8gbGVnYWwgdGhlb3J5LAorICAgICAgd2hldGhlciBpbiB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSksIGNvbnRyYWN0LCBvciBvdGhlcndpc2UsCisgICAgICB1bmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgKHN1Y2ggYXMgZGVsaWJlcmF0ZSBhbmQgZ3Jvc3NseQorICAgICAgbmVnbGlnZW50IGFjdHMpIG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzaGFsbCBhbnkgQ29udHJpYnV0b3IgYmUKKyAgICAgIGxpYWJsZSB0byBZb3UgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBhbnkgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwKKyAgICAgIGluY2lkZW50YWwsIG9yIGNvbnNlcXVlbnRpYWwgZGFtYWdlcyBvZiBhbnkgY2hhcmFjdGVyIGFyaXNpbmcgYXMgYQorICAgICAgcmVzdWx0IG9mIHRoaXMgTGljZW5zZSBvciBvdXQgb2YgdGhlIHVzZSBvciBpbmFiaWxpdHkgdG8gdXNlIHRoZQorICAgICAgV29yayAoaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBkYW1hZ2VzIGZvciBsb3NzIG9mIGdvb2R3aWxsLAorICAgICAgd29yayBzdG9wcGFnZSwgY29tcHV0ZXIgZmFpbHVyZSBvciBtYWxmdW5jdGlvbiwgb3IgYW55IGFuZCBhbGwKKyAgICAgIG90aGVyIGNvbW1lcmNpYWwgZGFtYWdlcyBvciBsb3NzZXMpLCBldmVuIGlmIHN1Y2ggQ29udHJpYnV0b3IKKyAgICAgIGhhcyBiZWVuIGFkdmlzZWQgb2YgdGhlIHBvc3NpYmlsaXR5IG9mIHN1Y2ggZGFtYWdlcy4KKworICAgOS4gQWNjZXB0aW5nIFdhcnJhbnR5IG9yIEFkZGl0aW9uYWwgTGlhYmlsaXR5LiBXaGlsZSByZWRpc3RyaWJ1dGluZworICAgICAgdGhlIFdvcmsgb3IgRGVyaXZhdGl2ZSBXb3JrcyB0aGVyZW9mLCBZb3UgbWF5IGNob29zZSB0byBvZmZlciwKKyAgICAgIGFuZCBjaGFyZ2UgYSBmZWUgZm9yLCBhY2NlcHRhbmNlIG9mIHN1cHBvcnQsIHdhcnJhbnR5LCBpbmRlbW5pdHksCisgICAgICBvciBvdGhlciBsaWFiaWxpdHkgb2JsaWdhdGlvbnMgYW5kL29yIHJpZ2h0cyBjb25zaXN0ZW50IHdpdGggdGhpcworICAgICAgTGljZW5zZS4gSG93ZXZlciwgaW4gYWNjZXB0aW5nIHN1Y2ggb2JsaWdhdGlvbnMsIFlvdSBtYXkgYWN0IG9ubHkKKyAgICAgIG9uIFlvdXIgb3duIGJlaGFsZiBhbmQgb24gWW91ciBzb2xlIHJlc3BvbnNpYmlsaXR5LCBub3Qgb24gYmVoYWxmCisgICAgICBvZiBhbnkgb3RoZXIgQ29udHJpYnV0b3IsIGFuZCBvbmx5IGlmIFlvdSBhZ3JlZSB0byBpbmRlbW5pZnksCisgICAgICBkZWZlbmQsIGFuZCBob2xkIGVhY2ggQ29udHJpYnV0b3IgaGFybWxlc3MgZm9yIGFueSBsaWFiaWxpdHkKKyAgICAgIGluY3VycmVkIGJ5LCBvciBjbGFpbXMgYXNzZXJ0ZWQgYWdhaW5zdCwgc3VjaCBDb250cmlidXRvciBieSByZWFzb24KKyAgICAgIG9mIHlvdXIgYWNjZXB0aW5nIGFueSBzdWNoIHdhcnJhbnR5IG9yIGFkZGl0aW9uYWwgbGlhYmlsaXR5LgorCisgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKKworICAgQVBQRU5ESVg6IEhvdyB0byBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLgorCisgICAgICBUbyBhcHBseSB0aGUgQXBhY2hlIExpY2Vuc2UgdG8geW91ciB3b3JrLCBhdHRhY2ggdGhlIGZvbGxvd2luZworICAgICAgYm9pbGVycGxhdGUgbm90aWNlLCB3aXRoIHRoZSBmaWVsZHMgZW5jbG9zZWQgYnkgYnJhY2tldHMgIltdIgorICAgICAgcmVwbGFjZWQgd2l0aCB5b3VyIG93biBpZGVudGlmeWluZyBpbmZvcm1hdGlvbi4gKERvbid0IGluY2x1ZGUKKyAgICAgIHRoZSBicmFja2V0cyEpICBUaGUgdGV4dCBzaG91bGQgYmUgZW5jbG9zZWQgaW4gdGhlIGFwcHJvcHJpYXRlCisgICAgICBjb21tZW50IHN5bnRheCBmb3IgdGhlIGZpbGUgZm9ybWF0LiBXZSBhbHNvIHJlY29tbWVuZCB0aGF0IGEKKyAgICAgIGZpbGUgb3IgY2xhc3MgbmFtZSBhbmQgZGVzY3JpcHRpb24gb2YgcHVycG9zZSBiZSBpbmNsdWRlZCBvbiB0aGUKKyAgICAgIHNhbWUgInByaW50ZWQgcGFnZSIgYXMgdGhlIGNvcHlyaWdodCBub3RpY2UgZm9yIGVhc2llcgorICAgICAgaWRlbnRpZmljYXRpb24gd2l0aGluIHRoaXJkLXBhcnR5IGFyY2hpdmVzLgorCisgICBDb3B5cmlnaHQgW3l5eXldIFtuYW1lIG9mIGNvcHlyaWdodCBvd25lcl0KKworICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKworICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorCisgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2RhdGEvMjEvZnJhZ21lbnQvZnJhZ21lbnQueG1sIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvZGF0YS8yMS9mcmFnbWVudC9mcmFnbWVudC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODgyNWU1ZAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2RhdGEvMjEvZnJhZ21lbnQvZnJhZ21lbnQueG1sCkBAIC0wLDAgKzEsMTQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8ZnJhZ21lbnQKKyAgIGlkPSJGUkFHTUVOVF9JRCIKKyAgIG5hbWU9IiVwbHVnaW5OYW1lIgorICAgdmVyc2lvbj0iRlJBR01FTlRfVkVSU0lPTiIKKyAgIHByb3ZpZGVyLW5hbWU9IiVwcm92aWRlck5hbWUiCisgICBwbHVnaW4taWQ9IlBMVUdJTl9JRCIKKyAgIHBsdWdpbi12ZXJzaW9uPSJQTFVHSU5fVkVSU0lPTiI+CisKKyAgPGV4dGVuc2lvbiBwb2ludCA9ICJvcmcuZWNsaXBzZS5wZGUuY29yZS5zb3VyY2UiPgorICAgICA8bG9jYXRpb24gcGF0aD0ic3JjIiAvPgorICA8L2V4dGVuc2lvbj4KKworPC9mcmFnbWVudD4KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2RhdGEvMjEvcGx1Z2luL3BsdWdpbi54bWwgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9kYXRhLzIxL3BsdWdpbi9wbHVnaW4ueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmZmRhNzgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9kYXRhLzIxL3BsdWdpbi9wbHVnaW4ueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8cGx1Z2luCisgIG5hbWU9IiVwbHVnaW5OYW1lIgorICBpZD0iUExVR0lOX0lEIgorICB2ZXJzaW9uPSJQTFVHSU5fVkVSU0lPTiIKKyAgcHJvdmlkZXItbmFtZT0iJXByb3ZpZGVyTmFtZSI+CisgIAorICA8ZXh0ZW5zaW9uIHBvaW50ID0gIm9yZy5lY2xpcHNlLnBkZS5jb3JlLnNvdXJjZSI+CisgICAgIDxsb2NhdGlvbiBwYXRoPSJzcmMiIC8+CisgIDwvZXh0ZW5zaW9uPgorICAKKzwvcGx1Z2luPgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvZGF0YS8zMC9mcmFnbWVudC9NRVRBLUlORi9NQU5JRkVTVC5NRiBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2RhdGEvMzAvZnJhZ21lbnQvTUVUQS1JTkYvTUFOSUZFU1QuTUYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhhMGIyMwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2RhdGEvMzAvZnJhZ21lbnQvTUVUQS1JTkYvTUFOSUZFU1QuTUYKQEAgLTAsMCArMSw4IEBACitNYW5pZmVzdC1WZXJzaW9uOiAxLjAKK0J1bmRsZS1OYW1lOiAlcGx1Z2luTmFtZQorQnVuZGxlLVN5bWJvbGljTmFtZTogRlJBR01FTlRfSUQ7IHNpbmdsZXRvbj10cnVlCitCdW5kbGUtVmVyc2lvbjogRlJBR01FTlRfVkVSU0lPTgorRnJhZ21lbnQtSG9zdDogUExVR0lOX0lEO2J1bmRsZS12ZXJzaW9uPSJQTFVHSU5fVkVSU0lPTiIKK0J1bmRsZS1Mb2NhbGl6YXRpb246IHBsdWdpbgorQnVuZGxlLVZlbmRvcjogJXByb3ZpZGVyTmFtZQorRWNsaXBzZS1QbGF0Zm9ybUZpbHRlcjogUExBVEZPUk1fRklMVEVSCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9kYXRhLzMwL2ZyYWdtZW50L2ZyYWdtZW50LnhtbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2RhdGEvMzAvZnJhZ21lbnQvZnJhZ21lbnQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiZjQ5MDUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9kYXRhLzMwL2ZyYWdtZW50L2ZyYWdtZW50LnhtbApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8P2VjbGlwc2UgdmVyc2lvbj0iMy4wIj8+Cis8ZnJhZ21lbnQ+CisKKyAgPGV4dGVuc2lvbiBwb2ludCA9ICJvcmcuZWNsaXBzZS5wZGUuY29yZS5zb3VyY2UiPgorICAgICA8bG9jYXRpb24gcGF0aD0ic3JjIiAvPgorICA8L2V4dGVuc2lvbj4KKworPC9mcmFnbWVudD4KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2RhdGEvMzAvcGx1Z2luL01FVEEtSU5GL01BTklGRVNULk1GIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvZGF0YS8zMC9wbHVnaW4vTUVUQS1JTkYvTUFOSUZFU1QuTUYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhjODZmOQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2RhdGEvMzAvcGx1Z2luL01FVEEtSU5GL01BTklGRVNULk1GCkBAIC0wLDAgKzEsNiBAQAorTWFuaWZlc3QtVmVyc2lvbjogMS4wCitCdW5kbGUtTmFtZTogJXBsdWdpbk5hbWUKK0J1bmRsZS1TeW1ib2xpY05hbWU6IFBMVUdJTl9JRDsgc2luZ2xldG9uPXRydWUKK0J1bmRsZS1WZXJzaW9uOiBQTFVHSU5fVkVSU0lPTgorQnVuZGxlLUxvY2FsaXphdGlvbjogcGx1Z2luCitCdW5kbGUtVmVuZG9yOiAlcHJvdmlkZXJOYW1lCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9kYXRhLzMwL3BsdWdpbi9wbHVnaW4ueG1sIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvZGF0YS8zMC9wbHVnaW4vcGx1Z2luLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjY1NzY0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvZGF0YS8zMC9wbHVnaW4vcGx1Z2luLnhtbApAQCAtMCwwICsxLDkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8P2VjbGlwc2UgdmVyc2lvbj0iMy4wIj8+Cis8cGx1Z2luPgorICAKKyAgPGV4dGVuc2lvbiBwb2ludCA9ICJvcmcuZWNsaXBzZS5wZGUuY29yZS5zb3VyY2UiPgorICAgICA8bG9jYXRpb24gcGF0aD0ic3JjIiAvPgorICA8L2V4dGVuc2lvbj4KKyAgCis8L3BsdWdpbj4KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL2RhdGEvZW52LnByb3BlcnRpZXMgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9kYXRhL2Vudi5wcm9wZXJ0aWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4Nzk5ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9kYXRhL2Vudi5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEsNjMgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQ29weXJpZ2h0IChjKSAyMDA2LCAyMDEwIElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCisjIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAorIyB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorIworIyBDb250cmlidXRvcnM6CisjICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0NEQy0xLjAvRm91bmRhdGlvbi0xLjAuamF2YWNTb3VyY2U9MS4zCitDREMtMS4wL0ZvdW5kYXRpb24tMS4wLmphdmFjVGFyZ2V0PTEuMQorCitDREMtMS4xL0ZvdW5kYXRpb24tMS4xLmphdmFjU291cmNlPTEuMworQ0RDLTEuMS9Gb3VuZGF0aW9uLTEuMS5qYXZhY1RhcmdldD0xLjIKKworT1NHaS9NaW5pbXVtLTEuMC5qYXZhY1NvdXJjZT0xLjMKK09TR2kvTWluaW11bS0xLjAuamF2YWNUYXJnZXQ9MS4xCisKK09TR2kvTWluaW11bS0xLjEuamF2YWNTb3VyY2U9MS4zCitPU0dpL01pbmltdW0tMS4xLmphdmFjVGFyZ2V0PTEuMgorCitPU0dpL01pbmltdW0tMS4yLmphdmFjU291cmNlPTEuMworT1NHaS9NaW5pbXVtLTEuMi5qYXZhY1RhcmdldD0xLjIKKworSlJFLTEuMS5qYXZhY1NvdXJjZT0xLjEKK0pSRS0xLjEuamF2YWNUYXJnZXQ9MS4xCisKK0oyU0UtMS4yLmphdmFjU291cmNlPTEuMgorSjJTRS0xLjIuamF2YWNUYXJnZXQ9MS4xCisKK0oyU0UtMS4zLmphdmFjU291cmNlPTEuMworSjJTRS0xLjMuamF2YWNUYXJnZXQ9MS4xCisKK0oyU0UtMS40LmphdmFjU291cmNlPTEuMworSjJTRS0xLjQuamF2YWNUYXJnZXQ9MS4yCisKK0oyU0UtMS41LmphdmFjU291cmNlPTEuNQorSjJTRS0xLjUuamF2YWNUYXJnZXQ9MS41CisKK0phdmFTRS0xLjYuamF2YWNTb3VyY2U9MS42CitKYXZhU0UtMS42LmphdmFjVGFyZ2V0PTEuNgorCitKYXZhU0UtMS43LmphdmFjU291cmNlPTEuNworSmF2YVNFLTEuNy5qYXZhY1RhcmdldD0xLjcKKworUGVyc29uYWxKYXZhLTEuMS5qYXZhY1NvdXJjZT0xLjEKK1BlcnNvbmFsSmF2YS0xLjEuamF2YWNUYXJnZXQ9MS4xCisKK1BlcnNvbmFsSmF2YS0xLjIuamF2YWNTb3VyY2U9MS4xCitQZXJzb25hbEphdmEtMS4yLmphdmFjVGFyZ2V0PTEuMQorCitDREMtMS4wL1BlcnNvbmFsQmFzaXMtMS4wLmphdmFjU291cmNlPTEuMworQ0RDLTEuMC9QZXJzb25hbEJhc2lzLTEuMC5qYXZhY1RhcmdldD0xLjEKKworQ0RDLTEuMC9QZXJzb25hbEphdmEtMS4wLmphdmFjU291cmNlPTEuMworQ0RDLTEuMC9QZXJzb25hbEphdmEtMS4wLmphdmFjVGFyZ2V0PTEuMQorCitDREMtMS4xL1BlcnNvbmFsQmFzaXMtMS4xLmphdmFjU291cmNlPTEuMworQ0RDLTEuMS9QZXJzb25hbEJhc2lzLTEuMS5qYXZhY1RhcmdldD0xLjIKKworQ0RDLTEuMS9QZXJzb25hbEphdmEtMS4xLmphdmFjU291cmNlPTEuMworQ0RDLTEuMS9QZXJzb25hbEphdmEtMS4xLmphdmFjVGFyZ2V0PTEuMgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvbGliL3BkZWJ1aWxkLWFudC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9saWIvcGRlYnVpbGQtYW50LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmM0ZmY1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvbGliL3BkZWJ1aWxkLWFudC5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvcGRlYnVpbGQuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvcGRlYnVpbGQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjOWU2ODQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9wZGVidWlsZC5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvcGx1Z2luLnByb3BlcnRpZXMgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9wbHVnaW4ucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTIxOGJjCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvcGx1Z2luLnByb3BlcnRpZXMKQEAgLTAsMCArMSwxNCBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDb3B5cmlnaHQgKGMpIDIwMDMsIDIwMDYgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKKyMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCisjIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisjIAorIyBDb250cmlidXRvcnM6CisjICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK3BsdWdpbk5hbWUgPSBQbHVnLWluIERldmVsb3BtZW50IEVudmlyb25tZW50IEJ1aWxkIFN1cHBvcnQKK3Byb3ZpZGVyTmFtZSA9IEVjbGlwc2Uub3JnCisKK2ZldGNoRmFjdG9yaWVzLm5hbWUgPSBGZXRjaCBTY3JpcHQgRmFjdG9yaWVzCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9wbHVnaW4ueG1sIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvcGx1Z2luLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjU4YzNmCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvcGx1Z2luLnhtbApAQCAtMCwwICsxLDE3NCBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzw/ZWNsaXBzZSB2ZXJzaW9uPSIzLjAiPz48IS0tCisgICAgQ29weXJpZ2h0IChjKSAyMDA1LCAyMDEwIElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgorICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKKyAgICBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKKyAgICB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAorICAgIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgICAKKyAgICBDb250cmlidXRvcnM6CisgICAgICAgIElCTSBDb3Jwb3JhdGlvbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgorIC0tPgorCis8cGx1Z2luPgorICAgPGV4dGVuc2lvbi1wb2ludCBpZD0iZmV0Y2hGYWN0b3JpZXMiIG5hbWU9IiVmZXRjaEZhY3Rvcmllcy5uYW1lIiBzY2hlbWE9InNjaGVtYS9mZXRjaEZhY3Rvcmllcy5leHNkIi8+Cis8IS0tIFRhc2tzIC0tPgorICAgPGV4dGVuc2lvbgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmFudC5jb3JlLmFudFRhc2tzIj4KKyAgICAgIDxhbnRUYXNrCisgICAgICAgICAgICBsaWJyYXJ5PSJsaWIvcGRlYnVpbGQtYW50LmphciIKKyAgICAgICAgICAgIG5hbWU9ImVjbGlwc2UuYnJhbmQiCisgICAgICAgICAgICBjbGFzcz0ib3JnLmVjbGlwc2UucGRlLmludGVybmFsLmJ1aWxkLnRhc2tzLkJyYW5kVGFzayI+CisgICAgICA8L2FudFRhc2s+CisgICAgICA8YW50VGFzaworICAgICAgCQlsaWJyYXJ5PSJsaWIvcGRlYnVpbGQtYW50LmphciIKKyAgICAgIAkJbmFtZT0iZWNsaXBzZS5icmFuZC5wMi5hcnRpZmFjdHMiCisgICAgICAJCWNsYXNzPSJvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQucHVibGlzaGVyLkJyYW5kUDJUYXNrIj4KKyAgICAgIDwvYW50VGFzaz4KKyAgICAgIDxhbnRUYXNrCisgICAgICAJCWxpYnJhcnk9ImxpYi9wZGVidWlsZC1hbnQuamFyIgorICAgICAgCQluYW1lPSJlY2xpcHNlLmdhdGhlckJ1bmRsZSIKKyAgICAgIAkJY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC5wdWJsaXNoZXIuR2F0aGVyQnVuZGxlVGFzayI+CisgICAgICA8L2FudFRhc2s+CisgICAgICA8YW50VGFzaworICAgICAgCQlsaWJyYXJ5PSJsaWIvcGRlYnVpbGQtYW50LmphciIKKyAgICAgIAkJbmFtZT0iZWNsaXBzZS5nYXRoZXJGZWF0dXJlIgorICAgICAgCQljbGFzcz0ib3JnLmVjbGlwc2UucGRlLmludGVybmFsLmJ1aWxkLnB1Ymxpc2hlci5HYXRoZXJGZWF0dXJlVGFzayI+CisgICAgICA8L2FudFRhc2s+CisgICAgICA8YW50VGFzaworICAgICAgICAgICAgbGlicmFyeT0ibGliL3BkZWJ1aWxkLWFudC5qYXIiCisgICAgICAgICAgICBuYW1lPSJlY2xpcHNlLmZldGNoIgorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC50YXNrcy5GZXRjaFRhc2siPgorICAgICAgPC9hbnRUYXNrPgorICAgICAgPGFudFRhc2sKKyAgICAgICAgICAgIGxpYnJhcnk9ImxpYi9wZGVidWlsZC1hbnQuamFyIgorICAgICAgICAgICAgbmFtZT0iZWNsaXBzZS5idWlsZFNjcmlwdCIKKyAgICAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQudGFza3MuQnVpbGRTY3JpcHRHZW5lcmF0b3JUYXNrIj4KKyAgICAgIDwvYW50VGFzaz4KKyAgICAgIDxhbnRUYXNrCisgICAgICAgICAgICBsaWJyYXJ5PSJsaWIvcGRlYnVpbGQtYW50LmphciIKKyAgICAgICAgICAgIG5hbWU9ImVjbGlwc2UuZ2VuZXJhdGVGZWF0dXJlIgorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC50YXNrcy5GZWF0dXJlR2VuZXJhdG9yVGFzayI+CisgICAgICA8L2FudFRhc2s+CisgICAgICA8YW50VGFzaworICAgICAgICAgICAgbGlicmFyeT0ibGliL3BkZWJ1aWxkLWFudC5qYXIiCisgICAgICAgICAgICBuYW1lPSJlY2xpcHNlLmJ1aWxkTWFuaWZlc3QiCisgICAgICAgICAgICBjbGFzcz0ib3JnLmVjbGlwc2UucGRlLmludGVybmFsLmJ1aWxkLnRhc2tzLkJ1aWxkTWFuaWZlc3RUYXNrIj4KKyAgICAgIDwvYW50VGFzaz4KKyAgICAgIDxhbnRUYXNrCisgICAgICAgICAgICBsaWJyYXJ5PSJsaWIvcGRlYnVpbGQtYW50LmphciIKKyAgICAgICAgICAgIG5hbWU9ImVjbGlwc2UuYXNzZW1ibGVyIgorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC50YXNrcy5QYWNrYWdlclRhc2siPgorICAgICAgPC9hbnRUYXNrPgorICAgICAgPGFudFRhc2sKKyAgICAgICAgICAgIGxpYnJhcnk9ImxpYi9wZGVidWlsZC1hbnQuamFyIgorICAgICAgICAgICAgbmFtZT0iZWNsaXBzZS5pZFJlcGxhY2VyIgorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC50YXNrcy5JZFJlcGxhY2VUYXNrIj4KKyAgICAgIDwvYW50VGFzaz4KKyAgICAgIDxhbnRUYXNrCisgICAgICAgICAgICBsaWJyYXJ5PSJsaWIvcGRlYnVpbGQtYW50LmphciIKKyAgICAgICAgICAgIG5hbWU9ImVjbGlwc2UubGljZW5zZVJlcGxhY2VyIgorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC50YXNrcy5MaWNlbnNlUmVwbGFjZVRhc2siPgorICAgICAgPC9hbnRUYXNrPgorICAgICAgPGFudFRhc2sKKyAgICAgICAgICAgIGxpYnJhcnk9ImxpYi9wZGVidWlsZC1hbnQuamFyIgorICAgICAgICAgICAgbmFtZT0iZWNsaXBzZS5qbmxwR2VuZXJhdG9yIgorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC50YXNrcy5KTkxQR2VuZXJhdG9yVGFzayI+CisgICAgICA8L2FudFRhc2s+CisgICAgICA8YW50VGFzaworICAgICAgICAgICAgbGlicmFyeT0ibGliL3BkZWJ1aWxkLWFudC5qYXIiCisgICAgICAgICAgICBuYW1lPSJlY2xpcHNlLnVuemlwcGVyQnVpbGRlciIKKyAgICAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQudGFza3MuVW56aXBwZXJHZW5lcmF0b3JUYXNrIj4KKyAgICAgIDwvYW50VGFzaz4KKyAgICAgIDxhbnRUYXNrCisgICAgICAgICAgICBsaWJyYXJ5PSJsaWIvcGRlYnVpbGQtYW50LmphciIKKyAgICAgICAgICAgIG5hbWU9ImVjbGlwc2UuZmV0Y2hGaWxlc0dlbmVyYXRvciIKKyAgICAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQudGFza3MuRmV0Y2hGaWxlR2VuZXJhdG9yVGFzayI+CisgICAgICA8L2FudFRhc2s+CisgICAgICA8YW50VGFzaworICAgICAgICAgICAgbGlicmFyeT0ibGliL3BkZWJ1aWxkLWFudC5qYXIiCisgICAgICAgICAgICBuYW1lPSJlY2xpcHNlLnZlcnNpb25SZXBsYWNlciIKKyAgICAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQudGFza3MuR2VuZXJpY1ZlcnNpb25SZXBsYWNlciI+CisgICAgICA8L2FudFRhc2s+CisgICAgICA8YW50VGFzaworICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC5wdWJsaXNoZXIuRmVhdHVyZXNBbmRCdW5kbGVzVGFzayIKKyAgICAgICAgICAgIGxpYnJhcnk9ImxpYi9wZGVidWlsZC1hbnQuamFyIgorICAgICAgICAgICAgbmFtZT0iZWNsaXBzZS5wdWJsaXNoLmZlYXR1cmVzQW5kQnVuZGxlcyI+CisgICAgICA8L2FudFRhc2s+CisJPGFudFRhc2sKKwkJY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC50YXNrcy5Db21waWxlRXJyb3JUYXNrIgorCQlsaWJyYXJ5PSJsaWIvcGRlYnVpbGQtYW50LmphciIKKwkJbmFtZT0iZWNsaXBzZS5sb2dDb21waWxlRXJyb3IiPgorCTwvYW50VGFzaz4KKwk8YW50VGFzaworCQljbGFzcz0ib3JnLmVjbGlwc2UucGRlLmludGVybmFsLmJ1aWxkLmdlbmVyYXRvci5HZW5lcmF0b3JUYXNrIgorCQlsaWJyYXJ5PSJsaWIvcGRlYnVpbGQtYW50LmphciIKKwkJbmFtZT0icDIuZ2VuZXJhdG9yIj4KKwk8L2FudFRhc2s+CisgICAgCisgICA8L2V4dGVuc2lvbj4KKzwhLS0gRXh0cmEgQ2xhc3NwYXRoIC0tPgorICAgPGV4dGVuc2lvbgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmFudC5jb3JlLmV4dHJhQ2xhc3NwYXRoRW50cmllcyI+CisgICAgICA8ZXh0cmFDbGFzc3BhdGhFbnRyeQorICAgICAgICAgICAgbGlicmFyeT0ibGliL3BkZWJ1aWxkLWFudC5qYXIiPgorICAgICAgPC9leHRyYUNsYXNzcGF0aEVudHJ5PgorICAgPC9leHRlbnNpb24+CisgICA8ZXh0ZW5zaW9uCisgICAgICAgICBpZD0iYnVpbGR0aW1lc2l0ZSIKKyAgICAgICAgIHBvaW50PSJvcmcuZWNsaXBzZS51cGRhdGUuY29yZS5zaXRlVHlwZXMiPgorICAgICAgPHNpdGUtZmFjdG9yeQorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC5zaXRlLkJ1aWxkVGltZVNpdGVGYWN0b3J5Ij4KKyAgICAgIDwvc2l0ZS1mYWN0b3J5PgorICAgPC9leHRlbnNpb24+CisgICA8ZXh0ZW5zaW9uCisgICAgICAgICBpZD0iQnVpbGRUaW1lRmVhdHVyZUZhY3RvcnkiCisgICAgICAgICBwb2ludD0ib3JnLmVjbGlwc2UudXBkYXRlLmNvcmUuZmVhdHVyZVR5cGVzIj4KKyAgICAgIDxmZWF0dXJlLWZhY3RvcnkKKyAgICAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQuc2l0ZS5CdWlsZFRpbWVGZWF0dXJlRmFjdG9yeSI+CisgICAgICA8L2ZlYXR1cmUtZmFjdG9yeT4KKyAgIDwvZXh0ZW5zaW9uPgorICAgPGV4dGVuc2lvbgorICAgICAgICAgaWQ9IkJ1aWxkIgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5hcHBsaWNhdGlvbnMiPgorICAgICAgPGFwcGxpY2F0aW9uPgorICAgICAgICAgPHJ1biBjbGFzcz0ib3JnLmVjbGlwc2UucGRlLmludGVybmFsLmJ1aWxkLkJ1aWxkQXBwbGljYXRpb24iLz4KKyAgICAgIDwvYXBwbGljYXRpb24+CisgICA8L2V4dGVuc2lvbj4KKworICAgPGV4dGVuc2lvbgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLnBkZS5idWlsZC5mZXRjaEZhY3RvcmllcyI+CisgICAgICA8ZmFjdG9yeQorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC5mZXRjaC5DVlNGZXRjaFRhc2tGYWN0b3J5IgorICAgICAgICAgICAgaWQ9IkNWUyIvPgorICAgICAgPGZhY3RvcnkKKyAgICAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQuZmV0Y2guQ09QWUZldGNoVGFza3NGYWN0b3J5IgorICAgICAgICAgICAgaWQ9IkNPUFkiLz4KKwkJPGZhY3RvcnkKKwkJCWNsYXNzPSJvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQuZmV0Y2guR0VURmV0Y2hGYWN0b3J5IgorCQkJaWQ9IkdFVCIvPgorCQk8ZmFjdG9yeQorCQkJY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC5mZXRjaC5QMklVRmV0Y2hGYWN0b3J5IgorCQkJaWQ9InAySVUiLz4KKyAgIDwvZXh0ZW5zaW9uPgorICAgCisgICAgPGV4dGVuc2lvbgorICAgICAgICAgcG9pbnQ9Im9yZy5lY2xpcHNlLmFudC5jb3JlLmFudFByb3BlcnRpZXMiPgorICAgICAgPGFudFByb3BlcnR5CisgICAgICAgICAgICBjbGFzcz0ib3JnLmVjbGlwc2UucGRlLmludGVybmFsLmJ1aWxkLnByb3BlcnRpZXMuUERFUHJvcGVydGllcyIKKyAgICAgICAgICAgIGVjbGlwc2VSdW50aW1lPSJmYWxzZSIKKyAgICAgICAgICAgIGhlYWRsZXNzPSJ0cnVlIgorICAgICAgICAgICAgbmFtZT0iZWNsaXBzZS5wZGVidWlsZC5ob21lIi8+CisgICAgICA8YW50UHJvcGVydHkKKyAgICAgICAgICAgIGNsYXNzPSJvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQucHJvcGVydGllcy5QREVQcm9wZXJ0aWVzIgorICAgICAgICAgICAgZWNsaXBzZVJ1bnRpbWU9ImZhbHNlIgorICAgICAgICAgICAgaGVhZGxlc3M9InRydWUiCisgICAgICAgICAgICBuYW1lPSJlY2xpcHNlLnBkZWJ1aWxkLnNjcmlwdHMiLz4KKyAgICAgIDxhbnRQcm9wZXJ0eQorICAgICAgICAgICAgY2xhc3M9Im9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC5wcm9wZXJ0aWVzLlBERVByb3BlcnRpZXMiCisgICAgICAgICAgICBlY2xpcHNlUnVudGltZT0iZmFsc2UiCisgICAgICAgICAgICBoZWFkbGVzcz0idHJ1ZSIKKyAgICAgICAgICAgIG5hbWU9ImVjbGlwc2UucGRlYnVpbGQudGVtcGxhdGVzIi8+ICAgICAgICAgICAgICAgICAgICAgICAgCisgICA8L2V4dGVuc2lvbj4KKworPC9wbHVnaW4+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9zY3JpcHRzL2J1aWxkLnhtbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL3NjcmlwdHMvYnVpbGQueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0ZGQ2OGYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9zY3JpcHRzL2J1aWxkLnhtbApAQCAtMCwwICsxLDE1MyBAQAorPCEtLQorICAgICBDb3B5cmlnaHQgKGMpIDIwMDMsIDIwMDkgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCisgICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKKyAgICAgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCisgICAgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CisgICAgIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgICAgCisgICAgIENvbnRyaWJ1dG9yczoKKyAgICAgICAgIElCTSBDb3Jwb3JhdGlvbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbgorIC0tPgorPHByb2plY3QgbmFtZT0iQnVpbGQgQWxsIEVsZW1lbnRzIiBkZWZhdWx0PSJtYWluIj4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIEdsb2JhbCBwcm9wZXJ0aWVzLiAgU2VlIHRoZSBidWlsZC5wcm9wZXJ0aWVzIGZvciBpbmZvcm1hdGlvbiBvbiAtLT4KKzwhLS0gdGhlIHByb3BlcnRpZXMgd2hpY2ggY2FsbGVycyBjYW4gY29udHJvbC4gLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzxwcm9wZXJ0eSBuYW1lPSJidWlsZGVyIiBsb2NhdGlvbj0iJHt1c2VyLmRpcn0iLz4KKzxwcm9wZXJ0eSBuYW1lPSJidWlsZGVyRGlyZWN0b3J5IiBsb2NhdGlvbj0iJHtidWlsZGVyfSIvPgorPHByb3BlcnR5IG5hbWU9ImJ1aWxkUHJvcGVydGllcyIgbG9jYXRpb249IiR7YnVpbGRlcn0vYnVpbGQucHJvcGVydGllcyIvPgorPHByb3BlcnR5IGZpbGU9IiR7YnVpbGRQcm9wZXJ0aWVzfSIvPgorPGF2YWlsYWJsZSBwcm9wZXJ0eT0iY3VzdG9tVGFyZ2V0cyIgZmlsZT0iJHtidWlsZGVyfS9jdXN0b21UYXJnZXRzLnhtbCIgdmFsdWU9IiR7YnVpbGRlcn0vY3VzdG9tVGFyZ2V0cy54bWwiLz4KKzxwcm9wZXJ0eSBuYW1lPSJjdXN0b21UYXJnZXRzIiBsb2NhdGlvbj0iJHtlY2xpcHNlLnBkZWJ1aWxkLnRlbXBsYXRlc30vaGVhZGxlc3MtYnVpbGQvY3VzdG9tVGFyZ2V0cy54bWwiLz4KKzxwcm9wZXJ0eSBuYW1lPSJnZW5lcmljVGFyZ2V0cyIgbG9jYXRpb249IiR7ZWNsaXBzZS5wZGVidWlsZC5zY3JpcHRzfS9nZW5lcmljVGFyZ2V0cy54bWwiLz4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIG1haW4gZW50cnkgcG9pbnQgdG8gc2V0dXAsIGZldGNoLCBnZW5lcmF0ZSwgYnVpbGQgZXRjLiBVc2UgLS0+Cis8IS0tIHRoZSBjdXN0b21UYXJnZXRzLnhtbCB0byBtb2RpZnkgdGhlIGJ1aWxkIGJlaGF2aW91ci4gLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKworPCEtLSAqKioqKioqIGFkZCBpbiB0aGUgZGVzY3JpcHRpb25zIGZvciBlYWNoIG9mIHRoZSB0b3AgbGV2ZWwgdGFyZ2V0cyB0byB0ZWggdGFyZ2V0IGRlY2wgLS0+Cis8dGFyZ2V0IG5hbWU9Im1haW4iIGRlc2NyaXB0aW9uPSJ0aGUgbWFpbiBidWlsZCB0YXJnZXQiPgorICAJPGFudGNhbGwgdGFyZ2V0PSJwcmVCdWlsZCIgLz4KKwk8YW50Y2FsbCB0YXJnZXQ9InByb2Nlc3NSZXBvcyIvPgorIAk8YW50Y2FsbCB0YXJnZXQ9ImZldGNoIiAvPgorCTxhbnRjYWxsIHRhcmdldD0iZ2VuZXJhdGUiIC8+IAorCTxhbnRjYWxsIHRhcmdldD0icHJvY2VzcyIgLz4gCisJPGFudGNhbGwgdGFyZ2V0PSJhc3NlbWJsZSIgLz4KKwk8YW50Y2FsbCB0YXJnZXQ9InBhY2thZ2UiIC8+CisJPGFudGNhbGwgdGFyZ2V0PSJwb3N0QnVpbGQiIC8+Cis8L3RhcmdldD4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIFN0ZXBzIHRvIGRvIGJlZm9yZSBzdGFydGluZyB0aGUgYnVpbGQuICBUeXBpY2FsIHNldHVwIGluY2x1ZGVzIC0tPgorPCEtLSBmZXRjaGluZyB0aGUgbWFwIGZpbGVzIGFuZCBidWlsZGluZyB0aGUgZGlyZWN0b3J5LiAgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzx0YXJnZXQgbmFtZT0icHJlQnVpbGQiPgorCTxta2RpciBkaXI9IiR7YnVpbGREaXJlY3Rvcnl9IiAvPgorCTxhbnQgYW50ZmlsZT0iJHtjdXN0b21UYXJnZXRzfSIgdGFyZ2V0PSJwcmVTZXR1cCIgLz4gCisJPGFudCBhbnRmaWxlPSIke2N1c3RvbVRhcmdldHN9IiB0YXJnZXQ9ImdldE1hcEZpbGVzIiAvPiAKKwk8Y29uY2F0IGRlc3RmaWxlPSIke2J1aWxkRGlyZWN0b3J5fS9kaXJlY3RvcnkudHh0IiBmaXhsYXN0bGluZT0ieWVzIj4KKwkJPGZpbGVzZXQgZGlyPSIke2J1aWxkRGlyZWN0b3J5fSIgaW5jbHVkZXM9Im1hcHMvKiovKi5tYXAiLz4KKwk8L2NvbmNhdD4KKwk8YW50IGFudGZpbGU9IiR7Y3VzdG9tVGFyZ2V0c30iIHRhcmdldD0icG9zdFNldHVwIiAvPgorPC90YXJnZXQ+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBUaGlzIHdpbGwgdHJhbnNmb3JtIHRoZSBjb250ZW50IG9mIHRoZSByZXBvc2l0b3JpZXMgbGlzdGVkIHN1Y2ggdGhhdCB0aGV5ICAgLS0+Cis8IS0tIGFyZSBpbiBhIGZvcm1hdCBhZ2FpbnN0IHdoaWNoIFBERSBCdWlsZCBjYW4gc3VjY2VzZnVsbHkgYnVpbGQgICAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHRhcmdldCBuYW1lPSJwcm9jZXNzUmVwb3MiIGlmPSJyZXBvQmFzZUxvY2F0aW9uIj4KKwk8c3ViYW50IHRhcmdldD0icHJlUHJvY2Vzc1JlcG9zIiBmYWlsb25lcnJvcj0iZmFsc2UiIGluaGVyaXRBbGw9InRydWUiID4KKwkJPGZpbGVzZXQgZmlsZT0iJHtjdXN0b21UYXJnZXRzfSIgLz4KKwk8L3N1YmFudD4KKwk8YW50IGFudGZpbGU9IiR7Y3VzdG9tVGFyZ2V0c30iIHRhcmdldD0iYWxsRWxlbWVudHMiPgorCQk8cHJvcGVydHkgbmFtZT0idGFyZ2V0IiB2YWx1ZT0idHJhbnNmb3JtUmVwb3MiIC8+CisJPC9hbnQ+CisJPHN1YmFudCB0YXJnZXQ9InBvc3RQcm9jZXNzUmVwb3MiIGZhaWxvbmVycm9yPSJmYWxzZSIgaW5oZXJpdEFsbD0idHJ1ZSIgPgorCQk8ZmlsZXNldCBmaWxlPSIke2N1c3RvbVRhcmdldHN9IiAvPgorCTwvc3ViYW50PgorPC90YXJnZXQ+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBGZXRjaCB0aGUgZWxlbWVudHMgaWRlbnRpZmllZCBpbiB0aGUgY3VzdG9tVGFyZ2V0cyAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHRhcmdldCBuYW1lPSJmZXRjaCIgdW5sZXNzPSJza2lwRmV0Y2giPgorCTxhbnQgYW50ZmlsZT0iJHtjdXN0b21UYXJnZXRzfSIgdGFyZ2V0PSJwcmVGZXRjaCIvPgorCTwhLS0gR2VuZXJhdGVzIGFuZCB0aGVuIGV4ZWN1dGUgdGhlIGZldGNoIHNjcmlwdHMgZm9yIGVhY2ggYnVpbGQgZWxlbWVudC0tPgorCTxhbnQgYW50ZmlsZT0iJHtjdXN0b21UYXJnZXRzfSIgdGFyZ2V0PSJhbGxFbGVtZW50cyI+CisJCTxwcm9wZXJ0eSBuYW1lPSJ0YXJnZXQiIHZhbHVlPSJmZXRjaEVsZW1lbnQiIC8+CisJPC9hbnQ+CisJCisJPGFudCBhbnRmaWxlPSIke2N1c3RvbVRhcmdldHN9IiB0YXJnZXQ9InBvc3RGZXRjaCIvPgorPC90YXJnZXQ+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBHZW5lcmF0ZSB0aGUgYnVpbGQgc2NyaXB0cyBmb3IgZWFjaCBlbGVtZW50IGlkZW50aWZpZWQgaW4gdGhlIGN1c3RvbVRhcmdldHMgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzx0YXJnZXQgbmFtZT0iZ2VuZXJhdGUiPgorCTxhbnQgYW50ZmlsZT0iJHtjdXN0b21UYXJnZXRzfSIgdGFyZ2V0PSJwcmVHZW5lcmF0ZSIvPgorCTwhLS0gR2VuZXJhdGUgdGhlIGJ1aWxkLnhtbCBmb3IgZWFjaCBidWlsZCBlbGVtZW50LS0+CisJPGFudCBhbnRmaWxlPSIke2N1c3RvbVRhcmdldHN9IiB0YXJnZXQ9ImFsbEVsZW1lbnRzIj4KKwkJPHByb3BlcnR5IG5hbWU9InRhcmdldCIgdmFsdWU9ImdlbmVyYXRlU2NyaXB0IiAvPgorCTwvYW50PgorCTxhbnQgYW50ZmlsZT0iJHtjdXN0b21UYXJnZXRzfSIgdGFyZ2V0PSJwb3N0R2VuZXJhdGUiLz4JCis8L3RhcmdldD4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIFJ1biB0aGUgYnVpbGQgc2NyaXB0cyBmb3IgZWFjaCBlbGVtZW50IGlkZW50aWZpZWQgaW4gdGhlIGN1c3RvbVRhcmdldHMgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzx0YXJnZXQgbmFtZT0icHJvY2VzcyI+CisJPCEtLSBSdW4gY3VzdG9tIHRhc2tzIGJlZm9yZSBwcm9jZXNzaW5nLCBpLmUuIGNyZWF0aW5nIHNvdXJjZSBidWlsZCB6aXAgZmlsZXMgLS0+CisJPGFudCBhbnRmaWxlPSIke2N1c3RvbVRhcmdldHN9IiB0YXJnZXQ9InByZVByb2Nlc3MiIC8+CisKKwk8IS0tIFByb2Nlc3MgYWxsIG9mIHRoZSBidWlsZCBlbGVtZW50cy0tPgorCTxhbnQgYW50ZmlsZT0iJHtjdXN0b21UYXJnZXRzfSIgdGFyZ2V0PSJhbGxFbGVtZW50cyI+CisJCTxwcm9wZXJ0eSBuYW1lPSJ0YXJnZXQiIHZhbHVlPSJwcm9jZXNzRWxlbWVudCIgLz4KKwk8L2FudD4KKworCTwhLS0gUnVuIGN1c3RvbSB0YXNrcyBhZnRlciBjb21waWxpbmcsIGkuZS4gcmVwb3J0aW5nIGNvbXBpbGUgZXJyb3JzIC0tPgorCTxhbnQgYW50ZmlsZT0iJHtjdXN0b21UYXJnZXRzfSIgdGFyZ2V0PSJwb3N0UHJvY2VzcyIgLz4KKzwvdGFyZ2V0PgorCis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzwhLS0gQXNzZW1ibGUgdGhlIGJ1aWxkIGVsZW1lbnRzIGludG8gZmluYWwgZGlzdHJpYnV0aW9ucyAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHRhcmdldCBuYW1lPSJhc3NlbWJsZSI+CisJPGFudCBhbnRmaWxlPSIke2N1c3RvbVRhcmdldHN9IiB0YXJnZXQ9InByZUFzc2VtYmxlIi8+CisJPGFudCBhbnRmaWxlPSIke2N1c3RvbVRhcmdldHN9IiB0YXJnZXQ9ImFsbEVsZW1lbnRzIj4KKwkJPHByb3BlcnR5IG5hbWU9InRhcmdldCIgdmFsdWU9ImFzc2VtYmxlRWxlbWVudCIvPgorCTwvYW50PgorCTxhbnQgYW50ZmlsZT0iJHtjdXN0b21UYXJnZXRzfSIgdGFyZ2V0PSJwb3N0QXNzZW1ibGUiLz4JCis8L3RhcmdldD4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIFBhY2thZ2UgdGhlIGJ1aWxkIGVsZW1lbnRzIGludG8gZmluYWwgZGlzdHJpYnV0aW9ucyAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHRhcmdldCBuYW1lPSJwYWNrYWdlIiBpZj0icnVuUGFja2FnZXIiPgorCTxhbnQgYW50ZmlsZT0iJHtjdXN0b21UYXJnZXRzfSIgdGFyZ2V0PSJwcmVQYWNrYWdlIi8+CisJPGFudCBhbnRmaWxlPSIke2N1c3RvbVRhcmdldHN9IiB0YXJnZXQ9ImFsbEVsZW1lbnRzIj4KKwkJPHByb3BlcnR5IG5hbWU9InRhcmdldCIgdmFsdWU9InBhY2thZ2VFbGVtZW50Ii8+CisJPC9hbnQ+CisJPGFudCBhbnRmaWxlPSIke2N1c3RvbVRhcmdldHN9IiB0YXJnZXQ9InBvc3RQYWNrYWdlIi8+CQorPC90YXJnZXQ+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBEbyBhbnkgc3RlcHMgcmVxdWlyZWQgYWZ0ZXIgdGhlIGJ1aWxkIChlLmcuLCBwb3N0aW5nLCB0ZXN0aW5nLCAuLi4pIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8dGFyZ2V0IG5hbWU9InBvc3RCdWlsZCI+CisJPGFudCBhbnRmaWxlPSIke2N1c3RvbVRhcmdldHN9IiB0YXJnZXQ9InBvc3RCdWlsZCIgLz4KKzwvdGFyZ2V0PgorCis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzwhLS0gQ2xlYW4gdGhlIGJ1aWxkIGVsZW1lbnRzLiAgVGhpcyB0YXJnZXQgaXMgaGVyZSBhcyBhbiBlbnRyeSAtLT4KKzwhLS0gcG9pbnQgdG8gdGhlIGN1c3RvbVRhcmdldHMuICBJdCBpcyBub3QgY2FsbGVkIGRpcmVjdGx5IGluIHRoZSBub3JtYWwgLS0+Cis8IS0tIGNvdXJzZSBvZiBldmVudHMuIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8dGFyZ2V0IG5hbWU9ImNsZWFuIj4KKyAgPGFudCBhbnRmaWxlPSIke2N1c3RvbVRhcmdldHN9IiB0YXJnZXQ9ImFsbEVsZW1lbnRzIj4KKyAgICAgPHByb3BlcnR5IG5hbWU9InRhcmdldCIgdmFsdWU9ImNsZWFuRWxlbWVudCIvPgorICA8L2FudD4KKzwvdGFyZ2V0PgorCis8L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9zY3JpcHRzL2dlbmVyaWNUYXJnZXRzLnhtbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL3NjcmlwdHMvZ2VuZXJpY1RhcmdldHMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwMjExOTEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9zY3JpcHRzL2dlbmVyaWNUYXJnZXRzLnhtbApAQCAtMCwwICsxLDI0NiBAQAorPCEtLQorICAgIENvcHlyaWdodCAoYykgMjAwMywgMjAxMCBJQk0gQ29ycG9yYXRpb24gYW5kIG90aGVycy4KKyAgICBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCisgICAgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCisgICAgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKKyAgICBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICAgCisgICAgQ29udHJpYnV0b3JzOgorICAgICAgICAgSUJNIENvcnBvcmF0aW9uIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCisgLS0+Cis8cHJvamVjdCBuYW1lPSJHZW5lcmljIEJ1aWxkIFRhcmdldHMiIGRlZmF1bHQ9Im5vRGVmYXVsdCI+CisKKzwhLS0gUHJvcGVydGllcyB0aGF0IG11c3QgYmUgcGFzc2VkIHRvIHRoaXMgc2NyaXB0OgorCWJ1aWxkRGlyZWN0b3J5CisJaWQKKwl0eXBlCisJaWdub3JlVGFnSW5mbworCXJlY3Vyc2l2ZUdlbmVyYXRpb24KKwl3b3JraW5nRGlyZWN0b3J5CisJY29uZmlnSW5mbworLS0+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBTZXR1cCBkZWZhdWx0IHZhbHVlcyAtLT4KKzwhLS0gICBjb25maWdzIDogYnkgZGVmYXVsdCBidWlsZCBhIHBsYXRmb3JtLWluZGVwZW5kZW50IGNvbmZpZ3VyYXRpb24gLS0+Cis8IS0tICAgZmV0Y2hUYWcgOiBieSBkZWZhdWx0IHVzZSB0aGUgQ1ZTIHRhZ3MgYXMgc3BlYydkIGluIGRpcmVjdG9yeS50eHQgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzxwcm9wZXJ0eSBuYW1lPSJjb25maWdzIiB2YWx1ZT0iKiwqLCoiLz4KKzxwcm9wZXJ0eSBuYW1lPSJmZXRjaFRhZyIgdmFsdWU9IiIvPgorPHByb3BlcnR5IG5hbWU9ImN1c3RvbUVFU291cmNlcyIgdmFsdWU9IiIgLz4KKzxwcm9wZXJ0eSBuYW1lPSJ0cmFuc2Zvcm1lZFJlcG9Mb2NhdGlvbiIgdmFsdWU9IiIgLz4KKzxwcm9wZXJ0eSBuYW1lPSJidWlsZGluZ09TR2kiIHZhbHVlPSJ0cnVlIi8+Cis8cHJvcGVydHkgbmFtZT0iZ2VuZXJhdGVKbmxwIiB2YWx1ZT0iZmFsc2UiLz4KKzxwcm9wZXJ0eSBuYW1lPSJzaWduSmFycyIgdmFsdWU9ImZhbHNlIi8+Cis8cHJvcGVydHkgbmFtZT0iZ2VuZXJhdGVGZWF0dXJlVmVyc2lvblN1ZmZpeCIgdmFsdWU9ImZhbHNlIiAvPgorPHByb3BlcnR5IG5hbWU9ImdlbmVyYXRlVmVyc2lvbnNMaXN0cyIgdmFsdWU9InRydWUiIC8+Cis8cHJvcGVydHkgbmFtZT0iZ3JvdXBDb25maWd1cmF0aW9ucyIgdmFsdWU9ImZhbHNlIi8+Cis8cHJvcGVydHkgbmFtZT0icGx1Z2luUGF0aCIgdmFsdWU9IiIvPgorPHByb3BlcnR5IG5hbWU9ImZpbHRlcmVkRGVwZW5kZW5jeUNoZWNrIiB2YWx1ZT0iZmFsc2UiLz4KKzxwcm9wZXJ0eSBuYW1lPSJmaWx0ZXJQMkJhc2UiIHZhbHVlPSJmYWxzZSIvPgorCis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzwhLS0gRmV0Y2ggYSBzaW5nbGUgZWxlbWVudCAoZmVhdHVyZSwgcGx1Z2luLCBmcmFnbWVudCkgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzx0YXJnZXQgbmFtZT0iZmV0Y2hFbGVtZW50IiBkZXNjcmlwdGlvbj0iQ2hlY2tpbmcgb3V0IHNvdXJjZSBmcm9tIHJlcG9zaXRvcnkuLi4iIGRlcGVuZHM9ImluaXQiPgorCTxta2RpciBkaXI9IiR7YnVpbGREaXJlY3Rvcnl9L2ZlYXR1cmVzIi8+CisJPG1rZGlyIGRpcj0iJHtidWlsZERpcmVjdG9yeX0vcGx1Z2lucyIvPgorCTxlY2xpcHNlLmZldGNoCisJCWVsZW1lbnRzPSIke3R5cGV9QCR7aWR9IgorCQlidWlsZERpcmVjdG9yeT0iJHtidWlsZERpcmVjdG9yeX0iCisJCWRpcmVjdG9yeT0iJHtidWlsZERpcmVjdG9yeX0vZGlyZWN0b3J5LnR4dCIKKwkJZmV0Y2hUYWc9IiR7ZmV0Y2hUYWd9IgorCQljb25maWdJbmZvPSIke2NvbmZpZ3N9IgorCQliYXNlTG9jYXRpb249IiR7YmFzZUxvY2F0aW9ufSIKKwkJcGx1Z2luUGF0aD0iJHt0cmFuc2Zvcm1lZFJlcG9Mb2NhdGlvbn0ke3BhdGguc2VwYXJhdG9yfSR7cGx1Z2luUGF0aH0iCisJLz4KKworCTwhLS0gUnVuIGdlbmVyYXRlZCBmZXRjaCBzY3JpcHQgLS0+CisJPGFudCBhbnRmaWxlPSIke2J1aWxkRGlyZWN0b3J5fS9mZXRjaF8ke2lkfS54bWwiPgorCQk8IS0tICoqKioqKioqKioqKiAgc2hvdWxkIG5vdCBoYXZlIHRvIHNwZWMgdGhlc2UgICoqKioqKioqKioqKioqKiAtLT4KKwkJPHByb3BlcnR5IG5hbWU9ImZlYXR1cmVPbmx5IiB2YWx1ZT0idHJ1ZSIvPgorCQk8cHJvcGVydHkgbmFtZT0iZmVhdHVyZUFuZFBsdWdpbnMiIHZhbHVlPSJ0cnVlIi8+CisJCTxwcm9wZXJ0eSBuYW1lPSJmZWF0dXJlc1JlY3Vyc2l2ZWx5IiB2YWx1ZT0idHJ1ZSIvPgorCTwvYW50PgorPC90YXJnZXQ+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBDbGVhbiBwcmV2aW91c2x5IGJ1aWx0IGVsZW1lbnRzIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8dGFyZ2V0IG5hbWU9ImNsZWFuRWxlbWVudCIgZGVzY3JpcHRpb249IlNjcnViYmluZyBmZWF0dXJlcyBhbmQgcGx1Z2lucyBvZiBvbGQgamFycy4uLiIgZGVwZW5kcz0iaW5pdCI+Cis8ZWNobyBtZXNzYWdlPSIke2VsZW1lbnRQYXRofSIvPgorCTxhbnQgYW50ZmlsZT0iYnVpbGQueG1sIiBkaXI9IiR7ZWxlbWVudFBhdGh9IiB0YXJnZXQ9ImNsZWFuIi8+Cis8L3RhcmdldD4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIEdlbmVyYXRlIGEgYnVpbGQueG1sIGZpbGUgZm9yIGFuIGVsZW1lbnQgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzx0YXJnZXQgbmFtZT0iZ2VuZXJhdGVTY3JpcHQiIGRlc2NyaXB0aW9uPSJHZW5lcmF0aW5nIGJ1aWxkIHNjcmlwdHMuLi4iIGRlcGVuZHM9ImluaXQiPgorCTxlY2xpcHNlLmJ1aWxkU2NyaXB0CisJCWVsZW1lbnRzPSIke3R5cGV9QCR7aWR9IgorCQlidWlsZERpcmVjdG9yeT0iJHtidWlsZERpcmVjdG9yeX0iCisJCWNvbmZpZ0luZm89IiR7Y29uZmlnc30iCisJCWJhc2VMb2NhdGlvbj0iJHtiYXNlTG9jYXRpb259IgorCQlidWlsZGluZ09TR2k9IiR7YnVpbGRpbmdPU0dpfSIKKwkJb3V0cHV0VXBkYXRlSmFycz0iJHtvdXRwdXRVcGRhdGVKYXJzfSIKKwkJYXJjaGl2ZXNGb3JtYXQ9IiR7YXJjaGl2ZXNGb3JtYXR9IgorCQlwcm9kdWN0PSIke3Byb2R1Y3R9IgorCQlmb3JjZUNvbnRleHRRdWFsaWZpZXI9IiR7Zm9yY2VDb250ZXh0UXVhbGlmaWVyfSIKKwkJZ2VuZXJhdGVKbmxwPSIke2dlbmVyYXRlSm5scH0iCisJCXNpZ25KYXJzPSIke3NpZ25KYXJzfSIKKwkJZ2VuZXJhdGVGZWF0dXJlVmVyc2lvblN1ZmZpeD0iJHtnZW5lcmF0ZUZlYXR1cmVWZXJzaW9uU3VmZml4fSIKKwkJc2lnbmlmaWNhbnRWZXJzaW9uRGlnaXRzPSIke3NpZ25pZmljYW50VmVyc2lvbkRpZ2l0c30iCisJCWdlbmVyYXRlZFZlcnNpb25MZW5ndGg9IiR7Z2VuZXJhdGVkVmVyc2lvbkxlbmd0aH0iCisJCWdlbmVyYXRlVmVyc2lvbnNMaXN0cz0iJHtnZW5lcmF0ZVZlcnNpb25zTGlzdHN9IgorCQlnZW5lcmF0ZVNvdXJjZVJlZmVyZW5jZXM9IiR7Z2VuZXJhdGVTb3VyY2VSZWZlcmVuY2VzfSIKKwkJZ3JvdXBDb25maWd1cmF0aW9uPSIke2dyb3VwQ29uZmlndXJhdGlvbnN9IgorCQlwbHVnaW5QYXRoPSIke3RyYW5zZm9ybWVkUmVwb0xvY2F0aW9ufSR7cGF0aC5zZXBhcmF0b3J9JHtwbHVnaW5QYXRofSIKKwkJZmlsdGVyZWREZXBlbmRlbmN5Q2hlY2s9IiR7ZmlsdGVyZWREZXBlbmRlbmN5Q2hlY2t9IgorCQlwbGF0Zm9ybVByb3BlcnRpZXM9IiR7cGxhdGZvcm1Qcm9wZXJ0aWVzfSIKKwkJZmlsdGVyUDJCYXNlPSIke2ZpbHRlclAyQmFzZX0iCisJCWZsYXR0ZW5EZXBlbmRlbmNpZXM9IiR7ZmxhdHRlbkRlcGVuZGVuY2llc30iCisJCXBhcmFsbGVsQ29tcGlsYXRpb249IiR7cGFyYWxsZWxDb21waWxhdGlvbn0iCisJCXBhcmFsbGVsVGhyZWFkQ291bnQ9IiR7cGFyYWxsZWxUaHJlYWRDb3VudH0iCisJCXBhcmFsbGVsVGhyZWFkc1BlclByb2Nlc3Nvcj0iJHtwYXJhbGxlbFRocmVhZHNQZXJQcm9jZXNzb3J9IgorCQljdXN0b21FRVNvdXJjZXM9IiR7Y3VzdG9tRUVTb3VyY2VzfSIKKwkJY29udGV4dFJlcG9zaXRvcnk9IiR7dHJhbnNmb3JtZWRSZXBvTG9jYXRpb259LCR7cDIuY29udGV4dC5yZXBvc30iCisJCXNvdXJjZUJ1bmRsZU1vZGU9IiR7c291cmNlQnVuZGxlTW9kZX0iCisJCXNvdXJjZUJ1bmRsZVRlbXBsYXRlRmVhdHVyZT0iJHtzb3VyY2VCdW5kbGVUZW1wbGF0ZUZlYXR1cmV9IgorCQlzb3VyY2VCdW5kbGVGZWF0dXJlSWQ9IiR7c291cmNlQnVuZGxlRmVhdHVyZUlkfSIKKwkJc291cmNlQnVuZGxlRmVhdHVyZVZlcnNpb249IiR7c291cmNlQnVuZGxlRmVhdHVyZVZlcnNpb259IgorCS8+Cis8L3RhcmdldD4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIFJ1biBidWlsZC54bWwgZm9yIGEgc2luZ2xlIGVsZW1lbnQtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHRhcmdldCBuYW1lPSJwcm9jZXNzRWxlbWVudCIgZGVzY3JpcHRpb249IlByb2Nlc3NpbmcgYnVpbGQgc2NyaXB0cy4uLiIgZGVwZW5kcz0iaW5pdCI+CisJPGFudGNhbGwgdGFyZ2V0PSJwcm9jZXNzVmlhRmVhdHVyZSIgLz4KKwk8YW50Y2FsbCB0YXJnZXQ9InByb2Nlc3NGbGF0IiAvPgorPC90YXJnZXQ+CisKKzx0YXJnZXQgbmFtZT0icHJvY2Vzc1ZpYUZlYXR1cmUiIHVubGVzcz0iZmxhdHRlbkRlcGVuZGVuY2llcyIgZGVzY3JpcHRpb249IkNvbXBpbGUgaW4gb3JkZXIgb2YgZmVhdHVyZSBjb250YWlubWVudCI+CisJPGFudCBhbnRmaWxlPSJidWlsZC54bWwiIGRpcj0iJHtlbGVtZW50UGF0aH0iIHRhcmdldD0iYnVpbGQuamFycyI+CisJCTxwcm9wZXJ0eSBuYW1lPSJ0YXJnZXQiIHZhbHVlPSJidWlsZC5qYXJzIi8+CisJPC9hbnQ+Cis8L3RhcmdldD4KKworPHRhcmdldCBuYW1lPSJwcm9jZXNzRmxhdCIgaWY9ImZsYXR0ZW5EZXBlbmRlbmNpZXMiIGRlc2NyaXB0aW9uPSJDb21waWxlIGluIGZsYXR0ZW5lZCBkZXBlbmRlbmN5IG9yZGVyIj4KKwk8YW50IGFudGZpbGU9ImNvbXBpbGUuJHtpZH0ueG1sIiBkaXI9IiR7YnVpbGREaXJlY3Rvcnl9Ii8+Cis8L3RhcmdldD4KKworPCEtLSAqKioqKioqKioqKioqKioqKioqKioqCisxKSB0aGUgZ2F0aGVyIHRhcmdldHMgZG8gbW9yZSB0aGFuIGp1c3QgZ2F0aGVyLiAgVGhlc2UgYXJlIHBhY2thZ2luZyB0YXJnZXRzLgorV2UgbmVlZCB0byBjb250aW51ZSBvdCBzZXBhcmF0ZSB0aGUgdHdvIGNvbmNlcHRzIChnYXRoZXIgYW5kIHBhY2thZ2UpIGFzCit0aGUgcGFja2FnaW5nIGlzIGRpZmZlcmVudCBpZiB3ZSB3YW50ZWQgdG8gY3JlYXRlIGFuIHVwZGF0ZSBzaXRlIHBhY2thZ2luZworKGZvciBleGFtcGxlKS4gIFRoZSBnYXRoZXJzIGFyZSBjb21tZW50ZWQgb3V0IGZvciBub3cgYXMgdGhlIG5ldyBnZW5lcmF0ZWQKK3NjcmlwdHMgZG8gbm90IHNlZW0gdG8gaGF2ZSB0aGVtLgorCisyKSBkbyB3ZSByZWFsbHkgbmVlZCB0aGUgd3MgYW5kIG9zIHByb3BlcnRpZXM/ICBJbiBhbGwgY2FzZXM/ICBEbyB0aGV5IGhhdmUgdG8gYmUKK3NldCBoZXJlPworLS0+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBHYXRoZXIgaXRlbXMgbGlzdGVkIGluIGJpbi5pbmNsdWRlcyAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHRhcmdldCBuYW1lPSJnYXRoZXJCaW5hcmllcyIgZGVzY3JpcHRpb249IkdhdGhlcmluZyBiaW5hcnkgZGlzdHJpYnV0aW9uLi4uIiBkZXBlbmRzPSJpbml0Ij4KKwk8IS0tIGFudCBhbnRmaWxlPSJidWlsZC54bWwiIGRpcj0iJHtlbGVtZW50UGF0aH0iIHRhcmdldD0iZ2F0aGVyLmJpbi5wYXJ0cyIvIC0tPgorCTxhbnQgYW50ZmlsZT0iYnVpbGQueG1sIiBkaXI9IiR7ZWxlbWVudFBhdGh9IiB0YXJnZXQ9InppcC5kaXN0cmlidXRpb24iPgorCQk8cHJvcGVydHkgbmFtZT0ib3MiIHZhbHVlPSIke29zfSIgLz4KKwkJPHByb3BlcnR5IG5hbWU9IndzIiB2YWx1ZT0iJHt3c30iIC8+CisJPC9hbnQ+Cis8L3RhcmdldD4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIEdhdGhlciBzb3VyY2UgZm9yIGEgYnVpbGQgZWxlbWVudCAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHRhcmdldCBuYW1lPSJnYXRoZXJTb3VyY2VzIiBkZXNjcmlwdGlvbj0iR2F0aGVyaW5nIHNvdXJjZSBkaXN0cmlidXRpb24uLi4iIGRlcGVuZHM9ImluaXQiPgorCTwhLS1zdXNwZWN0OiAgdGhpcyBjYWxsIGlzIHJlcXVpcmVkIHRvIGNyZWF0ZSB0aGUgKi5zcmMuemlwIGluc2lkZSBlYWNoIHBsdWdpbi0tPgorCTxhbnQgYW50ZmlsZT0iYnVpbGQueG1sIiBkaXI9IiR7ZWxlbWVudFBhdGh9IiB0YXJnZXQ9ImJ1aWxkLnNvdXJjZXMiPgorCQk8cHJvcGVydHkgbmFtZT0ib3MiIHZhbHVlPSIke29zfSIgLz4KKwkJPHByb3BlcnR5IG5hbWU9IndzIiB2YWx1ZT0iJHt3c30iIC8+CisJPC9hbnQ+CisJPGFudCBhbnRmaWxlPSJidWlsZC54bWwiIGRpcj0iJHtlbGVtZW50UGF0aH0iIHRhcmdldD0iemlwLnNvdXJjZXMiPgorCQk8cHJvcGVydHkgbmFtZT0ib3MiIHZhbHVlPSIke29zfSIgLz4KKwkJPHByb3BlcnR5IG5hbWU9IndzIiB2YWx1ZT0iJHt3c30iIC8+CisJPC9hbnQ+Cis8L3RhcmdldD4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIEdhdGhlciBsb2cgZmlsZXMgZm9yIGFuIGVsZW1lbnQgLS0+Cis8IS0tIFN1c3BlY3Q6IFdlIGp1c3QgdW56aXAgdGhlc2UgcmlnaHQgYXdheSAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHRhcmdldCBuYW1lPSJnYXRoZXJMb2dzIiBkZXNjcmlwdGlvbj0iR2F0aGVyaW5nIGJ1aWxkIGxvZ3MuLi4iIGRlcGVuZHM9ImluaXQiPgorCTxhbnQgYW50ZmlsZT0iYnVpbGQueG1sIiBkaXI9IiR7ZWxlbWVudFBhdGh9IiB0YXJnZXQ9InppcC5sb2dzIiA+CisJCTxwcm9wZXJ0eSBuYW1lPSJidWlsZERpcmVjdG9yeSIgdmFsdWU9IiR7YnVpbGREaXJlY3Rvcnl9IiAvPgorCTwvYW50PgorPC90YXJnZXQ+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBEZWZhdWx0IHRhcmdldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzx0YXJnZXQgbmFtZT0ibm9EZWZhdWx0Ij4KKwk8ZWNobyBtZXNzYWdlPSJUaGlzIGZpbGUgbXVzdCBiZSBjYWxsZWQgd2l0aCBleHBsaWNpdCB0YXJnZXRzIiAvPgorPC90YXJnZXQ+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBBc3NlbWJsZSBvbmUgYnVpbGQgZWxlbWVudCAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHRhcmdldCBuYW1lPSJhc3NlbWJsZUVsZW1lbnQiIGRlc2NyaXB0aW9uPSJBc3NlbWJsaW5nIHRoZSBidWlsZC4uLiIgZGVwZW5kcz0iaW5pdCI+CisJPGFudCBhbnRmaWxlPSJhc3NlbWJsZS4ke2lkfS5hbGwueG1sIiBkaXI9IiR7YnVpbGREaXJlY3Rvcnl9Ii8+Cis8L3RhcmdldD4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIFBhY2thZ2Ugb25lIGJ1aWxkIGVsZW1lbnQgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzx0YXJnZXQgbmFtZT0icGFja2FnZUVsZW1lbnQiIGRlc2NyaXB0aW9uPSJQYWNrYWdpbmcgdGhlIGJ1aWxkLi4uIiBkZXBlbmRzPSJpbml0Ij4KKwk8YW50IGFudGZpbGU9InBhY2thZ2UuJHtpZH0uYWxsLnhtbCIgZGlyPSIke2J1aWxkRGlyZWN0b3J5fSIvPgorPC90YXJnZXQ+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBNaXNjZWxsYW5lb3VzIGhlbHBlciB0YXJnZXRzIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8dGFyZ2V0IG5hbWU9ImluaXQiPgorCTxjb25kaXRpb24gcHJvcGVydHk9ImVsZW1lbnRQYXRoIiB2YWx1ZT0iJHtidWlsZERpcmVjdG9yeX0vcGx1Z2lucy8ke2lkfSI+CisJCTxlcXVhbHMgYXJnMT0iJHt0eXBlfSIgYXJnMj0iZnJhZ21lbnQiIC8+CisJPC9jb25kaXRpb24+CisJPHByb3BlcnR5IG5hbWU9ImVsZW1lbnRQYXRoIiB2YWx1ZT0iJHtidWlsZERpcmVjdG9yeX0vJHt0eXBlfXMvJHtpZH0iIC8+Cis8L3RhcmdldD4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIEludm9rZXMgdGhlIHAyIHRyYW5zZm9ybWVyIHRvIHByb2Nlc3MgYWxsIHRoZSByZXBvc2l0b3JpZXMgZm91bmQgaW4gcmVwb0Jhc2VMb2NhdGlvbiAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHRhcmdldCBuYW1lPSJ0cmFuc2Zvcm1SZXBvcyI+CisJPHByb3BlcnR5IG5hbWU9InJlcG9CYXNlTG9jYXRpb24uZXhjbHVkZXMiIHZhbHVlPSIuKiIgLz4KKwk8cDIucmVwbzJydW5uYWJsZSBkZXN0aW5hdGlvbj0iJHt0cmFuc2Zvcm1lZFJlcG9Mb2NhdGlvbn0iPgorCQk8c291cmNlIGRpcj0iJHtyZXBvQmFzZUxvY2F0aW9ufS8iIGluY2x1ZGVzPSIqIiBleGNsdWRlcz0iJHtyZXBvQmFzZUxvY2F0aW9uLmV4Y2x1ZGVzfSIvPgorCTwvcDIucmVwbzJydW5uYWJsZT4KKzwvdGFyZ2V0PgorCis8IS0tIEludm9rZSB0aGUgcDIgZGlyZWN0b3IgdG8gcGVyZm9ybSBhbiBpbnN0YWxsICAtLT4KKzx0YXJnZXQgbmFtZT0icnVuRGlyZWN0b3IiID4KKwk8cHJvcGVydHkgbmFtZT0icDIuZGlyZWN0b3IuYnVuZGxlcG9vbCIgdmFsdWU9IiR7cDIuZGlyZWN0b3IuaW5zdGFsbFBhdGh9Ii8+CisJPHByb3BlcnR5IG5hbWU9InAyLmRpcmVjdG9yLmRhdGFBcmVhIiB2YWx1ZT0iJHtwMi5kaXJlY3Rvci5pbnN0YWxsUGF0aH0vcDIiLz4KKwk8cHJvcGVydHkgbmFtZT0icDIuZGlyZWN0b3IuZXh0cmFBcmdzIiB2YWx1ZT0iLXByb2ZpbGVQcm9wZXJ0aWVzIG9yZy5lY2xpcHNlLnVwZGF0ZS5pbnN0YWxsLmZlYXR1cmVzPXRydWUiIC8+CisJPHByb3BlcnR5IG5hbWU9InAyLmRpcmVjdG9yLmV4dHJhVk1BcmdzIiB2YWx1ZT0iLURlY2xpcHNlLnAyLk1ENUNoZWNrPWZhbHNlIiAvPgorCTxwcm9wZXJ0eSBuYW1lPSJwMi5kaXJlY3Rvci5wcm9maWxlIiB2YWx1ZT0icHJvZmlsZSIgLz4KKwk8cHJvcGVydHkgbmFtZT0icDIuZGlyZWN0b3IudmVyc2lvbiIgdmFsdWU9IiIgLz4KKwkKKwk8cDIuZGlyZWN0b3IgCisJCW9zPSIke29zfSIgd3M9IiR7d3N9IiBhcmNoPSIke2FyY2h9IiAKKwkJZmxhdm9yPSIke3AyLmZsYXZvcn0iIAorCQlyb2FtaW5nPSJ0cnVlIiAKKwkJcHJvZmlsZT0iJHtwMi5kaXJlY3Rvci5wcm9maWxlfSIKKwkJZXh0cmFBcmd1bWVudHM9IiR7cDIuZGlyZWN0b3IuZXh0cmFBcmdzfSIKKwkJbWV0YWRhdGFSZXBvc2l0b3J5PSIke3AyLnJlcG99IiAKKwkJYXJ0aWZhY3RSZXBvc2l0b3J5PSIke3AyLnJlcG99IiAKKwkJZGVzdGluYXRpb249IiR7cDIuZGlyZWN0b3IuaW5zdGFsbFBhdGh9IiAKKwkJYnVuZGxlcG9vbD0iJHtwMi5kaXJlY3Rvci5idW5kbGVwb29sfSIKKwkJYWdlbnRMb2NhdGlvbj0iJHtwMi5kaXJlY3Rvci5kYXRhQXJlYX0iCisJCW91dHB1dFByb3BlcnR5PSJwMi5kaXJlY3Rvci5qYXZhLm91dHB1dCIKKwkJbG9nRmlsZT0iJHtwMi5kaXJlY3Rvci5sb2d9Ij4KKwkJPGl1IGlkPSIke3AyLmRpcmVjdG9yLml1fSIgdmVyc2lvbj0iJHtwMi5kaXJlY3Rvci52ZXJzaW9ufSIgLz4KKwk8L3AyLmRpcmVjdG9yPgorPC90YXJnZXQ+CisJCis8L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9zY3JpcHRzL3BhY2thZ2UueG1sIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvc2NyaXB0cy9wYWNrYWdlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGU0NGRkCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvc2NyaXB0cy9wYWNrYWdlLnhtbApAQCAtMCwwICsxLDk4IEBACis8IS0tCisgICAgIENvcHlyaWdodCAoYykgMjAwMywgMjAwNyBJQk0gQ29ycG9yYXRpb24gYW5kIG90aGVycy4KKyAgICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscworICAgICBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKKyAgICAgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKKyAgICAgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAgICAKKyAgICAgQ29udHJpYnV0b3JzOgorICAgICAgICAgSUJNIENvcnBvcmF0aW9uIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCisgLS0+Cis8cHJvamVjdCBuYW1lPSJwYWNrYWdlciIgZGVmYXVsdD0ibWFpbiIgYmFzZWRpcj0iLiI+CisJPHRhcmdldCBuYW1lPSJpbml0Ij4KKwkJPG1rZGlyIGRpcj0iJHt3b3JraW5nRGlyZWN0b3J5fSIvPgorCQk8bWtkaXIgZGlyPSIke2Rvd25sb2FkRGlyZWN0b3J5fSIvPgorCQk8bWtkaXIgZGlyPSIke3RlbXBEaXJlY3Rvcnl9Ii8+CisJPC90YXJnZXQ+CisKKwk8dGFyZ2V0IG5hbWU9InJldHJpZXZlTWFwRmlsZXMiIHVubGVzcz0ic2tpcE1hcHMiPgorCQk8YXZhaWxhYmxlIHByb3BlcnR5PSJtYXBzRmV0Y2hlZCIgZmlsZT0iJHt3b3JraW5nRGlyZWN0b3J5fS9hbGwubWFwcyIvPgorCQk8YW50IGFudGZpbGU9IiR7Y3VzdG9tVGFyZ2V0c30iIHRhcmdldD0iZ2V0TWFwRmlsZXMiIC8+CisJCTxjb25jYXQgZGVzdGZpbGU9IiR7d29ya2luZ0RpcmVjdG9yeX0vYWxsLm1hcHMiPgorCQkJPGZpbGVzZXQgZGlyPSIke2Rvd25sb2FkRGlyZWN0b3J5fSIgaW5jbHVkZXM9IioqLyoubWFwIi8+CisJCTwvY29uY2F0PgorCTwvdGFyZ2V0PgorCisJPCEtLSB0YWtlIHRoZSBjb250ZW50IG9mIGFsbC5tYXBzLCByZXRyaWV2ZSB0aGUgZmlsZXMgYWNjb3JkaW5nIHRvIHRoZSBmaWx0ZXJpbmcgb3B0aW9ucyAoY29uZmlnLCBjb250ZW50KSwgCisJYW5kIGdlbmVyYXRlIGEgZGlyZWN0b3J5LnR4dCBmb3IgdGhlIHJlc3Qgb2YgdGhlIHByb2Nlc3MgdXNpbmcgY29uZmlnIGFzIGEga2V5LCBhbmQgY29udGFpbmluZyB0aGUgbmFtZSBvZiB0aGUgemlwIGFuZCB0aGUgZGlyZWN0b3J5IC0tPgorCTx0YXJnZXQgbmFtZT0icmV0cmlldmVGaWxlcyIgdW5sZXNzPSJza2lwRmV0Y2giPgorCQk8ZWNsaXBzZS5mZXRjaEZpbGVzR2VuZXJhdG9yIG1hcD0iJHt3b3JraW5nRGlyZWN0b3J5fS9hbGwubWFwcyIKKwkJCQkJCQkJCXdvcmtpbmdEaXJlY3Rvcnk9IiR7d29ya2luZ0RpcmVjdG9yeX0iCisJCQkJCQkJCQljb25maWdJbmZvPSIke2NvbmZpZ30iCisJCQkJCQkJCQljb250ZW50RmlsdGVyPSIke2NvbnRlbnRGaWx0ZXJ9IgorCQkJCQkJCQkJY29tcG9uZW50RmlsdGVyPSIke2NvbXBvbmVudEZpbHRlcn0iLz4KKwkJPGFudCBhbnRmaWxlPSJmZXRjaC54bWwiIGRpcj0iJHt3b3JraW5nRGlyZWN0b3J5fSIgLz4KKwk8L3RhcmdldD4KKworCTwhLS0gUHJvY2VzcyB0aGUgZGlyZWN0b3J5LnR4dCB0byBjcmVhdGUgdW56aXBwZXIueG1sLCBhbmQgcnVuIHVuemlwcGVyLnhtbC0tPgorCTx0YXJnZXQgbmFtZT0icHJlcGFyZVJlc291cmNlcyIgdW5sZXNzPSJza2lwVW56aXAiPgorCQk8ZWNsaXBzZS51bnppcHBlckJ1aWxkZXIgCXdvcmtpbmdEaXJlY3Rvcnk9IiR7d29ya2luZ0RpcmVjdG9yeX0iIAorCQkJCQkJCQkJCQljb25maWdJbmZvPSIke2NvbmZpZ30iCisJCQkJCQkJCQkJCXBhY2thZ2VQcm9wZXJ0eUZpbGU9IiR7cGFja2FnaW5nUHJvcGVydHlGaWxlfSIvPgorCQk8YW50IGFudGZpbGU9IiR7d29ya2luZ0RpcmVjdG9yeX0vdW56aXBwZXIueG1sIi8+CisJPC90YXJnZXQ+CisKKwk8IS0tIEdlbmVyYXRlIGFuIGFzc2VtYmxlIHNjcmlwdCAoYXNzZW1ibGUueG1sKSBmb3IgdGhlIGdpdmVuIGZlYXR1cmVzIC0tPgorCTx0YXJnZXQgbmFtZT0iZ2VuZXJhdGVBc3NlbWJsZVNjcmlwdHMiPgorCQk8ZWNobyBtZXNzYWdlPSIke3RhcmdldH0iLz4KKwkJPGVjbGlwc2UuYXNzZW1ibGVyIGZlYXR1cmVMaXN0PSIke2ZlYXR1cmVMaXN0fSIgCisJCQkJCQkJCQl3b3JraW5nRGlyZWN0b3J5PSIke3dvcmtpbmdEaXJlY3Rvcnl9IiAKKwkJCQkJCQkJCWNvbmZpZ0luZm89IiR7Y29uZmlnfSIgCisJCQkJCQkJCQliYXNlTG9jYXRpb249IiR7dGFyZ2V0fSIgCisJCQkJCQkJCQlwYWNrYWdlUHJvcGVydHlGaWxlPSIke3BhY2thZ2luZ1Byb3BlcnR5RmlsZX0iIAorCQkJCQkJCQkJZGVsdGFQYWNrPSIke2RlbHRhUGFja30iCisJCQkJCQkJCQlhcmNoaXZlc0Zvcm1hdD0iJHthcmNoaXZlc0Zvcm1hdH0iCisJCQkJCQkJCQlmaWx0ZXJlZERlcGVuZGVuY3lDaGVjaz0iJHtmaWx0ZXJlZERlcGVuZGVuY3lDaGVja30iCisJCQkJCQkJCQlub3JtYWxpemU9IiR7bm9ybWFsaXplV2hpbGVQYWNrYWdpbmd9Ii8+CisJPC90YXJnZXQ+CisKKwk8IS0tIENhbGwgdGhlIGFzc2VtYmxlLnhtbCBzY3JpcHQgLS0+CisJPHRhcmdldCBuYW1lPSJjYWxsQXNzZW1ibGVTY3JpcHRzIj4KKwkJPGFudCBhbnRmaWxlPSJwYWNrYWdlLmFsbC54bWwiIGRpcj0iJHt3b3JraW5nRGlyZWN0b3J5fSIvPgorCTwvdGFyZ2V0PgorCisJPHRhcmdldCBuYW1lPSJtYWluIiBkZXNjcmlwdGlvbj0iU3RhcnQgdGhlIHBhY2thZ2VyIGZvciBhIGdpdmVuIGNvbmZpZyI+CisJCTxwcm9wZXJ0eSBmaWxlPSIke3BhY2thZ2luZ0luZm99L3BhY2thZ2VyLnByb3BlcnRpZXMiIC8+CisJCTxwcm9wZXJ0eSBuYW1lPSJjdXN0b21UYXJnZXRzIiBsb2NhdGlvbj0iJHtwYWNrYWdpbmdJbmZvfS9jdXN0b21UYXJnZXRzLnhtbCIgLz4KKwkJPHByb3BlcnR5IG5hbWU9InBhY2thZ2luZ1Byb3BlcnR5RmlsZSIgbG9jYXRpb249IiR7cGFja2FnaW5nSW5mb30vJHtwYWNrYWdpbmdQcm9wZXJ0aWVzfSIgLz4KKwkJCisJCTxjb25kaXRpb24gcHJvcGVydHk9InNraXBNYXBzIiB2YWx1ZT0idHJ1ZSI+CisJCQk8aXNzZXQgcHJvcGVydHk9InByZWZpbGxlZFRhcmdldCIgLz4KKwkJPC9jb25kaXRpb24+CisJCTxjb25kaXRpb24gcHJvcGVydHk9InNraXBGZXRjaCIgdmFsdWU9InRydWUiPgorCQkJPGlzc2V0IHByb3BlcnR5PSJwcmVmaWxsZWRUYXJnZXQiIC8+CisJCTwvY29uZGl0aW9uPgorCQk8Y29uZGl0aW9uIHByb3BlcnR5PSJza2lwVW56aXAiIHZhbHVlPSJ0cnVlIj4KKwkJCTxpc3NldCBwcm9wZXJ0eT0icHJlZmlsbGVkVGFyZ2V0IiAvPgorCQk8L2NvbmRpdGlvbj4KKwkJCisJCTwhLS0gQ29tcGF0aWJpbGl0eSAtLT4KKwkJPHByb3BlcnR5IG5hbWU9ImZpbHRlcmVkRGVwZW5kZW5jeUNoZWNrIiB2YWx1ZT0iZmFsc2UiLz4KKwkJPGNvbmRpdGlvbiBwcm9wZXJ0eT0ic2tpcE1hcHMiIHZhbHVlPSJ0cnVlIj4KKwkJCTxpc3NldCBwcm9wZXJ0eT0ibG9jYWxNYXBzIi8+CisJCTwvY29uZGl0aW9uPgorCQk8Y29uZGl0aW9uIHByb3BlcnR5PSJ0YXJnZXQiIHZhbHVlPSIke3RlbXBEaXJlY3Rvcnl9LyR7ZmVhdHVyZVBhdGhzfSI+CisJCQk8aXNzZXQgcHJvcGVydHk9ImZlYXR1cmVQYXRocyIvPgorCQk8L2NvbmRpdGlvbj4KKwkJPHByb3BlcnR5IG5hbWU9Im5vcm1hbGl6ZVdoaWxlUGFja2FnaW5nIiB2YWx1ZT0idHJ1ZSIvPgorCQkKKwkJPCEtLSBFbmQgb2YgY29tcGF0aWJpbGl0eSAtLT4KKwkJCQorCQk8YW50Y2FsbCB0YXJnZXQ9ImluaXQiIC8+CisJCTxhbnRjYWxsIHRhcmdldD0icmV0cmlldmVNYXBGaWxlcyIvPgorCQk8YW50Y2FsbCB0YXJnZXQ9InJldHJpZXZlRmlsZXMiLz4KKwkJPGFudGNhbGwgdGFyZ2V0PSJwcmVwYXJlUmVzb3VyY2VzIi8+CisJCTxhbnRjYWxsIHRhcmdldD0iZ2VuZXJhdGVBc3NlbWJsZVNjcmlwdHMiLz4KKwkJPGFudGNhbGwgdGFyZ2V0PSJjYWxsQXNzZW1ibGVTY3JpcHRzIi8+CisJPC90YXJnZXQ+Cis8L3Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvc2NyaXB0cy9wcm9kdWN0QnVpbGQvYWxsRWxlbWVudHMueG1sIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvc2NyaXB0cy9wcm9kdWN0QnVpbGQvYWxsRWxlbWVudHMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjMjAzM2YKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9zY3JpcHRzL3Byb2R1Y3RCdWlsZC9hbGxFbGVtZW50cy54bWwKQEAgLTAsMCArMSwxNDIgQEAKKzwhLS0KKyAgICAgQ29weXJpZ2h0IChjKSAyMDA2LCAyMDA4IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgorICAgICBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCisgICAgIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAorICAgICB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAorICAgICBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICAgIAorICAgICBDb250cmlidXRvcnM6CisgICAgICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KKyAtLT4KKzxwcm9qZWN0IG5hbWU9IlByb2R1Y3QgQnVpbGQgYWxsRWxlbWVudHMgRGVsZWdhdG9yIj4KKwk8cHJvcGVydHkgbmFtZT0iZGVmYXVsdEFzc2VtYmx5RW5hYmxlZCIgdmFsdWU9InRydWUiIC8+CisJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lUHJlZml4IiB2YWx1ZT0iJHtidWlsZElkfSIvPgorCQorIAk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAJPCEtLSBSdW4gYSBnaXZlbiAke3RhcmdldH0gb24gYWxsIGVsZW1lbnRzIGJlaW5nIGJ1aWx0ICAgICAgICAgICAgICAgICAgICAgLS0+CisgCTwhLS0gQWRkIG9uIDxhbnQ+IHRhc2sgZm9yIGVhY2ggdG9wIGxldmVsIGVsZW1lbnQgYmVpbmcgYnVpbHQuICAgICAgICAgICAgIC0tPgorIAk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKyAJPHRhcmdldCBuYW1lPSJhbGxFbGVtZW50c0RlbGVnYXRvciI+CisgCQk8YW50IGFudGZpbGU9IiR7Z2VuZXJpY1RhcmdldHN9IiB0YXJnZXQ9IiR7dGFyZ2V0fSI+CisJIAkJPHByb3BlcnR5IG5hbWU9InR5cGUiIHZhbHVlPSJmZWF0dXJlIiAvPgorCSAJCTxwcm9wZXJ0eSBuYW1lPSJpZCIgdmFsdWU9Im9yZy5lY2xpcHNlLnBkZS5idWlsZC5jb250YWluZXIuZmVhdHVyZSIgLz4KKyAJCTwvYW50PgorIAk8L3RhcmdldD4KKyAKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSAgVGhlIGRlZmF1bHQgYXNzZW1ibGUgdGFyZ2V0LCB0aGlzIHdpbGwgYmUgY2FsbGVkIHRvIGFzc2VtYmxlIGVhY2gJCS0tPgkgCisJPCEtLSAgY29uZmlnIGlmIGEgY3VzdG9tIGFzc2VtYmxlIHRhcmdldCBpcyBub3QgZGVmaW5lZC4JCQkJCS0tPgorCTwhLS0gVGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIHdpbGwgYmUgZGVmaW5lZDoJCQkJCQkJCS0tPgorCTwhLS0gCQljb25maWcgOiBUaGUgY29uZmlndXJhdGlvbiBiZWluZyBhc3NlbWJsZWQgZWcgIndpbjMyLndpbjMyLng4NiIJLS0+CisJPCEtLSAJCWVsZW1lbnQ6IFRoZSBlbGVtZW50IGJlaW5nIGFzc2VtYmxlZCBlZyAib3JnLmVjbGlwc2Uuc2RrIgkJLS0+CisJPCEtLSAJCWFzc2VtYmxlU2NyaXB0TmFtZTogVGhlIGFzc2VtYmxlIHNjcmlwdCB0byBiZSBjYWxsZWQJCQktLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJkZWZhdWx0QXNzZW1ibGUiPgorCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgZGlyPSIke2J1aWxkRGlyZWN0b3J5fSI+CQkJCisgCQkJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lIiB2YWx1ZT0iJHthcmNoaXZlTmFtZVByZWZpeH0tJHtjb25maWd9LnppcCIvPgorCQk8L2FudD4KKwk8L3RhcmdldD4JCisJCisgCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorIAk8IS0tIFRhcmdldHMgdG8gYXNzZW1ibGUgdGhlIGJ1aWx0IGVsZW1lbnRzIGZvciBwYXJ0aWN1bGFyIGNvbmZpZ3VyYXRpb25zICAtLT4KKyAJPCEtLSBUaGVzZSBnZW5lcmFsbHkgY2FsbCB0aGUgZ2VuZXJhdGVkIGFzc2VtYmxlIHNjcmlwdHMgKG5hbWVkIGluICAgICAgICAgLS0+CisgCTwhLS0gJHthc3NlbWJsZVNjcmlwdE5hbWV9KSBidXQgbWF5IGFsc28gYWRkIHByZSBhbmQgcG9zdCBwcm9jZXNzaW5nICAgICAgIC0tPgorIAk8IS0tIEFkZCBvbmUgdGFyZ2V0IGZvciBlYWNoIHJvb3QgZWxlbWVudCBhbmQgZWFjaCBjb25maWd1cmF0aW9uICAgICAgICAgICAtLT4KKyAJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisgCTx0YXJnZXQgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2UucGRlLmJ1aWxkLmNvbnRhaW5lci5mZWF0dXJlIj4KKyAJCTxhbnQgYW50ZmlsZT0iJHthc3NlbWJsZVNjcmlwdE5hbWV9IiBkaXI9IiR7YnVpbGREaXJlY3Rvcnl9Ij4KKwkJCTxwcm9wZXJ0eSBuYW1lPSJhcmNoaXZlTmFtZSIgdmFsdWU9IiR7YXJjaGl2ZU5hbWVQcmVmaXh9LnppcCIvPgorCQk8L2FudD4KKyAJPC90YXJnZXQ+CisJCisJPHByb3BlcnR5IG5hbWU9ImFzc2VtYmxlLm9yZy5lY2xpcHNlLnBkZS5idWlsZC5jb250YWluZXIuZmVhdHVyZS53aW4zMi53aW4zMi54ODYiIHZhbHVlPSJ0cnVlIiAvPgorIAk8dGFyZ2V0IG5hbWU9ImFzc2VtYmxlLm9yZy5lY2xpcHNlLnBkZS5idWlsZC5jb250YWluZXIuZmVhdHVyZS53aW4zMi53aW4zMi54ODYiPgorIAkJPGFudCBhbnRmaWxlPSIke2Fzc2VtYmxlU2NyaXB0TmFtZX0iIGRpcj0iJHtidWlsZERpcmVjdG9yeX0iPgkJCQorIAkJCTxwcm9wZXJ0eSBuYW1lPSJhcmNoaXZlTmFtZSIgdmFsdWU9IiR7YXJjaGl2ZU5hbWVQcmVmaXh9LXdpbjMyLndpbjMyLng4Ni56aXAiLz4KKwkJPC9hbnQ+CisgCTwvdGFyZ2V0PgorCQorCTxwcm9wZXJ0eSBuYW1lPSJhc3NlbWJsZS5vcmcuZWNsaXBzZS5wZGUuYnVpbGQuY29udGFpbmVyLmZlYXR1cmUud2luMzIud2luMzIueDg2XzY0IiB2YWx1ZT0idHJ1ZSIgLz4KKyAJPHRhcmdldCBuYW1lPSJhc3NlbWJsZS5vcmcuZWNsaXBzZS5wZGUuYnVpbGQuY29udGFpbmVyLmZlYXR1cmUud2luMzIud2luMzIueDg2XzY0Ij4KKyAJCTxhbnQgYW50ZmlsZT0iJHthc3NlbWJsZVNjcmlwdE5hbWV9IiBkaXI9IiR7YnVpbGREaXJlY3Rvcnl9Ij4JCQkKKyAJCQk8cHJvcGVydHkgbmFtZT0iYXJjaGl2ZU5hbWUiIHZhbHVlPSIke2FyY2hpdmVOYW1lUHJlZml4fS13aW4zMi53aW4zMi54ODZfNjQuemlwIi8+CisJCTwvYW50PgorIAk8L3RhcmdldD4KKwkKKwk8cHJvcGVydHkgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2UucGRlLmJ1aWxkLmNvbnRhaW5lci5mZWF0dXJlLmxpbnV4Lmd0ay5wcGMiIHZhbHVlPSJ0cnVlIiAvPgorIAk8dGFyZ2V0IG5hbWU9ImFzc2VtYmxlLm9yZy5lY2xpcHNlLnBkZS5idWlsZC5jb250YWluZXIuZmVhdHVyZS5saW51eC5ndGsucHBjIj4KKyAJCTxhbnQgYW50ZmlsZT0iJHthc3NlbWJsZVNjcmlwdE5hbWV9IiBkaXI9IiR7YnVpbGREaXJlY3Rvcnl9Ij4JCQkKKyAJCQk8cHJvcGVydHkgbmFtZT0iYXJjaGl2ZU5hbWUiIHZhbHVlPSIke2FyY2hpdmVOYW1lUHJlZml4fS1saW51eC5ndGsucHBjLnppcCIvPgorCQk8L2FudD4KKyAJPC90YXJnZXQ+CisJCisJPHByb3BlcnR5IG5hbWU9ImFzc2VtYmxlLm9yZy5lY2xpcHNlLnBkZS5idWlsZC5jb250YWluZXIuZmVhdHVyZS5saW51eC5ndGsueDg2IiB2YWx1ZT0idHJ1ZSIgLz4KKyAJPHRhcmdldCBuYW1lPSJhc3NlbWJsZS5vcmcuZWNsaXBzZS5wZGUuYnVpbGQuY29udGFpbmVyLmZlYXR1cmUubGludXguZ3RrLng4NiI+CisgCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgZGlyPSIke2J1aWxkRGlyZWN0b3J5fSI+CQkJCisgCQkJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lIiB2YWx1ZT0iJHthcmNoaXZlTmFtZVByZWZpeH0tbGludXguZ3RrLng4Ni56aXAiLz4KKwkJPC9hbnQ+CisgCTwvdGFyZ2V0PgorCQorCTxwcm9wZXJ0eSBuYW1lPSJhc3NlbWJsZS5vcmcuZWNsaXBzZS5wZGUuYnVpbGQuY29udGFpbmVyLmZlYXR1cmUubGludXguZ3RrLng4Nl82NCIgdmFsdWU9InRydWUiIC8+CisgCTx0YXJnZXQgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2UucGRlLmJ1aWxkLmNvbnRhaW5lci5mZWF0dXJlLmxpbnV4Lmd0ay54ODZfNjQiPgorIAkJPGFudCBhbnRmaWxlPSIke2Fzc2VtYmxlU2NyaXB0TmFtZX0iIGRpcj0iJHtidWlsZERpcmVjdG9yeX0iPgkJCQorIAkJCTxwcm9wZXJ0eSBuYW1lPSJhcmNoaXZlTmFtZSIgdmFsdWU9IiR7YXJjaGl2ZU5hbWVQcmVmaXh9LWxpbnV4Lmd0ay54ODZfNjQuemlwIi8+CisJCTwvYW50PgorIAk8L3RhcmdldD4KKwkKKwk8cHJvcGVydHkgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2UucGRlLmJ1aWxkLmNvbnRhaW5lci5mZWF0dXJlLmxpbnV4Lm1vdGlmLng4NiIgdmFsdWU9InRydWUiIC8+CisgCTx0YXJnZXQgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2UucGRlLmJ1aWxkLmNvbnRhaW5lci5mZWF0dXJlLmxpbnV4Lm1vdGlmLng4NiI+CisgCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgZGlyPSIke2J1aWxkRGlyZWN0b3J5fSI+CQkJCisgCQkJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lIiB2YWx1ZT0iJHthcmNoaXZlTmFtZVByZWZpeH0tbGludXgubW90aWYueDg2LnppcCIvPgorCQk8L2FudD4KKyAJPC90YXJnZXQ+CisJCisJPHByb3BlcnR5IG5hbWU9ImFzc2VtYmxlLm9yZy5lY2xpcHNlLnBkZS5idWlsZC5jb250YWluZXIuZmVhdHVyZS5zb2xhcmlzLm1vdGlmLnNwYXJjIiB2YWx1ZT0idHJ1ZSIgLz4KKyAJPHRhcmdldCBuYW1lPSJhc3NlbWJsZS5vcmcuZWNsaXBzZS5wZGUuYnVpbGQuY29udGFpbmVyLmZlYXR1cmUuc29sYXJpcy5tb3RpZi5zcGFyYyI+CisgCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgZGlyPSIke2J1aWxkRGlyZWN0b3J5fSI+CQkJCisgCQkJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lIiB2YWx1ZT0iJHthcmNoaXZlTmFtZVByZWZpeH0tc29sYXJpcy5tb3RpZi5zcGFyYy56aXAiLz4KKwkJPC9hbnQ+CisgCTwvdGFyZ2V0PgorIAkJCisJPHByb3BlcnR5IG5hbWU9ImFzc2VtYmxlLm9yZy5lY2xpcHNlLnBkZS5idWlsZC5jb250YWluZXIuZmVhdHVyZS5zb2xhcmlzLmd0ay5zcGFyYyIgdmFsdWU9InRydWUiIC8+CisgCTx0YXJnZXQgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2UucGRlLmJ1aWxkLmNvbnRhaW5lci5mZWF0dXJlLnNvbGFyaXMuZ3RrLnNwYXJjIj4KKyAJCTxhbnQgYW50ZmlsZT0iJHthc3NlbWJsZVNjcmlwdE5hbWV9IiBkaXI9IiR7YnVpbGREaXJlY3Rvcnl9Ij4JCQkKKyAJCQk8cHJvcGVydHkgbmFtZT0iYXJjaGl2ZU5hbWUiIHZhbHVlPSIke2FyY2hpdmVOYW1lUHJlZml4fS1zb2xhcmlzLmd0ay5zcGFyYy56aXAiLz4KKwkJPC9hbnQ+CisgCTwvdGFyZ2V0PgorCQorCTxwcm9wZXJ0eSBuYW1lPSJhc3NlbWJsZS5vcmcuZWNsaXBzZS5wZGUuYnVpbGQuY29udGFpbmVyLmZlYXR1cmUuYWl4Lm1vdGlmLnBwYyIgdmFsdWU9InRydWUiIC8+CisgCTx0YXJnZXQgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2UucGRlLmJ1aWxkLmNvbnRhaW5lci5mZWF0dXJlLmFpeC5tb3RpZi5wcGMiPgorIAkJPGFudCBhbnRmaWxlPSIke2Fzc2VtYmxlU2NyaXB0TmFtZX0iIGRpcj0iJHtidWlsZERpcmVjdG9yeX0iPgkJCQorIAkJCTxwcm9wZXJ0eSBuYW1lPSJhcmNoaXZlTmFtZSIgdmFsdWU9IiR7YXJjaGl2ZU5hbWVQcmVmaXh9LWFpeC5tb3RpZi5wcGMuemlwIi8+CisJCTwvYW50PgorIAk8L3RhcmdldD4KKwkKKwk8cHJvcGVydHkgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2UucGRlLmJ1aWxkLmNvbnRhaW5lci5mZWF0dXJlLmhwdXgubW90aWYuUEFfUklTQyIgdmFsdWU9InRydWUiIC8+CisgCTx0YXJnZXQgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2UucGRlLmJ1aWxkLmNvbnRhaW5lci5mZWF0dXJlLmhwdXgubW90aWYuUEFfUklTQyI+CisgCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgZGlyPSIke2J1aWxkRGlyZWN0b3J5fSI+CQkJCisgCQkJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lIiB2YWx1ZT0iJHthcmNoaXZlTmFtZVByZWZpeH0taHB1eC5tb3RpZi5QQV9SSVNDLnppcCIvPgorCQk8L2FudD4KKyAJPC90YXJnZXQ+CisJCisJPHByb3BlcnR5IG5hbWU9ImFzc2VtYmxlLm9yZy5lY2xpcHNlLnBkZS5idWlsZC5jb250YWluZXIuZmVhdHVyZS5tYWNvc3guY2FyYm9uLnBwYyIgdmFsdWU9InRydWUiIC8+CisgCTx0YXJnZXQgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2UucGRlLmJ1aWxkLmNvbnRhaW5lci5mZWF0dXJlLm1hY29zeC5jYXJib24ucHBjIj4KKyAJCTxhbnQgYW50ZmlsZT0iJHthc3NlbWJsZVNjcmlwdE5hbWV9IiBkaXI9IiR7YnVpbGREaXJlY3Rvcnl9Ij4JCQkKKyAJCQk8cHJvcGVydHkgbmFtZT0iYXJjaGl2ZU5hbWUiIHZhbHVlPSIke2FyY2hpdmVOYW1lUHJlZml4fS1tYWNvc3guY2FyYm9uLnBwYy56aXAiLz4KKwkJPC9hbnQ+CisgCTwvdGFyZ2V0PgorCQorCTxwcm9wZXJ0eSBuYW1lPSJhc3NlbWJsZS5vcmcuZWNsaXBzZS5wZGUuYnVpbGQuY29udGFpbmVyLmZlYXR1cmUubWFjb3N4LmNhcmJvbi54ODYiIHZhbHVlPSJ0cnVlIiAvPgorIAk8dGFyZ2V0IG5hbWU9ImFzc2VtYmxlLm9yZy5lY2xpcHNlLnBkZS5idWlsZC5jb250YWluZXIuZmVhdHVyZS5tYWNvc3guY2FyYm9uLng4NiI+CisgCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgZGlyPSIke2J1aWxkRGlyZWN0b3J5fSI+CQkJCisgCQkJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lIiB2YWx1ZT0iJHthcmNoaXZlTmFtZVByZWZpeH0tbWFjb3N4LmNhcmJvbi54ODYuemlwIi8+CisJCTwvYW50PgorIAk8L3RhcmdldD4KKwkKKwk8cHJvcGVydHkgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2UucGRlLmJ1aWxkLmNvbnRhaW5lci5mZWF0dXJlLmdyb3VwLmdyb3VwLmdyb3VwIiB2YWx1ZT0idHJ1ZSIgLz4KKyAJPHRhcmdldCBuYW1lPSJhc3NlbWJsZS5vcmcuZWNsaXBzZS5wZGUuYnVpbGQuY29udGFpbmVyLmZlYXR1cmUuZ3JvdXAuZ3JvdXAuZ3JvdXAiPgorIAkJPGFudCBhbnRmaWxlPSIke2Fzc2VtYmxlU2NyaXB0TmFtZX0iIGRpcj0iJHtidWlsZERpcmVjdG9yeX0iPgkJCQorIAkJCTxwcm9wZXJ0eSBuYW1lPSJhcmNoaXZlTmFtZSIgdmFsdWU9IiR7YXJjaGl2ZU5hbWVQcmVmaXh9LWdyb3VwLnppcCIvPgorCQk8L2FudD4KKyAJPC90YXJnZXQ+Cis8L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC9zY3JpcHRzL3Byb2R1Y3RCdWlsZC9wcm9kdWN0QnVpbGQueG1sIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvc2NyaXB0cy9wcm9kdWN0QnVpbGQvcHJvZHVjdEJ1aWxkLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjEzMWU0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvc2NyaXB0cy9wcm9kdWN0QnVpbGQvcHJvZHVjdEJ1aWxkLnhtbApAQCAtMCwwICsxLDczIEBACis8IS0tCisgICAgQ29weXJpZ2h0IChjKSAyMDA2LCAyMDEwIElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgorICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKKyAgICBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKKyAgICB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAorICAgIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgICAKKyAgICBDb250cmlidXRvcnM6CisgICAgICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KKyAtLT4KKzxwcm9qZWN0IG5hbWU9IkJ1aWxkIGEgUHJvZHVjdCIgZGVmYXVsdD0ibWFpbiI+CisKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBHbG9iYWwgcHJvcGVydGllcy4gIFNlZSB0aGUgYnVpbGQucHJvcGVydGllcyBmb3IgaW5mb3JtYXRpb24gb24gLS0+Cis8IS0tIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGNhbGxlcnMgY2FuIGNvbnRyb2wuIC0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8cHJvcGVydHkgbmFtZT0iYWxsRWxlbWVudHNGaWxlIiB2YWx1ZT0iJHtlY2xpcHNlLnBkZWJ1aWxkLnNjcmlwdHN9L3Byb2R1Y3RCdWlsZC9hbGxFbGVtZW50cy54bWwiLz4KKzxpbXBvcnQgZmlsZT0iJHtlY2xpcHNlLnBkZWJ1aWxkLnNjcmlwdHN9L2J1aWxkLnhtbCIvPgorPHByb3BlcnR5IG5hbWU9InBsdWdpblBhdGgiIHZhbHVlPSIiLz4KKzxwcm9wZXJ0eSBuYW1lPSJwbHVnaW5MaXN0IiB2YWx1ZT0iIi8+Cis8cHJvcGVydHkgbmFtZT0iZmVhdHVyZUxpc3QiIHZhbHVlPSIiLz4KKzxwcm9wZXJ0eSBuYW1lPSJpbmNsdWRlTGF1bmNoZXJzIiB2YWx1ZT0idHJ1ZSIvPgorPHByb3BlcnR5IG5hbWU9ImdlbmVyYXRlZEJ1aWxkUHJvcGVydGllcyIgdmFsdWU9IiIvPgorPGNvbmRpdGlvbiBwcm9wZXJ0eT0ibmVzdGVkSW5jbHVzaW9ucyIgdmFsdWU9InRydWUiPgorCTxpc3RydWUgdmFsdWU9IiR7cDIuZ2F0aGVyaW5nfSIgLz4KKzwvY29uZGl0aW9uPgorCis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzwhLS0gbWFpbiBlbnRyeSBwb2ludCB0byBzZXR1cCwgZmV0Y2gsIGdlbmVyYXRlLCBidWlsZCBldGMuIFVzZSAtLT4KKzwhLS0gdGhlIGN1c3RvbVRhcmdldHMueG1sIHRvIG1vZGlmeSB0aGUgYnVpbGQgYmVoYXZpb3VyLiAtLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHRhcmdldCBuYW1lPSJtYWluIiBkZXNjcmlwdGlvbj0idGhlIG1haW4gYnVpbGQgdGFyZ2V0Ij4JCisgIAk8YW50Y2FsbCB0YXJnZXQ9InByZUJ1aWxkIiAvPgorCTxhbnRjYWxsIHRhcmdldD0icHJvY2Vzc1JlcG9zIi8+CisJPGFudGNhbGwgdGFyZ2V0PSJnZW5lcmF0ZUZlYXR1cmUiPiA8IS0tIEdlbmVyYXRlIHRoZSBmZWF0dXJlIHRvIGRyaXZlIHRoZSBmZXRjaCAtLT4KKwkJPHBhcmFtIG5hbWU9InZlcmlmeSIgdmFsdWU9ImZhbHNlIi8+CisJPC9hbnRjYWxsPgorIAk8YW50Y2FsbCB0YXJnZXQ9ImZldGNoIiAvPgorCTxhbnRjYWxsIHRhcmdldD0iZ2VuZXJhdGVGZWF0dXJlIj4gPCEtLSBXZSBhcmUgY2FsbGluZyBnZW5lcmF0ZSBmZWF0dXJlIGEgc2Vjb25kIHRpbWUgc28gdGhhdCB3ZSBjYW4gZ2V0IHRoZSBwYWNrIC8gdW5wYWNrIGNsYXVzZSBmaXhlZCAtLT4KKwkJPHBhcmFtIG5hbWU9InZlcmlmeSIgdmFsdWU9InRydWUiLz4KKwk8L2FudGNhbGw+IAorCTxhbnRjYWxsIHRhcmdldD0iZ2VuZXJhdGUiIC8+IAorCTxhbnRjYWxsIHRhcmdldD0icHJvY2VzcyIgLz4gCisJPGFudGNhbGwgdGFyZ2V0PSJhc3NlbWJsZSIgLz4KKwk8YW50Y2FsbCB0YXJnZXQ9InBhY2thZ2UiIC8+CisJPGFudGNhbGwgdGFyZ2V0PSJwb3N0QnVpbGQiIC8+Cis8L3RhcmdldD4KKworPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIEdlbmVyYXRlIGEgY29udGFpbmVyIGZlYXR1cmUgYmFzZWQgb24gdGhlIHByb2R1Y3QgZmlsZSAgICAgICAgICAgICAgICAtLT4KKzwhLS0gVGhlIHBsdWdpbiBvciBmZWF0dXJlIGNvbnRhaW5pbmcgdGhlIC5wcm9kdWN0IGZpbGUgd2lsbCBuZWVkIHRvIGV4aXN0IC0tPgorPCEtLSBhbHJlYWR5LCB1c2UgcHJlU2V0dXAgb3IgcG9zdFNldHVwIHRvIGZldGNoIGl0IGlmIG5lY2Vzc2FyeSAgICAgICAgICAgLS0+Cis8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKzx0YXJnZXQgbmFtZT0iZ2VuZXJhdGVGZWF0dXJlIj4KKwk8ZWNsaXBzZS5nZW5lcmF0ZUZlYXR1cmUKKwkJZmVhdHVyZUlkPSJvcmcuZWNsaXBzZS5wZGUuYnVpbGQuY29udGFpbmVyLmZlYXR1cmUiCisJCWJ1aWxkRGlyZWN0b3J5PSIke2J1aWxkRGlyZWN0b3J5fSIKKwkJYmFzZUxvY2F0aW9uPSIke2Jhc2VMb2NhdGlvbn0iCisJCXByb2R1Y3RGaWxlPSIke3Byb2R1Y3R9IgorCQl2ZXJpZnk9IiR7dmVyaWZ5fSIKKwkJcGx1Z2luUGF0aD0iJHt0cmFuc2Zvcm1lZFJlcG9Mb2NhdGlvbn0ke3BhdGguc2VwYXJhdG9yfSR7cGx1Z2luUGF0aH0iCisJCWNvbmZpZ0luZm89IiR7Y29uZmlnc30iCisJCXBsdWdpbkxpc3Q9IiR7cGx1Z2luTGlzdH0iCisJCWZlYXR1cmVMaXN0PSIke2ZlYXR1cmVMaXN0fSIKKwkJaW5jbHVkZUxhdW5jaGVycz0iJHtpbmNsdWRlTGF1bmNoZXJzfSIKKwkJYnVpbGRQcm9wZXJ0aWVzRmlsZT0iJHtnZW5lcmF0ZWRCdWlsZFByb3BlcnRpZXN9IgorCQluZXN0ZWRJbmNsdXNpb25zPSIke25lc3RlZEluY2x1c2lvbnN9IgorCQlmaWx0ZXJQMkJhc2U9IiR7ZmlsdGVyUDJCYXNlfSIKKwkvPgorPC90YXJnZXQ+CisKKworPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvdGVtcGxhdGVzL2ZlYXR1cmVzL2N1c3RvbUJ1aWxkQ2FsbGJhY2tzLnhtbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL3RlbXBsYXRlcy9mZWF0dXJlcy9jdXN0b21CdWlsZENhbGxiYWNrcy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ2YWE3OQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL3RlbXBsYXRlcy9mZWF0dXJlcy9jdXN0b21CdWlsZENhbGxiYWNrcy54bWwKQEAgLTAsMCArMSwzMiBAQAorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8IS0tIEN1c3RvbSB0YXJnZXRzIGNhbGxlZCBmcm9tIGEgcHJvamVjdCdzIGdlbmVyYXRlZCBidWlsZC54bWwgICAgICAgICAgICAtLT4KKzwhLS0gU2V0IGN1c3RvbUJ1aWxkQ2FsbGJhY2tzPTxwYXRoL3RvL3RoaXMvZmlsZT4gaW4geW91ciBidWlsZC5wcm9wZXJ0aWVzLi0tPgorPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+Cis8cHJvamVjdCBuYW1lPSJCdWlsZCBzcGVjaWZpYyB0YXJnZXRzIGFuZCBwcm9wZXJ0aWVzIiBkZWZhdWx0PSJub0RlZmF1bHQiPgorCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBEZWZhdWx0IHRhcmdldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJub0RlZmF1bHQiPgorCQk8ZWNobyBtZXNzYWdlPSJUaGlzIGZpbGUgbXVzdCBiZSBjYWxsZWQgd2l0aCBleHBsaWNpdCB0YXJnZXRzIiAvPgorCTwvdGFyZ2V0PgorCQorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYmVmb3JlIHRoZSB0YXJnZXQgZ2F0aGVyLmJpbi5wYXJ0cyAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gQXZhaWxhYmxlIHBhcmFtZXRlcnMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gIGRlc3RpbmF0aW9uLnRlbXAuZm9sZGVyIC0gdGhlIGRpcmVjdG9yeSBwbHVnaW5zIHdpbGwgYmUgY29sbGVjdGVkIHRvIC0tPgorCTwhLS0gIGZlYXR1cmUuZGlyZWN0b3J5IC0gdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSByZXN1bHRpbmcgZmVhdHVyZSAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icHJlLmdhdGhlci5iaW4ucGFydHMiPgorCTwvdGFyZ2V0PgorCQorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYWZ0ZXIgdGhlIHRhcmdldCBnYXRoZXIuYmluLnBhcnRzICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gQXZhaWxhYmxlIHBhcmFtZXRlcnMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gIGRlc3RpbmF0aW9uLnRlbXAuZm9sZGVyIC0gdGhlIGRpcmVjdG9yeSBwbHVnaW5zIHdpbGwgYmUgY29sbGVjdGVkIHRvIC0tPgorCTwhLS0gIGZlYXR1cmUuZGlyZWN0b3J5IC0gdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSByZXN1bHRpbmcgZmVhdHVyZSAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdC5nYXRoZXIuYmluLnBhcnRzIj4KKwk8L3RhcmdldD4KKworPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2FsbEVsZW1lbnRzLnhtbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL3RlbXBsYXRlcy9oZWFkbGVzcy1idWlsZC9hbGxFbGVtZW50cy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJiNTAxNgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL3RlbXBsYXRlcy9oZWFkbGVzcy1idWlsZC9hbGxFbGVtZW50cy54bWwKQEAgLTAsMCArMSw1MiBAQAorPHByb2plY3QgbmFtZT0iYWxsRWxlbWVudHMgRGVsZWdhdG9yIj4KKwk8cHJvcGVydHkgbmFtZT0iZGVmYXVsdEFzc2VtYmx5RW5hYmxlZCIgdmFsdWU9InRydWUiIC8+CisJCisgCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IAktLT4KKyAJPCEtLSBSdW4gYSBnaXZlbiAke3RhcmdldH0gb24gYWxsIGVsZW1lbnRzIGJlaW5nIGJ1aWx0CQkJCQkJLS0+CisgCTwhLS0gQnkgZGVmYXVsdCAke3RvcExldmVsRWxlbWVudFR5cGV9IGFuZCAke3RvcExldmVsRWxlbWVudElkfSBzaG91bGQgYmUJLS0+IAorIAk8IS0tIGRlZmluZWQgaW4gdGhlIGJ1aWxkZXIncyBidWlsZC5wcm9wZXJ0aWVzIGZpbGUuICBZb3UgY2FuIGN1c3RvbWl6ZSBieQktLT4gCisgCTwhLS0gc2V0dGluZyB0aGUgdHlwZS9pZCB2YWx1ZXMgZGlyZWN0bHkgaGVyZS4JCQkJCQkJCS0tPgorCTwhLS0gWW91IGNhbiBhZGQgYWRkaXRpb25hbCBjYWxscyB0byAke2dlbmVyaWNUYXJnZXRzfSB0byBidWlsZCBtb3JlIHRvcCAJLS0+CisJPCEtLSBsZXZlbCBlbGVtZW50cy4JCQkJCQkJCQkgICAJCQkJCS0tPgorCTwhLS0JCQkJCQkJCQkJCQkJCQkJCQktLT4KKwk8IS0tIFRoZSB0b3AgbGV2ZWwgbXVzdCBleGlzdCBpbiB0aGUgJHtidWlsZERpcmVjdG9yeX0sICR7YmFzZUxvY2F0aW9ufSBvcgktLT4KKwk8IS0tICR7cGx1Z2luUGF0aH0gbG9jYXRpb25zLgkJCQkJCQkJCQkJCS0tPgorIAk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAJLS0+CisgCTx0YXJnZXQgbmFtZT0iYWxsRWxlbWVudHNEZWxlZ2F0b3IiPgorIAkJPGFudCBhbnRmaWxlPSIke2dlbmVyaWNUYXJnZXRzfSIgdGFyZ2V0PSIke3RhcmdldH0iPgorCSAJCTxwcm9wZXJ0eSBuYW1lPSJ0eXBlIiB2YWx1ZT0iJHt0b3BMZXZlbEVsZW1lbnRUeXBlfSIgLz4KKwkgCQk8cHJvcGVydHkgbmFtZT0iaWQiIHZhbHVlPSIke3RvcExldmVsRWxlbWVudElkfSIgLz4KKyAJCTwvYW50PgorIAk8L3RhcmdldD4KKyAKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSAgVGhlIGRlZmF1bHQgYXNzZW1ibGUgdGFyZ2V0LCB0aGlzIHdpbGwgYmUgY2FsbGVkIHRvIGFzc2VtYmxlIGVhY2gJCS0tPgkgCisJPCEtLSAgY29uZmlnIGlmIGEgY3VzdG9tIGFzc2VtYmxlIHRhcmdldCBpcyBub3QgZGVmaW5lZC4JCQkJCS0tPgorCTwhLS0gVGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIHdpbGwgYmUgZGVmaW5lZDoJCQkJCQkJCS0tPgorCTwhLS0gCQljb25maWcgOiBUaGUgY29uZmlndXJhdGlvbiBiZWluZyBhc3NlbWJsZWQgZWcgIndpbjMyLndpbjMyLng4NiIJLS0+CisJPCEtLSAJCWVsZW1lbnQ6IFRoZSBlbGVtZW50IGJlaW5nIGFzc2VtYmxlZCBlZyAib3JnLmVjbGlwc2Uuc2RrIgkJLS0+CisJPCEtLSAJCWFzc2VtYmxlU2NyaXB0TmFtZTogVGhlIGFzc2VtYmxlIHNjcmlwdCB0byBiZSBjYWxsZWQJCQktLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJkZWZhdWx0QXNzZW1ibGUiPgorCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgZGlyPSIke2J1aWxkRGlyZWN0b3J5fSIgLz4KKwk8L3RhcmdldD4JCisJCisgCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CS0tPgorIAk8IS0tIEN1c3RvbSB0YXJnZXRzIHRvIGFzc2VtYmxlIHRoZSBidWlsdCBlbGVtZW50cyBmb3IgcGFydGljdWxhciAJCQktLT4KKyAJPCEtLSBjb25maWd1cmF0aW9ucy4gIFRoZXNlIGdlbmVyYWxseSBjYWxsIHRoZSBnZW5lcmF0ZWQgYXNzZW1ibGUgc2NyaXB0cyAJLS0+CisgCTwhLS0gKG5hbWVkIGluICAke2Fzc2VtYmxlU2NyaXB0TmFtZX0pIGJ1dCBtYXkgYWxzbyBhZGQgcHJlIGFuZCBwb3N0CQktLT4gCisgCTwhLS0gcHJvY2Vzc2luZyAgICAgIAkJCQkJCQkJCQkJCQkJLS0+CisgCTwhLS0gQWRkIG9uZSB0YXJnZXQgZm9yIGVhY2ggcm9vdCBlbGVtZW50IGFuZCBlYWNoIGNvbmZpZ3VyYXRpb24gZm9yIHdoaWNoCS0tPiAKKyAJPCEtLSBjdXN0b20gcHJvY2Vzc2luZyBpcyBkZXNpcmVkLiBSZXBsYWNlIGVsZW1lbnQuaWQgd2l0aCB0aGUgaWQgb2YgdGhlIAktLT4KKyAJPCEtLSB0b3AgbGV2ZWwgZWxlbWVudCBiZWluZyBidWlsdC4gIEEgcHJvcGVydHkgd2l0aCBhIG1hdGNoaW5nIG5hbWUgbXVzdCAJLS0+CisgCTwhLS0gYmUgZGVmaW5lZCBmb3IgdGhpcyBjdXN0b20gdGFyZ2V0IHRvIGJlIGNhbGxlZCBpbnN0ZWFkIG9mIHRoZSAJCQktLT4KKyAJPCEtLSBkZWZhdWx0QXNzZW1ibGUgdGFyZ2V0IGFib3ZlLgkJCQkJCQkJCQkJLS0+CisJPCEtLQlFeGFtcGxlOiAgbmFtZT0iYXNzZW1ibGUub3JnLmVjbGlwc2Uuc2RrIgkJCQkJCQktLT4KKwk8IS0tCUV4YW1wbGU6ICBuYW1lPSJhc3NlbWJsZS5vcmcuZWNsaXBzZS5zZGsud2luMzIud2luMzIueDg2IgkJCS0tPgorIAk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHByb3BlcnR5IG5hbWU9ImFzc2VtYmxlLmVsZW1lbnQuaWRbLmNvbmZpZy5zcGVjXSIgdmFsdWU9InRydWUiIC8+CisgCTx0YXJnZXQgbmFtZT0iYXNzZW1ibGUuZWxlbWVudC5pZFsuY29uZmlnLnNwZWNdIj4KKyAJCTxhbnQgYW50ZmlsZT0iJHthc3NlbWJsZVNjcmlwdE5hbWV9IiBkaXI9IiR7YnVpbGREaXJlY3Rvcnl9Ii8+CisgCTwvdGFyZ2V0PgorCQorPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2J1aWxkLnByb3BlcnRpZXMgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC90ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvYnVpbGQucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzJiNmUwCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2J1aWxkLnByb3BlcnRpZXMKQEAgLTAsMCArMSwyOTMgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQ29weXJpZ2h0IChjKSAyMDAzLCAyMDExIElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCisjIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAorIyB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorIworIyBDb250cmlidXRvcnM6CisjICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KKyMgICAgIENvbXB1d2FyZSBDb3Jwb3JhdGlvbiAtIFNlYmFzdGllbiBBbmdlcnMgPHNlYmFzdGllbi5hbmdlcnNAY29tcHV3YXJlLmNvbT4gCisjICAgICAJLSBFbmFibGVkIGFkZGl0aW9uYWwgbWlycm9yIHNsaWNpbmdPcHRpb25zIGluIEhlYWRsZXNzIFBERSBCdWlsZAorIyAgICAgCS0gRW5hYmxlZCAncmF3JyBhdHRyaWJ1dGUgZm9yIG1pcnJvciBzdGVwIGluIEhlYWRsZXNzIFBERSBCdWlsZAorIyAgICAgCS0gaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnLzMzODg3OAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFBhcmFtZXRlcnMgZGVzY3JpYmluZyBob3cgYW5kIHdoZXJlIHRvIGV4ZWN1dGUgdGhlIGJ1aWxkLgorIyBUeXBpY2FsIHVzZXJzIG5lZWQgb25seSB1cGRhdGUgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOgorIyAgICBiYXNlTG9jYXRpb24gLSB3aGVyZSB0aGluZ3MgeW91IGFyZSBidWlsZGluZyBhZ2FpbnN0IGFyZSBpbnN0YWxsZWQKKyMgICAgYm9vdGNsYXNzcGF0aCAtIFRoZSBiYXNlIGphcnMgdG8gY29tcGlsZSBhZ2FpbnN0ICh0eXBpY2FseSBydC5qYXIpCisjICAgIGNvbmZpZ3MgLSB0aGUgbGlzdCBvZiB7b3MsIHdzLCBhcmNofSBjb25maWd1cmF0aW9ucyB0byBidWlsZC4gIAorIworIyBPZiBjb3Vyc2UgYW55IG9mIHRoZSBzZXR0aW5ncyBoZXJlIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHNwZWMnaW5nIAorIyB0aGVtIG9uIHRoZSBjb21tYW5kIGxpbmUgKGUuZy4sIC1EYmFzZUxvY2F0aW9uPWQ6L2VjbGlwc2UKKworI1RoZSB0eXBlIG9mIHRoZSB0b3AgbGV2ZWwgZWxlbWVudCB3ZSBhcmUgYnVpbGRpbmcsICBnZW5lcmFsbHkgImZlYXR1cmUiCit0b3BMZXZlbEVsZW1lbnRUeXBlID0gZmVhdHVyZQorI1RoZSBpZCBvZiB0aGUgdG9wIGxldmVsIGVsZW1lbnQgd2UgYXJlIGJ1aWxkaW5nCit0b3BMZXZlbEVsZW1lbnRJZCA9IG9yZy5mb28uYmFyCisKKyMjIyMjIyMjIyMjIyMgUFJPRFVDVC9QQUNLQUdJTkcgQ09OVFJPTCAjIyMjIyMjIyMjIyMjCitwcm9kdWN0PS9wbHVnaW4gb3IgZmVhdHVyZSBpZC9wYXRoL3RvLy5wcm9kdWN0CitydW5QYWNrYWdlcj10cnVlCisKKyNTZXQgdGhlIG5hbWUgb2YgdGhlIGFyY2hpdmUgdGhhdCB3aWxsIHJlc3VsdCBmcm9tIHRoZSBwcm9kdWN0IGJ1aWxkLgorI2FyY2hpdmVOYW1lUHJlZml4PQorCisjIFRoZSBwcmVmaXggdGhhdCB3aWxsIGJlIHVzZWQgaW4gdGhlIGdlbmVyYXRlZCBhcmNoaXZlLgorYXJjaGl2ZVByZWZpeD1lY2xpcHNlCisKKyMgVGhlIGxvY2F0aW9uIHVuZGVyd2hpY2ggYWxsIG9mIHRoZSBidWlsZCBvdXRwdXQgd2lsbCBiZSBjb2xsZWN0ZWQuCitjb2xsZWN0aW5nRm9sZGVyPSR7YXJjaGl2ZVByZWZpeH0KKworIyBUaGUgbGlzdCBvZiB7b3MsIHdzLCBhcmNofSBjb25maWd1cmF0aW9ucyB0byBidWlsZC4gIFRoaXMgCisjIHZhbHVlIGlzIGEgJyYnIHNlcGFyYXRlZCBsaXN0IG9mICcsJyBzZXBhcmF0ZSB0cmlwbGVzLiAgRm9yIGV4YW1wbGUsIAorIyAgICAgY29uZmlncz13aW4zMix3aW4zMix4ODYgJiBsaW51eCxtb3RpZix4ODYKKyMgQnkgZGVmYXVsdCB0aGUgdmFsdWUgaXMgKiwqLCoKK2NvbmZpZ3MgPSAqLCAqLCAqCisjY29uZmlncz13aW4zMiwgd2luMzIsIHg4NiAmIFwKKyMJd2luMzIsd2luMzIseDg2XzY0ICYgXAorIwl3aW4zMix3aW4zMix3cGYgJiBcCisjCWxpbnV4LCBndGssIHBwYyAmIFwKKyMJbGludXgsIGd0aywgeDg2ICYgXAorIwlsaW51eCwgZ3RrLCB4ODZfNjQgJiBcCisjCWxpbnV4LCBtb3RpZiwgeDg2ICYgXAorIwlzb2xhcmlzLCBtb3RpZiwgc3BhcmMgJiBcCisjCXNvbGFyaXMsIGd0aywgc3BhcmMgJiBcCisjCWFpeCwgbW90aWYsIHBwYyAmIFwKKyMJaHB1eCwgbW90aWYsIGlhNjRfMzIgJiBcCisjCW1hY29zeCwgY2FyYm9uLCBwcGMgJiBcCisjCW1hY29zeCwgY2FyYm9uLCB4ODYgJiBcCisjCW1hY29zeCwgY29jb2EsIHBwYyAmIFwKKyMJbWFjb3N4LCBjb2NvYSwgeDg2ICYgXAorIwltYWNvc3gsIGNvY29hLCB4ODZfNjQKKworIyBCeSBkZWZhdWx0IFBERSBjcmVhdGVzIG9uZSBhcmNoaXZlIChyZXN1bHQpIHBlciBlbnRyeSBsaXN0ZWQgaW4gdGhlIGNvbmZpZ3MgcHJvcGVydHkuCisjIFNldHRpbmcgdGhpcyB2YWx1ZSB0byB0cnVlIHdpbGwgY2F1c2UgUERFIHRvIG9ubHkgY3JlYXRlIG9uZSBvdXRwdXQgY29udGFpbmluZyBhbGwgCisjIGFydGlmYWN0cyBmb3IgYWxsIHRoZSBwbGF0Zm9ybXMgbGlzdGVkIGluIHRoZSBjb25maWdzIHByb3BlcnR5LgorIyBUbyBjb250cm9sIHRoZSBvdXRwdXQgZm9ybWF0IGZvciB0aGUgZ3JvdXAsIGFkZCBhICJncm91cCwgZ3JvdXAsIGdyb3VwIC0gPGZvcm1hdD4iIGVudHJ5IHRvIHRoZQorIyBhcmNoaXZlc0Zvcm1hdC4gCisjZ3JvdXBDb25maWd1cmF0aW9ucz10cnVlCisKKyNUaGUgZm9ybWF0IG9mIHRoZSBhcmNoaXZlLiBCeSBkZWZhdWx0IGEgemlwIGlzIGNyZWF0ZWQgdXNpbmcgYW50WmlwLgorI1RoZSBsaXN0IGNhbiBvbmx5IGNvbnRhaW4gdGhlIGNvbmZpZ3VyYXRpb24gZm9yIHdoaWNoIHRoZSBkZXNpcmVkIGZvcm1hdCBpcyBkaWZmZXJlbnQgdGhhbiB6aXAuCisjYXJjaGl2ZXNGb3JtYXQ9d2luMzIsIHdpbjMyLCB4ODYgLSBhbnRaaXAmIFwKKyMJbGludXgsIGd0aywgcHBjIC0gYW50WmlwICZcCisjICAgIGxpbnV4LCBndGssIHg4NiAtIGFudFppcCYgXAorIwlsaW51eCwgZ3RrLCB4ODZfNjQgLSBhbnRaaXAmIFwKKyMgbGludXgsIG1vdGlmLCB4ODYgLSBhbnRaaXAmIFwKKyMJc29sYXJpcywgbW90aWYsIHNwYXJjIC0gYW50WmlwJiBcCisjCXNvbGFyaXMsIGd0aywgc3BhcmMgLSBhbnRaaXAmIFwKKyMJYWl4LCBtb3RpZiwgcHBjIC0gYW50WmlwJiBcCisjCWhwdXgsIG1vdGlmLCBQQV9SSVNDIC0gYW50WmlwJiBcCisjCW1hY29zeCwgY2FyYm9uLCBwcGMgLSBhbnRaaXAKKworI0FsbG93IGN5Y2xlcyBpbnZvbHZpbmcgYXQgbW9zdCBvbmUgYnVuZGxlIHRoYXQgbmVlZHMgdG8gYmUgY29tcGlsZWQgd2l0aCB0aGUgcmVzdCBiZWluZyBiaW5hcnkgYnVuZGxlcy4KK2FsbG93QmluYXJ5Q3ljbGVzID0gdHJ1ZQorCisjU29ydCBidW5kbGVzIGRlcGVuZWRlbmNpZXMgYWNyb3NzIGFsbCBmZWF0dXJlcyBpbnN0ZWFkIG9mIGp1c3Qgd2l0aGluIGEgZ2l2ZW4gZmVhdHVyZS4KKyNmbGF0dGVuRGVwZW5kZW5jaWVzID0gdHJ1ZQorCisjUGFyYWxsZWwgY29tcGlsYXRpb24sIHJlcXVpcmVzIGZsYXR0ZW5lZERlcGVuZGVuY2llcz10cnVlCisjcGFyYWxsZWxDb21waWxhdGlvbj10cnVlCisjcGFyYWxsZWxUaHJlYWRDb3VudD0KKyNwYXJhbGxlbFRocmVhZHNQZXJQcm9jZXNzb3I9CisJCisjU2V0IHRvIHRydWUgaWYgeW91IHdhbnQgdGhlIG91dHB1dCB0byBiZSByZWFkeSBmb3IgYW4gdXBkYXRlIGphciAobm8gc2l0ZS54bWwgZ2VuZXJhdGVkKQorI291dHB1dFVwZGF0ZUphcnMgPSBmYWxzZQorCisjU2V0IHRvIHRydWUgZm9yIEpubHAgZ2VuZXJhdGlvbgorI2NvZGViYXNlIHNob3VsZCBiZSBhIFVSTCB0aGF0IHdpbGwgYmUgdXNlZCBhcyB0aGUgcm9vdCBvZiBhbGwgcmVsYXRpdmUgVVJMcyBpbiB0aGUgb3V0cHV0LgorI2dlbmVyYXRlSm5scD1mYWxzZQorI2pubHAuY29kZWJhc2U9PGNvZGViYXNlIHVybD4KKyNqbmxwLmoyc2U9PGoyc2UgdmVyc2lvbj4KKyNqbmxwLmxvY2FsZT08YSBsb2NhbGU+Cisjam5scC5nZW5lcmF0ZU9mZmxpbmVBbGxvd2VkPXRydWUgb3IgZmFsc2UgZ2VuZXJhdGUgPG9mZmxpbmVBbGxvd2VkLz4gYXR0cmlidXRlIGluIHRoZSBnZW5lcmF0ZWQgZmVhdHVyZXMKKyNqbmxwLmNvbmZpZ3M9JHtjb25maWdzfQkJCSN1bmNvbW1lbnQgdG8gZmlsdGVyIHRoZSBjb250ZW50IG9mIHRoZSBnZW5lcmF0ZWQgam5scCBmaWxlcyBiYXNlZCBvbiB0aGUgY29uZmlndXJhdGlvbiBiZWluZyBidWlsdAorCisjU2V0IHRvIHRydWUgaWYgeW91IHdhbnQgdG8gc2lnbiBqYXJzCisjc2lnbkphcnM9ZmFsc2UKKyNzaWduLmFsaWFzPTxhbGlhcz4KKyNzaWduLmtleXN0b3JlPTxrZXlzdG9yZSBsb2NhdGlvbj4KKyNzaWduLnN0b3JlcGFzcz08a2V5c3RvcmUgcGFzc3dvcmQ+Cisjc2lnbi5rZXlwYXNzPTxrZXkgcGFzc3dvcmQ+CisKKyNBcmd1bWVudHMgdG8gc2VuZCB0byB0aGUgemlwIGV4ZWN1dGFibGUKK3ppcGFyZ3M9CisKKyNBcmd1bWVudHMgdG8gc2VuZCB0byB0aGUgdGFyIGV4ZWN1dGFibGUKK3RhcmFyZ3M9CisKKyNDb250cm9sIHRoZSBjcmVhdGlvbiBvZiBhIGZpbGUgY29udGFpbmluZyB0aGUgdmVyc2lvbiBpbmNsdWRlZCBpbiBlYWNoIGNvbmZpZ3VyYXRpb24gLSBvbiBieSBkZWZhdWx0IAorI2dlbmVyYXRlVmVyc2lvbnNMaXN0cz1mYWxzZQorCisjIyMjIyMjIyMjIyMgUkVQTyBNSVJST1IgT1BUSU9OUyBDT05UUk9MICMjIyMjIyMjIyMjIworIyBEZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHNsaWNpbmdPcHRpb25zIGFuZCByYXcgYXR0cmlidXRlIG9mIHRoZSBwMi5taXJyb3IgQW50IHRhcmdldCB1c2VkIHRvIGdlbmVyYXRlIHRoZSBwMiByZXBvIChidWlsZFJlcG8pCisjIE5vdGUgdGhhdCB0aGUgZGVmYXVsdCB2YWx1ZXMgdXNlZCBieSBQREUvQnVpbGQgYXJlIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0IHZhbHVlcyBmb3IgcDIubWlycm9yJ3Mgc2xpY2luZ09wdGlvbnMgYW5kIHJhdyBhdHRyaWJ1dGUKKyMgU2VlIGh0dHA6Ly9oZWxwLmVjbGlwc2Uub3JnL3RvcGljLy9vcmcuZWNsaXBzZS5wbGF0Zm9ybS5kb2MuaXN2L2d1aWRlL3AyX3JlcG9zaXRvcnl0YXNrcy5odG0gZm9yIHRoZSBkZXRhaWxzCisjIG9mIGVhY2ggc2V0dGluZy4KKyNwMi5taXJyb3Iuc2xpY2luZy5maWx0ZXI9CisjcDIubWlycm9yLnNsaWNpbmcuZm9sbG93T25seUZpbHRlcmVkUmVxdWlyZW1lbnRzPWZhbHNlCisjcDIubWlycm9yLnNsaWNpbmcuZm9sbG93U3RyaWN0PWZhbHNlCisjcDIubWlycm9yLnNsaWNpbmcuaW5jbHVkZUZlYXR1cmVzPXRydWUKKyNwMi5taXJyb3Iuc2xpY2luZy5pbmNsdWRlTm9uR3JlZWR5PWZhbHNlCisjcDIubWlycm9yLnNsaWNpbmcuaW5jbHVkZU9wdGlvbmFsPXRydWUKKyNwMi5taXJyb3Iuc2xpY2luZy5wbGF0Zm9ybUZpbHRlcj0KKyNwMi5taXJyb3Iuc2xpY2luZy5sYXRlc3RWZXJzaW9uT25seT1mYWxzZQorCisjcDIubWlycm9yLnJhdz1mYWxzZQorCisjIyMjIyMjIyMjIyMjIyBTT1VSQ0UgQlVORExFIENPTlRST0wgIyMjIyMjIyMjIyMjIyMjIworIyBTZXQgdGhpcyBwcm9wZXJ0eSB0byBoYXZlIHNvdXJjZSBidW5kbGVzIGNyZWF0ZWQgYW5kIG91dHB1dCBpbnRvIGJ1aWxkIHJlcG9zaXRvcnkuCisjIFRoaXMgZG9lcyBOT1QgcHV0IHRoZW0gaW4gdGhlIGJ1aWxkIG91dHB1dCAoZS5nLiwgcHJvZHVjdCkgaXRzZWxmLgorIyBWYWxpZCB2YWx1ZXMgYXJlOiBub3Qgc2V0LCBidWlsdCwgYWxsLgorIyAJCWJ1aWx0ID0gb25seSBzb3VyY2UgZm9yIGJ1bmRsZXMgdGhhdCBhcmUgYWN0dWFsbHkgYnVpbHQvY29tcGlsZWQgaW4gdGhpcyBydW4gYXJlIG91dHB1dAorIwkJYWxsID0gYWxsIGF2YWlsYWJsZSBzb3VyY2UgaXMgY29sbGVjdGVkIGFuZCBvdXRwdXQKKyNzb3VyY2VCdW5kbGVNb2RlPWFsbAorCisjIFdoZW4gb3V0cHV0dGluZyBhdXRvZ2VuZXJhdGVkIHNvdXJjZSBidW5kbGVzIGEgZmVhdHVyZSBpcyBjcmVhdGVkIHRvIGNvbnRhaW4gYWxsIHRoZSBhdXRvbWF0aWMKKyMgc291cmNlIGJ1bmRsZXMuICBUeXBpY2FsbHkgdGhpcyBmZWF0dXJlIGlzIG5vdCBuZWVkZWQgYW5kIGNhbiBiZSBpZ25vcmVkLiBBcyBzdWNoLCBpdCBpcyBnaXZlbiBhIGRlZmF1bHQKKyMgbmFtZSBhbmQgdmVyc2lvbi4gIFRoZXNlIHByb3BlcnRpZXMgY2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHRzLgorIyAgc291cmNlQnVuZGxlVGVtcGxhdGVGZWF0dXJlIC0gY2FuIHNwZWNpZnkgYW4gZXhpc3RpbmcgZmVhdHVyZSB3aGljaCB3aWxsIGJlIGF1Z21lbnRlZCB0byBmb3JtIHRoZSBnZW5lcmF0ZWQgc291cmNlIGZlYXR1cmUKKyMgIHNvdXJjZUJ1bmRsZUZlYXR1cmVJZCAtIHdpbGwgYmUgdGhlIGlkIG9mIGdlbmVyYXRlZCBzb3VyY2UgZmVhdHVyZSB3aGljaCBjb250YWlucyBhbGwgdGhlIGdlbmVyYXRlZCBzb3VyY2UgYnVuZGxlcywgZGVmYXVsdCB2YWx1ZQorIyAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgc291cmNlQnVuZGxlVGVtcGxhdGVGZWF0dXJlICsgIi5zb3VyY2UiIGlmIHNvdXJjZUJ1bmRsZVRlbXBsYXRlRmVhdHVyZSBpcyBzcGVjaWZpZWQKKyNzb3VyY2VCdW5kbGVUZW1wbGF0ZUZlYXR1cmU9Cisjc291cmNlQnVuZGxlRmVhdHVyZUlkPQorI3NvdXJjZUJ1bmRsZUZlYXR1cmVWZXJzaW9uPQorCisjIyMjIyMjIyMjIyMjIyBCVUlMRCBOQU1JTkcgQ09OVFJPTCAjIyMjIyMjIyMjIyMjIyMjCisjIFRoZSBkaXJlY3RvcnkgaW50byB3aGljaCB0aGUgYnVpbGQgZWxlbWVudHMgYXJlIGZldGNoZWQgYW5kIHdoZXJlCisjIHRoZSBidWlsZCB0YWtlcyBwbGFjZS4KK2J1aWxkRGlyZWN0b3J5PSR7dXNlci5ob21lfS9lY2xpcHNlLmJ1aWxkCisKKyMgVHlwZSBvZiBidWlsZC4gIFVzZWQgaW4gbmFtaW5nIHRoZSBidWlsZCBvdXRwdXQuICBUeXBpY2FsbHkgdGhpcyB2YWx1ZSBpcworIyBvbmUgb2YgSSwgTiwgTSwgUywgLi4uCitidWlsZFR5cGU9SQorCisjIElEIG9mIHRoZSBidWlsZC4gIFVzZWQgaW4gbmFtaW5nIHRoZSBidWlsZCBvdXRwdXQuCitidWlsZElkPVRlc3RCdWlsZAorCisjIExhYmVsIGZvciB0aGUgYnVpbGQuICBVc2VkIGluIG5hbWluZyB0aGUgYnVpbGQgb3V0cHV0CitidWlsZExhYmVsPSR7YnVpbGRUeXBlfS4ke2J1aWxkSWR9CisKKyMgVGltZXN0YW1wIGZvciB0aGUgYnVpbGQuICBVc2VkIGluIG5hbWluZyB0aGUgYnVpbGQgb3V0cHV0Cit0aW1lc3RhbXA9MDA3CisKKyNUaGUgdmFsdWUgdG8gYmUgdXNlZCBmb3IgdGhlIHF1YWxpZmllciBvZiBhIHBsdWdpbiBvciBmZWF0dXJlIHdoZW4geW91IHdhbnQgdG8gb3ZlcnJpZGUgdGhlIHZhbHVlIGNvbXB1dGVkIGJ5IHBkZS4KKyNUaGUgdmFsdWUgd2lsbCBvbmx5IGJlIGFwcGxpZWQgdG8gcGx1Z2luIG9yIGZlYXR1cmVzIGluZGljYXRpbmcgYnVpbGQucHJvcGVydGllcywgcXVhbGlmaWVyID0gY29udGV4dCAKKyNmb3JjZUNvbnRleHRRdWFsaWZpZXI9PHRoZSB2YWx1ZSBmb3IgdGhlIHF1YWxpZmllcj4KKworI0VuYWJsZSAvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgYSBzdWZmaXggZm9yIHRoZSBmZWF0dXJlcyB0aGF0IHVzZSAucXVhbGlmaWVyLiAKKyNUaGUgZ2VuZXJhdGVkIHN1ZmZpeCBpcyBjb21wdXRlZCBhY2NvcmRpbmcgdG8gdGhlIGNvbnRlbnQgb2YgdGhlIGZlYXR1cmUgICAKKyNnZW5lcmF0ZUZlYXR1cmVWZXJzaW9uU3VmZml4PXRydWUKKworIyMjIyMjIyMjIyMjIyBCQVNFIENPTlRST0wgIyMjIyMjIyMjIyMjIworIyBTZXR0aW5ncyBmb3IgdGhlIGJhc2UgRWNsaXBzZSBjb21wb25lbnRzIGFuZCBKYXZhIGNsYXNzIGxpYnJhcmllcyAKKyMgYWdhaW5zdCB3aGljaCB5b3UgYXJlIGJ1aWxkaW5nLgorIyBCYXNlIGxvY2F0aW9uIGZvciBhbnl0aGluZyB0aGUgYnVpbGQgbmVlZHMgdG8gY29tcGlsZSBhZ2FpbnN0LiAgRm9yIGV4YW1wbGUsCisjIGluIG1vc3QgUkNQIGFwcCBvciBhIHBsdWctaW4sICB0aGUgYmFzZUxvY2F0aW9uIHNob3VsZCBiZSB0aGUgbG9jYXRpb24gb2YgYSBwcmV2aW91c2x5CisjIGluc3RhbGxlZCBFY2xpcHNlIGFnYWluc3Qgd2hpY2ggdGhlIGFwcGxpY2F0aW9uIG9yIHBsdWctaW4gY29kZSB3aWxsIGJlIGNvbXBpbGVkIGFuZCB0aGUgUkNQIGRlbHRhIHBhY2suCisKK2Jhc2U9PHBhdGgvdG8vcGFyZW50L29mL2VjbGlwc2U+CitiYXNlTG9jYXRpb249JHtiYXNlfS9lY2xpcHNlCisKKyNGb2xkZXIgY29udGFpbmluZyByZXBvc2l0b3JpZXMgd2hvc2UgY29udGVudCBpcyBuZWVkZWQgdG8gY29tcGlsZSBhZ2FpbnN0CisjcmVwb0Jhc2VMb2NhdGlvbj0ke2Jhc2V9L3JlcG9zCisjRm9sZGVyIHdoZXJlIHRoZSBjb250ZW50IG9mIHRoZSByZXBvc2l0b3JpZXMgZnJvbSAke3JlcG9CYXNlTG9jYXRpb259IHdpbGwgYmUgbWFkZSBhdmFpbGFibGUgYXMgYSBmb3JtIHN1aXRhYmxlIHRvIGJlIGNvbXBpbGVkIGFnYWluc3QKKyN0cmFuc2Zvcm1lZFJlcG9Mb2NhdGlvbj0ke2Jhc2V9L3RyYW5zZm9ybWVkUmVwb3MKKworI09zL1dzL0FyY2gvbmwgb2YgdGhlIGVjbGlwc2Ugc3BlY2lmaWVkIGJ5IGJhc2VMb2NhdGlvbgorYmFzZW9zPXdpbjMyCitiYXNld3M9d2luMzIKK2Jhc2VhcmNoPXg4NgorCisjdGhpcyBwcm9wZXJ0eSBpbmRpY2F0ZXMgd2hldGhlciB5b3Ugd2FudCB0aGUgc2V0IG9mIHBsdWctaW5zIGFuZCBmZWF0dXJlcyB0byBiZSBjb25zaWRlcmVkIGR1cmluZyB0aGUgYnVpbGQgdG8gYmUgbGltaXRlZCB0byB0aGUgb25lcyByZWFjaGFibGUgZnJvbSB0aGUgZmVhdHVyZXMgLyBwbHVnaW5zIGJlaW5nIGJ1aWx0CitmaWx0ZXJlZERlcGVuZGVuY3lDaGVjaz1mYWxzZQorCisjdGhpcyBwcm9wZXJ0eSBpbmRpY2F0ZXMgd2hldGhlciB0aGUgcmVzb2x1dGlvbiBzaG91bGQgYmUgZG9uZSBpbiBkZXZlbG9wbWVudCBtb2RlIChpLmUuIGlnbm9yZSBtdWx0aXBsZSBidW5kbGVzIHdpdGggc2luZ2xldG9ucykKK3Jlc29sdXRpb24uZGV2TW9kZT1mYWxzZQorCisjcGx1Z2luUGF0aCBpcyBhIGxpc3Qgb2YgbG9jYXRpb25zIGluIHdoaWNoIHRvIGZpbmQgcGx1Z2lucyBhbmQgZmVhdHVyZXMuICBUaGlzIGxpc3QgaXMgc2VwYXJhdGVkIGJ5IHRoZSBwbGF0Zm9ybSBmaWxlIHNlcGFyYXRvciAoOyBvciA6KQorI2EgbG9jYXRpb24gaXMgb25lIG9mOiAgCisjLSB0aGUgbG9jYXRpb24gb2YgdGhlIGphciBvciBmb2xkZXIgdGhhdCBpcyB0aGUgcGx1Z2luIG9yIGZlYXR1cmUgOiAvcGF0aC90by9mb28uamFyIG9yIC9wYXRoL3RvL2ZvbworIy0gYSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyBhIC9wbHVnaW5zIG9yIC9mZWF0dXJlcyBzdWJkaXJlY3RvcnkKKyMtIHRoZSBsb2NhdGlvbiBvZiBhIGZlYXR1cmUueG1sLCBvciBmb3IgMi4xIHN0eWxlIHBsdWdpbnMsIHRoZSBwbHVnaW4ueG1sIG9yIGZyYWdtZW50LnhtbAorI3BsdWdpblBhdGg9CisKK3NraXBCYXNlPXRydWUKK2VjbGlwc2VVUkw9PHVybCBmb3IgZWNsaXBzZSBkb3dubG9hZCBzaXRlPgorZWNsaXBzZUJ1aWxkSWQ9PElkIG9mIEVjbGlwc2UgYnVpbGQgdG8gZ2V0PgorZWNsaXBzZUJhc2VVUkw9JHtlY2xpcHNlVVJMfS9lY2xpcHNlLXBsYXRmb3JtLSR7ZWNsaXBzZUJ1aWxkSWR9LXdpbjMyLnppcAorCisKKyMjIyMjIyMjIyMjIyMgTUFQIEZJTEUgQ09OVFJPTCAjIyMjIyMjIyMjIyMjIyMjCisjIFRoaXMgc2VjdGlvbiBkZWZpbmVzIENWUyB0YWdzIHRvIHVzZSB3aGVuIGZldGNoaW5nIHRoZSBtYXAgZmlsZXMgZnJvbSB0aGUgcmVwb3NpdG9yeS4KKyMgSWYgeW91IHdhbnQgdG8gZmV0Y2ggdGhlIG1hcCBmaWxlIGZyb20gcmVwb3NpdG9yeSAvIGxvY2F0aW9uLCBjaGFuZ2UgdGhlIGdldE1hcEZpbGVzIHRhcmdldCBpbiB0aGUgY3VzdG9tVGFyZ2V0cy54bWwKKworc2tpcE1hcHM9dHJ1ZQorbWFwc1JlcG89OnBzZXJ2ZXI6YW5vbnltb3VzQGV4YW1wbGUuY29tL3BhdGgvdG8vcmVwbworbWFwc1Jvb3Q9cGF0aC90by9tYXBzCittYXBzQ2hlY2tvdXRUYWc9SEVBRAorCisjdGFnTWFwcz10cnVlCittYXBzVGFnVGFnPXYke2J1aWxkSWR9CisKKworIyMjIyMjIyMjIyMjIFJFUE9TSVRPUlkgQ09OVFJPTCAjIyMjIyMjIyMjIyMjIyMKKyMgVGhpcyBzZWN0aW9uIGRlZmluZXMgcHJvcGVydGllcyBwYXJhbWV0ZXJpemluZyB0aGUgcmVwb3NpdG9yaWVzIHdoZXJlIHBsdWdpbnMsIGZyYWdtZW50cworIyBidW5kbGVzIGFuZCBmZWF0dXJlcyBhcmUgYmVpbmcgb2J0YWluZWQgZnJvbS4gCisKKyMgVGhlIHRhZ3MgdG8gdXNlIHdoZW4gZmV0Y2hpbmcgZWxlbWVudHMgdG8gYnVpbGQuCisjIEJ5IGRlZmF1bHQgdGhlYnVpbGRlciB3aWxsIHVzZSB3aGF0ZXZlciBpcyBpbiB0aGUgbWFwcy4gIAorIyBUaGlzIHZhbHVlIHRha2VzIHRoZSBmb3JtIG9mIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgcmVwb3NpdG9yeSBpZGVudGlmaWVyIChsaWtlIHVzZWQgaW4gdGhlIG1hcCBmaWxlcykgYW5kIHRoZSAKKyMgb3ZlcnJpZGluZyB2YWx1ZQorIyBGb3IgZXhhbXBsZSBmZXRjaFRhZz1DVlM9SEVBRCwgU1ZOPXYyMDA1MDEwMQorIyBmZXRjaFRhZz1IRUFECitza2lwRmV0Y2g9dHJ1ZQorCisKKyMjIyMjIyMjIyMjIyMgSkFWQSBDT01QSUxFUiBPUFRJT05TICMjIyMjIyMjIyMjIyMjCisjIFRoZSBsb2NhdGlvbiBvZiB0aGUgSmF2YSBqYXJzIHRvIGNvbXBpbGUgYWdhaW5zdC4gIFR5cGljYWxseSB0aGUgcnQuamFyIGZvciB5b3VyIEpESy9KUkUKKyNib290Y2xhc3NwYXRoPSR7amF2YS5ob21lfS9saWIvcnQuamFyCisKKyMgc3BlY2lmaWMgSlJFIGxvY2F0aW9ucyB0byBjb21waWxlIGFnYWluc3QuIFRoZXNlIHZhbHVlcyBhcmUgdXNlZCB0byBjb21waWxlIGJ1bmRsZXMgc3BlY2lmeWluZyBhIAorIyBCdW5kbGUtUmVxdWlyZWRFeGVjdXRpb25FbnZpcm9ubWVudC4gVW5jb21tZW50IGFuZCBzZXQgdmFsdWVzIGZvciBlbnZpcm9ubWVudHMgdGhhdCB5b3Ugc3VwcG9ydAorI0NEQy0xLjAvRm91bmRhdGlvbi0xLjA9IC9wYXRoL3RvL3J0LmphcgorI0NEQy0xLjEvRm91bmRhdGlvbi0xLjE9CisjT1NHaS9NaW5pbXVtLTEuMD0KKyNPU0dpL01pbmltdW0tMS4xPQorI0pSRS0xLjE9CisjSjJTRS0xLjI9CisjSjJTRS0xLjM9CisjSjJTRS0xLjQ9CisjSjJTRS0xLjU9CisjSmF2YVNFLTEuNj0KKyNQZXJzb25hbEphdmEtMS4xPQorI1BlcnNvbmFsSmF2YS0xLjI9CisjQ0RDLTEuMC9QZXJzb25hbEJhc2lzLTEuMD0KKyNDREMtMS4wL1BlcnNvbmFsSmF2YS0xLjA9CisjQ0RDLTEuMS9QZXJzb25hbEJhc2lzLTEuMT0KKyNDREMtMS4xL1BlcnNvbmFsSmF2YS0xLjE9CisKKyMgU3BlY2lmeSB0aGUgb3V0cHV0IGZvcm1hdCBvZiB0aGUgY29tcGlsZXIgbG9nIHdoZW4gZWNsaXBzZSBqZHQgaXMgdXNlZAorbG9nRXh0ZW5zaW9uPS5sb2cKKworIyBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGRlYnVnIGluZm8gaW4gdGhlIG91dHB1dCBqYXJzCitqYXZhY0RlYnVnSW5mbz1mYWxzZSAKKworIyBXaGV0aGVyIG9yIG5vdCB0byBmYWlsIHRoZSBidWlsZCBpZiB0aGVyZSBhcmUgY29tcGlsZXIgZXJyb3JzCitqYXZhY0ZhaWxPbkVycm9yPXRydWUKKworIyBFbmFibGUgb3IgZGlzYWJsZSB2ZXJib3NlIG1vZGUgb2YgdGhlIGNvbXBpbGVyCitqYXZhY1ZlcmJvc2U9dHJ1ZQorCisjIEV4dHJhIGFyZ3VtZW50cyBmb3IgdGhlIGNvbXBpbGVyLiBUaGVzZSBhcmUgc3BlY2lmaWMgdG8gdGhlIGphdmEgY29tcGlsZXIgYmVpbmcgdXNlZC4KKyNjb21waWxlckFyZz0KKworIyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgdmVyc2lvbiBvZiB0aGUgc291cmNlIGNvZGUuIFRoaXMgdmFsdWUgaXMgdXNlZCB3aGVuIGNvbXBpbGluZyBwbHVnLWlucyB0aGF0IGRvIG5vdCBzZXQgdGhlIEJ1bmRsZS1SZXF1aXJlZEV4ZWN1dGlvbkVudmlyb25tZW50IG9yIHNldCBqYXZhY1NvdXJjZSBpbiBidWlsZC5wcm9wZXJ0aWVzCisjamF2YWNTb3VyY2U9MS4zCisKKyMgRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIHZlcnNpb24gb2YgdGhlIGJ5dGUgY29kZSB0YXJnZXRlZC4gVGhpcyB2YWx1ZSBpcyB1c2VkIHdoZW4gY29tcGlsaW5nIHBsdWctaW5zIHRoYXQgZG8gbm90IHNldCB0aGUgQnVuZGxlLVJlcXVpcmVkRXhlY3V0aW9uRW52aXJvbm1lbnQgb3Igc2V0IGphdmFjVGFyZ2V0IGluIGJ1aWxkLnByb3BlcnRpZXMuCisjamF2YWNUYXJnZXQ9MS4xCisKKwpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2N1c3RvbUFzc2VtYmx5LnhtbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL3RlbXBsYXRlcy9oZWFkbGVzcy1idWlsZC9jdXN0b21Bc3NlbWJseS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FiZWY1ZAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL3RlbXBsYXRlcy9oZWFkbGVzcy1idWlsZC9jdXN0b21Bc3NlbWJseS54bWwKQEAgLTAsMCArMSw2NiBAQAorPHByb2plY3QgbmFtZT0iY3VzdG9tQXNzZW1ibHkudGVtcGxhdGUiIGRlZmF1bHQ9Im5vRGVmYXVsdCI+CisKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCSAgICAKKwkgICAgVGhlIEZvbGxvd2luZyBQcm9wZXJ0aWVzIGFyZSBhdmFpbGFibGUgaW4gYWxsIHRhcmdldHM6CisJCSAtIGVjbGlwc2UuYmFzZSA6IHRoZSBiYXNlIGZvbGRlciBldmVyeXRoaW5nIHdpbGwgYmUgY29sbGVjdGVkIGludG8KKwkJIC0gZWNsaXBzZS5wbHVnaW5zIDogdGhlIHBsdWdpbnMgZm9sZGVyCisJCSAtIGVjbGlwc2UuZmVhdHVyZXM6IHRoZSBmZWF0dXJlcyBmb2xkZXIKKwkJIC0gYXJjaGl2ZUZ1bGxQYXRoIDogdGhlIGZ1bGwgcGF0aCBvZiB0aGUgZmluYWwgYXJjaGl2ZSBvbmNlIGl0IGlzIGNyZWF0ZWQKKwkJIAorCQkgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCQkgCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIC0tPgorCTwhLS0gQ2FsbGVkIGFmdGVyIGVhY2ggaW52b2NhdGlvbiBvZiB0aGUgZ2F0aGVyLmJpbi5wYXJ0cyB0YXJnZXQgb24gdGhlICAgICAtLT4KKwk8IS0tIGluZGl2aWR1YWwgcGx1Z2lucyBhbmQgZmVhdHVyZXMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisJPCEtLSBBdmFpbGFibGUgcHJvcGVydGllcyBhcmU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gICBwcm9qZWN0TG9jYXRpb246IGxvY2F0aW9uIG9mIHRoZSBwcm9qZWN0IGJlaW5nIGdhdGhlcmVkICAgICAgICAgICAgICAtLT4KKwk8IS0tICAgcHJvamVjdE5hbWU6IHN5bWJvbGljIG5hbWUgd2l0aCB2ZXJzaW9uIChvcmcuZWNsaXBzZS5mb29fMS4wLjAudjEyMykgLS0+CisJPCEtLSAgIHRhcmdldC5mb2xkZXI6IHRoZSBkZXN0aW5hdGlvbiwgZWNsaXBzZS9wbHVnaW5zIG9yIGVjbGlwc2UvZmVhdHVyZXMgIC0tPgorCTwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tIFRoZSBnZW5lcmF0ZWQgcGF0dGVybiBpcyB0aGF0IHBsdWdpbnMvZmVhdHVyZXMgYXJlIGdhdGhlcmVkIGludG8gdGhlICAgLS0+CisJPCEtLSBmb2xkZXIgJHt0YXJnZXQuZm9sZGVyfS8ke3Byb2plY3ROYW1lfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAtLT4KKwk8dGFyZ2V0IG5hbWU9ImdhdGhlci5iaW4ucGFydHMiPgorCTwvdGFyZ2V0PgorCQorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gQ2FsbGVkIGFmdGVyIGludm9raW5nIHRoZSBnYXRoZXIuYmluLnBhcnRzIHRhcmdldHMgZm9yIGFsbCBwbHVnaW5zICAgIC0tPgorCTwhLS0gYW5kIGZlYXR1cmVzLiBSZXN1bHRzIGV4aXN0IGFzIGZvbGRlcnMgYW5kIGhhdmUgbm90IHlldCBiZWVuIGphcnJlZC4gIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdC5nYXRoZXIuYmluLnBhcnRzIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gQ2FsbGVkIGp1c3QgcHJpb3IgdG8gc2lnbmluZyBhIGphciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gSW4gYWRkaXRpdG9uIHRvIHRoZSBwcm9wZXJ0aWVzIGxpc3RlZCBhYm92ZToJCQkJCQkgICAtLT4KKwk8IS0tICAgIC0gc291cmNlIDogcGx1Z2lucyBvciBmZWF0dXJlcyBkaXJlY3RvcnkgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tICAgIC0gZWxlbWVudE5hbWU6IGVsZW1lbnQgYmVpbmcgc2lnbmVkIHdpdGhvdXQgLmphciAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tICAgICAgICAgICAgICAgICAgIChlZyAib3JnLmVjbGlwc2UuZm9vXzEuMC4wIiAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8dGFyZ2V0IG5hbWU9InByZS5qYXJTaWduaW5nIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gQ2FsbGVkIGFmdGVyIGFsbCBwbHVnaW5zIGFuZCBmZWF0dXJlcyBoYXZlIGJlZW4gamFycmVkICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gKGFuZCBwb3RlbnRpYWxseSBzaWduZWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdC5qYXJVcCI+CisJPC90YXJnZXQ+CisKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8IS0tIENhbGxlZCBqdXN0IGJlZm9yZSB0aGUgYXJjaGl2ZSBmaWxlIGlzIGJ1aWx0ICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tIEluIGFkZGl0aXRvbiB0byB0aGUgcHJvcGVydGllcyBsaXN0ZWQgYWJvdmU6CQkJCQkJICAgLS0+CisJPCEtLSAgICAtIHJvb3RGb2xkZXIgOiB0aGUgZm9sZGVyIGNvbnRhaW5pbmcgdGhlIHJvb3QgZmlsZXMgICAgICAgICAgICAgICAgLS0+CisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJwcmUuYXJjaGl2ZSI+CisJPC90YXJnZXQ+CisJCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBEZWZhdWx0IHRhcmdldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJub0RlZmF1bHQiPgorCQk8ZWNobyBtZXNzYWdlPSJZb3UgbXVzdCBzcGVjaWZ5IGEgdGFyZ2V0IHdoZW4gaW52b2tpbmcgdGhpcyBmaWxlIiAvPgorCTwvdGFyZ2V0PgorCis8L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC90ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvY3VzdG9tVGFyZ2V0cy54bWwgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC90ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvY3VzdG9tVGFyZ2V0cy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYThmYmE4MwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL3RlbXBsYXRlcy9oZWFkbGVzcy1idWlsZC9jdXN0b21UYXJnZXRzLnhtbApAQCAtMCwwICsxLDE3NSBAQAorPHByb2plY3QgbmFtZT0iY3VzdG9tVGFyZ2V0cy50ZW1wbGF0ZSIgZGVmYXVsdD0ibm9EZWZhdWx0Ij4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gUnVuIGEgZ2l2ZW4gJHt0YXJnZXR9IG9uIGFsbCBlbGVtZW50cyBiZWluZyBidWlsdCAtLT4KKwk8IS0tIEFkZCBvbiA8YW50PiB0YXNrIGZvciBlYWNoIHRvcCBsZXZlbCBlbGVtZW50IGJlaW5nIGJ1aWx0LiAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8YXZhaWxhYmxlIHByb3BlcnR5PSJhbGxFbGVtZW50c0ZpbGUiIGZpbGU9IiR7YnVpbGRlcn0vYWxsRWxlbWVudHMueG1sIiB2YWx1ZT0iJHtidWlsZGVyfS9hbGxFbGVtZW50cy54bWwiLz4KKwk8cHJvcGVydHkgbmFtZT0iYWxsRWxlbWVudHNGaWxlIiBsb2NhdGlvbj0iJHtlY2xpcHNlLnBkZWJ1aWxkLnRlbXBsYXRlc30vaGVhZGxlc3MtYnVpbGQvYWxsRWxlbWVudHMueG1sIi8+CisKKwk8aW1wb3J0IGZpbGU9IiR7YWxsRWxlbWVudHNGaWxlfSIgLz4KKwk8dGFyZ2V0IG5hbWU9ImFsbEVsZW1lbnRzIj4KKwkJPGFudGNhbGwgdGFyZ2V0PSJhbGxFbGVtZW50c0RlbGVnYXRvciIgLz4KKwk8L3RhcmdldD4KKwkKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8dGFyZ2V0IG5hbWU9ImdldEJhc2VDb21wb25lbnRzIiBkZXBlbmRzPSJjaGVja0xvY2FsQmFzZSIgdW5sZXNzPSJza2lwQmFzZSI+CisJCTxnZXQgc3JjPSIke2VjbGlwc2VCYXNlVVJMfSIgZGVzdD0iJHtidWlsZERpcmVjdG9yeX0vLi4vdGVtcC1iYXNlLnppcCIgLz4KKwkJPHVuemlwIGRlc3Q9IiR7YmFzZX0iIG92ZXJ3cml0ZT0idHJ1ZSIgc3JjPSIke2J1aWxkRGlyZWN0b3J5fS8uLi90ZW1wLWJhc2UuemlwIiAvPgorCTwvdGFyZ2V0PgorCisJPHRhcmdldCBuYW1lPSJjaGVja0xvY2FsQmFzZSI+CisJCTxhdmFpbGFibGUgZmlsZT0iJHtiYXNlfSIgcHJvcGVydHk9InNraXBCYXNlIiAvPgorCTwvdGFyZ2V0PgorCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBDaGVjayBvdXQgbWFwIGZpbGVzIGZyb20gY29ycmVjdCByZXBvc2l0b3J5IC0tPgorCTwhLS0gUmVwbGFjZSB2YWx1ZXMgZm9yIG1hcHNDaGVja291dFRhZyBhcyBkZXNpcmVkLiAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8dGFyZ2V0IG5hbWU9ImdldE1hcEZpbGVzIiBkZXBlbmRzPSJjaGVja0xvY2FsTWFwcyIgdW5sZXNzPSJza2lwTWFwcyI+CisJCTxwcm9wZXJ0eSBuYW1lPSJtYXBzQ2hlY2tvdXRUYWciIHZhbHVlPSJIRUFEIiAvPgorCQk8Y3ZzIGN2c1Jvb3Q9IiR7bWFwc1JlcG99IiBwYWNrYWdlPSIke21hcHNSb290fSIgZGVzdD0iJHtidWlsZERpcmVjdG9yeX0vbWFwcyIgdGFnPSIke21hcHNDaGVja291dFRhZ30iIC8+CisJPC90YXJnZXQ+CisKKwk8dGFyZ2V0IG5hbWU9ImNoZWNrTG9jYWxNYXBzIj4KKwkJPGF2YWlsYWJsZSBwcm9wZXJ0eT0ic2tpcE1hcHMiIGZpbGU9IiR7YnVpbGREaXJlY3Rvcnl9L21hcHMiIC8+CisJPC90YXJnZXQ+CisKKwk8dGFyZ2V0IG5hbWU9InRhZ01hcEZpbGVzIiBpZj0idGFnTWFwcyI+CisJCTxjdnMgZGVzdD0iJHtidWlsZERpcmVjdG9yeX0vbWFwcy8ke21hcHNSb290fSIgY29tbWFuZD0idGFnICR7bWFwc1RhZ1RhZ30iIC8+CisJPC90YXJnZXQ+CisKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKworCTx0YXJnZXQgbmFtZT0iY2xlYW4iIHVubGVzcz0ibm9jbGVhbiI+CisJCTxhbnRjYWxsIHRhcmdldD0iYWxsRWxlbWVudHMiPgorCQkJPHBhcmFtIG5hbWU9InRhcmdldCIgdmFsdWU9ImNsZWFuRWxlbWVudCIgLz4KKwkJPC9hbnRjYWxsPgorCTwvdGFyZ2V0PgorCisJPHRhcmdldCBuYW1lPSJnYXRoZXJMb2dzIj4KKwkJPG1rZGlyIGRpcj0iJHtidWlsZERpcmVjdG9yeX0vJHtidWlsZExhYmVsfS9jb21waWxlbG9ncyIgLz4KKwkJPGFudGNhbGwgdGFyZ2V0PSJhbGxFbGVtZW50cyI+CisJCQk8cGFyYW0gbmFtZT0idGFyZ2V0IiB2YWx1ZT0iZ2F0aGVyTG9ncyIgLz4KKwkJPC9hbnRjYWxsPgorCQk8dW56aXAgZGVzdD0iJHtidWlsZERpcmVjdG9yeX0vJHtidWlsZExhYmVsfS9jb21waWxlbG9ncyIgb3ZlcndyaXRlPSJ0cnVlIj4KKwkJCTxmaWxlc2V0IGRpcj0iJHtidWlsZERpcmVjdG9yeX0vZmVhdHVyZXMiPgorCQkJCTxpbmNsdWRlIG5hbWU9IioqLyoubG9nLnppcCIgLz4KKwkJCTwvZmlsZXNldD4KKwkJPC91bnppcD4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYmVmb3JlIHNldHVwIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icHJlU2V0dXAiPgorCTwvdGFyZ2V0PgorCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBTdGVwcyB0byBkbyBhZnRlciBzZXR1cCBidXQgYmVmb3JlIHN0YXJ0aW5nIHRoZSBidWlsZCBwcm9wZXIgLS0+CisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJwb3N0U2V0dXAiPgorCQk8YW50Y2FsbCB0YXJnZXQ9ImdldEJhc2VDb21wb25lbnRzIiAvPgorCTwvdGFyZ2V0PgorCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBTdGVwcyB0byBkbyBiZWZvcmUgZmV0Y2hpbmcgdGhlIGJ1aWxkIGVsZW1lbnRzIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icHJlRmV0Y2giPgorCTwvdGFyZ2V0PgorCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBTdGVwcyB0byBkbyBhZnRlciBmZXRjaGluZyB0aGUgYnVpbGQgZWxlbWVudHMgLS0+CisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJwb3N0RmV0Y2giPgorCTwvdGFyZ2V0PgorCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBTdGVwcyB0byBkbyBiZWZvcmUgdGhlIHJlcG9zaXRvcmllcyBhcmUgYmVpbmcgcHJvY2Vzc2VkIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icHJlUHJvY2Vzc1JlcG9zIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYWZ0ZXIgdGhlIHJlcG9zaXRvcmllcyBoYXZlIGJlZW4gcHJvY2Vzc2VkIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdFByb2Nlc3NSZXBvcyI+CisJPC90YXJnZXQ+CisJCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBTdGVwcyB0byBkbyBiZWZvcmUgZ2VuZXJhdGluZyB0aGUgYnVpbGQgc2NyaXB0cy4gLS0+CisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJwcmVHZW5lcmF0ZSI+CisJPC90YXJnZXQ+CisKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8IS0tIFN0ZXBzIHRvIGRvIGFmdGVyIGdlbmVyYXRpbmcgdGhlIGJ1aWxkIHNjcmlwdHMuIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdEdlbmVyYXRlIj4KKwkJPGFudGNhbGwgdGFyZ2V0PSJjbGVhbiIgLz4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYmVmb3JlIHJ1bm5pbmcgdGhlIGJ1aWxkLnhtbHMgZm9yIHRoZSBlbGVtZW50cyBiZWluZyBidWlsdC4gLS0+CisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJwcmVQcm9jZXNzIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYWZ0ZXIgcnVubmluZyB0aGUgYnVpbGQueG1scyBmb3IgdGhlIGVsZW1lbnRzIGJlaW5nIGJ1aWx0LiAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8dGFyZ2V0IG5hbWU9InBvc3RQcm9jZXNzIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYmVmb3JlIHJ1bm5pbmcgYXNzZW1ibGUuIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icHJlQXNzZW1ibGUiPgorCTwvdGFyZ2V0PgorCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBTdGVwcyB0byBkbyBhZnRlciAgcnVubmluZyBhc3NlbWJsZS4gLS0+CisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJwb3N0QXNzZW1ibGUiPgorCTwvdGFyZ2V0PgorCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBTdGVwcyB0byBkbyBiZWZvcmUgcnVubmluZyBwYWNrYWdlLiAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8dGFyZ2V0IG5hbWU9InByZVBhY2thZ2UiPgorCTwvdGFyZ2V0PgorCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBTdGVwcyB0byBkbyBhZnRlciAgcnVubmluZyBwYWNrYWdlLiAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8dGFyZ2V0IG5hbWU9InBvc3RQYWNrYWdlIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYWZ0ZXIgdGhlIGJ1aWxkIGlzIGRvbmUuIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdEJ1aWxkIj4KKwkJPGFudGNhbGwgdGFyZ2V0PSJnYXRoZXJMb2dzIiAvPgorCTwvdGFyZ2V0PgorCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBTdGVwcyB0byBkbyB0byB0ZXN0IHRoZSBidWlsZCByZXN1bHRzIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0idGVzdCI+CisJPC90YXJnZXQ+CisKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8IS0tIFN0ZXBzIHRvIGRvIHRvIHB1Ymxpc2ggdGhlIGJ1aWxkIHJlc3VsdHMgLS0+CisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJwdWJsaXNoIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gRGVmYXVsdCB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0ibm9EZWZhdWx0Ij4KKwkJPGVjaG8gbWVzc2FnZT0iWW91IG11c3Qgc3BlY2lmeSBhIHRhcmdldCB3aGVuIGludm9raW5nIHRoaXMgZmlsZSIgLz4KKwk8L3RhcmdldD4KKworPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvdGVtcGxhdGVzL3BhY2thZ2VyL2N1c3RvbVRhcmdldHMueG1sIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvdGVtcGxhdGVzL3BhY2thZ2VyL2N1c3RvbVRhcmdldHMueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhYzk1NzYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC90ZW1wbGF0ZXMvcGFja2FnZXIvY3VzdG9tVGFyZ2V0cy54bWwKQEAgLTAsMCArMSw4MSBAQAorPHByb2plY3QgbmFtZT0iQ3VzdG9tIFRhcmdldHMgTXlUZXN0IiBkZWZhdWx0PSJub0RlZmF1bHQiPgorCisJPHRhcmdldCBuYW1lPSJub0RlZmF1bHQiIC8+CisJCQorCTwhLS0gVGhpcyBnb2FsIG9mIHRoaXMgdGFyZ2V0IGlzIHRvIGdldCB0aGUgcGFja2FnaW5nIG1hcCBmaWxlcyBvZiB0aGUgdGhpbmdzIHlvdSBjYXJlIGZvciAKKwkgICAgICAgVGhlIGZpbGVzIG11c3QgYmUgZmV0Y2hlZCBpbnRvIHRoZSBkb3dubG9hZERpcmVjdG9yeSBmb2xkZXIgLS0+CisJPHRhcmdldCBuYW1lPSJnZXRNYXBGaWxlcyIgdW5sZXNzPSJsb2NhbE1hcHMiPgorCQk8Z2V0IHNyYz0iJHtwYWNrYWdlck1hcFVSTH0iIGRlc3Q9IiR7ZG93bmxvYWREaXJlY3Rvcnl9L2luaXRpYWwubWFwIiB1c2V0aW1lc3RhbXA9InRydWUiLz4KKwk8L3RhcmdldD4KKwkKKwk8dGFyZ2V0IG5hbWU9ImluaXQiPgorCQk8cHJvcGVydHkgbmFtZT0iYXJjaGl2ZU5hbWVQcmVmaXgiIHZhbHVlPSIke2J1aWxkSWR9Ii8+CisJPC90YXJnZXQ+CisJCisJPHRhcmdldCBuYW1lPSJhc3NlbWJsZS53aW4zMi53aW4zMi54ODYueG1sIiBkZXBlbmRzPSJpbml0Ij4KKwkJPGFudCBhbnRmaWxlPSIke2Fzc2VtYmxlU2NyaXB0TmFtZX0iID4KKwkJCTxwcm9wZXJ0eSBuYW1lPSJhcmNoaXZlTmFtZSIgdmFsdWU9IiR7YXJjaGl2ZU5hbWVQcmVmaXh9LXdpbjMyLndpbjMyLndpbjMyLnppcCIvPgorCQk8L2FudD4KKwk8L3RhcmdldD4KKwkKKwk8dGFyZ2V0IG5hbWU9ImFzc2VtYmxlLmxpbnV4Lmd0ay54ODYueG1sIj4KKwkJPGFudCBhbnRmaWxlPSIke2Fzc2VtYmxlU2NyaXB0TmFtZX0iID4KKwkJCTxwcm9wZXJ0eSBuYW1lPSJhcmNoaXZlTmFtZSIgdmFsdWU9IiR7YXJjaGl2ZU5hbWVQcmVmaXh9LWxpbnV4Lmd0ay54ODYuemlwIi8+CisJCTwvYW50PgorCTwvdGFyZ2V0PgorCQorCTx0YXJnZXQgbmFtZT0iYXNzZW1ibGUubGludXguZ3RrLnBwYy54bWwiPgorCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgPgorCQkJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lIiB2YWx1ZT0iJHthcmNoaXZlTmFtZVByZWZpeH0tbGludXguZ3RrLnBwYy56aXAiLz4KKwkJPC9hbnQ+CisJPC90YXJnZXQ+CisKKwk8dGFyZ2V0IG5hbWU9ImFzc2VtYmxlLmxpbnV4Lmd0ay54ODZfNjQueG1sIj4KKwkJPGFudCBhbnRmaWxlPSIke2Fzc2VtYmxlU2NyaXB0TmFtZX0iID4KKwkJCTxwcm9wZXJ0eSBuYW1lPSJhcmNoaXZlTmFtZSIgdmFsdWU9IiR7YXJjaGl2ZU5hbWVQcmVmaXh9LWxpbnV4Lmd0ay54ODZfNjQuemlwIi8+CisJCTwvYW50PgorCTwvdGFyZ2V0PgorCQkKKwk8dGFyZ2V0IG5hbWU9ImFzc2VtYmxlLmxpbnV4Lm1vdGlmLng4Ni54bWwiPgorCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgPgorCQkJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lIiB2YWx1ZT0iJHthcmNoaXZlTmFtZVByZWZpeH0tbGludXgubW90aWYueDg2LnppcCIvPgorCQk8L2FudD4KKwk8L3RhcmdldD4KKwkKKwk8dGFyZ2V0IG5hbWU9ImFzc2VtYmxlLnNvbGFyaXMubW90aWYuc3BhcmMueG1sIj4KKwkJPGFudCBhbnRmaWxlPSIke2Fzc2VtYmxlU2NyaXB0TmFtZX0iID4KKwkJCTxwcm9wZXJ0eSBuYW1lPSJhcmNoaXZlTmFtZSIgdmFsdWU9IiR7YXJjaGl2ZU5hbWVQcmVmaXh9LXNvbGFyaXMubW90aWYuc3BhcmMuemlwIi8+CisJCTwvYW50PgorCTwvdGFyZ2V0PgorCisJPHRhcmdldCBuYW1lPSJhc3NlbWJsZS5zb2xhcmlzLmd0ay5zcGFyYy54bWwiPgorCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgPgorCQkJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lIiB2YWx1ZT0iJHthcmNoaXZlTmFtZVByZWZpeH0tc29sYXJpcy5ndGsuc3BhcmMuemlwIi8+CisJCTwvYW50PgorCTwvdGFyZ2V0PgorCQorCTx0YXJnZXQgbmFtZT0iYXNzZW1ibGUuYWl4Lm1vdGlmLnBwYy54bWwiPgorCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgPgorCQkJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lIiB2YWx1ZT0iJHthcmNoaXZlTmFtZVByZWZpeH0tYWl4Lm1vdGlmLnBwYy56aXAiLz4KKwkJPC9hbnQ+CisJPC90YXJnZXQ+CisJCisJPHRhcmdldCBuYW1lPSJhc3NlbWJsZS5ocHV4Lm1vdGlmLlBBX1JJU0MueG1sIj4KKwkJPGFudCBhbnRmaWxlPSIke2Fzc2VtYmxlU2NyaXB0TmFtZX0iID4KKwkJCTxwcm9wZXJ0eSBuYW1lPSJhcmNoaXZlTmFtZSIgdmFsdWU9IiR7YXJjaGl2ZU5hbWVQcmVmaXh9LWhwdXgubW90aWYuUEFfUklTQy56aXAiLz4KKwkJPC9hbnQ+CisJPC90YXJnZXQ+CisJCisJPHRhcmdldCBuYW1lPSJhc3NlbWJsZS5tYWNvc3guY2FyYm9uLnBwYy54bWwiPgorCQk8YW50IGFudGZpbGU9IiR7YXNzZW1ibGVTY3JpcHROYW1lfSIgPgorCQkJPHByb3BlcnR5IG5hbWU9ImFyY2hpdmVOYW1lIiB2YWx1ZT0iJHthcmNoaXZlTmFtZVByZWZpeH0tbWFjb3N4LmNhcmJvbi5wcGMuemlwIi8+CisJCTwvYW50PgorCTwvdGFyZ2V0PgorCQorCTx0YXJnZXQgbmFtZT0iYXNzZW1ibGUubWFjb3N4LmNhcmJvbi54ODYueG1sIj4KKwkJPGFudCBhbnRmaWxlPSIke2Fzc2VtYmxlU2NyaXB0TmFtZX0iID4KKwkJCTxwcm9wZXJ0eSBuYW1lPSJhcmNoaXZlTmFtZSIgdmFsdWU9IiR7YXJjaGl2ZU5hbWVQcmVmaXh9LW1hY29zeC5jYXJib24ueDg2LnppcCIvPgorCQk8L2FudD4KKwk8L3RhcmdldD4KKworPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvdGVtcGxhdGVzL3BhY2thZ2VyL3BhY2thZ2VyLnByb3BlcnRpZXMgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC90ZW1wbGF0ZXMvcGFja2FnZXIvcGFja2FnZXIucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTNjNTkzCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvdGVtcGxhdGVzL3BhY2thZ2VyL3BhY2thZ2VyLnByb3BlcnRpZXMKQEAgLTAsMCArMSwxMjAgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQ29weXJpZ2h0IChjKSAyMDA2LCAyMDA3IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCisjIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAorIyB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorIworIyBDb250cmlidXRvcnM6CisjICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworI1RoZSBkaXJlY3RvcnkgdXNlZCBhcyBhIGJhc2UgZm9yIHRoZSBhbGwgcHJvY2VzcworYmFzZURpcmVjdG9yeSA9IDxmb2xkZXI+CisKKyNTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIGNhdXNlIHRoZSBkZXBlbmRlbmN5IGFuYWx5c2lzIHRvIG9ubHkgYmUgZG9uZSBvbiB0aGUgZmVhdHVyZXMgYW5kIHBsdWdpbnMgcmVhY2hibGUgZnJvbSB0aGUgJHtmZWF0dXJlTGlzdH0uCitmaWx0ZXJlZERlcGVuZGVuY3lDaGVjaz1mYWxzZQorCisjIEEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZmVhdHVyZSBpZHMgdGhhdCB3aWxsIGJlIHBhcnQgb2YgdGhlIGFyY2hpdmUuCitmZWF0dXJlTGlzdCA9IDxmZWF0dXJlc1RvR2F0aGVyPgorCisjIFRoZSBsaXN0IG9mIHtvcywgd3MsIGFyY2h9IGNvbmZpZ3VyYXRpb25zIHRvIGJ1aWxkLiAgVGhpcyAKKyMgdmFsdWUgaXMgYSAnJicgc2VwYXJhdGVkIGxpc3Qgb2YgJywnIHNlcGFyYXRlIHRyaXBsZXMuIAorIyBCeSBkZWZhdWx0IHRoZSB2YWx1ZSBpcyAqLCosKiB3aGljaCBpcyBwbGF0Zm9ybSBpbmRlcGVuZGFudAorI2NvbmZpZz13aW4zMiwgd2luMzIsIHg4NiAmIFwKKyMJbGludXgsIGd0aywgcHBjICZcCisjIGxpbnV4LCBndGssIHg4NiAmIFwKKyMJbGludXgsIGd0aywgeDg2XzY0ICYgXAorIwlsaW51eCwgbW90aWYsIHg4NiAmIFwKKyMJc29sYXJpcywgbW90aWYsIHNwYXJjICYgXAorIwlzb2xhcmlzLCBndGssIHNwYXJjICYgXAorIwlhaXgsIG1vdGlmLCBwcGMgJiBcCisjCWhwdXgsIG1vdGlmLCBQQV9SSVNDICYgXAorIwltYWNvc3gsIGNhcmJvbiwgcHBjCisKKyNTZXQgdGhpcyB2YXJpYWJsZSB0byBub3JtYWxpemUgcGx1Zy1pbiBhbmQgZmVhdHVyZSBuYW1lcyB3aGlsZSBwYWNrYWdpbmcgCitub3JtYWxpemVXaGlsZVBhY2thZ2luZz10cnVlCisKKyMjIyMjIyMjIyMjIyMjIyMgRE9XTkxPQUQgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworI1NraXAgYW55IGRvd25sb2FkIGFuZCB1bnppcHBpbmcgd29yayBiZWNhdXNlIHRoZSB0aGluZ3MgdG8gYmUgcGFja2FnZWQgYXJlIGFscmVhZHkgYXZhaWxhYmxlIGluICR7dGFyZ2V0fQorI0NvbW1lbnQgdGhlIHByb3BlcnR5IGlmIHlvdSB3YW50IHRoZSBkb3dubG9hZCBhbmQgdW56aXAgdG8gb2NjdXIuCitwcmVmaWxsZWRUYXJnZXQgPSB0cnVlCisKKworI0Rvbid0IGRvd25sb2FkIHBhY2thZ2VyIG1hcCBmaWxlcywgdGhleSBzaG91bGQgYWxyZWFkeSBleGlzdCBpbiAke2Rvd25sb2FkRGlyZWN0b3J5fQorI2NvbW1lbnQgb3V0IHRoaXMgcHJvcGVydHkgdG8gZG93bmxvYWQgdGhlIG1hcCBmaWxlIGZyb20gcGFja2FnZXJNYXBVUkwKKyNza2lwTWFwcyA9IHRydWUKKyNUaGUgVVJMIGZyb20gd2hpY2ggdG8gZG93bmxvYWQgdGhlIHBhY2thZ2VyIG1hcCBmaWxlLiBJZiBtb3JlIHRoYW4gb25lIGZpbGUgbmVlZHMgdG8gYmUgZG93bmxvYWRlZCwgZWRpdCB0aGUgZ2V0TWFwRmlsZXMgdGFyZ2V0IGluIHlvdXIgY3VzdG9tVGFyZ2V0cy54bWwKKyNwYWNrYWdlck1hcFVSTCA9IAorCisjRG9uJ3QgZG93bmxvYWQgdGhlIGFyY2hpdmVzLgorI3NraXBGZXRjaCA9IHRydWUKKworIyBBIGNvbW1hIHNlcGVyYXRlZCBsaXN0IG9mIHRoZSBjb21wb25lbnQgZnJvbSB3aGljaCB0aGUgZmVhdHVyZXMgbGlzdGVkIGluIGZlYXR1cmVMaXN0IGNhbiBiZSBmb3VuZAorIyBUaGlzIGlzIHVzZWQgYXMgYSBvcHRpbWl6YXRpb24gdG8gYXZvaWQgdW5uZWNlc3NhcnkgZG93bmxvYWRzLgorIyAqIHNob3VsZCBiZSBzcGVjaWZpZWQgaWYgeW91IGRvbid0IGtub3cKK2NvbXBvbmVudEZpbHRlcj0qCisKKyMgQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBmaWx0ZXJzIHVzZWQgdG8gb3B0aW1pemUgdGhlIGRvd25sb2FkIG9mIGFyY2hpdmVzLgorI1ZhbHVlcyBpbiB0aGlzIGZpbHRlciBzaG91bGQgbWF0Y2ggdGhlIAorY29udGVudEZpbHRlcj1zZGsKKworCisjIyMjIyMjIyMjIyMjIyMjIEZPTERFUlMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBUaGUgcGxhY2UgaW4gd2hpY2ggYWxsIHRoZSBzY3JpcHRzIHdpbGwgYmUgY29udGFpbmVkCit3b3JraW5nRGlyZWN0b3J5ID0gJHtiYXNlRGlyZWN0b3J5fS93b3JraW5nUGxhY2UKK2J1aWxkRGlyZWN0b3J5ID0gJHt3b3JraW5nRGlyZWN0b3J5fQorCisjIFRoZSBmb2xkZXIgaW4gd2hpY2ggYWxsIHRoZSB6aXBzIHdpbGwgYmUgZG93bmxvYWRlZAorZG93bmxvYWREaXJlY3RvcnkgPSAke2Jhc2VEaXJlY3Rvcnl9L3RvUGFja2FnZQorCisjIFRoZSBmb2xkZXIgd2hlcmUgYWxsIHRoZSBvcGVyYXRpb25zIGFyZSBiZWluZyBkb25lCit0ZW1wRGlyZWN0b3J5ID0gJHtiYXNlRGlyZWN0b3J5fS90ZW1wCisKKyMgVGhlIHBsYWNlIGluIHdoaWNoIHRoZSB6aXBzIGFyZSBsb2NhdGVkCitzb3VyY2VGb2xkZXIgPSAke2Rvd25sb2FkRGlyZWN0b3J5fQorCisjIyMjIyMjIyMjIyMjIyMjIyBTT1VSQ0VTICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBBIGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiBwbGFjZXMgd2hlcmUgcGx1Z2lucyBhbmQgZmVhdHVyZXMgd2lsbCBiZSBsb29rZWQgZm9yIAordGFyZ2V0ID0gJHt0ZW1wRGlyZWN0b3J5fS9lY2xpcHNlCisKKyMjIyMjIyMjIyMjIyMjIyMjIyBNSVNDICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFRoaXMgY29udHJvbHMgdGhlIGJ1aWxkIGlkIGluIHRoZSBkZWZhdWx0IG5hbWUgb2YgdGhlIGFyY2hpdmUKK2J1aWxkSWQ9TXlQcm9kdWN0CisKKyMgVHlwZSBvZiBidWlsZC4gIFVzZWQgaW4gbmFtaW5nIHRoZSBidWlsZCBvdXRwdXQuICBUeXBpY2FsbHkgdGhpcyB2YWx1ZSBpcworIyBvbmUgb2YgSSwgTiwgTSwgUywgLi4uCitidWlsZFR5cGU9SQorCisjU2V0IHRoZSBuYW1lIG9mIHRoZSBhcmNoaXZlIHRoYXQgd2lsbCByZXN1bHQgZnJvbSB0aGUgcHJvZHVjdCBidWlsZC4KKyNhcmNoaXZlTmFtZVByZWZpeCA9IAorCisjIExhYmVsIGZvciB0aGUgYnVpbGQuICBVc2VkIGluIG5hbWluZyB0aGUgYnVpbGQgb3V0cHV0CitidWlsZExhYmVsPSR7YnVpbGRUeXBlfS4ke2J1aWxkSWR9CisKKyNUaGUgZm9ybWF0IG9mIHRoZSBhcmNoaXZlLiBCeSBkZWZhdWx0IGEgemlwIGlzIGNyZWF0ZWQgdXNpbmcgYW50WmlwLgorI2FyY2hpdmVzRm9ybWF0PXdpbjMyLCB3aW4zMiwgeDg2IC0gYW50WmlwJiBcCisjCWxpbnV4LCBndGssIHBwYyAtIGFudFppcCAmXAorIyAgICBsaW51eCwgZ3RrLCB4ODYgLSBhbnRaaXAmIFwKKyMJbGludXgsIGd0aywgeDg2XzY0IC0gYW50WmlwJiBcCisjIGxpbnV4LCBtb3RpZiwgeDg2IC0gYW50WmlwJiBcCisjCXNvbGFyaXMsIG1vdGlmLCBzcGFyYyAtIGFudFppcCYgXAorIwlzb2xhcmlzLCBndGssIHNwYXJjIC0gYW50WmlwJiBcCisjCWFpeCwgbW90aWYsIHBwYyAtIGFudFppcCYgXAorIwlocHV4LCBtb3RpZiwgUEFfUklTQyAtIGFudFppcCYgXAorIwltYWNvc3gsIGNhcmJvbiwgcHBjIC0gYW50WmlwCisKKyMgZXh0cmEgYXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB6aXAgLyB1bnppcCAoLXkgaXMgdXN1YWxseSB1c2VkIG9uIHVuaXggZm9yIHppcCkKK3ppcGFyZ3M9Cit1bnppcEFyZ3M9CisKKyMgdGhlIHByZWZpeCBpbiB0aGUgYXJjaGl2ZQorYXJjaGl2ZVByZWZpeD1lY2xpcHNlCisKKyMgdGhlIGZvbGRlciBpbiB3aGljaCB0aGUgZmlsZXMgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBhcmNoaXZlIHdpbGwgYmUgcGxhY2VkCitjb2xsZWN0aW5nRm9sZGVyPWVjbGlwc2UKKworCisjIyMjIyMjIyMjIyMjIyMgUEFDS0FHSU5HLlBST1BFUlRJRVMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgYSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlIHByb3BlcnRpZXMgZm9yIGVsZW1lbnQgdG8gcGFja2FnZQorcGFja2FnaW5nUHJvcGVydGllcyA9IHBhY2thZ2luZy5wcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC90ZW1wbGF0ZXMvcGFja2FnZXIvcGFja2FnaW5nLnByb3BlcnRpZXMgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC90ZW1wbGF0ZXMvcGFja2FnZXIvcGFja2FnaW5nLnByb3BlcnRpZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU1M2M1MQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMi52MjAxMjExMTQtMTQwODEwL3RlbXBsYXRlcy9wYWNrYWdlci9wYWNrYWdpbmcucHJvcGVydGllcwpAQCAtMCwwICsxLDI4IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIENvcHlyaWdodCAoYykgMjAwNiwgMjAwNyBJQk0gQ29ycG9yYXRpb24gYW5kIG90aGVycy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscworIyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKKyMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyMKKyMgQ29udHJpYnV0b3JzOgorIyAgICAgSUJNIENvcnBvcmF0aW9uIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFRoZSBjaG1vZCBhbmQgbGlua3MgbXVzdCBpbmRpY2F0ZSBhIHBhdGggcmVsYXRpdmUgdG8gdGhlIHJvb3QgZGlyZWN0b3J5LgorCisjIExpc3QgdGhlIGZpbGVzIGFuZCBmb2xkZXJzIHRvIGJlIGNvcGllZCBpbnRvIHRoZSByb290IG9mIGVjbGlwc2UgZm9yIGFsbCBwbGF0Zm9ybQorIyBjb25maWd1cmF0aW9ucworcm9vdD1lcGwtdjEwLmh0bWwsIG5vdGljZS5odG1sLCBjb25maWd1cmF0aW9uLywgc3RhcnR1cC5qYXIsIC5lY2xpcHNlcHJvZHVjdCwgZWNsaXBzZS5pbmksIHJlYWRtZS8KK3Jvb3QucGVybWlzc2lvbnMuNzU1PWVjbGlwc2UsKi5zbyoKK3Jvb3QubWFjb3N4LmNhcmJvbi5wcGMucGVybWlzc2lvbnMuNzU1PUVjbGlwc2UuYXBwL0NvbnRlbnRzL01hY09TL2VjbGlwc2UKKworcm9vdC53aW4zMi53aW4zMi54ODY9ZWNsaXBzZS5leGUsIGVjbGlwc2VjLmV4ZQorcm9vdC5saW51eC5tb3RpZi54ODY9ZWNsaXBzZSxsaWJjYWlyby1zd3Quc28sbGliWG0uc28uMixhYm91dF9maWxlcy8sYWJvdXQuaHRtbCxpY29uLnhwbQorcm9vdC5saW51eC5ndGsueDg2PWVjbGlwc2UsbGliY2Fpcm8tc3d0LnNvLGFib3V0X2ZpbGVzLyxhYm91dC5odG1sLGljb24ueHBtCityb290LmxpbnV4Lmd0ay54ODZfNjQ9ZWNsaXBzZSxsaWJjYWlyby1zd3Quc28sYWJvdXRfZmlsZXMvLGFib3V0Lmh0bWwsaWNvbi54cG0KK3Jvb3QubGludXguZ3RrLnBwYz1lY2xpcHNlCityb290Lm1hY29zeC5jYXJib24ucHBjPWVjbGlwc2UsRWNsaXBzZS5hcHAvCityb290Lm1hY29zeC5jYXJib24ucHBjLmxpbms9RWNsaXBzZS5hcHAvQ29udGVudHMvTWFjT1MvZWNsaXBzZSxlY2xpcHNlLC4uLy4uLy4uL01hY09TLEVjbGlwc2UuYXBwL0NvbnRlbnRzL1Jlc291cmNlcy9TcGxhc2guYXBwL0NvbnRlbnRzL01hY09TCityb290LmFpeC5tb3RpZi5wcGM9ZWNsaXBzZQorcm9vdC5ocHV4Lm1vdGlmLlBBX1JJU0M9ZWNsaXBzZQorcm9vdC5zb2xhcmlzLmd0ay5zcGFyYz1lY2xpcHNlLEVjbGlwc2UubC5wbSxFY2xpcHNlLm0ucG0sRWNsaXBzZS5zLnBtLEVjbGlwc2UudC5wbQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvdGVtcGxhdGVzL3BsdWdpbnMvY3VzdG9tQnVpbGRDYWxsYmFja3MueG1sIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4yLnYyMDEyMTExNC0xNDA4MTAvdGVtcGxhdGVzL3BsdWdpbnMvY3VzdG9tQnVpbGRDYWxsYmFja3MueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiOWIyZTEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjIudjIwMTIxMTE0LTE0MDgxMC90ZW1wbGF0ZXMvcGx1Z2lucy9jdXN0b21CdWlsZENhbGxiYWNrcy54bWwKQEAgLTAsMCArMSwxNTggQEAKKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPCEtLSBDdXN0b20gdGFyZ2V0cyBjYWxsZWQgZnJvbSBhIHByb2plY3QncyBnZW5lcmF0ZWQgYnVpbGQueG1sICAgICAgICAgICAgLS0+Cis8IS0tIFNldCBjdXN0b21CdWlsZENhbGxiYWNrcz08cGF0aC90by90aGlzL2ZpbGU+IGluIHlvdXIgYnVpbGQucHJvcGVydGllcy4tLT4KKzwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorPHByb2plY3QgbmFtZT0iQnVpbGQgc3BlY2lmaWMgdGFyZ2V0cyBhbmQgcHJvcGVydGllcyIgZGVmYXVsdD0ibm9EZWZhdWx0Ij4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gRGVmYXVsdCB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0ibm9EZWZhdWx0Ij4KKwkJPGVjaG8gbWVzc2FnZT0iVGhpcyBmaWxlIG11c3QgYmUgY2FsbGVkIHdpdGggZXhwbGljaXQgdGFyZ2V0cyIgLz4KKwk8L3RhcmdldD4KKwkKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8IS0tIFN0ZXBzIHRvIGRvIGJlZm9yZSB0aGUgdGFyZ2V0IGJ1aWxkLmphcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tIEF2YWlsYWJsZSBwYXJhbWV0ZXJzIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tICAgYnVpbGQucmVzdWx0LmZvbGRlciAtIGZvbGRlciB0byBjb250YWluIHRoZSBidWlsZCByZXN1bHRzICAgICAgICAgICAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8dGFyZ2V0IG5hbWU9InByZS5idWlsZC5qYXJzIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYWZ0ZXIgdGhlIHRhcmdldCBidWlsZC5qYXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gQXZhaWxhYmxlIHBhcmFtZXRlcnMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gICBidWlsZC5yZXN1bHQuZm9sZGVyIC0gZm9sZGVyIHRvIGNvbnRhaW4gdGhlIGJ1aWxkIHJlc3VsdHMgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdC5idWlsZC5qYXJzIj4KKwk8L3RhcmdldD4KKwkKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8IS0tIFN0ZXBzIHRvIGRvIGJlZm9yZSB0aGUgdGFyZ2V0IGJ1aWxkLnNvdXJjZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tIEF2YWlsYWJsZSBwYXJhbWV0ZXJzIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tICAgYnVpbGQucmVzdWx0LmZvbGRlciAtIGZvbGRlciB0byBjb250YWluIHRoZSBidWlsZCByZXN1bHRzICAgICAgICAgICAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8dGFyZ2V0IG5hbWU9InByZS5idWlsZC5zb3VyY2VzIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYWZ0ZXIgdGhlIHRhcmdldCBidWlsZC5zb3VyY2VzICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gQXZhaWxhYmxlIHBhcmFtZXRlcnMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gICBidWlsZC5yZXN1bHQuZm9sZGVyIC0gZm9sZGVyIHRvIGNvbnRhaW4gdGhlIGJ1aWxkIHJlc3VsdHMgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdC5idWlsZC5zb3VyY2VzIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYmVmb3JlIHRoZSBjb21waWxhdGlvbiB0YXJnZXQgPG5hbWU+ICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gU3Vic3RpdHV0ZSAibmFtZSIgd2l0aCB0aGUgbmFtZSBvZiB0aGUgY29tcGlsYXRpb24gdGFyZ2V0LCBlZyBAZG90ICAgIC0tPgorCTwhLS0gQXZhaWxhYmxlIHBhcmFtZXRlcnMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gICBzb3VyY2UuZm9sZGVybiA6IG4gPSAxIC4uLiBOLCB0aGUgc291cmNlIGZvbGRlcnMgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gICB0YXJnZXQuZm9sZGVyICA6IHdoZXJlIHRoZSByZXN1bHRzIG9mIHRoZSBjb21waWxhdGlvbiBnbyAgICAgICAgICAgIC0tPgorCTwhLS0gICA8bmFtZT4uY2xhc3NwYXRoIDogbmFtZSA9IG5hbWUgb2YgdGhlIGNvbXBpbGF0aW9uIHRhcmdldC4gQSAgICAgICAgIC0tPgorCTwhLS0gICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlIHRvIHRoZSBjbGFzc3BhdGggc3RydWN0dXJlLiAgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icHJlLm5hbWUiPgorCTwvdGFyZ2V0PgorCisJPHRhcmdldCBuYW1lPSJwcmUuQGRvdCI+CisJPC90YXJnZXQ+CisKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8IS0tIFN0ZXBzIHRvIGRvIGR1cmluZyB0aGUgY29tcGlsYXRpb24gdGFyZ2V0IDxuYW1lPiwgYWZ0ZXIgdGhlIGNvbXBpbGUgICAtLT4KKwk8IS0tIGJ1dCBiZWZvcmUgamFyaW5nLiAgU3Vic3RpdHV0ZSAibmFtZSIgd2l0aCB0aGUgbmFtZSBvZiB0aGUgY29tcGlsYXRpb24tLT4KKwk8IS0tIHRhcmdldCwgZWcgQGRvdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tIEF2YWlsYWJsZSBwYXJhbWV0ZXJzIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tICAgc291cmNlLmZvbGRlcm4gOiBuID0gMSAuLi4gTiwgdGhlIHNvdXJjZSBmb2xkZXJzICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tICAgdGFyZ2V0LmZvbGRlciAgOiB3aGVyZSB0aGUgcmVzdWx0cyBvZiB0aGUgY29tcGlsYXRpb24gZ28gICAgICAgICAgICAtLT4KKwk8IS0tICAgPG5hbWU+LmNsYXNzcGF0aCA6IG5hbWUgPSBuYW1lIG9mIHRoZSBjb21waWxhdGlvbiB0YXJnZXQuIEEgICAgICAgICAtLT4KKwk8IS0tICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZSB0byB0aGUgY2xhc3NwYXRoIHN0cnVjdHVyZS4gICAgICAgICAgICAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8dGFyZ2V0IG5hbWU9InBvc3QuY29tcGlsZS5uYW1lIj4KKwk8L3RhcmdldD4KKworCTx0YXJnZXQgbmFtZT0icG9zdC5jb21waWxlLkBkb3QiPgorCTwvdGFyZ2V0PgorCQorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYWZ0ZXIgdGhlIGNvbXBpbGF0aW9uIHRhcmdldCA8bmFtZT4gICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gU3Vic3RpdHV0ZSAibmFtZSIgd2l0aCB0aGUgbmFtZSBvZiB0aGUgY29tcGlsYXRpb24gdGFyZ2V0LCBlZyBAZG90ICAgIC0tPgorCTwhLS0gQXZhaWxhYmxlIHBhcmFtZXRlcnMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gICBqYXIuTG9jYXRpb24gLSB0aGUgbG9jYXRpb24gb2YgdGhlIGNvbXBpbGF0aW9uIHJlc3VsdHMgICAgICAgICAgICAgIC0tPgorCTwhLS0gICA8bmFtZT4uY2xhc3NwYXRoIDogbmFtZSA9IG5hbWUgb2YgdGhlIGNvbXBpbGF0aW9uIHRhcmdldC4gQSAgICAgICAgIC0tPgorCTwhLS0gICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlIHRvIHRoZSBjbGFzc3BhdGggc3RydWN0dXJlLiAgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdC5uYW1lIj4KKwk8L3RhcmdldD4KKworCTx0YXJnZXQgbmFtZT0icG9zdC5AZG90Ij4KKwk8L3RhcmdldD4KKwkKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8IS0tIFN0ZXBzIHRvIGRvIGJlZm9yZSB0aGUgdGFyZ2V0IGdhdGhlci5iaW4ucGFydHMgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisJPCEtLSBBdmFpbGFibGUgcGFyYW1ldGVycyA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisJPCEtLSAgIGJ1aWxkLnJlc3VsdC5mb2xkZXIgLSBmb2xkZXIgY29udGFpbmluZyB0aGUgYnVpbGQgcmVzdWx0cyAgICAgICAgICAgLS0+CisJPCEtLSAgIHRhcmdldC5mb2xkZXIgLSBkZXN0aW5hdGlvbiBmb2xkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJwcmUuZ2F0aGVyLmJpbi5wYXJ0cyI+CisJPC90YXJnZXQ+CisJCQorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYWZ0ZXIgdGhlIHRhcmdldCBnYXRoZXIuYmluLnBhcnRzICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gQXZhaWxhYmxlIHBhcmFtZXRlcnMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gICBidWlsZC5yZXN1bHQuZm9sZGVyIC0gZm9sZGVyIGNvbnRhaW5pbmcgdGhlIGJ1aWxkIHJlc3VsdHMgICAgICAgICAgIC0tPgorCTwhLS0gICB0YXJnZXQuZm9sZGVyIC0gZGVzdGluYXRpb24gZm9sZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdC5nYXRoZXIuYmluLnBhcnRzIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYmVmb3JlIHRoZSB0YXJnZXQgZ2F0aGVyLnNvdXJjZXMgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gQXZhaWxhYmxlIHBhcmFtZXRlcnMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gICBkZXN0aW5hdGlvbi50ZW1wLmZvbGRlciAtIGRlc3RpbmF0aW9uIGZvbGRlciAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icHJlLmdhdGhlci5zb3VyY2VzIj4KKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYWZ0ZXIgdGhlIHRhcmdldCBnYXRoZXIuc291cmNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gQXZhaWxhYmxlIHBhcmFtZXRlcnMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gICBkZXN0aW5hdGlvbi50ZW1wLmZvbGRlciAtIGRlc3RpbmF0aW9uIGZvbGRlciAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdC5nYXRoZXIuc291cmNlcyI+CisJPC90YXJnZXQ+CisKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8IS0tIFN0ZXBzIHRvIGRvIGJlZm9yZSB0aGUgdGFyZ2V0IGdhdGhlci5sb2dzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tIEF2YWlsYWJsZSBwYXJhbWV0ZXJzIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tICAgZGVzdGluYXRpb24udGVtcC5mb2xkZXIgLSBkZXN0aW5hdGlvbiBmb2xkZXIgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8dGFyZ2V0IG5hbWU9InByZS5nYXRoZXIubG9ncyI+ICAgICAgICAKKwk8L3RhcmdldD4KKworCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTwhLS0gU3RlcHMgdG8gZG8gYWZ0ZXIgdGhlIHRhcmdldCBnYXRoZXIubG9ncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gQXZhaWxhYmxlIHBhcmFtZXRlcnMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gICBkZXN0aW5hdGlvbi50ZW1wLmZvbGRlciAtIGRlc3RpbmF0aW9uIGZvbGRlciAgICAgICAgICAgICAgICAgICAgICAgIC0tPgorCTwhLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgorCTx0YXJnZXQgbmFtZT0icG9zdC5nYXRoZXIubG9ncyI+ICAgICAgIAorCTwvdGFyZ2V0PgorCisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPCEtLSBTdGVwcyB0byBkbyBiZWZvcmUgdGhlIHRhcmdldCBjbGVhbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisJPCEtLSBBdmFpbGFibGUgcGFyYW1ldGVycyA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisJPCEtLSAgIGRlc3RpbmF0aW9uLnRlbXAuZm9sZGVyIC0gZGVzdGluYXRpb24gZm9sZGVyICAgICAgICAgICAgICAgICAgICAgICAgLS0+CisJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CisJPHRhcmdldCBuYW1lPSJwcmUuY2xlYW4iPiAgICAgICAgICAgICAgCisJPC90YXJnZXQ+CisKKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8IS0tIFN0ZXBzIHRvIGRvIGFmdGVyIHRoZSB0YXJnZXQgY2xlYW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tIEF2YWlsYWJsZSBwYXJhbWV0ZXJzIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tICAgcGx1Z2luLmRlc3RpbmF0aW9uIC0gZmluYWwgZGVzdGluYXRpb24gb2YgdGhlIGJ1aWxkICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tICAgYnVpbGQucmVzdWx0LmZvbGRlciAtIHJlc3VsdHMgb2YgdGhlIGNvbXBpbGF0aW9uICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tICAgdGVtcC5mb2xkZXIgLSB0ZW1wb3JhcnkgZm9sZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KKwk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KKwk8dGFyZ2V0IG5hbWU9InBvc3QuY2xlYW4iPiAgICAgICAgICAgICAKKwk8L3RhcmdldD4KKzwvcHJvamVjdD4KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5jb3JlLnNvdXJjZV8zLjguMS52MjAxMzAxMTUtMjAwNTA0LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5jb3JlLnNvdXJjZV8zLjguMS52MjAxMzAxMTUtMjAwNTA0LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGRjMDA2Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmNvcmUuc291cmNlXzMuOC4xLnYyMDEzMDExNS0yMDA1MDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5jb3JlXzMuOC4xLnYyMDEzMDExNS0yMDA1MDQuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmNvcmVfMy44LjEudjIwMTMwMTE1LTIwMDUwNC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTYxNjU2ZAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5jb3JlXzMuOC4xLnYyMDEzMDExNS0yMDA1MDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5sYXVuY2hpbmcuc291cmNlXzMuNi4xMDAudjIwMTIwNjA1LTIwMzAyNy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUubGF1bmNoaW5nLnNvdXJjZV8zLjYuMTAwLnYyMDEyMDYwNS0yMDMwMjcuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhZTYxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUubGF1bmNoaW5nLnNvdXJjZV8zLjYuMTAwLnYyMDEyMDYwNS0yMDMwMjcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5sYXVuY2hpbmdfMy42LjEwMC52MjAxMjA2MDUtMjAzMDI3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5sYXVuY2hpbmdfMy42LjEwMC52MjAxMjA2MDUtMjAzMDI3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTI0MTFhCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmxhdW5jaGluZ18zLjYuMTAwLnYyMDEyMDYwNS0yMDMwMjcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS51aS5zb3VyY2VfMy43LjIudjIwMTMwMTIxLTA5MzEyMy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUudWkuc291cmNlXzMuNy4yLnYyMDEzMDEyMS0wOTMxMjMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxNzczNmIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUudWkuc291cmNlXzMuNy4yLnYyMDEzMDEyMS0wOTMxMjMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS51aV8zLjcuMi52MjAxMzAxMjEtMDkzMTIzLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS51aV8zLjcuMi52MjAxMzAxMjEtMDkzMTIzLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWQwNTY1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLnVpXzMuNy4yLnYyMDEzMDEyMS0wOTMxMjMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnNlYXJjaC5zb3VyY2VfMy44LjAudjIwMTIwNTIzLTE1NDAuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2Uuc2VhcmNoLnNvdXJjZV8zLjguMC52MjAxMjA1MjMtMTU0MC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlhYzM5NQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnNlYXJjaC5zb3VyY2VfMy44LjAudjIwMTIwNTIzLTE1NDAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnNlYXJjaF8zLjguMC52MjAxMjA1MjMtMTU0MC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5zZWFyY2hfMy44LjAudjIwMTIwNTIzLTE1NDAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhMmZjODIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5zZWFyY2hfMy44LjAudjIwMTIwNTIzLTE1NDAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnN3dF8zLjEwMC4xLnY0MjM2Yi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5zd3RfMy4xMDAuMS52NDIzNmIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNzg0ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS5zd3RfMy4xMDAuMS52NDIzNmIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnRlYW0uY29yZS5zb3VyY2VfMy42LjEwMC52MjAxMjA1MjQtMDYyNy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS50ZWFtLmNvcmUuc291cmNlXzMuNi4xMDAudjIwMTIwNTI0LTA2MjcuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjOGE3N2QKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS50ZWFtLmNvcmUuc291cmNlXzMuNi4xMDAudjIwMTIwNTI0LTA2MjcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnRlYW0uY29yZV8zLjYuMTAwLnYyMDEyMDUyNC0wNjI3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnRlYW0uY29yZV8zLjYuMTAwLnYyMDEyMDUyNC0wNjI3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzIyNjA5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudGVhbS5jb3JlXzMuNi4xMDAudjIwMTIwNTI0LTA2MjcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnRlYW0udWkuc291cmNlXzMuNi4yMDEudjIwMTMwMTI1LTEzNTQyNC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS50ZWFtLnVpLnNvdXJjZV8zLjYuMjAxLnYyMDEzMDEyNS0xMzU0MjQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4NTA3MTkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS50ZWFtLnVpLnNvdXJjZV8zLjYuMjAxLnYyMDEzMDEyNS0xMzU0MjQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnRlYW0udWlfMy42LjIwMS52MjAxMzAxMjUtMTM1NDI0LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnRlYW0udWlfMy42LjIwMS52MjAxMzAxMjUtMTM1NDI0LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjU4MWRhCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudGVhbS51aV8zLjYuMjAxLnYyMDEzMDEyNS0xMzU0MjQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnRleHQuc291cmNlXzMuNS4yMDAudjIwMTIwNTIzLTEzMTAuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudGV4dC5zb3VyY2VfMy41LjIwMC52MjAxMjA1MjMtMTMxMC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTgzYzE3MAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnRleHQuc291cmNlXzMuNS4yMDAudjIwMTIwNTIzLTEzMTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnRleHRfMy41LjIwMC52MjAxMjA1MjMtMTMxMC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS50ZXh0XzMuNS4yMDAudjIwMTIwNTIzLTEzMTAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkNzdlNTAKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS50ZXh0XzMuNS4yMDAudjIwMTIwNTIzLTEzMTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmNoZWF0c2hlZXRzLnNvdXJjZV8zLjQuMjAwLnYyMDEyMDUyMS0yMzQ0LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmNoZWF0c2hlZXRzLnNvdXJjZV8zLjQuMjAwLnYyMDEyMDUyMS0yMzQ0LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjhiNDIyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkuY2hlYXRzaGVldHMuc291cmNlXzMuNC4yMDAudjIwMTIwNTIxLTIzNDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmNoZWF0c2hlZXRzXzMuNC4yMDAudjIwMTIwNTIxLTIzNDQuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkuY2hlYXRzaGVldHNfMy40LjIwMC52MjAxMjA1MjEtMjM0NC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI2NWZmYwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmNoZWF0c2hlZXRzXzMuNC4yMDAudjIwMTIwNTIxLTIzNDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmNvbnNvbGUuc291cmNlXzMuNS4xMDAudjIwMTIwNTIxLTIwMTIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkuY29uc29sZS5zb3VyY2VfMy41LjEwMC52MjAxMjA1MjEtMjAxMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ4MTQ1NAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmNvbnNvbGUuc291cmNlXzMuNS4xMDAudjIwMTIwNTIxLTIwMTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmNvbnNvbGVfMy41LjEwMC52MjAxMjA1MjEtMjAxMi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS5jb25zb2xlXzMuNS4xMDAudjIwMTIwNTIxLTIwMTIuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0MTVkYjYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS5jb25zb2xlXzMuNS4xMDAudjIwMTIwNTIxLTIwMTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmVkaXRvcnMuc291cmNlXzMuOC4wLnYyMDEyMDUyMy0xNTQwLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmVkaXRvcnMuc291cmNlXzMuOC4wLnYyMDEyMDUyMy0xNTQwLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWM2N2QzCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkuZWRpdG9ycy5zb3VyY2VfMy44LjAudjIwMTIwNTIzLTE1NDAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmVkaXRvcnNfMy44LjAudjIwMTIwNTIzLTE1NDAuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkuZWRpdG9yc18zLjguMC52MjAxMjA1MjMtMTU0MC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ1ODRmNQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmVkaXRvcnNfMy44LjAudjIwMTIwNTIzLTE1NDAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmV4dGVybmFsdG9vbHMuc291cmNlXzMuMi4xMDAudjIwMTIwNTMwLTE3NTMuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkuZXh0ZXJuYWx0b29scy5zb3VyY2VfMy4yLjEwMC52MjAxMjA1MzAtMTc1My5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmEwOTNjMQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmV4dGVybmFsdG9vbHMuc291cmNlXzMuMi4xMDAudjIwMTIwNTMwLTE3NTMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmV4dGVybmFsdG9vbHNfMy4yLjEwMC52MjAxMjA1MzAtMTc1My5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS5leHRlcm5hbHRvb2xzXzMuMi4xMDAudjIwMTIwNTMwLTE3NTMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyZDIzY2IKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS5leHRlcm5hbHRvb2xzXzMuMi4xMDAudjIwMTIwNTMwLTE3NTMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmZvcm1zLnNvdXJjZV8zLjUuMjAwLnYyMDEyMDcwNS0xMTQzNTEuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkuZm9ybXMuc291cmNlXzMuNS4yMDAudjIwMTIwNzA1LTExNDM1MS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY0NzZkNAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmZvcm1zLnNvdXJjZV8zLjUuMjAwLnYyMDEyMDcwNS0xMTQzNTEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmZvcm1zXzMuNS4yMDAudjIwMTIwNzA1LTExNDM1MS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS5mb3Jtc18zLjUuMjAwLnYyMDEyMDcwNS0xMTQzNTEuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmZGEzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS5mb3Jtc18zLjUuMjAwLnYyMDEyMDcwNS0xMTQzNTEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmlkZS5zb3VyY2VfMy44LjIudjIwMTIxMTA2LTE2NTkyMy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS5pZGUuc291cmNlXzMuOC4yLnYyMDEyMTEwNi0xNjU5MjMuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1OWNmMTkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS5pZGUuc291cmNlXzMuOC4yLnYyMDEyMTEwNi0xNjU5MjMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmlkZV8zLjguMi52MjAxMjExMDYtMTY1OTIzLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmlkZV8zLjguMi52MjAxMjExMDYtMTY1OTIzLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDAyODc5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkuaWRlXzMuOC4yLnYyMDEyMTEwNi0xNjU5MjMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmludHJvLnNvdXJjZV8zLjQuMjAwLnYyMDEyMDUyMS0yMzQ0LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmludHJvLnNvdXJjZV8zLjQuMjAwLnYyMDEyMDUyMS0yMzQ0LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2FiNDUzCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkuaW50cm8uc291cmNlXzMuNC4yMDAudjIwMTIwNTIxLTIzNDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmludHJvXzMuNC4yMDAudjIwMTIwNTIxLTIzNDQuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkuaW50cm9fMy40LjIwMC52MjAxMjA1MjEtMjM0NC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMxMjAzZgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLmludHJvXzMuNC4yMDAudjIwMTIwNTIxLTIzNDQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLm5hdmlnYXRvci5yZXNvdXJjZXMuc291cmNlXzMuNC40MDAudjIwMTIwNzA1LTExNDAxMC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS5uYXZpZ2F0b3IucmVzb3VyY2VzLnNvdXJjZV8zLjQuNDAwLnYyMDEyMDcwNS0xMTQwMTAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjNWNjNWEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS5uYXZpZ2F0b3IucmVzb3VyY2VzLnNvdXJjZV8zLjQuNDAwLnYyMDEyMDcwNS0xMTQwMTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLm5hdmlnYXRvci5yZXNvdXJjZXNfMy40LjQwMC52MjAxMjA3MDUtMTE0MDEwLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLm5hdmlnYXRvci5yZXNvdXJjZXNfMy40LjQwMC52MjAxMjA3MDUtMTE0MDEwLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWQ0ZDdkCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkubmF2aWdhdG9yLnJlc291cmNlc18zLjQuNDAwLnYyMDEyMDcwNS0xMTQwMTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLm5hdmlnYXRvci5zb3VyY2VfMy41LjIwMC52MjAxMjA3MDUtMTE0MTAzLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLm5hdmlnYXRvci5zb3VyY2VfMy41LjIwMC52MjAxMjA3MDUtMTE0MTAzLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTllY2QyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkubmF2aWdhdG9yLnNvdXJjZV8zLjUuMjAwLnYyMDEyMDcwNS0xMTQxMDMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLm5hdmlnYXRvcl8zLjUuMjAwLnYyMDEyMDcwNS0xMTQxMDMuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkubmF2aWdhdG9yXzMuNS4yMDAudjIwMTIwNzA1LTExNDEwMy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk2MTQ2YwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLm5hdmlnYXRvcl8zLjUuMjAwLnYyMDEyMDcwNS0xMTQxMDMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLnNvdXJjZV8zLjEwNC4wLnYyMDEyMTAyNC0xNDUyMjQuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkuc291cmNlXzMuMTA0LjAudjIwMTIxMDI0LTE0NTIyNC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhjOWNhOQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLnNvdXJjZV8zLjEwNC4wLnYyMDEyMTAyNC0xNDUyMjQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLnZpZXdzLmxvZy5zb3VyY2VfMS4wLjMwMC52MjAxMjA1MzAtMTQzNS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS52aWV3cy5sb2cuc291cmNlXzEuMC4zMDAudjIwMTIwNTMwLTE0MzUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5MGM5MjMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS52aWV3cy5sb2cuc291cmNlXzEuMC4zMDAudjIwMTIwNTMwLTE0MzUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLnZpZXdzLmxvZ18xLjAuMzAwLnYyMDEyMDUzMC0xNDM1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLnZpZXdzLmxvZ18xLjAuMzAwLnYyMDEyMDUzMC0xNDM1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjRiYzA1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkudmlld3MubG9nXzEuMC4zMDAudjIwMTIwNTMwLTE0MzUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLnZpZXdzLnByb3BlcnRpZXMudGFiYmVkLnNvdXJjZV8zLjUuMzAwLnYyMDEyMDkxMi0xMzI4MDcuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkudmlld3MucHJvcGVydGllcy50YWJiZWQuc291cmNlXzMuNS4zMDAudjIwMTIwOTEyLTEzMjgwNy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQwZWZkOQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLnZpZXdzLnByb3BlcnRpZXMudGFiYmVkLnNvdXJjZV8zLjUuMzAwLnYyMDEyMDkxMi0xMzI4MDcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLnZpZXdzLnByb3BlcnRpZXMudGFiYmVkXzMuNS4zMDAudjIwMTIwOTEyLTEzMjgwNy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS52aWV3cy5wcm9wZXJ0aWVzLnRhYmJlZF8zLjUuMzAwLnYyMDEyMDkxMi0xMzI4MDcuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwNjg2MDIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS52aWV3cy5wcm9wZXJ0aWVzLnRhYmJlZF8zLjUuMzAwLnYyMDEyMDkxMi0xMzI4MDcuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLnZpZXdzLnNvdXJjZV8zLjYuMTAwLnYyMDEyMDcwNS0xMTQwMTAuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkudmlld3Muc291cmNlXzMuNi4xMDAudjIwMTIwNzA1LTExNDAxMC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE4ZjU2OAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLnZpZXdzLnNvdXJjZV8zLjYuMTAwLnYyMDEyMDcwNS0xMTQwMTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLnZpZXdzXzMuNi4xMDAudjIwMTIwNzA1LTExNDAxMC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS52aWV3c18zLjYuMTAwLnYyMDEyMDcwNS0xMTQwMTAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4NTczYzcKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS52aWV3c18zLjYuMTAwLnYyMDEyMDcwNS0xMTQwMTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLndvcmtiZW5jaC5zb3VyY2VfMy4xMDQuMC52MjAxMzAyMDQtMTY0NjEyLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLndvcmtiZW5jaC5zb3VyY2VfMy4xMDQuMC52MjAxMzAyMDQtMTY0NjEyLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWQ2OGI1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkud29ya2JlbmNoLnNvdXJjZV8zLjEwNC4wLnYyMDEzMDIwNC0xNjQ2MTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLndvcmtiZW5jaC50ZXh0ZWRpdG9yLnNvdXJjZV8zLjguMC52MjAxMjA1MjMtMTMxMC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS53b3JrYmVuY2gudGV4dGVkaXRvci5zb3VyY2VfMy44LjAudjIwMTIwNTIzLTEzMTAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkY2ZjY2MKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aS53b3JrYmVuY2gudGV4dGVkaXRvci5zb3VyY2VfMy44LjAudjIwMTIwNTIzLTEzMTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLndvcmtiZW5jaC50ZXh0ZWRpdG9yXzMuOC4wLnYyMDEyMDUyMy0xMzEwLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLndvcmtiZW5jaC50ZXh0ZWRpdG9yXzMuOC4wLnYyMDEyMDUyMy0xMzEwLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzc2ZWUyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkud29ya2JlbmNoLnRleHRlZGl0b3JfMy44LjAudjIwMTIwNTIzLTEzMTAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLndvcmtiZW5jaF8zLjEwNC4wLnYyMDEzMDIwNC0xNjQ2MTIuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudWkud29ya2JlbmNoXzMuMTA0LjAudjIwMTMwMjA0LTE2NDYxMi5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU2YzJiNQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpLndvcmtiZW5jaF8zLjEwNC4wLnYyMDEzMDIwNC0xNjQ2MTIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVpXzMuMTA0LjAudjIwMTIxMDI0LTE0NTIyNC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aV8zLjEwNC4wLnYyMDEyMTAyNC0xNDUyMjQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkNTNjM2YKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51aV8zLjEwNC4wLnYyMDEyMTAyNC0xNDUyMjQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVwZGF0ZS5jb25maWd1cmF0b3Iuc291cmNlXzMuMy4yMDAudjIwMTIwOTEyLTE0NDAyNi5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51cGRhdGUuY29uZmlndXJhdG9yLnNvdXJjZV8zLjMuMjAwLnYyMDEyMDkxMi0xNDQwMjYuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmN2YwYTIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS51cGRhdGUuY29uZmlndXJhdG9yLnNvdXJjZV8zLjMuMjAwLnYyMDEyMDkxMi0xNDQwMjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVwZGF0ZS5jb25maWd1cmF0b3JfMy4zLjIwMC52MjAxMjA5MTItMTQ0MDI2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnVwZGF0ZS5jb25maWd1cmF0b3JfMy4zLjIwMC52MjAxMjA5MTItMTQ0MDI2LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2QzZmIyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UudXBkYXRlLmNvbmZpZ3VyYXRvcl8zLjMuMjAwLnYyMDEyMDkxMi0xNDQwMjYuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnhwYW5kLnNvdXJjZV8xLjMuMC52MjAxMzAyMjYwNTQxLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnhwYW5kLnNvdXJjZV8xLjMuMC52MjAxMzAyMjYwNTQxLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWY5ZDQxCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHBhbmQuc291cmNlXzEuMy4wLnYyMDEzMDIyNjA1NDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnhwYW5kXzEuMy4wLnYyMDEzMDIyNjA1NDEuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHBhbmRfMS4zLjAudjIwMTMwMjI2MDU0MS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTA3YzNjOQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnhwYW5kXzEuMy4wLnYyMDEzMDIyNjA1NDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmNvcmUuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuY29yZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmMwYjgxZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmNvcmUuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmNvcmVfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5jb3JlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMzU2NzQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5jb3JlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmRvY18yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmRvY18yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjJiNzU1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuZG9jXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmV4YW1wbGVzXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuZXhhbXBsZXNfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzg5MDAzMwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmV4YW1wbGVzXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmlkZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5pZGUuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1NTg3MWIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5pZGUuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmlkZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmlkZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzU2MmY4Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuaWRlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmxpYi5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5saWIuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkODNjMzUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5saWIuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmxpYl8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLmxpYl8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWE5ODkwCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQubGliXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLm0yZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5tMmUuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyZWEyMzEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5tMmUuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLm0yZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLm0yZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjQ0NDY0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQubTJlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnNvdXJjZV8xLjMuMC52MjAxMzAyMjYwNTQxLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnNvdXJjZV8xLjMuMC52MjAxMzAyMjYwNTQxLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWZjODY5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc291cmNlXzEuMy4wLnYyMDEzMDIyNjA1NDEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnN0YW5kYWxvbmUuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uUlNBIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9FQ0xJUFNFXy5SU0EKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTAxN2U3YQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnN0YW5kYWxvbmUuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uUlNBCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnN0YW5kYWxvbmUuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uU0YgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5zdGFuZGFsb25lLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL0VDTElQU0VfLlNGCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3MjUwNmEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5zdGFuZGFsb25lLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL0VDTElQU0VfLlNGCkBAIC0wLDAgKzEsMTEgQEAKK1NpZ25hdHVyZS1WZXJzaW9uOiAxLjANCitTSEExLURpZ2VzdC1NYW5pZmVzdDogODkvVGlydllRUkxZcS9QckJyN2RibTEvOVZzPQ0KK0NyZWF0ZWQtQnk6IDEuNi4wIChJQk0gQ29ycG9yYXRpb24pDQorU0hBMS1EaWdlc3QtTWFuaWZlc3QtTWFpbi1BdHRyaWJ1dGVzOiBFb2Uwc2NVUjFXSDdlUXF5aEhLL1V2YXV6d0k9DQorDQorTmFtZTogTUVUQS1JTkYvZWNsaXBzZS5pbmYNCitTSEExLURpZ2VzdDogUWRyeVF2SmxWeXdsRTBNR0x1d1lDa21reVdrPQ0KKw0KK05hbWU6IGFib3V0Lmh0bWwNCitTSEExLURpZ2VzdDogaHozZVAzZG9UdTBweER5eW1VdUYxL1JGK3gwPQ0KKw0KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnN0YW5kYWxvbmUuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvTUFOSUZFU1QuTUYgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5zdGFuZGFsb25lLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL01BTklGRVNULk1GCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhNjUwYjIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5zdGFuZGFsb25lLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL01BTklGRVNULk1GCkBAIC0wLDAgKzEsMTggQEAKK01hbmlmZXN0LVZlcnNpb246IDEuMA0KK0FudC1WZXJzaW9uOiBBcGFjaGUgQW50IDEuOC4zDQorRWNsaXBzZS1Tb3VyY2VCdW5kbGU6IG9yZy5lY2xpcHNlLnh0ZW5kLnN0YW5kYWxvbmU7dmVyc2lvbj0iMi40LjEudjIwMQ0KKyAzMDQxODA4NTUiO3Jvb3RzPSIuIg0KK0J1bmRsZS1WZW5kb3I6IEVjbGlwc2UgWHRlbmQNCitCdW5kbGUtTmFtZTogWHRlbmQgU3RhbmRhbG9uZSBCdW5kbGUgU291cmNlDQorQnVuZGxlLVN5bWJvbGljTmFtZTogb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZS5zb3VyY2U7c2luZ2xldG9uOj10cg0KKyB1ZQ0KK0NyZWF0ZWQtQnk6IDEuNi4wXzIxLWIwNiAoU3VuIE1pY3Jvc3lzdGVtcyBJbmMuKQ0KK0J1bmRsZS1WZXJzaW9uOiAyLjQuMS52MjAxMzA0MTgwODU1DQorQnVuZGxlLU1hbmlmZXN0VmVyc2lvbjogMg0KKw0KK05hbWU6IE1FVEEtSU5GL2VjbGlwc2UuaW5mDQorU0hBMS1EaWdlc3Q6IDA5Z04wNXRvYmdTL01kdHF5VE5RaE9oQjczTT0NCisNCitOYW1lOiBhYm91dC5odG1sDQorU0hBMS1EaWdlc3Q6IDVOSkNCVFNkbXZRSzAvRUtuQ05tUXR1WE4xMD0NCisNCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5zdGFuZGFsb25lLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL2VjbGlwc2UuaW5mIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9lY2xpcHNlLmluZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmZmZWQyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9lY2xpcHNlLmluZgpAQCAtMCwwICsxLDIgQEAKKyNQcm9jZXNzZWQgdXNpbmcgSmFycHJvY2Vzc29yCitwYWNrMjAwLmNvbmRpdGlvbmVkID0gdHJ1ZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS9hYm91dC5odG1sIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS9hYm91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZTE3YWIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5zdGFuZGFsb25lLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1L2Fib3V0Lmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKKyAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiLz4KKzx0aXRsZT5BYm91dDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keSBsYW5nPSJFTi1VUyI+Cis8aDI+QWJvdXQgVGhpcyBDb250ZW50PC9oMj4KKyAKKzxwPkp1bmUgMTUsIDIwMTA8L3A+CQorPGgzPkxpY2Vuc2U8L2gzPgorCis8cD5UaGUgRWNsaXBzZSBGb3VuZGF0aW9uIG1ha2VzIGF2YWlsYWJsZSBhbGwgY29udGVudCBpbiB0aGlzIHBsdWctaW4gKCZxdW90O0NvbnRlbnQmcXVvdDspLiAgVW5sZXNzIG90aGVyd2lzZSAKK2luZGljYXRlZCBiZWxvdywgdGhlIENvbnRlbnQgaXMgcHJvdmlkZWQgdG8geW91IHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUKK0VjbGlwc2UgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjAgKCZxdW90O0VQTCZxdW90OykuICBBIGNvcHkgb2YgdGhlIEVQTCBpcyBhdmFpbGFibGUgCithdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbCI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWw8L2E+LgorRm9yIHB1cnBvc2VzIG9mIHRoZSBFUEwsICZxdW90O1Byb2dyYW0mcXVvdDsgd2lsbCBtZWFuIHRoZSBDb250ZW50LjwvcD4KKworPHA+SWYgeW91IGRpZCBub3QgcmVjZWl2ZSB0aGlzIENvbnRlbnQgZGlyZWN0bHkgZnJvbSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uLCB0aGUgQ29udGVudCBpcyAKK2JlaW5nIHJlZGlzdHJpYnV0ZWQgYnkgYW5vdGhlciBwYXJ0eSAoJnF1b3Q7UmVkaXN0cmlidXRvciZxdW90OykgYW5kIGRpZmZlcmVudCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBtYXkKK2FwcGx5IHRvIHlvdXIgdXNlIG9mIGFueSBvYmplY3QgY29kZSBpbiB0aGUgQ29udGVudC4gIENoZWNrIHRoZSBSZWRpc3RyaWJ1dG9yJ3MgbGljZW5zZSB0aGF0IHdhcyAKK3Byb3ZpZGVkIHdpdGggdGhlIENvbnRlbnQuICBJZiBubyBzdWNoIGxpY2Vuc2UgZXhpc3RzLCBjb250YWN0IHRoZSBSZWRpc3RyaWJ1dG9yLiAgVW5sZXNzIG90aGVyd2lzZQoraW5kaWNhdGVkIGJlbG93LCB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEVQTCBzdGlsbCBhcHBseSB0byBhbnkgc291cmNlIGNvZGUgaW4gdGhlIENvbnRlbnQKK2FuZCBzdWNoIHNvdXJjZSBjb2RlIG1heSBiZSBvYnRhaW5lZCBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnLyI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZzwvYT4uPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL0VDTElQU0VfLlJTQSBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnN0YW5kYWxvbmVfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9FQ0xJUFNFXy5SU0EKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTcyYmE3NwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnN0YW5kYWxvbmVfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9FQ0xJUFNFXy5SU0EKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL0VDTElQU0VfLlNGIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL0VDTElQU0VfLlNGCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiZmMwYTgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5zdGFuZGFsb25lXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvRUNMSVBTRV8uU0YKQEAgLTAsMCArMSwxMSBAQAorU2lnbmF0dXJlLVZlcnNpb246IDEuMA0KK1NIQTEtRGlnZXN0LU1hbmlmZXN0OiB6MXo1K2s2dVFqQmlndTFDaGxxSUdhZ25PTEE9DQorQ3JlYXRlZC1CeTogMS42LjAgKElCTSBDb3Jwb3JhdGlvbikNCitTSEExLURpZ2VzdC1NYW5pZmVzdC1NYWluLUF0dHJpYnV0ZXM6IHJpZWQwUXFrUlZ6TW1ZcFVudU1TVFZVdGNObz0NCisNCitOYW1lOiBNRVRBLUlORi9lY2xpcHNlLmluZg0KK1NIQTEtRGlnZXN0OiBRZHJ5UXZKbFZ5d2xFME1HTHV3WUNrbWt5V2s9DQorDQorTmFtZTogYWJvdXQuaHRtbA0KK1NIQTEtRGlnZXN0OiBoejNlUDNkb1R1MHB4RHl5bVV1RjEvUkYreDA9DQorDQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL01BTklGRVNULk1GIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL01BTklGRVNULk1GCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNmZhY2QKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5zdGFuZGFsb25lXzIuNC4xLnYyMDEzMDQxODA4NTUvTUVUQS1JTkYvTUFOSUZFU1QuTUYKQEAgLTAsMCArMSwyMyBAQAorTWFuaWZlc3QtVmVyc2lvbjogMS4wDQorQW50LVZlcnNpb246IEFwYWNoZSBBbnQgMS44LjMNCitCdW5kbGUtVmVuZG9yOiBFY2xpcHNlIFh0ZW5kDQorQnVuZGxlLVJlcXVpcmVkRXhlY3V0aW9uRW52aXJvbm1lbnQ6IEoyU0UtMS41DQorQnVuZGxlLU5hbWU6IFh0ZW5kIFN0YW5kYWxvbmUgQnVuZGxlDQorQnVuZGxlLVN5bWJvbGljTmFtZTogb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZQ0KK1JlcXVpcmUtQnVuZGxlOiBvcmcuZWNsaXBzZS54dGVuZC5jb3JlO2J1bmRsZS12ZXJzaW9uPSIyLjQuMCI7dmlzaWJpbGkNCisgdHk6PXJlZXhwb3J0LG9yZy5lY2xpcHNlLnh0ZXh0Lmp1bml0NDtidW5kbGUtdmVyc2lvbj0iMi40LjAiO3Zpc2liaWxpDQorIHR5Oj1yZWV4cG9ydCxjb20uZ29vZ2xlLmluamVjdDtidW5kbGUtdmVyc2lvbj0iMy4wLjAiO3Zpc2liaWxpdHk6PXJlZQ0KKyB4cG9ydCxvcmcuZWNsaXBzZS54dGV4dC54YmFzZS5qdW5pdDtidW5kbGUtdmVyc2lvbj0iMi40LjAiO3Zpc2liaWxpdHkNCisgOj1yZWV4cG9ydCxvcmcuYXBhY2hlLmxvZzRqO2J1bmRsZS12ZXJzaW9uPSIxLjIuMTUiO3Zpc2liaWxpdHk6PXJlZXhwDQorIG9ydCxvcmcuZWNsaXBzZS5qZHQuY29yZTtidW5kbGUtdmVyc2lvbj0iMy41LjAiO3Zpc2liaWxpdHk6PXJlZXhwb3J0LA0KKyBvcmcuZWNsaXBzZS5lbWYuY29kZWdlbjtidW5kbGUtdmVyc2lvbj0iMi41LjAiO3Zpc2liaWxpdHk6PXJlZXhwb3J0DQorQ3JlYXRlZC1CeTogMS42LjBfMjEtYjA2IChTdW4gTWljcm9zeXN0ZW1zIEluYy4pDQorQnVuZGxlLVZlcnNpb246IDIuNC4xLnYyMDEzMDQxODA4NTUNCitCdW5kbGUtTWFuaWZlc3RWZXJzaW9uOiAyDQorDQorTmFtZTogTUVUQS1JTkYvZWNsaXBzZS5pbmYNCitTSEExLURpZ2VzdDogMDlnTjA1dG9iZ1MvTWR0cXlUTlFoT2hCNzNNPQ0KKw0KK05hbWU6IGFib3V0Lmh0bWwNCitTSEExLURpZ2VzdDogNU5KQ0JUU2RtdlFLMC9FS25DTm1RdHVYTjEwPQ0KKw0KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnN0YW5kYWxvbmVfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9lY2xpcHNlLmluZiBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnN0YW5kYWxvbmVfMi40LjEudjIwMTMwNDE4MDg1NS9NRVRBLUlORi9lY2xpcHNlLmluZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmZmZWQyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQuc3RhbmRhbG9uZV8yLjQuMS52MjAxMzA0MTgwODU1L01FVEEtSU5GL2VjbGlwc2UuaW5mCkBAIC0wLDAgKzEsMiBAQAorI1Byb2Nlc3NlZCB1c2luZyBKYXJwcm9jZXNzb3IKK3BhY2syMDAuY29uZGl0aW9uZWQgPSB0cnVlCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5zdGFuZGFsb25lXzIuNC4xLnYyMDEzMDQxODA4NTUvYWJvdXQuaHRtbCBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnN0YW5kYWxvbmVfMi40LjEudjIwMTMwNDE4MDg1NS9hYm91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZTE3YWIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC5zdGFuZGFsb25lXzIuNC4xLnYyMDEzMDQxODA4NTUvYWJvdXQuaHRtbApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgorICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSIvPgorPHRpdGxlPkFib3V0PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5IGxhbmc9IkVOLVVTIj4KKzxoMj5BYm91dCBUaGlzIENvbnRlbnQ8L2gyPgorIAorPHA+SnVuZSAxNSwgMjAxMDwvcD4JCis8aDM+TGljZW5zZTwvaDM+CisKKzxwPlRoZSBFY2xpcHNlIEZvdW5kYXRpb24gbWFrZXMgYXZhaWxhYmxlIGFsbCBjb250ZW50IGluIHRoaXMgcGx1Zy1pbiAoJnF1b3Q7Q29udGVudCZxdW90OykuICBVbmxlc3Mgb3RoZXJ3aXNlIAoraW5kaWNhdGVkIGJlbG93LCB0aGUgQ29udGVudCBpcyBwcm92aWRlZCB0byB5b3UgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZQorRWNsaXBzZSBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDEuMCAoJnF1b3Q7RVBMJnF1b3Q7KS4gIEEgY29weSBvZiB0aGUgRVBMIGlzIGF2YWlsYWJsZSAKK2F0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sIj5odHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbDwvYT4uCitGb3IgcHVycG9zZXMgb2YgdGhlIEVQTCwgJnF1b3Q7UHJvZ3JhbSZxdW90OyB3aWxsIG1lYW4gdGhlIENvbnRlbnQuPC9wPgorCis8cD5JZiB5b3UgZGlkIG5vdCByZWNlaXZlIHRoaXMgQ29udGVudCBkaXJlY3RseSBmcm9tIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24sIHRoZSBDb250ZW50IGlzIAorYmVpbmcgcmVkaXN0cmlidXRlZCBieSBhbm90aGVyIHBhcnR5ICgmcXVvdDtSZWRpc3RyaWJ1dG9yJnF1b3Q7KSBhbmQgZGlmZmVyZW50IHRlcm1zIGFuZCBjb25kaXRpb25zIG1heQorYXBwbHkgdG8geW91ciB1c2Ugb2YgYW55IG9iamVjdCBjb2RlIGluIHRoZSBDb250ZW50LiAgQ2hlY2sgdGhlIFJlZGlzdHJpYnV0b3IncyBsaWNlbnNlIHRoYXQgd2FzIAorcHJvdmlkZWQgd2l0aCB0aGUgQ29udGVudC4gIElmIG5vIHN1Y2ggbGljZW5zZSBleGlzdHMsIGNvbnRhY3QgdGhlIFJlZGlzdHJpYnV0b3IuICBVbmxlc3Mgb3RoZXJ3aXNlCitpbmRpY2F0ZWQgYmVsb3csIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgRVBMIHN0aWxsIGFwcGx5IHRvIGFueSBzb3VyY2UgY29kZSBpbiB0aGUgQ29udGVudAorYW5kIHN1Y2ggc291cmNlIGNvZGUgbWF5IGJlIG9idGFpbmVkIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvIj5odHRwOi8vd3d3LmVjbGlwc2Uub3JnPC9hPi48L3A+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC50eXBlc3lzdGVtLmVtZi5zb3VyY2VfMS4zLjAudjIwMTMwMjI2MDU0MS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC50eXBlc3lzdGVtLmVtZi5zb3VyY2VfMS4zLjAudjIwMTMwMjI2MDU0MS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFjOGI5OQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnR5cGVzeXN0ZW0uZW1mLnNvdXJjZV8xLjMuMC52MjAxMzAyMjYwNTQxLmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC50eXBlc3lzdGVtLmVtZl8xLjMuMC52MjAxMzAyMjYwNTQxLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kLnR5cGVzeXN0ZW0uZW1mXzEuMy4wLnYyMDEzMDIyNjA1NDEuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiZGUxMTMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZC50eXBlc3lzdGVtLmVtZl8xLjMuMC52MjAxMzAyMjYwNTQxLmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZDIubGliLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kMi5saWIuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjMDAyZjgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZDIubGliLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZDIubGliXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQyLmxpYl8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzA0MGM5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRlbmQyLmxpYl8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZF8xLjMuMC52MjAxMzAyMjYwNTQxLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZW5kXzEuMy4wLnYyMDEzMDIyNjA1NDEuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhMzE0MGYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGVuZF8xLjMuMC52MjAxMzAyMjYwNTQxLmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5idWlsZGVyLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmJ1aWxkZXIuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiNmJmMjkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5idWlsZGVyLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5idWlsZGVyXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuYnVpbGRlcl8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjhlNDRkCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuYnVpbGRlcl8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMuZWRpdC5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMuZWRpdC5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI3NjE3OQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmNvbW1vbi50eXBlcy5lZGl0LnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMuZWRpdF8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmNvbW1vbi50eXBlcy5lZGl0XzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1OWRlZjUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMuZWRpdF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMuc2hhcmVkLmpkdDM4LnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmNvbW1vbi50eXBlcy5zaGFyZWQuamR0Mzguc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3NzM3N2EKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMuc2hhcmVkLmpkdDM4LnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMuc2hhcmVkLmpkdDM4XzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuY29tbW9uLnR5cGVzLnNoYXJlZC5qZHQzOF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDk2MDhjCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuY29tbW9uLnR5cGVzLnNoYXJlZC5qZHQzOF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMuc2hhcmVkLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmNvbW1vbi50eXBlcy5zaGFyZWQuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ODE1MDgKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMuc2hhcmVkLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMuc2hhcmVkXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuY29tbW9uLnR5cGVzLnNoYXJlZF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODBkMDEwCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuY29tbW9uLnR5cGVzLnNoYXJlZF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuY29tbW9uLnR5cGVzLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGFjM2I0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuY29tbW9uLnR5cGVzLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMudWkuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuY29tbW9uLnR5cGVzLnVpLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGZkOGIzCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuY29tbW9uLnR5cGVzLnVpLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMudWlfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXMudWlfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI5OTZkMQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmNvbW1vbi50eXBlcy51aV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXNfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5jb21tb24udHlwZXNfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JmOTA0YwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmNvbW1vbi50eXBlc18yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5lY29yZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5lY29yZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJiMDg2YwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmVjb3JlLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5lY29yZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmVjb3JlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkZjE3OTYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5lY29yZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5nZW5lcmF0b3Iuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuZ2VuZXJhdG9yLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWI3MTRiCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuZ2VuZXJhdG9yLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5nZW5lcmF0b3JfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5nZW5lcmF0b3JfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM1MzRhMQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmdlbmVyYXRvcl8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5qdW5pdDQuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuanVuaXQ0LnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjVlOTIwCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuanVuaXQ0LnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5qdW5pdDRfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5qdW5pdDRfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk4MmRkNgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0Lmp1bml0NF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5sb2dnaW5nLnNvdXJjZV8xLjIuMTUudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5sb2dnaW5nLnNvdXJjZV8xLjIuMTUudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg2MTE1ZgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmxvZ2dpbmcuc291cmNlXzEuMi4xNS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5sb2dnaW5nXzEuMi4xNS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LmxvZ2dpbmdfMS4yLjE1LnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlN2NkYjIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5sb2dnaW5nXzEuMi4xNS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5zbWFwLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnNtYXAuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZjMyNWQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5zbWFwLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5zbWFwXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuc21hcF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzU2NmMyCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQuc21hcF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM4MDQxYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5jb2RldGVtcGxhdGVzLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnVpLmNvZGV0ZW1wbGF0ZXMuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwNGViZDAKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5jb2RldGVtcGxhdGVzLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5jb2RldGVtcGxhdGVzLnVpLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnVpLmNvZGV0ZW1wbGF0ZXMudWkuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwNTc0ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5jb2RldGVtcGxhdGVzLnVpLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5jb2RldGVtcGxhdGVzLnVpXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQudWkuY29kZXRlbXBsYXRlcy51aV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTAzZGM3Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQudWkuY29kZXRlbXBsYXRlcy51aV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5jb2RldGVtcGxhdGVzXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQudWkuY29kZXRlbXBsYXRlc18yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjU2NzVhCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQudWkuY29kZXRlbXBsYXRlc18yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5lY29yZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5lY29yZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE4YTJjZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnVpLmVjb3JlLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5lY29yZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnVpLmVjb3JlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0Mjk1NmEKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5lY29yZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5zaGFyZWQuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQudWkuc2hhcmVkLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjA5NGVkCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQudWkuc2hhcmVkLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5zaGFyZWRfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5zaGFyZWRfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM5MzU0YQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnVpLnNoYXJlZF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjU5MTBmYgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnVpLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnVpXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjMzM1ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51aV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51dGlsLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnV0aWwuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2MzVkMjIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51dGlsLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC51dGlsXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQudXRpbF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGEyOGM1Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQudXRpbF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS5qdW5pdC5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS5qdW5pdC5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIxNWUyMAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlLmp1bml0LnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS5qdW5pdF8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlLmp1bml0XzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmYzlmZmUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS5qdW5pdF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWIuc291cmNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQueGJhc2UubGliLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzYyZGU2Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmVjbGlwc2UueHRleHQueGJhc2UubGliLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWJfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWJfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTJhNDNhZQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlLmxpYl8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY3MDQ3YwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS51aS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS51aS5zb3VyY2VfMi40LjEudjIwMTMwNDE4MDg1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJlMDIwYQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlLnVpLnNvdXJjZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS51aV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlLnVpXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiMmQzMWMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS51aV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZV8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlXzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwMWRiMjYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dC54YmFzZV8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dF8yLjQuMS52MjAxMzA0MTgwODU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5lY2xpcHNlLnh0ZXh0XzIuNC4xLnYyMDEzMDQxODA4NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3ZDlkOGUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuZWNsaXBzZS54dGV4dF8yLjQuMS52MjAxMzA0MTgwODU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuaGFtY3Jlc3QuY29yZS5zb3VyY2VfMS4xLjAudjIwMDkwNTAxMDcxMDAwLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5oYW1jcmVzdC5jb3JlLnNvdXJjZV8xLjEuMC52MjAwOTA1MDEwNzEwMDAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhZGZlNTQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuaGFtY3Jlc3QuY29yZS5zb3VyY2VfMS4xLjAudjIwMDkwNTAxMDcxMDAwLmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuaGFtY3Jlc3QuY29yZV8xLjEuMC52MjAwOTA1MDEwNzEwMDAuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmhhbWNyZXN0LmNvcmVfMS4xLjAudjIwMDkwNTAxMDcxMDAwLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZWE2MWRlCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmhhbWNyZXN0LmNvcmVfMS4xLjAudjIwMDkwNTAxMDcxMDAwLmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuanVuaXQuc291cmNlXzQuMTAuMC52NF8xMF8wX3YyMDEyMDQyNi0wOTAwLmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5qdW5pdC5zb3VyY2VfNC4xMC4wLnY0XzEwXzBfdjIwMTIwNDI2LTA5MDAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjNGZiOWMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuanVuaXQuc291cmNlXzQuMTAuMC52NF8xMF8wX3YyMDEyMDQyNi0wOTAwLmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuanVuaXRfNC4xMC4wLnY0XzEwXzBfdjIwMTIwNDI2LTA5MDAvTUVUQS1JTkYvRUNMSVBTRV8uUlNBIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmp1bml0XzQuMTAuMC52NF8xMF8wX3YyMDEyMDQyNi0wOTAwL01FVEEtSU5GL0VDTElQU0VfLlJTQQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDM2MjNiCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmp1bml0XzQuMTAuMC52NF8xMF8wX3YyMDEyMDQyNi0wOTAwL01FVEEtSU5GL0VDTElQU0VfLlJTQQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuanVuaXRfNC4xMC4wLnY0XzEwXzBfdjIwMTIwNDI2LTA5MDAvTUVUQS1JTkYvRUNMSVBTRV8uU0YgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuanVuaXRfNC4xMC4wLnY0XzEwXzBfdjIwMTIwNDI2LTA5MDAvTUVUQS1JTkYvRUNMSVBTRV8uU0YKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQyNzdlOQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5qdW5pdF80LjEwLjAudjRfMTBfMF92MjAxMjA0MjYtMDkwMC9NRVRBLUlORi9FQ0xJUFNFXy5TRgpAQCAtMCwwICsxLDIwIEBACitTaWduYXR1cmUtVmVyc2lvbjogMS4wDQorU0hBMS1EaWdlc3QtTWFuaWZlc3Q6IGxIMTBuL0lQMTJRUlhvSE92OFVyc0paN2FURT0NCitDcmVhdGVkLUJ5OiAxLjYuMCAoSUJNIENvcnBvcmF0aW9uKQ0KK1NIQTEtRGlnZXN0LU1hbmlmZXN0LU1haW4tQXR0cmlidXRlczogeFlhd3gxT1JFcTVlWXFuUXZjbC93djlaVTk4PQ0KKw0KK05hbWU6IE1FVEEtSU5GL2VjbGlwc2UuaW5mDQorU0hBMS1EaWdlc3Q6IForZTRVcmhBbVRDQlIxVXBQL1JxTWY5T1gwMD0NCisNCitOYW1lOiBqdW5pdC5qYXINCitTSEExLURpZ2VzdDogZDVySkt2WXZUc1QreXRSOERHNW5yK0JFTXdBPQ0KKw0KK05hbWU6IGFib3V0Lmh0bWwNCitTSEExLURpZ2VzdDogWE1ObnAzekp1QjlQcXhueDdhQUZXMzhnOGpnPQ0KKw0KK05hbWU6IGFib3V0X2ZpbGVzL2NwbC12MTAuaHRtbA0KK1NIQTEtRGlnZXN0OiA5RG9pcXNGOXlzaTV5SUdnUkduQ1QvVjlRM1E9DQorDQorTmFtZTogcGx1Z2luLnByb3BlcnRpZXMNCitTSEExLURpZ2VzdDogejlTc0djTFdpM0JmUWsrVVUvWWFrWlVJZnJBPQ0KKw0KZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5qdW5pdF80LjEwLjAudjRfMTBfMF92MjAxMjA0MjYtMDkwMC9NRVRBLUlORi9NQU5JRkVTVC5NRiBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5qdW5pdF80LjEwLjAudjRfMTBfMF92MjAxMjA0MjYtMDkwMC9NRVRBLUlORi9NQU5JRkVTVC5NRgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjE4MGFiCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmp1bml0XzQuMTAuMC52NF8xMF8wX3YyMDEyMDQyNi0wOTAwL01FVEEtSU5GL01BTklGRVNULk1GCkBAIC0wLDAgKzEsNDkgQEAKK01hbmlmZXN0LVZlcnNpb246IDEuMA0KK0J1bmRsZS1DbGFzc1BhdGg6IGp1bml0Lmphcg0KK0J1bmRsZS1WZW5kb3I6ICVwcm92aWRlck5hbWUNCitCdW5kbGUtTG9jYWxpemF0aW9uOiBwbHVnaW4NCitCdW5kbGUtUmVxdWlyZWRFeGVjdXRpb25FbnZpcm9ubWVudDogSjJTRS0xLjUNCitCdW5kbGUtTmFtZTogJXBsdWdpbk5hbWUNCitCdW5kbGUtU3ltYm9saWNOYW1lOiBvcmcuanVuaXQNCitFY2xpcHNlLVNvdXJjZVJlZmVyZW5jZXM6IHNjbTpjdnM6cHNlcnZlcjpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvdG9vDQorIGxzOm9yZy5lY2xpcHNlLm9yYml0L29yZy5qdW5pdDt0YWc9djRfMTBfMF92MjAxMjA0MjYtMDkwMA0KK1JlcXVpcmUtQnVuZGxlOiBvcmcuaGFtY3Jlc3QuY29yZTtidW5kbGUtdmVyc2lvbj0iMS4xLjAiO3Zpc2liaWxpdHk6PXINCisgZWV4cG9ydA0KK0V4cG9ydC1QYWNrYWdlOiBqdW5pdC5leHRlbnNpb25zO3ZlcnNpb249IjQuMTAuMCIsanVuaXQuZnJhbWV3b3JrO3ZlcnMNCisgaW9uPSI0LjEwLjAiLGp1bml0LnJ1bm5lcjt2ZXJzaW9uPSI0LjEwLjAiLGp1bml0LnRleHR1aTt2ZXJzaW9uPSI0LjEwDQorIC4wIixvcmcuanVuaXQ7dmVyc2lvbj0iNC4xMC4wIixvcmcuanVuaXQuZXhwZXJpbWVudGFsO3ZlcnNpb249IjQuMTAuMA0KKyAiLG9yZy5qdW5pdC5leHBlcmltZW50YWwuY2F0ZWdvcmllczt2ZXJzaW9uPSI0LjEwLjAiLG9yZy5qdW5pdC5leHBlcmkNCisgbWVudGFsLm1heDt2ZXJzaW9uPSI0LjEwLjAiLG9yZy5qdW5pdC5leHBlcmltZW50YWwucmVzdWx0czt2ZXJzaW9uPSI0DQorIC4xMC4wIixvcmcuanVuaXQuZXhwZXJpbWVudGFsLnJ1bm5lcnM7dmVyc2lvbj0iNC4xMC4wIixvcmcuanVuaXQuZXhwZQ0KKyByaW1lbnRhbC50aGVvcmllczt2ZXJzaW9uPSI0LjEwLjAiLG9yZy5qdW5pdC5leHBlcmltZW50YWwudGhlb3JpZXMuaW4NCisgdGVybmFsO3ZlcnNpb249IjQuMTAuMCI7eC1pbnRlcm5hbDo9dHJ1ZSxvcmcuanVuaXQuZXhwZXJpbWVudGFsLnRoZW9yDQorIGllcy5zdXBwbGllcnM7dmVyc2lvbj0iNC4xMC4wIixvcmcuanVuaXQuaW50ZXJuYWw7dmVyc2lvbj0iNC4xMC4wIjt4LQ0KKyBpbnRlcm5hbDo9dHJ1ZSxvcmcuanVuaXQuaW50ZXJuYWwuYnVpbGRlcnM7dmVyc2lvbj0iNC4xMC4wIjt4LWludGVybmENCisgbDo9dHJ1ZSxvcmcuanVuaXQuaW50ZXJuYWwubWF0Y2hlcnM7dmVyc2lvbj0iNC4xMC4wIjt4LWludGVybmFsOj10cnVlDQorICxvcmcuanVuaXQuaW50ZXJuYWwucmVxdWVzdHM7dmVyc2lvbj0iNC4xMC4wIjt4LWludGVybmFsOj10cnVlLG9yZy5qdQ0KKyBuaXQuaW50ZXJuYWwucnVubmVyczt2ZXJzaW9uPSI0LjEwLjAiO3gtaW50ZXJuYWw6PXRydWUsb3JnLmp1bml0LmludGUNCisgcm5hbC5ydW5uZXJzLm1vZGVsO3ZlcnNpb249IjQuMTAuMCI7eC1pbnRlcm5hbDo9dHJ1ZSxvcmcuanVuaXQuaW50ZXJuDQorIGFsLnJ1bm5lcnMucnVsZXM7dmVyc2lvbj0iNC4xMC4wIjt4LWludGVybmFsOj10cnVlLG9yZy5qdW5pdC5pbnRlcm5hbA0KKyAucnVubmVycy5zdGF0ZW1lbnRzO3ZlcnNpb249IjQuMTAuMCI7eC1pbnRlcm5hbDo9dHJ1ZSxvcmcuanVuaXQubWF0Y2gNCisgZXJzO3ZlcnNpb249IjQuMTAuMCIsb3JnLmp1bml0LnJ1bGVzO3ZlcnNpb249IjQuMTAuMCIsb3JnLmp1bml0LnJ1bm5lDQorIHI7dmVyc2lvbj0iNC4xMC4wIixvcmcuanVuaXQucnVubmVyLm1hbmlwdWxhdGlvbjt2ZXJzaW9uPSI0LjEwLjAiLG9yZw0KKyAuanVuaXQucnVubmVyLm5vdGlmaWNhdGlvbjt2ZXJzaW9uPSI0LjEwLjAiLG9yZy5qdW5pdC5ydW5uZXJzO3ZlcnNpb24NCisgPSI0LjEwLjAiLG9yZy5qdW5pdC5ydW5uZXJzLm1vZGVsO3ZlcnNpb249IjQuMTAuMCINCitCdW5kbGUtVmVyc2lvbjogNC4xMC4wLnY0XzEwXzBfdjIwMTIwNDI2LTA5MDANCitCdW5kbGUtTWFuaWZlc3RWZXJzaW9uOiAyDQorDQorTmFtZTogTUVUQS1JTkYvZWNsaXBzZS5pbmYNCitTSEExLURpZ2VzdDogdStGOGovR0FFOHR6ckRyeTkrd1QzQ3ZnODFZPQ0KKw0KK05hbWU6IGp1bml0Lmphcg0KK1NIQTEtRGlnZXN0OiBObGtIeng1SWpwWi9IVDZTUFFFUnMyMlREdVk9DQorDQorTmFtZTogYWJvdXRfZmlsZXMvY3BsLXYxMC5odG1sDQorU0hBMS1EaWdlc3Q6IGVOWitjUkRMM29WVFcwaWp5K1g5OVc1TEd2OD0NCisNCitOYW1lOiBhYm91dC5odG1sDQorU0hBMS1EaWdlc3Q6IHRCdGZyMkFyWnVkUFJwWWlUenpiUzFKYU1JZz0NCisNCitOYW1lOiBwbHVnaW4ucHJvcGVydGllcw0KK1NIQTEtRGlnZXN0OiBydE8vTFhwbkZjVnVnWVhXOVQvdVRCUUhBOEE9DQorDQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmp1bml0XzQuMTAuMC52NF8xMF8wX3YyMDEyMDQyNi0wOTAwL01FVEEtSU5GL2VjbGlwc2UuaW5mIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmp1bml0XzQuMTAuMC52NF8xMF8wX3YyMDEyMDQyNi0wOTAwL01FVEEtSU5GL2VjbGlwc2UuaW5mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZDZmYTkKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuanVuaXRfNC4xMC4wLnY0XzEwXzBfdjIwMTIwNDI2LTA5MDAvTUVUQS1JTkYvZWNsaXBzZS5pbmYKQEAgLTAsMCArMSw0IEBACisjUHJvY2Vzc2VkIHVzaW5nIEphcnByb2Nlc3NvcgoramFycHJvY2Vzc29yLmV4Y2x1ZGUuY2hpbGRyZW4uc2lnbiA9IHRydWUKK3BhY2syMDAuYXJncyA9IC1FNAorcGFjazIwMC5jb25kaXRpb25lZCA9IHRydWUKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5qdW5pdF80LjEwLjAudjRfMTBfMF92MjAxMjA0MjYtMDkwMC9hYm91dC5odG1sIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmp1bml0XzQuMTAuMC52NF8xMF8wX3YyMDEyMDQyNi0wOTAwL2Fib3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzUxMmU2MAotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5qdW5pdF80LjEwLjAudjRfMTBfMF92MjAxMjA0MjYtMDkwMC9hYm91dC5odG1sCkBAIC0wLDAgKzEsOTAgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iDQorICAgICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4NCis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+DQorPGhlYWQ+DQorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSIvPg0KKzx0aXRsZT5BYm91dDwvdGl0bGU+DQorPC9oZWFkPg0KKzxib2R5IGxhbmc9IkVOLVVTIj4NCis8aDI+QWJvdXQgVGhpcyBDb250ZW50PC9oMj4NCisNCis8cD5BcHJpbCAyNCwgMjAxMjwvcD4NCis8aDM+TGljZW5zZTwvaDM+DQorDQorPHA+VGhlIEVjbGlwc2UgRm91bmRhdGlvbiBtYWtlcyBhdmFpbGFibGUgYWxsIGNvbnRlbnQgaW4gdGhpcyBwbHVnLWluICgmcXVvdDtDb250ZW50JnF1b3Q7KS4gIFVubGVzcyBvdGhlcndpc2UgDQoraW5kaWNhdGVkIGJlbG93LCB0aGUgQ29udGVudCBpcyBwcm92aWRlZCB0byB5b3UgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZQ0KK0VjbGlwc2UgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjAgKCZxdW90O0VQTCZxdW90OykuICBBIGNvcHkgb2YgdGhlIEVQTCBpcyBhdmFpbGFibGUgDQorYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sPC9hPi4NCitGb3IgcHVycG9zZXMgb2YgdGhlIEVQTCwgJnF1b3Q7UHJvZ3JhbSZxdW90OyB3aWxsIG1lYW4gdGhlIENvbnRlbnQuPC9wPg0KKw0KKzxwPklmIHlvdSBkaWQgbm90IHJlY2VpdmUgdGhpcyBDb250ZW50IGRpcmVjdGx5IGZyb20gdGhlIEVjbGlwc2UgRm91bmRhdGlvbiwgdGhlIENvbnRlbnQgaXMgDQorYmVpbmcgcmVkaXN0cmlidXRlZCBieSBhbm90aGVyIHBhcnR5ICgmcXVvdDtSZWRpc3RyaWJ1dG9yJnF1b3Q7KSBhbmQgZGlmZmVyZW50IHRlcm1zIGFuZCBjb25kaXRpb25zIG1heQ0KK2FwcGx5IHRvIHlvdXIgdXNlIG9mIGFueSBvYmplY3QgY29kZSBpbiB0aGUgQ29udGVudC4gIENoZWNrIHRoZSBSZWRpc3RyaWJ1dG9yJ3MgbGljZW5zZSB0aGF0IHdhcyANCitwcm92aWRlZCB3aXRoIHRoZSBDb250ZW50LiAgSWYgbm8gc3VjaCBsaWNlbnNlIGV4aXN0cywgY29udGFjdCB0aGUgUmVkaXN0cmlidXRvci4gIFVubGVzcyBvdGhlcndpc2UNCitpbmRpY2F0ZWQgYmVsb3csIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgRVBMIHN0aWxsIGFwcGx5IHRvIGFueSBzb3VyY2UgY29kZSBpbiB0aGUgQ29udGVudA0KK2FuZCBzdWNoIHNvdXJjZSBjb2RlIG1heSBiZSBvYnRhaW5lZCBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnLyI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZzwvYT4uPC9wPg0KKw0KKw0KKzxoMz5UaGlyZCBQYXJ0eSBDb250ZW50PC9oMz4NCis8cD5UaGUgQ29udGVudCBpbmNsdWRlcyBpdGVtcyB0aGF0IGhhdmUgYmVlbiBzb3VyY2VkIGZyb20gdGhpcmQgcGFydGllcyBhcyBzZXQgb3V0IGJlbG93LiBJZiB5b3UgDQorZGlkIG5vdCByZWNlaXZlIHRoaXMgQ29udGVudCBkaXJlY3RseSBmcm9tIHRoZSBFY2xpcHNlIEZvdW5kYXRpb24sIHRoZSBmb2xsb3dpbmcgaXMgcHJvdmlkZWQgDQorZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSwgYW5kIHlvdSBzaG91bGQgbG9vayB0byB0aGUgUmVkaXN0cmlidXRvcidzIGxpY2Vuc2UgZm9yIA0KK3Rlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZS48L3A+DQorPGRpdiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljIj4NCisNCis8cD5UaGUgQ29udGVudCBpbmNsdWRlcyBpdGVtcyB0aGF0IGhhdmUgYmVlbiBzb3VyY2VkIGZyb20gdGhpcmQgcGFydGllcyBhcyBmb2xsb3dzOjwvcD4NCisNCis8aDQ+SlVuaXQgNC4xMDwvaDQ+DQorDQorPHA+VGhlIHBsdWctaW4gaXMgYWNjb21wYW5pZWQgYnkgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IDxhIGhyZWY9Imh0dHA6Ly93d3cuanVuaXQub3JnLyI+SlVuaXQub3JnPC9hPi4gIFRoZSBKVW5pdCA0LjEwIGNvZGUgaW5jbHVkZWQgd2l0aCB0aGUgcGx1Zy1pbiBpbmNsdWRlcyBubyBtb2RpZmljYXRpb25zLg0KK1lvdXIgdXNlIG9mIEpVbml0IDQuMTAgaW4gYm90aCBzb3VyY2UgYW5kIGJpbmFyeSBjb2RlIGZvcm0gY29udGFpbmVkIGluIHRoZSBwbHVnLWluIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSANCitDb21tb24gUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjAgKCZxdW90O0NQTCZxdW90OykuICBBIGNvcHkgb2YgdGhlIENQTCBpcyBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9jcGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sPC9hPi4NCitUaGUgYmluYXJ5IGNvZGUgaXMgbG9jYXRlZCBpbiBqdW5pdC5qYXIgYW5kIHRoZSBzb3VyY2UgY29kZSBpcyBsb2NhdGVkIGluIHNvdXJjZS1idW5kbGUgb3IgaW4gdGhlIG9yZy5qdW5pdC5zb3VyY2UgYnVuZGxlLg0KKzxici8+VGhlIG9yaWdpbmFsIHNvdXJjZSBhbmQgYmluYXJpZXMgYXJlIGF2YWlsYWJsZSBmcm9tIDxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvanVuaXQvZmlsZXMvIj5odHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2p1bml0L2ZpbGVzLzwvYT4sIG5hbWVseToNCis8YnIvPjxhIGhyZWY9Imh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvanVuaXQvZmlsZXMvanVuaXQvNC4xMC9qdW5pdC00LjEwLXNyYy5qYXIvZG93bmxvYWQiPmh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvanVuaXQvZmlsZXMvanVuaXQvNC4xMC9qdW5pdC00LjEwLXNyYy5qYXIvZG93bmxvYWQ8L2E+DQorPGJyLz48YSBocmVmPSJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2p1bml0L2ZpbGVzL2p1bml0LzQuMTAvanVuaXQtZGVwLTQuMTAuamFyL2Rvd25sb2FkIj5odHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2p1bml0L2ZpbGVzL2p1bml0LzQuMTAvanVuaXQtZGVwLTQuMTAuamFyL2Rvd25sb2FkPC9hPg0KKzwvcD4NCisNCisNCis8aDQ+SGFtY3Jlc3QgTGlicmFyeSAxLjE8L2g0Pg0KKw0KKzxwPlRoZSBwbHVnLWluIGlzIGFjY29tcGFuaWVkIGJ5IHNvZnR3YXJlIGRldmVsb3BlZCBieSBIYW1jcmVzdCAoPGEgaHJlZj0iaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2hhbWNyZXN0LyI+aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2hhbWNyZXN0LzwvYT4pLg0KK1RoZSBoYW1jcmVzdC1saWJyYXJ5IDEuMSBjb2RlIGluY2x1ZGVkIHdpdGhpbiB0aGUgSlVuaXQgNC4xMCBKYXIgaW5jbHVkZXMgbm8gbW9kaWZpY2F0aW9ucy4NCitZb3VyIHVzZSBvZiBoYW1jcmVzdC1saWJyYXJ5IDEuMSBpbiBib3RoIHNvdXJjZSBhbmQgYmluYXJ5IGNvZGUgZm9ybSBjb250YWluZWQgaW4gdGhlIHBsdWctaW4gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIA0KK05ldyBCU0QgTGljZW5zZS4NCitUaGUgYmluYXJ5IGNvZGUgaXMgbG9jYXRlZCBpbiBqdW5pdC5qYXIvb3JnL2p1bml0L2ludGVybmFsL21hdGNoZXJzIGFuZCB0aGUgc291cmNlIGNvZGUgaXMgbG9jYXRlZCBpbiBzb3VyY2UtYnVuZGxlL29yZy9qdW5pdC9pbnRlcm5hbC9tYXRjaGVycy48L3A+DQorDQorPHA+VGhlIEhhbWNyZXN0IE5ldyBCU0QgTGljZW5zZTo8L3A+DQorPHByZT4NCitCU0QgTGljZW5zZQ0KKw0KK0NvcHlyaWdodCAoYykgMjAwMC0yMDA2LCB3d3cuaGFtY3Jlc3Qub3JnDQorQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisNCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoNCisNCitSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZg0KK2NvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlDQordGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4NCit0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCisNCitOZWl0aGVyIHRoZSBuYW1lIG9mIEhhbWNyZXN0IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlDQorb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4NCitwZXJtaXNzaW9uLg0KKw0KK1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZDQorRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTDQorT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQNCitTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULA0KK0lOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRA0KK1RPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1INCitCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTg0KK0NPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZDQorV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSA0KK0RBTUFHRS4NCis8L3ByZT4NCisNCis8L2Rpdj4NCis8L2JvZHk+DQorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5qdW5pdF80LjEwLjAudjRfMTBfMF92MjAxMjA0MjYtMDkwMC9hYm91dF9maWxlcy9jcGwtdjEwLmh0bWwgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuanVuaXRfNC4xMC4wLnY0XzEwXzBfdjIwMTIwNDI2LTA5MDAvYWJvdXRfZmlsZXMvY3BsLXYxMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MDA5OTQKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuanVuaXRfNC4xMC4wLnY0XzEwXzBfdjIwMTIwNDI2LTA5MDAvYWJvdXRfZmlsZXMvY3BsLXYxMC5odG1sCkBAIC0wLDAgKzEsMTI1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wLy9FTiI+DQorPEhUTUw+DQorPEhFQUQ+DQorPFRJVExFPkNvbW1vbiBQdWJsaWMgTGljZW5zZSAtIHYgMS4wPC9USVRMRT4NCis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4NCis8L0hFQUQ+DQorDQorPEJPRFkgQkdDT0xPUj0iI0ZGRkZGRiIgVkxJTks9IiM4MDAwMDAiPg0KKw0KKw0KKzxQIEFMSUdOPSJDRU5URVIiPjxCPkNvbW1vbiBQdWJsaWMgTGljZW5zZSAtIHYgMS4wPC9CPg0KKzxQPjxCPjwvQj48Rk9OVCBTSVpFPSIzIj48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMyI+PC9GT05UPjxGT05UIFNJWkU9IjIiPlRIRSBBQ0NPTVBBTllJTkcgUFJPR1JBTSBJUyBQUk9WSURFRCBVTkRFUiBUSEUgVEVSTVMgT0YgVEhJUyBDT01NT04gUFVCTElDIExJQ0VOU0UgKCJBR1JFRU1FTlQiKS4gIEFOWSBVU0UsIFJFUFJPRFVDVElPTiBPUiBESVNUUklCVVRJT04gT0YgVEhFIFBST0dSQU0gQ09OU1RJVFVURVMgUkVDSVBJRU5UJ1MgQUNDRVBUQU5DRSBPRiBUSElTIEFHUkVFTUVOVC48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+PC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjxCPjEuICBERUZJTklUSU9OUzwvQj48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+IkNvbnRyaWJ1dGlvbiIgbWVhbnM6PC9GT05UPg0KKw0KKzxVTD48Rk9OVCBTSVpFPSIyIj5hKSBpbiB0aGUgY2FzZSBvZiB0aGUgaW5pdGlhbCBDb250cmlidXRvciwgdGhlIGluaXRpYWwgY29kZSBhbmQgZG9jdW1lbnRhdGlvbiBkaXN0cmlidXRlZCB1bmRlciB0aGlzIEFncmVlbWVudCwgYW5kPEJSIENMRUFSPSJMRUZUIj4NCitiKSBpbiB0aGUgY2FzZSBvZiBlYWNoIHN1YnNlcXVlbnQgQ29udHJpYnV0b3I6PC9GT05UPjwvVUw+DQorDQorDQorPFVMPjxGT05UIFNJWkU9IjIiPmkpCSAJY2hhbmdlcyB0byB0aGUgUHJvZ3JhbSwgYW5kPC9GT05UPjwvVUw+DQorDQorDQorPFVMPjxGT05UIFNJWkU9IjIiPmlpKQkJYWRkaXRpb25zIHRvIHRoZSBQcm9ncmFtOzwvRk9OVD48L1VMPg0KKw0KKw0KKzxVTD48Rk9OVCBTSVpFPSIyIj53aGVyZSBzdWNoIGNoYW5nZXMgYW5kL29yIGFkZGl0aW9ucyB0byB0aGUgUHJvZ3JhbSBvcmlnaW5hdGUgZnJvbSBhbmQgYXJlIGRpc3RyaWJ1dGVkIGJ5IHRoYXQgcGFydGljdWxhciBDb250cmlidXRvci4gIDwvRk9OVD48Rk9OVCBTSVpFPSIyIj5BIENvbnRyaWJ1dGlvbiAnb3JpZ2luYXRlcycgZnJvbSBhIENvbnRyaWJ1dG9yIGlmIGl0IHdhcyBhZGRlZCB0byB0aGUgUHJvZ3JhbSBieSBzdWNoIENvbnRyaWJ1dG9yIGl0c2VsZiBvciBhbnlvbmUgYWN0aW5nIG9uIHN1Y2ggQ29udHJpYnV0b3IncyBiZWhhbGYuICA8L0ZPTlQ+PEZPTlQgU0laRT0iMiI+Q29udHJpYnV0aW9ucyBkbyBub3QgaW5jbHVkZSBhZGRpdGlvbnMgdG8gdGhlIFByb2dyYW0gd2hpY2g6ICAoaSkgYXJlIHNlcGFyYXRlIG1vZHVsZXMgb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgUHJvZ3JhbSB1bmRlciB0aGVpciBvd24gbGljZW5zZSBhZ3JlZW1lbnQsIGFuZCAoaWkpIGFyZSBub3QgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgUHJvZ3JhbS4gIDwvRk9OVD48L1VMPg0KKw0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD4NCis8UD48Rk9OVCBTSVpFPSIyIj4iQ29udHJpYnV0b3IiIG1lYW5zIGFueSBwZXJzb24gb3IgZW50aXR5IHRoYXQgZGlzdHJpYnV0ZXMgdGhlIFByb2dyYW0uPC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD48Rk9OVCBTSVpFPSIyIj48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+IkxpY2Vuc2VkIFBhdGVudHMgIiBtZWFuIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZSBieSBhIENvbnRyaWJ1dG9yIHdoaWNoIGFyZSBuZWNlc3NhcmlseSBpbmZyaW5nZWQgYnkgdGhlIHVzZSBvciBzYWxlIG9mIGl0cyBDb250cmlidXRpb24gYWxvbmUgb3Igd2hlbiBjb21iaW5lZCB3aXRoIHRoZSBQcm9ncmFtLiAgPC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD48Rk9OVCBTSVpFPSIyIj48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+PC9GT05UPjxGT05UIFNJWkU9IjIiPiJQcm9ncmFtIiBtZWFucyB0aGUgQ29udHJpYnV0aW9ucyBkaXN0cmlidXRlZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhpcyBBZ3JlZW1lbnQuPC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD4NCis8UD48Rk9OVCBTSVpFPSIyIj4iUmVjaXBpZW50IiBtZWFucyBhbnlvbmUgd2hvIHJlY2VpdmVzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgQWdyZWVtZW50LCBpbmNsdWRpbmcgYWxsIENvbnRyaWJ1dG9ycy48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+PEI+PC9CPjwvRk9OVD4NCis8UD48Rk9OVCBTSVpFPSIyIj48Qj4yLiAgR1JBTlQgT0YgUklHSFRTPC9CPjwvRk9OVD4NCisNCis8VUw+PEZPTlQgU0laRT0iMiI+PC9GT05UPjxGT05UIFNJWkU9IjIiPmEpCTwvRk9OVD48Rk9OVCBTSVpFPSIyIj5TdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGlzIEFncmVlbWVudCwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzPC9GT05UPjxGT05UIFNJWkU9IjIiPiBSZWNpcGllbnQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBjb3B5cmlnaHQgbGljZW5zZSB0bzwvRk9OVD48Rk9OVCBTSVpFPSIyIiBDT0xPUj0iI0ZGMDAwMCI+IDwvRk9OVD48Rk9OVCBTSVpFPSIyIj5yZXByb2R1Y2UsIHByZXBhcmUgZGVyaXZhdGl2ZSB3b3JrcyBvZiwgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkgcGVyZm9ybSwgZGlzdHJpYnV0ZSBhbmQgc3VibGljZW5zZSB0aGUgQ29udHJpYnV0aW9uIG9mIHN1Y2ggQ29udHJpYnV0b3IsIGlmIGFueSwgYW5kIHN1Y2ggZGVyaXZhdGl2ZSB3b3JrcywgaW4gc291cmNlIGNvZGUgYW5kIG9iamVjdCBjb2RlIGZvcm0uPC9GT05UPjwvVUw+DQorDQorDQorPFVMPjxGT05UIFNJWkU9IjIiPjwvRk9OVD48L1VMPg0KKw0KKw0KKzxVTD48Rk9OVCBTSVpFPSIyIj48L0ZPTlQ+PEZPTlQgU0laRT0iMiI+YikgCVN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoaXMgQWdyZWVtZW50LCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgPC9GT05UPjxGT05UIFNJWkU9IjIiPlJlY2lwaWVudCBhIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSw8L0ZPTlQ+PEZPTlQgU0laRT0iMiIgQ09MT1I9IiMwMDgwMDAiPiA8L0ZPTlQ+PEZPTlQgU0laRT0iMiI+cm95YWx0eS1mcmVlIHBhdGVudCBsaWNlbnNlIHVuZGVyIExpY2Vuc2VkIFBhdGVudHMgdG8gbWFrZSwgdXNlLCBzZWxsLCBvZmZlciB0byBzZWxsLCBpbXBvcnQgYW5kIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgQ29udHJpYnV0aW9uIG9mIHN1Y2ggQ29udHJpYnV0b3IsIGlmIGFueSwgaW4gc291cmNlIGNvZGUgYW5kIG9iamVjdCBjb2RlIGZvcm0uICBUaGlzIHBhdGVudCBsaWNlbnNlIHNoYWxsIGFwcGx5IHRvIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUgQ29udHJpYnV0aW9uIGFuZCB0aGUgUHJvZ3JhbSBpZiwgYXQgdGhlIHRpbWUgdGhlIENvbnRyaWJ1dGlvbiBpcyBhZGRlZCBieSB0aGUgQ29udHJpYnV0b3IsIHN1Y2ggYWRkaXRpb24gb2YgdGhlIENvbnRyaWJ1dGlvbiBjYXVzZXMgc3VjaCBjb21iaW5hdGlvbiB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBMaWNlbnNlZCBQYXRlbnRzLiAgVGhlIHBhdGVudCBsaWNlbnNlIHNoYWxsIG5vdCBhcHBseSB0byBhbnkgb3RoZXIgY29tYmluYXRpb25zIHdoaWNoIGluY2x1ZGUgdGhlIENvbnRyaWJ1dGlvbi4gIE5vIGhhcmR3YXJlIHBlciBzZSBpcyBsaWNlbnNlZCBoZXJldW5kZXIuICAgPC9GT05UPjwvVUw+DQorDQorDQorPFVMPjxGT05UIFNJWkU9IjIiPjwvRk9OVD48L1VMPg0KKw0KKw0KKzxVTD48Rk9OVCBTSVpFPSIyIj5jKQlSZWNpcGllbnQgdW5kZXJzdGFuZHMgdGhhdCBhbHRob3VnaCBlYWNoIENvbnRyaWJ1dG9yIGdyYW50cyB0aGUgbGljZW5zZXMgdG8gaXRzIENvbnRyaWJ1dGlvbnMgc2V0IGZvcnRoIGhlcmVpbiwgbm8gYXNzdXJhbmNlcyBhcmUgcHJvdmlkZWQgYnkgYW55IENvbnRyaWJ1dG9yIHRoYXQgdGhlIFByb2dyYW0gZG9lcyBub3QgaW5mcmluZ2UgdGhlIHBhdGVudCBvciBvdGhlciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIG9mIGFueSBvdGhlciBlbnRpdHkuICBFYWNoIENvbnRyaWJ1dG9yIGRpc2NsYWltcyBhbnkgbGlhYmlsaXR5IHRvIFJlY2lwaWVudCBmb3IgY2xhaW1zIGJyb3VnaHQgYnkgYW55IG90aGVyIGVudGl0eSBiYXNlZCBvbiBpbmZyaW5nZW1lbnQgb2YgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvciBvdGhlcndpc2UuICBBcyBhIGNvbmRpdGlvbiB0byBleGVyY2lzaW5nIHRoZSByaWdodHMgYW5kIGxpY2Vuc2VzIGdyYW50ZWQgaGVyZXVuZGVyLCBlYWNoIFJlY2lwaWVudCBoZXJlYnkgYXNzdW1lcyBzb2xlIHJlc3BvbnNpYmlsaXR5IHRvIHNlY3VyZSBhbnkgb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBuZWVkZWQsIGlmIGFueS4gIEZvciBleGFtcGxlLCBpZiBhIHRoaXJkIHBhcnR5IHBhdGVudCBsaWNlbnNlIGlzIHJlcXVpcmVkIHRvIGFsbG93IFJlY2lwaWVudCB0byBkaXN0cmlidXRlIHRoZSBQcm9ncmFtLCBpdCBpcyBSZWNpcGllbnQncyByZXNwb25zaWJpbGl0eSB0byBhY3F1aXJlIHRoYXQgbGljZW5zZSBiZWZvcmUgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtLjwvRk9OVD48L1VMPg0KKw0KKw0KKzxVTD48Rk9OVCBTSVpFPSIyIj48L0ZPTlQ+PC9VTD4NCisNCisNCis8VUw+PEZPTlQgU0laRT0iMiI+ZCkJRWFjaCBDb250cmlidXRvciByZXByZXNlbnRzIHRoYXQgdG8gaXRzIGtub3dsZWRnZSBpdCBoYXMgc3VmZmljaWVudCBjb3B5cmlnaHQgcmlnaHRzIGluIGl0cyBDb250cmlidXRpb24sIGlmIGFueSwgdG8gZ3JhbnQgdGhlIGNvcHlyaWdodCBsaWNlbnNlIHNldCBmb3J0aCBpbiB0aGlzIEFncmVlbWVudC4gPC9GT05UPjwvVUw+DQorDQorDQorPFVMPjxGT05UIFNJWkU9IjIiPjwvRk9OVD48L1VMPg0KKw0KKzxQPjxGT05UIFNJWkU9IjIiPjxCPjMuICBSRVFVSVJFTUVOVFM8L0I+PC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjxCPjwvQj5BIENvbnRyaWJ1dG9yIG1heSBjaG9vc2UgdG8gZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpbiBvYmplY3QgY29kZSBmb3JtIHVuZGVyIGl0cyBvd24gbGljZW5zZSBhZ3JlZW1lbnQsIHByb3ZpZGVkIHRoYXQ6PC9GT05UPg0KKw0KKzxVTD48Rk9OVCBTSVpFPSIyIj5hKQlpdCBjb21wbGllcyB3aXRoIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGlzIEFncmVlbWVudDsgYW5kPC9GT05UPjwvVUw+DQorDQorDQorPFVMPjxGT05UIFNJWkU9IjIiPmIpCWl0cyBsaWNlbnNlIGFncmVlbWVudDo8L0ZPTlQ+PC9VTD4NCisNCisNCis8VUw+PEZPTlQgU0laRT0iMiI+aSkJZWZmZWN0aXZlbHkgZGlzY2xhaW1zPC9GT05UPjxGT05UIFNJWkU9IjIiPiBvbiBiZWhhbGYgb2YgYWxsIENvbnRyaWJ1dG9ycyBhbGwgd2FycmFudGllcyBhbmQgY29uZGl0aW9ucywgZXhwcmVzcyBhbmQgaW1wbGllZCwgaW5jbHVkaW5nIHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZiB0aXRsZSBhbmQgbm9uLWluZnJpbmdlbWVudCwgYW5kIGltcGxpZWQgd2FycmFudGllcyBvciBjb25kaXRpb25zIG9mIG1lcmNoYW50YWJpbGl0eSBhbmQgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2U7IDwvRk9OVD48L1VMPg0KKw0KKw0KKzxVTD48Rk9OVCBTSVpFPSIyIj5paSkgCWVmZmVjdGl2ZWx5IGV4Y2x1ZGVzIG9uIGJlaGFsZiBvZiBhbGwgQ29udHJpYnV0b3JzIGFsbCBsaWFiaWxpdHkgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyBkaXJlY3QsIGluZGlyZWN0LCBzcGVjaWFsLCBpbmNpZGVudGFsIGFuZCBjb25zZXF1ZW50aWFsIGRhbWFnZXMsIHN1Y2ggYXMgbG9zdCBwcm9maXRzOyA8L0ZPTlQ+PC9VTD4NCisNCisNCis8VUw+PEZPTlQgU0laRT0iMiI+aWlpKTwvRk9OVD48Rk9OVCBTSVpFPSIyIj4Jc3RhdGVzIHRoYXQgYW55IHByb3Zpc2lvbnMgd2hpY2ggZGlmZmVyIGZyb20gdGhpcyBBZ3JlZW1lbnQgYXJlIG9mZmVyZWQgYnkgdGhhdCBDb250cmlidXRvciBhbG9uZSBhbmQgbm90IGJ5IGFueSBvdGhlciBwYXJ0eTsgYW5kPC9GT05UPjwvVUw+DQorDQorDQorPFVMPjxGT05UIFNJWkU9IjIiPml2KQlzdGF0ZXMgdGhhdCBzb3VyY2UgY29kZSBmb3IgdGhlIFByb2dyYW0gaXMgYXZhaWxhYmxlIGZyb20gc3VjaCBDb250cmlidXRvciwgYW5kIGluZm9ybXMgbGljZW5zZWVzIGhvdyB0byBvYnRhaW4gaXQgaW4gYSByZWFzb25hYmxlIG1hbm5lciBvbiBvciB0aHJvdWdoIGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGV4Y2hhbmdlLjwvRk9OVD48Rk9OVCBTSVpFPSIyIiBDT0xPUj0iIzAwMDBGRiI+IDwvRk9OVD48Rk9OVCBTSVpFPSIyIiBDT0xPUj0iI0ZGMDAwMCI+PC9GT05UPjwvVUw+DQorDQorDQorPFVMPjxGT05UIFNJWkU9IjIiIENPTE9SPSIjRkYwMDAwIj48L0ZPTlQ+PEZPTlQgU0laRT0iMiI+PC9GT05UPjwvVUw+DQorDQorPFA+PEZPTlQgU0laRT0iMiI+V2hlbiB0aGUgUHJvZ3JhbSBpcyBtYWRlIGF2YWlsYWJsZSBpbiBzb3VyY2UgY29kZSBmb3JtOjwvRk9OVD4NCisNCis8VUw+PEZPTlQgU0laRT0iMiI+YSkJaXQgbXVzdCBiZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGlzIEFncmVlbWVudDsgYW5kIDwvRk9OVD48L1VMPg0KKw0KKw0KKzxVTD48Rk9OVCBTSVpFPSIyIj5iKQlhIGNvcHkgb2YgdGhpcyBBZ3JlZW1lbnQgbXVzdCBiZSBpbmNsdWRlZCB3aXRoIGVhY2ggY29weSBvZiB0aGUgUHJvZ3JhbS4gIDwvRk9OVD48L1VMPg0KKw0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD48Rk9OVCBTSVpFPSIyIiBDT0xPUj0iIzAwMDBGRiI+PFNUUklLRT48L1NUUklLRT48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiIgQ09MT1I9IiMwMDAwRkYiPjxTVFJJS0U+PC9TVFJJS0U+PC9GT05UPjxGT05UIFNJWkU9IjIiPkNvbnRyaWJ1dG9ycyBtYXkgbm90IHJlbW92ZSBvciBhbHRlciBhbnkgY29weXJpZ2h0IG5vdGljZXMgY29udGFpbmVkIHdpdGhpbiB0aGUgUHJvZ3JhbS4gIDwvRk9OVD4NCis8UD48Rk9OVCBTSVpFPSIyIj48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+RWFjaCBDb250cmlidXRvciBtdXN0IGlkZW50aWZ5IGl0c2VsZiBhcyB0aGUgb3JpZ2luYXRvciBvZiBpdHMgQ29udHJpYnV0aW9uLCBpZiBhbnksIGluIGEgbWFubmVyIHRoYXQgcmVhc29uYWJseSBhbGxvd3Mgc3Vic2VxdWVudCBSZWNpcGllbnRzIHRvIGlkZW50aWZ5IHRoZSBvcmlnaW5hdG9yIG9mIHRoZSBDb250cmlidXRpb24uICA8L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+PC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjxCPjQuICBDT01NRVJDSUFMIERJU1RSSUJVVElPTjwvQj48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+Q29tbWVyY2lhbCBkaXN0cmlidXRvcnMgb2Ygc29mdHdhcmUgbWF5IGFjY2VwdCBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgd2l0aCByZXNwZWN0IHRvIGVuZCB1c2VycywgYnVzaW5lc3MgcGFydG5lcnMgYW5kIHRoZSBsaWtlLiAgV2hpbGUgdGhpcyBsaWNlbnNlIGlzIGludGVuZGVkIHRvIGZhY2lsaXRhdGUgdGhlIGNvbW1lcmNpYWwgdXNlIG9mIHRoZSBQcm9ncmFtLCB0aGUgQ29udHJpYnV0b3Igd2hvIGluY2x1ZGVzIHRoZSBQcm9ncmFtIGluIGEgY29tbWVyY2lhbCBwcm9kdWN0IG9mZmVyaW5nIHNob3VsZCBkbyBzbyBpbiBhIG1hbm5lciB3aGljaCBkb2VzIG5vdCBjcmVhdGUgcG90ZW50aWFsIGxpYWJpbGl0eSBmb3Igb3RoZXIgQ29udHJpYnV0b3JzLiAgIFRoZXJlZm9yZSwgaWYgYSBDb250cmlidXRvciBpbmNsdWRlcyB0aGUgUHJvZ3JhbSBpbiBhIGNvbW1lcmNpYWwgcHJvZHVjdCBvZmZlcmluZywgc3VjaCBDb250cmlidXRvciAoIkNvbW1lcmNpYWwgQ29udHJpYnV0b3IiKSBoZXJlYnkgYWdyZWVzIHRvIGRlZmVuZCBhbmQgaW5kZW1uaWZ5IGV2ZXJ5IG90aGVyIENvbnRyaWJ1dG9yICgiSW5kZW1uaWZpZWQgQ29udHJpYnV0b3IiKSBhZ2FpbnN0IGFueSBsb3NzZXMsIGRhbWFnZXMgYW5kIGNvc3RzIChjb2xsZWN0aXZlbHkgIkxvc3NlcyIpIGFyaXNpbmcgZnJvbSBjbGFpbXMsIGxhd3N1aXRzIGFuZCBvdGhlciBsZWdhbCBhY3Rpb25zIGJyb3VnaHQgYnkgYSB0aGlyZCBwYXJ0eSBhZ2FpbnN0IHRoZSBJbmRlbW5pZmllZCBDb250cmlidXRvciB0byB0aGUgZXh0ZW50IGNhdXNlZCBieSB0aGUgYWN0cyBvciBvbWlzc2lvbnMgb2Ygc3VjaCBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIGluIGNvbm5lY3Rpb24gd2l0aCBpdHMgZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtIGluIGEgY29tbWVyY2lhbCBwcm9kdWN0IG9mZmVyaW5nLiAgVGhlIG9ibGlnYXRpb25zIGluIHRoaXMgc2VjdGlvbiBkbyBub3QgYXBwbHkgdG8gYW55IGNsYWltcyBvciBMb3NzZXMgcmVsYXRpbmcgdG8gYW55IGFjdHVhbCBvciBhbGxlZ2VkIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBpbmZyaW5nZW1lbnQuICBJbiBvcmRlciB0byBxdWFsaWZ5LCBhbiBJbmRlbW5pZmllZCBDb250cmlidXRvciBtdXN0OiBhKSBwcm9tcHRseSBub3RpZnkgdGhlIENvbW1lcmNpYWwgQ29udHJpYnV0b3IgaW4gd3JpdGluZyBvZiBzdWNoIGNsYWltLCBhbmQgYikgYWxsb3cgdGhlIENvbW1lcmNpYWwgQ29udHJpYnV0b3IgdG8gY29udHJvbCwgYW5kIGNvb3BlcmF0ZSB3aXRoIHRoZSBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIGluLCB0aGUgZGVmZW5zZSBhbmQgYW55IHJlbGF0ZWQgc2V0dGxlbWVudCBuZWdvdGlhdGlvbnMuICBUaGUgSW5kZW1uaWZpZWQgQ29udHJpYnV0b3IgbWF5IHBhcnRpY2lwYXRlIGluIGFueSBzdWNoIGNsYWltIGF0IGl0cyBvd24gZXhwZW5zZS48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+PC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPkZvciBleGFtcGxlLCBhIENvbnRyaWJ1dG9yIG1pZ2h0IGluY2x1ZGUgdGhlIFByb2dyYW0gaW4gYSBjb21tZXJjaWFsIHByb2R1Y3Qgb2ZmZXJpbmcsIFByb2R1Y3QgWC4gIFRoYXQgQ29udHJpYnV0b3IgaXMgdGhlbiBhIENvbW1lcmNpYWwgQ29udHJpYnV0b3IuICBJZiB0aGF0IENvbW1lcmNpYWwgQ29udHJpYnV0b3IgdGhlbiBtYWtlcyBwZXJmb3JtYW5jZSBjbGFpbXMsIG9yIG9mZmVycyB3YXJyYW50aWVzIHJlbGF0ZWQgdG8gUHJvZHVjdCBYLCB0aG9zZSBwZXJmb3JtYW5jZSBjbGFpbXMgYW5kIHdhcnJhbnRpZXMgYXJlIHN1Y2ggQ29tbWVyY2lhbCBDb250cmlidXRvcidzIHJlc3BvbnNpYmlsaXR5IGFsb25lLiAgVW5kZXIgdGhpcyBzZWN0aW9uLCB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciB3b3VsZCBoYXZlIHRvIGRlZmVuZCBjbGFpbXMgYWdhaW5zdCB0aGUgb3RoZXIgQ29udHJpYnV0b3JzIHJlbGF0ZWQgdG8gdGhvc2UgcGVyZm9ybWFuY2UgY2xhaW1zIGFuZCB3YXJyYW50aWVzLCBhbmQgaWYgYSBjb3VydCByZXF1aXJlcyBhbnkgb3RoZXIgQ29udHJpYnV0b3IgdG8gcGF5IGFueSBkYW1hZ2VzIGFzIGEgcmVzdWx0LCB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciBtdXN0IHBheSB0aG9zZSBkYW1hZ2VzLjwvRk9OVD4NCis8UD48Rk9OVCBTSVpFPSIyIj48L0ZPTlQ+PEZPTlQgU0laRT0iMiIgQ09MT1I9IiMwMDAwRkYiPjwvRk9OVD4NCis8UD48Rk9OVCBTSVpFPSIyIiBDT0xPUj0iIzAwMDBGRiI+PC9GT05UPjxGT05UIFNJWkU9IjIiPjxCPjUuICBOTyBXQVJSQU5UWTwvQj48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+RVhDRVBUIEFTIEVYUFJFU1NMWSBTRVQgRk9SVEggSU4gVEhJUyBBR1JFRU1FTlQsIFRIRSBQUk9HUkFNIElTIFBST1ZJREVEIE9OIEFOICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVEIElOQ0xVRElORywgV0lUSE9VVCBMSU1JVEFUSU9OLCBBTlkgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIEVhY2ggUmVjaXBpZW50IGlzPC9GT05UPjxGT05UIFNJWkU9IjIiPiBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZSBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgYW5kIGRpc3RyaWJ1dGluZyA8L0ZPTlQ+PEZPTlQgU0laRT0iMiI+dGhlIFByb2dyYW08L0ZPTlQ+PEZPTlQgU0laRT0iMiI+IGFuZCBhc3N1bWVzIGFsbCByaXNrcyBhc3NvY2lhdGVkIHdpdGggaXRzIGV4ZXJjaXNlIG9mIHJpZ2h0cyB1bmRlciB0aGlzIEFncmVlbWVudDwvRk9OVD48Rk9OVCBTSVpFPSIyIj4sIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gdGhlIHJpc2tzIGFuZCBjb3N0cyBvZiBwcm9ncmFtIGVycm9ycywgY29tcGxpYW5jZSB3aXRoIGFwcGxpY2FibGUgbGF3cywgZGFtYWdlIHRvIG9yIGxvc3Mgb2YgZGF0YSwgPC9GT05UPjxGT05UIFNJWkU9IjIiPnByb2dyYW1zIG9yIGVxdWlwbWVudCwgYW5kIHVuYXZhaWxhYmlsaXR5IG9yIGludGVycnVwdGlvbiBvZiBvcGVyYXRpb25zPC9GT05UPjxGT05UIFNJWkU9IjIiPi4gIDwvRk9OVD48Rk9OVCBTSVpFPSIyIj48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+PC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD48Rk9OVCBTSVpFPSIyIj48Qj42LiAgRElTQ0xBSU1FUiBPRiBMSUFCSUxJVFk8L0I+PC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD48Rk9OVCBTSVpFPSIyIj5FWENFUFQgQVMgRVhQUkVTU0xZIFNFVCBGT1JUSCBJTiBUSElTIEFHUkVFTUVOVCwgTkVJVEhFUiBSRUNJUElFTlQgTk9SIEFOWSBDT05UUklCVVRPUlMgU0hBTEwgSEFWRSBBTlkgTElBQklMSVRZIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgPC9GT05UPjxGT05UIFNJWkU9IjIiPihJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIExPU1QgUFJPRklUUyksPC9GT05UPjxGT05UIFNJWkU9IjIiPiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9SIERJU1RSSUJVVElPTiBPRiBUSEUgUFJPR1JBTSBPUiBUSEUgRVhFUkNJU0UgT0YgQU5ZIFJJR0hUUyBHUkFOVEVEIEhFUkVVTkRFUiwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuPC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD48Rk9OVCBTSVpFPSIyIj48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+PEI+Ny4gIEdFTkVSQUw8L0I+PC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD48Rk9OVCBTSVpFPSIyIj5JZiBhbnkgcHJvdmlzaW9uIG9mIHRoaXMgQWdyZWVtZW50IGlzIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSB1bmRlciBhcHBsaWNhYmxlIGxhdywgaXQgc2hhbGwgbm90IGFmZmVjdCB0aGUgdmFsaWRpdHkgb3IgZW5mb3JjZWFiaWxpdHkgb2YgdGhlIHJlbWFpbmRlciBvZiB0aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGFuZCB3aXRob3V0IGZ1cnRoZXIgYWN0aW9uIGJ5IHRoZSBwYXJ0aWVzIGhlcmV0bywgc3VjaCBwcm92aXNpb24gc2hhbGwgYmUgcmVmb3JtZWQgdG8gdGhlIG1pbmltdW0gZXh0ZW50IG5lY2Vzc2FyeSB0byBtYWtlIHN1Y2ggcHJvdmlzaW9uIHZhbGlkIGFuZCBlbmZvcmNlYWJsZS48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+PC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPklmIFJlY2lwaWVudCBpbnN0aXR1dGVzIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYSBDb250cmlidXRvciB3aXRoIHJlc3BlY3QgdG8gYSBwYXRlbnQgYXBwbGljYWJsZSB0byBzb2Z0d2FyZSAoaW5jbHVkaW5nIGEgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCksIHRoZW4gYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIGJ5IHRoYXQgQ29udHJpYnV0b3IgdG8gc3VjaCBSZWNpcGllbnQgdW5kZXIgdGhpcyBBZ3JlZW1lbnQgc2hhbGwgdGVybWluYXRlIGFzIG9mIHRoZSBkYXRlIHN1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4gIEluIGFkZGl0aW9uLCBpZiBSZWNpcGllbnQgaW5zdGl0dXRlcyBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFByb2dyYW0gaXRzZWxmIChleGNsdWRpbmcgY29tYmluYXRpb25zIG9mIHRoZSBQcm9ncmFtIHdpdGggb3RoZXIgc29mdHdhcmUgb3IgaGFyZHdhcmUpIGluZnJpbmdlcyBzdWNoIFJlY2lwaWVudCdzIHBhdGVudChzKSwgdGhlbiBzdWNoIFJlY2lwaWVudCdzIHJpZ2h0cyBncmFudGVkIHVuZGVyIFNlY3Rpb24gMihiKSBzaGFsbCB0ZXJtaW5hdGUgYXMgb2YgdGhlIGRhdGUgc3VjaCBsaXRpZ2F0aW9uIGlzIGZpbGVkLiA8L0ZPTlQ+PEZPTlQgU0laRT0iMiI+PC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD4NCis8UD48Rk9OVCBTSVpFPSIyIj5BbGwgUmVjaXBpZW50J3MgcmlnaHRzIHVuZGVyIHRoaXMgQWdyZWVtZW50IHNoYWxsIHRlcm1pbmF0ZSBpZiBpdCBmYWlscyB0byBjb21wbHkgd2l0aCBhbnkgb2YgdGhlIG1hdGVyaWFsIHRlcm1zIG9yIGNvbmRpdGlvbnMgb2YgdGhpcyBBZ3JlZW1lbnQgYW5kIGRvZXMgbm90IGN1cmUgc3VjaCBmYWlsdXJlIGluIGEgcmVhc29uYWJsZSBwZXJpb2Qgb2YgdGltZSBhZnRlciBiZWNvbWluZyBhd2FyZSBvZiBzdWNoIG5vbmNvbXBsaWFuY2UuICBJZiBhbGwgUmVjaXBpZW50J3MgcmlnaHRzIHVuZGVyIHRoaXMgQWdyZWVtZW50IHRlcm1pbmF0ZSwgUmVjaXBpZW50IGFncmVlcyB0byBjZWFzZSB1c2UgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBhcyBzb29uIGFzIHJlYXNvbmFibHkgcHJhY3RpY2FibGUuICBIb3dldmVyLCBSZWNpcGllbnQncyBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzIEFncmVlbWVudCBhbmQgYW55IGxpY2Vuc2VzIGdyYW50ZWQgYnkgUmVjaXBpZW50IHJlbGF0aW5nIHRvIHRoZSBQcm9ncmFtIHNoYWxsIGNvbnRpbnVlIGFuZCBzdXJ2aXZlLiAgPC9GT05UPjxGT05UIFNJWkU9IjIiPjwvRk9OVD4NCis8UD48Rk9OVCBTSVpFPSIyIj48L0ZPTlQ+DQorPFA+PEZPTlQgU0laRT0iMiI+PC9GT05UPjxGT05UIFNJWkU9IjIiPkV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGlzIEFncmVlbWVudCwgYnV0IGluIG9yZGVyIHRvIGF2b2lkIGluY29uc2lzdGVuY3kgdGhlIEFncmVlbWVudCBpcyBjb3B5cmlnaHRlZCAgYW5kIG1heSBvbmx5IGJlIG1vZGlmaWVkIGluIHRoZSBmb2xsb3dpbmcgbWFubmVyLiBUaGUgQWdyZWVtZW50IFN0ZXdhcmQgcmVzZXJ2ZXMgdGhlIHJpZ2h0IHRvIDwvRk9OVD48Rk9OVCBTSVpFPSIyIj5wdWJsaXNoIG5ldyB2ZXJzaW9ucyAoaW5jbHVkaW5nIHJldmlzaW9ucykgb2YgdGhpcyBBZ3JlZW1lbnQgZnJvbSB0aW1lIHRvIDwvRk9OVD48Rk9OVCBTSVpFPSIyIj50aW1lLiBObyBvbmUgb3RoZXIgdGhhbiB0aGUgQWdyZWVtZW50IFN0ZXdhcmQgaGFzIHRoZSByaWdodCB0byBtb2RpZnkgdGhpcyBBZ3JlZW1lbnQuIElCTSBpcyB0aGUgaW5pdGlhbCBBZ3JlZW1lbnQgU3Rld2FyZC4gICBJQk0gbWF5IGFzc2lnbiB0aGUgcmVzcG9uc2liaWxpdHkgdG8gc2VydmUgYXMgdGhlIEFncmVlbWVudCBTdGV3YXJkIHRvIGEgc3VpdGFibGUgc2VwYXJhdGUgZW50aXR5LiAgPC9GT05UPjxGT05UIFNJWkU9IjIiPkVhY2ggbmV3IHZlcnNpb24gb2YgdGhlIEFncmVlbWVudCB3aWxsIGJlIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBUaGUgUHJvZ3JhbSAoaW5jbHVkaW5nIENvbnRyaWJ1dGlvbnMpIG1heSBhbHdheXMgYmUgZGlzdHJpYnV0ZWQgc3ViamVjdCB0byB0aGUgdmVyc2lvbiBvZiB0aGUgQWdyZWVtZW50IHVuZGVyIHdoaWNoIGl0IHdhcyByZWNlaXZlZC4gSW4gYWRkaXRpb24sIGFmdGVyIGEgbmV3IHZlcnNpb24gb2YgdGhlIEFncmVlbWVudCBpcyBwdWJsaXNoZWQsIENvbnRyaWJ1dG9yIG1heSBlbGVjdCB0byBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChpbmNsdWRpbmcgaXRzIENvbnRyaWJ1dGlvbnMpIHVuZGVyIHRoZSBuZXcgPC9GT05UPjxGT05UIFNJWkU9IjIiPnZlcnNpb24uICA8L0ZPTlQ+PEZPTlQgU0laRT0iMiI+RXhjZXB0IGFzIGV4cHJlc3NseSBzdGF0ZWQgaW4gU2VjdGlvbnMgMihhKSBhbmQgMihiKSBhYm92ZSwgUmVjaXBpZW50IHJlY2VpdmVzIG5vIHJpZ2h0cyBvciBsaWNlbnNlcyB0byB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IG9mIGFueSBDb250cmlidXRvciB1bmRlciB0aGlzIEFncmVlbWVudCwgd2hldGhlciBleHByZXNzbHksIDwvRk9OVD48Rk9OVCBTSVpFPSIyIj5ieSBpbXBsaWNhdGlvbiwgZXN0b3BwZWwgb3Igb3RoZXJ3aXNlPC9GT05UPjxGT05UIFNJWkU9IjIiPi48L0ZPTlQ+PEZPTlQgU0laRT0iMiI+ICBBbGwgcmlnaHRzIGluIHRoZSBQcm9ncmFtIG5vdCBleHByZXNzbHkgZ3JhbnRlZCB1bmRlciB0aGlzIEFncmVlbWVudCBhcmUgcmVzZXJ2ZWQuPC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD4NCis8UD48Rk9OVCBTSVpFPSIyIj5UaGlzIEFncmVlbWVudCBpcyBnb3Zlcm5lZCBieSB0aGUgbGF3cyBvZiB0aGUgU3RhdGUgb2YgTmV3IFlvcmsgYW5kIHRoZSBpbnRlbGxlY3R1YWwgcHJvcGVydHkgbGF3cyBvZiB0aGUgVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhLiBObyBwYXJ0eSB0byB0aGlzIEFncmVlbWVudCB3aWxsIGJyaW5nIGEgbGVnYWwgYWN0aW9uIHVuZGVyIHRoaXMgQWdyZWVtZW50IG1vcmUgdGhhbiBvbmUgeWVhciBhZnRlciB0aGUgY2F1c2Ugb2YgYWN0aW9uIGFyb3NlLiAgRWFjaCBwYXJ0eSB3YWl2ZXMgaXRzIHJpZ2h0cyB0byBhIGp1cnkgdHJpYWwgaW4gYW55IHJlc3VsdGluZyBsaXRpZ2F0aW9uLjwvRk9OVD4NCis8UD48Rk9OVCBTSVpFPSIyIj48L0ZPTlQ+PEZPTlQgU0laRT0iMiI+PC9GT05UPg0KKzxQPjxGT05UIFNJWkU9IjIiPjwvRk9OVD4NCisNCis8L0JPRFk+DQorDQorPC9IVE1MPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5qdW5pdF80LjEwLjAudjRfMTBfMF92MjAxMjA0MjYtMDkwMC9qdW5pdC5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuanVuaXRfNC4xMC4wLnY0XzEwXzBfdjIwMTIwNDI2LTA5MDAvanVuaXQuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MjYyOWIKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuanVuaXRfNC4xMC4wLnY0XzEwXzBfdjIwMTIwNDI2LTA5MDAvanVuaXQuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5qdW5pdF80LjEwLjAudjRfMTBfMF92MjAxMjA0MjYtMDkwMC9wbHVnaW4ucHJvcGVydGllcyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5qdW5pdF80LjEwLjAudjRfMTBfMF92MjAxMjA0MjYtMDkwMC9wbHVnaW4ucHJvcGVydGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGQ2MWZmCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLmp1bml0XzQuMTAuMC52NF8xMF8wX3YyMDEyMDQyNi0wOTAwL3BsdWdpbi5wcm9wZXJ0aWVzCkBAIC0wLDAgKzEsMTIgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisjIENvcHlyaWdodCAoYykgMjAxMiBJQk0gQ29ycG9yYXRpb24gYW5kIG90aGVycy4NCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCisjIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KKyMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorIw0KKyMgQ29udHJpYnV0b3JzOg0KKyMgICAgIElCTSBDb3Jwb3JhdGlvbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbg0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCitwbHVnaW5OYW1lPUpVbml0IFRlc3RpbmcgRnJhbWV3b3JrDQorcHJvdmlkZXJOYW1lPUVjbGlwc2UgT3JiaXQNCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcub2JqZWN0d2ViLmFzbS5zb3VyY2VfMy4zLjEudjIwMTEwNTIxMTY1NS5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcub2JqZWN0d2ViLmFzbS5zb3VyY2VfMy4zLjEudjIwMTEwNTIxMTY1NS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODBlN2JjNgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5vYmplY3R3ZWIuYXNtLnNvdXJjZV8zLjMuMS52MjAxMTA1MjExNjU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcub2JqZWN0d2ViLmFzbV8zLjMuMS52MjAxMTA1MjExNjU1LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5vYmplY3R3ZWIuYXNtXzMuMy4xLnYyMDExMDUyMTE2NTUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NWRmM2EKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcub2JqZWN0d2ViLmFzbV8zLjMuMS52MjAxMTA1MjExNjU1LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuc2F0NGouY29yZV8yLjMuMC52MjAxMTAzMjkuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLnNhdDRqLmNvcmVfMi4zLjAudjIwMTEwMzI5LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTk1NzJhCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLnNhdDRqLmNvcmVfMi4zLjAudjIwMTEwMzI5LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuc2F0NGoucGJfMi4zLjAudjIwMTEwMzI5LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy5zYXQ0ai5wYl8yLjMuMC52MjAxMTAzMjkuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmN2JiMzYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcuc2F0NGoucGJfMi4zLjAudjIwMTEwMzI5LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmNzcy5zYWMuc291cmNlXzEuMy4xLnYyMDA5MDMwOTE2MjcuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLnczYy5jc3Muc2FjLnNvdXJjZV8xLjMuMS52MjAwOTAzMDkxNjI3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDI0ZTQzCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLnczYy5jc3Muc2FjLnNvdXJjZV8xLjMuMS52MjAwOTAzMDkxNjI3LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmNzcy5zYWNfMS4zLjEudjIwMDkwMzA5MTYyNy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmNzcy5zYWNfMS4zLjEudjIwMDkwMzA5MTYyNy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjE0NGMzYQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy53M2MuY3NzLnNhY18xLjMuMS52MjAwOTAzMDkxNjI3LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmRvbS5ldmVudHMuc291cmNlXzMuMC4wLmRyYWZ0MjAwNjA0MTNfdjIwMTEwNTIxMDY1Ni5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmRvbS5ldmVudHMuc291cmNlXzMuMC4wLmRyYWZ0MjAwNjA0MTNfdjIwMTEwNTIxMDY1Ni5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMxMDM0MgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy53M2MuZG9tLmV2ZW50cy5zb3VyY2VfMy4wLjAuZHJhZnQyMDA2MDQxM192MjAxMTA1MjEwNjU2LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmRvbS5ldmVudHNfMy4wLjAuZHJhZnQyMDA2MDQxM192MjAxMTA1MjEwNjU2LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy53M2MuZG9tLmV2ZW50c18zLjAuMC5kcmFmdDIwMDYwNDEzX3YyMDExMDUyMTA2NTYuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjZjkzYWUKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmRvbS5ldmVudHNfMy4wLjAuZHJhZnQyMDA2MDQxM192MjAxMTA1MjEwNjU2LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmRvbS5zbWlsLnNvdXJjZV8xLjAuMS52MjAwOTAzMDkxNjI3LmphciBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy53M2MuZG9tLnNtaWwuc291cmNlXzEuMC4xLnYyMDA5MDMwOTE2MjcuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2NTI4NmYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmRvbS5zbWlsLnNvdXJjZV8xLjAuMS52MjAwOTAzMDkxNjI3LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmRvbS5zbWlsXzEuMC4xLnYyMDA5MDMwOTE2MjcuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLnczYy5kb20uc21pbF8xLjAuMS52MjAwOTAzMDkxNjI3LmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTg0Nzk3Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLnczYy5kb20uc21pbF8xLjAuMS52MjAwOTAzMDkxNjI3LmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmRvbS5zdmcuc291cmNlXzEuMS4wLnYyMDEwMTEwNDE0MzMuamFyIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLnczYy5kb20uc3ZnLnNvdXJjZV8xLjEuMC52MjAxMDExMDQxNDMzLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTZkMWE5Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvZXhwb3J0L3BsdWdpbnMvb3JnLnczYy5kb20uc3ZnLnNvdXJjZV8xLjEuMC52MjAxMDExMDQxNDMzLmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmRvbS5zdmdfMS4xLjAudjIwMTAxMTA0MTQzMy5qYXIgYi9OYXRUYWJsZS9leHBvcnQvcGx1Z2lucy9vcmcudzNjLmRvbS5zdmdfMS4xLjAudjIwMTAxMTA0MTQzMy5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTljZmFjMQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL2V4cG9ydC9wbHVnaW5zL29yZy53M2MuZG9tLnN2Z18xLjEuMC52MjAxMDExMDQxNDMzLmphcgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9OYXRUYWJsZS9uYXR0YWJsZS50YXJnZXQgYi9OYXRUYWJsZS9uYXR0YWJsZS50YXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmUyYzFhNwotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL25hdHRhYmxlLnRhcmdldApAQCAtMCwwICsxLDEwIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4KKzw/cGRlIHZlcnNpb249IjMuOCI/Pjx0YXJnZXQgbmFtZT0ibmF0dGFibGUiIHNlcXVlbmNlTnVtYmVyPSIwIj4KKzxsb2NhdGlvbnM+Cis8bG9jYXRpb24gaW5jbHVkZUFsbFBsYXRmb3Jtcz0iZmFsc2UiIGluY2x1ZGVDb25maWd1cmVQaGFzZT0idHJ1ZSIgaW5jbHVkZU1vZGU9InBsYW5uZXIiIGluY2x1ZGVTb3VyY2U9InRydWUiIHR5cGU9Ikluc3RhbGxhYmxlVW5pdCI+Cis8dW5pdCBpZD0ib3JnLmVjbGlwc2UueHRlbmQuc2RrLmZlYXR1cmUuZ3JvdXAiIHZlcnNpb249IjIuNC4xLnYyMDEzMDQxODA4NTUiLz4KKzxyZXBvc2l0b3J5IGxvY2F0aW9uPSJodHRwOi8vZG93bmxvYWQuaXRlbWlzLmNvbS91cGRhdGVzL3JlbGVhc2VzIi8+Cis8cmVwb3NpdG9yeSBsb2NhdGlvbj0iaHR0cDovL2Rvd25sb2FkLmVjbGlwc2Uub3JnL3JlbGVhc2VzL2p1bm8iLz4KKzwvbG9jYXRpb24+Cis8L2xvY2F0aW9ucz4KKzwvdGFyZ2V0PgpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvc3JjL29yZy9lY2xpcHNlL25lYnVsYS93aWRnZXRzL25hdHRhYmxlL2NvcmUvQWJzdHJhY3RMYXllci54dGVuZCBiL05hdFRhYmxlL3NyYy9vcmcvZWNsaXBzZS9uZWJ1bGEvd2lkZ2V0cy9uYXR0YWJsZS9jb3JlL0Fic3RyYWN0TGF5ZXIueHRlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdjYWNmMQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL3NyYy9vcmcvZWNsaXBzZS9uZWJ1bGEvd2lkZ2V0cy9uYXR0YWJsZS9jb3JlL0Fic3RyYWN0TGF5ZXIueHRlbmQKQEAgLTAsMCArMSwyMyBAQAorcGFja2FnZSBvcmcuZWNsaXBzZS5uZWJ1bGEud2lkZ2V0cy5uYXR0YWJsZS5jb3JlCisKK2Fic3RyYWN0IGNsYXNzIEFic3RyYWN0TGF5ZXIgaW1wbGVtZW50cyBMYXllciB7CisKKwl2YWwgQXhpcyBob3Jpem9udGFsQXhpcworCXZhbCBBeGlzIHZlcnRpY2FsQXhpcworCisJbmV3KGludCBjb2x1bW5Db3VudCwgaW50IHJvd0NvdW50LCBpbnQgZGVmYXVsdENvbHVtbldpZHRoLCBpbnQgZGVmYXVsdFJvd0hlaWdodCkgeworCQlob3Jpem9udGFsQXhpcyA9IG5ldyBEZWZhdWx0QXhpcyhjb2x1bW5Db3VudCwgZGVmYXVsdENvbHVtbldpZHRoKQorCQl2ZXJ0aWNhbEF4aXMgPSBuZXcgRGVmYXVsdEF4aXMocm93Q291bnQsIGRlZmF1bHRSb3dIZWlnaHQpCisJfQorCQorCS8vIFBpeGVsIGRpbWVuc2lvbnMKKwkKKwlvdmVycmlkZSBnZXRIb3Jpem9udGFsQXhpcygpIHsKKwkJaG9yaXpvbnRhbEF4aXMKKwl9CisJCisJb3ZlcnJpZGUgZ2V0VmVydGljYWxBeGlzKCkgeworCQl2ZXJ0aWNhbEF4aXMKKwl9CisJCit9CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9zcmMvb3JnL2VjbGlwc2UvbmVidWxhL3dpZGdldHMvbmF0dGFibGUvY29yZS9BeGlzLnh0ZW5kIGIvTmF0VGFibGUvc3JjL29yZy9lY2xpcHNlL25lYnVsYS93aWRnZXRzL25hdHRhYmxlL2NvcmUvQXhpcy54dGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTMxOGFhCi0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvc3JjL29yZy9lY2xpcHNlL25lYnVsYS93aWRnZXRzL25hdHRhYmxlL2NvcmUvQXhpcy54dGVuZApAQCAtMCwwICsxLDI0IEBACitwYWNrYWdlIG9yZy5lY2xpcHNlLm5lYnVsYS53aWRnZXRzLm5hdHRhYmxlLmNvcmUKKworaW1wb3J0IGphdmEuaW8uU2VyaWFsaXphYmxlCisKK2ludGVyZmFjZSBBeGlzIHsKKwkKKwkvKioKKwkgKiBAcGFyYW0gYXhpc1Bvc2l0aW9uCisJICogQHJldHVybiBUaGUgc3RhcnQgcGl4ZWwgbG9jYXRpb24gb2YgdGhlIGdpdmVuIHNlZ21lbnQgcG9zaXRpb24uCisJICovCisJZGVmIGludCBnZXRTdGFydFBpeGVsT2ZTZWdtZW50UG9zaXRpb24oaW50IHNlZ21lbnRQb3NpdGlvbikKKwkKKwkvKioKKwkgKiBAcmV0dXJuIFRoZSBudW1iZXIgb2Ygc2VnbWVudHMgb24gdGhpcyBheGlzLgorCSAqLworCWRlZiBpbnQgZ2V0U2VnbWVudENvdW50KCkKKwkKKwkvKioKKwkgKiBAcGFyYW0gc2VnbWVudFBvc2l0aW9uCisJICogQHJldHVybiBUaGUgaWRlbnRpZmllciBjb3JyZXNwb25kaW5nIHRvIHRoZSBnaXZlbiBzZWdtZW50IHBvc2l0aW9uLgorCSAqLworCWRlZiBTZXJpYWxpemFibGUgZ2V0SWRPZlNlZ21lbnRQb3NpdGlvbihpbnQgc2VnbWVudFBvc2l0aW9uKQorCQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL05hdFRhYmxlL3NyYy9vcmcvZWNsaXBzZS9uZWJ1bGEvd2lkZ2V0cy9uYXR0YWJsZS9jb3JlL0F4aXNJbnZhcmlhbnRzLnh0ZW5kIGIvTmF0VGFibGUvc3JjL29yZy9lY2xpcHNlL25lYnVsYS93aWRnZXRzL25hdHRhYmxlL2NvcmUvQXhpc0ludmFyaWFudHMueHRlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA3MDg0MQotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL3NyYy9vcmcvZWNsaXBzZS9uZWJ1bGEvd2lkZ2V0cy9uYXR0YWJsZS9jb3JlL0F4aXNJbnZhcmlhbnRzLnh0ZW5kCkBAIC0wLDAgKzEsMTMgQEAKK3BhY2thZ2Ugb3JnLmVjbGlwc2UubmVidWxhLndpZGdldHMubmF0dGFibGUuY29yZQorCitjbGFzcyBBeGlzSW52YXJpYW50cyB7CisJCisJZGVmIHN0YXRpYyBnZXRQaXhlbFNpemVPZlNlZ21lbnQoQXhpcyBheGlzLCBpbnQgc2VnbWVudFBvc2l0aW9uKSB7CisJCWF4aXMuZ2V0U3RhcnRQaXhlbE9mU2VnbWVudFBvc2l0aW9uKHNlZ21lbnRQb3NpdGlvbiArIDEpIC0gYXhpcy5nZXRTdGFydFBpeGVsT2ZTZWdtZW50UG9zaXRpb24oc2VnbWVudFBvc2l0aW9uKQorCX0KKwkKKwlkZWYgc3RhdGljIGdldFBpeGVsU2l6ZShBeGlzIGF4aXMpIHsKKwkJYXhpcy5nZXRTdGFydFBpeGVsT2ZTZWdtZW50UG9zaXRpb24oYXhpcy5zZWdtZW50Q291bnQpIC0gYXhpcy5nZXRTdGFydFBpeGVsT2ZTZWdtZW50UG9zaXRpb24oMCkKKwl9CisJCit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvc3JjL29yZy9lY2xpcHNlL25lYnVsYS93aWRnZXRzL25hdHRhYmxlL2NvcmUvRGVmYXVsdEF4aXMueHRlbmQgYi9OYXRUYWJsZS9zcmMvb3JnL2VjbGlwc2UvbmVidWxhL3dpZGdldHMvbmF0dGFibGUvY29yZS9EZWZhdWx0QXhpcy54dGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2Q0ZWU0Ci0tLSAvZGV2L251bGwKKysrIGIvTmF0VGFibGUvc3JjL29yZy9lY2xpcHNlL25lYnVsYS93aWRnZXRzL25hdHRhYmxlL2NvcmUvRGVmYXVsdEF4aXMueHRlbmQKQEAgLTAsMCArMSwyNSBAQAorcGFja2FnZSBvcmcuZWNsaXBzZS5uZWJ1bGEud2lkZ2V0cy5uYXR0YWJsZS5jb3JlCisKK2NsYXNzIERlZmF1bHRBeGlzIGltcGxlbWVudHMgQXhpcyB7CisJCisJaW50IHNlZ21lbnRDb3VudAorCWludCBkZWZhdWx0U2VnbWVudFNpemUKKwkKKwluZXcoaW50IHNlZ21lbnRDb3VudCwgaW50IGRlZmF1bHRTZWdtZW50U2l6ZSkgeworCQl0aGlzLnNlZ21lbnRDb3VudCA9IHNlZ21lbnRDb3VudAorCQl0aGlzLmRlZmF1bHRTZWdtZW50U2l6ZSA9IGRlZmF1bHRTZWdtZW50U2l6ZQorCX0KKworCW92ZXJyaWRlIGdldFN0YXJ0UGl4ZWxPZlNlZ21lbnRQb3NpdGlvbihpbnQgc2VnbWVudFBvc2l0aW9uKSB7CisJCXNlZ21lbnRQb3NpdGlvbiAqIGRlZmF1bHRTZWdtZW50U2l6ZQorCX0KKwkKKwlvdmVycmlkZSBnZXRTZWdtZW50Q291bnQoKSB7CisJCXNlZ21lbnRDb3VudAorCX0KKwkKKwlvdmVycmlkZSBnZXRJZE9mU2VnbWVudFBvc2l0aW9uKGludCBzZWdtZW50UG9zaXRpb24pIHsKKwkJc2VnbWVudFBvc2l0aW9uCisJfQorCQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL05hdFRhYmxlL3NyYy9vcmcvZWNsaXBzZS9uZWJ1bGEvd2lkZ2V0cy9uYXR0YWJsZS9jb3JlL0xheWVyLnh0ZW5kIGIvTmF0VGFibGUvc3JjL29yZy9lY2xpcHNlL25lYnVsYS93aWRnZXRzL25hdHRhYmxlL2NvcmUvTGF5ZXIueHRlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDllODhjNgotLS0gL2Rldi9udWxsCisrKyBiL05hdFRhYmxlL3NyYy9vcmcvZWNsaXBzZS9uZWJ1bGEvd2lkZ2V0cy9uYXR0YWJsZS9jb3JlL0xheWVyLnh0ZW5kCkBAIC0wLDAgKzEsMTMgQEAKK3BhY2thZ2Ugb3JnLmVjbGlwc2UubmVidWxhLndpZGdldHMubmF0dGFibGUuY29yZQorCitpbnRlcmZhY2UgTGF5ZXIgeworCQorCWRlZiBBeGlzIGdldEhvcml6b250YWxBeGlzKCkKKwlkZWYgQXhpcyBnZXRWZXJ0aWNhbEF4aXMoKQorCQorCS8vIERhdGEgdmFsdWVzCisJCisJZGVmIE9iamVjdCBnZXREYXRhVmFsdWUoaW50IGNvbHVtblBvc2l0aW9uLCBpbnQgcm93UG9zaXRpb24pCisJZGVmIHZvaWQgc2V0RGF0YVZhbHVlKGludCBjb2x1bW5Qb3NpdGlvbiwgaW50IHJvd1Bvc2l0aW9uLCBPYmplY3QgbmV3VmFsdWUpCisJCit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvc3JjL29yZy9lY2xpcHNlL25lYnVsYS93aWRnZXRzL25hdHRhYmxlL2NvcmUvTGF5ZXJJbnZhcmlhbnRzLnh0ZW5kIGIvTmF0VGFibGUvc3JjL29yZy9lY2xpcHNlL25lYnVsYS93aWRnZXRzL25hdHRhYmxlL2NvcmUvTGF5ZXJJbnZhcmlhbnRzLnh0ZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNWMwNmYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9zcmMvb3JnL2VjbGlwc2UvbmVidWxhL3dpZGdldHMvbmF0dGFibGUvY29yZS9MYXllckludmFyaWFudHMueHRlbmQKQEAgLTAsMCArMSw0OSBAQAorcGFja2FnZSBvcmcuZWNsaXBzZS5uZWJ1bGEud2lkZ2V0cy5uYXR0YWJsZS5jb3JlCisKK2ltcG9ydCBzdGF0aWMgZXh0ZW5zaW9uIG9yZy5lY2xpcHNlLm5lYnVsYS53aWRnZXRzLm5hdHRhYmxlLmNvcmUuQXhpc0ludmFyaWFudHMuKgorCisvKioKKyAqIFV0aWxpdHkgY2xhc3MgdG8gZWZmaWNpZW50bHkgY2FsY3VsYXRlIGludmFyaWFudHMgdGhhdCBtdXN0IGhvbGQgZm9yIGFueSBnaXZlbiBsYXllci4KKyAqLworY2xhc3MgTGF5ZXJJbnZhcmlhbnRzIHsKKwkKKwkvLyBIb3Jpem9udGFsIGF4aXMKKwkKKwlkZWYgc3RhdGljIGdldFN0YXJ0WFBpeGVsT2ZDb2x1bW5Qb3NpdGlvbihMYXllciBsYXllciwgaW50IGNvbHVtblBvc2l0aW9uKSB7CisJCWxheWVyLmhvcml6b250YWxBeGlzLmdldFN0YXJ0UGl4ZWxPZlNlZ21lbnRQb3NpdGlvbihjb2x1bW5Qb3NpdGlvbikKKwl9CisJCisJZGVmIHN0YXRpYyBnZXRQaXhlbFdpZHRoT2ZDb2x1bW4oTGF5ZXIgbGF5ZXIsIGludCBjb2x1bW5Qb3NpdGlvbikgeworCQlsYXllci5ob3Jpem9udGFsQXhpcy5nZXRQaXhlbFNpemVPZlNlZ21lbnQoY29sdW1uUG9zaXRpb24pCisJfQorCQorCWRlZiBzdGF0aWMgZ2V0UGl4ZWxXaWR0aChMYXllciBsYXllcikgeworCQlsYXllci5ob3Jpem9udGFsQXhpcy5waXhlbFNpemUKKwl9CisJCisJLy8gVmVydGljYWwgYXhpcworCQorCWRlZiBzdGF0aWMgZ2V0U3RhcnRZUGl4ZWxPZlJvd1Bvc2l0aW9uKExheWVyIGxheWVyLCBpbnQgcm93UG9zaXRpb24pIHsKKwkJbGF5ZXIudmVydGljYWxBeGlzLmdldFN0YXJ0UGl4ZWxPZlNlZ21lbnRQb3NpdGlvbihyb3dQb3NpdGlvbikKKwl9CisJCisJZGVmIHN0YXRpYyBnZXRQaXhlbEhlaWdodE9mUm93KExheWVyIGxheWVyLCBpbnQgcm93UG9zaXRpb24pIHsKKwkJbGF5ZXIudmVydGljYWxBeGlzLmdldFBpeGVsU2l6ZU9mU2VnbWVudChyb3dQb3NpdGlvbikKKwl9CisJCisJZGVmIHN0YXRpYyBnZXRQaXhlbEhlaWdodChMYXllciBsYXllcikgeworCQlsYXllci52ZXJ0aWNhbEF4aXMucGl4ZWxTaXplCisJfQorCQorCS8vIExheWVyCisJCisJZGVmIHN0YXRpYyBnZXRDZWxsUGl4ZWxCb3VuZHMoTGF5ZXIgbGF5ZXIsIGludCBjb2x1bW5Qb3NpdGlvbiwgaW50IHJvd1Bvc2l0aW9uKSB7CisJCXJldHVybiBuZXcgUGl4ZWxSZWN0YW5nbGUoCisJCQlsYXllci5nZXRTdGFydFhQaXhlbE9mQ29sdW1uUG9zaXRpb24oY29sdW1uUG9zaXRpb24pLAorCQkJbGF5ZXIuZ2V0U3RhcnRZUGl4ZWxPZlJvd1Bvc2l0aW9uKHJvd1Bvc2l0aW9uKSwKKwkJCWxheWVyLmdldFBpeGVsV2lkdGhPZkNvbHVtbihjb2x1bW5Qb3NpdGlvbiksCisJCQlsYXllci5nZXRQaXhlbEhlaWdodE9mUm93KHJvd1Bvc2l0aW9uKQorCQkpCisJfQorCQorfQpkaWZmIC0tZ2l0IGEvTmF0VGFibGUvc3JjL29yZy9lY2xpcHNlL25lYnVsYS93aWRnZXRzL25hdHRhYmxlL2NvcmUvUmVjdGFuZ2xlLnh0ZW5kIGIvTmF0VGFibGUvc3JjL29yZy9lY2xpcHNlL25lYnVsYS93aWRnZXRzL25hdHRhYmxlL2NvcmUvUmVjdGFuZ2xlLnh0ZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjODUzMzMKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9zcmMvb3JnL2VjbGlwc2UvbmVidWxhL3dpZGdldHMvbmF0dGFibGUvY29yZS9SZWN0YW5nbGUueHRlbmQKQEAgLTAsMCArMSwxNyBAQAorcGFja2FnZSBvcmcuZWNsaXBzZS5uZWJ1bGEud2lkZ2V0cy5uYXR0YWJsZS5jb3JlCisKK0BEYXRhCitjbGFzcyBQaXhlbFJlY3RhbmdsZSB7CisJaW50IHhQaXhlbAorCWludCB5UGl4ZWwKKwlpbnQgcGl4ZWxXaWR0aAorCWludCBwaXhlbEhlaWdodAorfQorCitARGF0YQorY2xhc3MgUG9zaXRpb25SZWN0YW5nbGUgeworCWludCBjb2x1bW5Qb3NpdGlvbgorCWludCByb3dQb3NpdGlvbgorCWludCBwb3NpdGlvbldpZHRoCisJaW50IHBvc2l0aW9uSGVpZ2h0Cit9CmRpZmYgLS1naXQgYS9OYXRUYWJsZS9zcmMvb3JnL2VjbGlwc2UvbmVidWxhL3dpZGdldHMvbmF0dGFibGUvY29yZS9wYWNrYWdlaW5mbyBiL05hdFRhYmxlL3NyYy9vcmcvZWNsaXBzZS9uZWJ1bGEvd2lkZ2V0cy9uYXR0YWJsZS9jb3JlL3BhY2thZ2VpbmZvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0ZjE1NDYKLS0tIC9kZXYvbnVsbAorKysgYi9OYXRUYWJsZS9zcmMvb3JnL2VjbGlwc2UvbmVidWxhL3dpZGdldHMvbmF0dGFibGUvY29yZS9wYWNrYWdlaW5mbwpAQCAtMCwwICsxIEBACit2ZXJzaW9uIDEuMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2NuZi8uY2xhc3NwYXRoIGIvY25mLy5jbGFzc3BhdGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI1MDExNgotLS0gL2Rldi9udWxsCisrKyBiL2NuZi8uY2xhc3NwYXRoCkBAIC0wLDAgKzEsNiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxjbGFzc3BhdGg+CisJPGNsYXNzcGF0aGVudHJ5IGtpbmQ9InNyYyIgcGF0aD0ic3JjIi8+CisJPGNsYXNzcGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0ib3JnLmVjbGlwc2UuamR0LmxhdW5jaGluZy5KUkVfQ09OVEFJTkVSIi8+CisJPGNsYXNzcGF0aGVudHJ5IGtpbmQ9Im91dHB1dCIgcGF0aD0iYmluIi8+Cis8L2NsYXNzcGF0aD4KZGlmZiAtLWdpdCBhL2NuZi8ucHJvamVjdCBiL2NuZi8ucHJvamVjdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjcxNjQyCi0tLSAvZGV2L251bGwKKysrIGIvY25mLy5wcm9qZWN0CkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8cHJvamVjdERlc2NyaXB0aW9uPgorCTxuYW1lPmNuZjwvbmFtZT4KKwk8Y29tbWVudD48L2NvbW1lbnQ+CisJPHByb2plY3RzPgorCTwvcHJvamVjdHM+CisJPGJ1aWxkU3BlYz4KKwkJPGJ1aWxkQ29tbWFuZD4KKwkJCTxuYW1lPm9yZy5lY2xpcHNlLmpkdC5jb3JlLmphdmFidWlsZGVyPC9uYW1lPgorCQkJPGFyZ3VtZW50cz4KKwkJCTwvYXJndW1lbnRzPgorCQk8L2J1aWxkQ29tbWFuZD4KKwk8L2J1aWxkU3BlYz4KKwk8bmF0dXJlcz4KKwkJPG5hdHVyZT5vcmcuZWNsaXBzZS5qZHQuY29yZS5qYXZhbmF0dXJlPC9uYXR1cmU+CisJPC9uYXR1cmVzPgorPC9wcm9qZWN0RGVzY3JpcHRpb24+CmRpZmYgLS1naXQgYS9jbmYvYnVpbGQtdGVtcGxhdGUueG1sIGIvY25mL2J1aWxkLXRlbXBsYXRlLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDhmMmNmCi0tLSAvZGV2L251bGwKKysrIGIvY25mL2J1aWxkLXRlbXBsYXRlLnhtbApAQCAtMCwwICsxLDE4NiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxwcm9qZWN0IG5hbWU9InRlbXBsYXRlIiBkZWZhdWx0PSJub25lIj4KKworCTwhLS0KKwkgICAgIFdBUk5JTkchISEKKwkgICAgIAorCSAgICAgVGhpcyBmaWxlIGlzIG1haW50YWluZWQgYXV0b21hdGljYWxseSBieSBCbmR0b29scyEgWW91IHNob3VsZCBub3QgZWRpdCBpdCBkaXJlY3RseS4KKwkgICAgIEluc3RlYWQsIGluc2VydCBvdmVycmlkZXMgaW50byBidWlsZC54bWwgYXMgZm9sbG93czoKKwkgICAgIAorCSAgICAgPHRhcmdldCBuYW1lPSJjb21waWxlIj4KKwkgICAgICAgIDxlY2hvIG1lc3NhZ2U9IlRoaXMgdGFzayBleGVjdXRlZCBiZWZvcmUgY29tcGlsYXRpb24uLi4iLz4KKwkgICAgICAgIDxhbnRjYWxsIHRhcmdldD0idGVtcGxhdGUuY29tcGlsZSIvPgorCSAgICAgICAgPGVjaG8gbWVzc2FnZT0iVGhpcyB0YXNrIGV4ZWN1dGVkIEFGVEVSIGNvbXBpbGF0aW9uLiIvPgorCSAgICAgPC90YXJnZXQ+CisJLS0+CisKKwk8IS0tIAorCSAgICAgSU5JVAorCSAgICAgVGhlIHRhcmdldCBpcyBhIGRlcGVuZGVudCBvZiBhbGwgb3RoZXIgdGFyZ2V0cy4KKwkgICAgIEl0J3MgcHVycG9zZSBpcyB0byBzZXQgdXAgdGhlIGVudmlyb25tZW50IG9ubHkgb25jZQorCSAgICAgYW5kIGF2b2lkIGl0IGJlaW5nIHJlcGVhdGVkbHkgZG9uZSBmb3IgZWFjaCBhbnRjYWxsLgorCS0tPgorCisJPHRhcmdldCBuYW1lPSJpbml0IiB1bmxlc3M9ImluaXRpYWxpemVkIj4KKwkJPCEtLSBJbml0aWFsaXNlIHNvbWUgYmFzaWMgcHJvcGVydGllcyAtLT4KKwkJPHRzdGFtcD4KKwkJCTxmb3JtYXQgcHJvcGVydHk9Ik5PVyIgcGF0dGVybj0ieXl5eU1NZGQtSEhtbXNzIiB0aW1lem9uZT0iVVRDIi8+CisJCTwvdHN0YW1wPgorCQk8ZGlybmFtZSBwcm9wZXJ0eT0icHJvamVjdGRpciIgZmlsZT0iJHthbnQuZmlsZX0iIC8+CisJCTxkaXJuYW1lIHByb3BlcnR5PSJ3b3Jrc3BhY2VkaXIiIGZpbGU9IiR7cHJvamVjdGRpcn0iIC8+CisKKwkJPCEtLSBEZWZpbmUgdGhlIGxvY2F0aW9uIG9mIGJuZCAtLT4KKwkJPHBhdGggaWQ9ImJuZC1jbGFzc3BhdGgiIGxvY2F0aW9uPSIke3dvcmtzcGFjZWRpcn0vY25mL3BsdWdpbnMvYml6LmFRdXRlLmJuZC9iaXouYVF1dGUuYm5kLTIuMC4wLmphciIgLz4KKworCQk8IS0tIExvYWQgYm5kIGFuZCBwcmVwYXJlIHRoZSB3b3Jrc3BhY2UgLS0+CisJCTx0YXNrZGVmIHJlc291cmNlPSJhUXV0ZS9ibmQvYW50L3Rhc2tkZWYucHJvcGVydGllcyIgY2xhc3NwYXRocmVmPSJibmQtY2xhc3NwYXRoIiAvPgorCQk8Ym5kcHJlcGFyZSBiYXNlZGlyPSIke3Byb2plY3RkaXJ9IiBwcmludD0iZmFsc2UiIHRvcD0iJHtyZWxlYXNlLmRpcn0iIC8+CisKKwkJPGNvbmRpdGlvbiBwcm9wZXJ0eT0idGVzdERpckV4aXN0cyI+CisJCQk8YXZhaWxhYmxlIGZpbGU9IiR7YmFzZWRpcn0vdGVzdCIgdHlwZT0iZGlyIi8+CisJCTwvY29uZGl0aW9uPgorCisJCTwhLS0gQ3JlYXRlIGEgbWFya2VyIHByb3BlcnR5IHRvIGluZGljYXRlIHRoYXQgaW5pdGlhbGlzYXRpb24gaGFzIGJlZW4gY29tcGxldGVkIC0tPgorCQk8cHJvcGVydHkgbmFtZT0iaW5pdGlhbGl6ZWQiIHZhbHVlPSJzZXQiIC8+CisJCTxlY2hvIG1lc3NhZ2U9IkVudGVyIHByb2plY3QgJHtwcm9qZWN0Lm5hbWV9Ii8+CisJPC90YXJnZXQ+CisKKwk8IS0tIAorCQlERVBFTkRFTkNJRVMKKwkJQnVpbGQgcHJvamVjdCBkZXBlbmRlbmNpZXMuCisJLS0+CisJPHRhcmdldCBuYW1lPSJkZXBlbmRlbmNpZXMiIGRlcGVuZHM9ImluaXQiIGlmPSJwcm9qZWN0LmRlcGVuZHNvbiIgdW5sZXNzPSJkb25vdHJlY3Vyc2UiPgorCQk8c3ViYW50IHRhcmdldD0iYnVpbGQiIGluaGVyaXRBbGw9ImZhbHNlIiBidWlsZHBhdGg9IiR7cHJvamVjdC5kZXBlbmRzb259Ij4KKwkJCTxwcm9wZXJ0eSBuYW1lPSJkb25vdHJlY3Vyc2UiIHZhbHVlPSJ0cnVlIiAvPgorCQk8L3N1YmFudD4KKwk8L3RhcmdldD4KKworCTwhLS0KKwkgICAgIFRlc3QKKwktLT4KKwk8dGFyZ2V0IG5hbWU9InRlc3QiIGRlcGVuZHM9ImNvbXBpbGUiPgorCQk8Ym5kdGVzdC8+CisJPC90YXJnZXQ+CisKKwk8IS0tCisJICAgICBDT01QSUxFCisJICAgICBDb21waWxlIHRoZSBzb3VyY2VzLiAKKwktLT4KKwk8dGFyZ2V0IG5hbWU9ImNvbXBpbGUiIGRlcGVuZHM9ImRlcGVuZGVuY2llcyIgaWY9InByb2plY3Quc291cmNlcGF0aCI+CisJCTxta2RpciBkaXI9IiR7cHJvamVjdC5vdXRwdXR9Ii8+CisJCTxqYXZhYyBmb3JrPSJ5ZXMiIGV4ZWN1dGFibGU9IiR7amF2YWN9IiBzcmNkaXI9IiR7cHJvamVjdC5zb3VyY2VwYXRofSIgZGVzdGRpcj0iJHtwcm9qZWN0Lm91dHB1dH0iIGNsYXNzcGF0aD0iJHtwcm9qZWN0LmJ1aWxkcGF0aH0iIGJvb3RjbGFzc3BhdGg9IiR7cHJvamVjdC5ib290Y2xhc3NwYXRofSIgZGVwcmVjYXRpb249InRydWUiIGxpc3RmaWxlcz0idHJ1ZSIgdGFyZ2V0PSIke2phdmFjLnRhcmdldH0iIHNvdXJjZT0iJHtqYXZhYy5zb3VyY2V9IiBkZWJ1Zz0iJHtqYXZhYy5kZWJ1Z30iIGluY2x1ZGVBbnRSdW50aW1lPSJubyIgdmVyYm9zZT0iJHt2ZXJib3NlfSIgLz4KKwkJPGNvcHkgdG9kaXI9IiR7cHJvamVjdC5vdXRwdXR9IiB2ZXJib3NlPSIke3ZlcmJvc2V9IiBwcmVzZXJ2ZWxhc3Rtb2RpZmllZD0idHJ1ZSI+CisJCQk8ZmlsZXNldCBkaXI9IiR7cHJvamVjdC5zb3VyY2VwYXRofSI+CisJCQkJPGV4Y2x1ZGUgbmFtZT0iKiovKi5qYXZhIiAvPgorCQkJCTxleGNsdWRlIG5hbWU9IioqLyouY2xhc3MiIC8+CisJCQk8L2ZpbGVzZXQ+CisJCTwvY29weT4KKwk8L3RhcmdldD4KKworCTwhLS0gCisJCUpBUlMKKwkJSXRlcmF0ZSBvZiB0aGUgamFycyB0byBidWlsZC4KKwktLT4KKwk8dGFyZ2V0IG5hbWU9ImJ1aWxkIiBkZXBlbmRzPSJjb21waWxlIj4KKwkJPG1rZGlyIGRpcj0iJHt0YXJnZXR9Ii8+CisJCTxibmQgY29tbWFuZD0iYnVpbGQiIGV4Y2VwdGlvbnM9InRydWUiIGJhc2VkaXI9IiR7cHJvamVjdH0iIC8+CisJPC90YXJnZXQ+CisKKwk8dGFyZ2V0IG5hbWU9InJlbGVhc2UiIGRlcGVuZHM9ImJ1aWxkIj4KKwkJPHN1YmFudCB0YXJnZXQ9InJlbGVhc2UiIGluaGVyaXRBbGw9ImZhbHNlIiBidWlsZHBhdGg9IiR7cHJvamVjdC5kZXBlbmRzb259Ij4KKwkJCTxwcm9wZXJ0eSBuYW1lPSJkb25vdHJlY3Vyc2UiIHZhbHVlPSJ0cnVlIiAvPgorCQk8L3N1YmFudD4KKwkJPGJuZHJlbGVhc2UvPgorCTwvdGFyZ2V0PgorCisJPCEtLSAKKwkJSlVOSVQKKwktLT4KKwk8dGFyZ2V0IG5hbWU9ImNvbXBpbGVUZXN0cyIgZGVwZW5kcz0iaW5pdCxidWlsZCIgaWY9InRlc3REaXJFeGlzdHMiPgorCQk8bWtkaXIgZGlyPSJiaW5fdGVzdCIvPgorCQk8amF2YWMgZm9yaz0ieWVzIiBleGVjdXRhYmxlPSIke2phdmFjfSIgc3JjZGlyPSJ0ZXN0IiBkZXN0ZGlyPSJiaW5fdGVzdCIgY2xhc3NwYXRoPSIke3Byb2plY3QuYnVpbGRwYXRofToke3Byb2plY3QudGVzdHBhdGh9IiBib290Y2xhc3NwYXRoPSIke3Byb2plY3QuYm9vdGNsYXNzcGF0aH0iIGRlcHJlY2F0aW9uPSJ0cnVlIiBsaXN0ZmlsZXM9InRydWUiIHRhcmdldD0iJHtqYXZhYy50YXJnZXR9IiBzb3VyY2U9IiR7amF2YWMuc291cmNlfSIgZGVidWc9IiR7amF2YWMuZGVidWd9IiBpbmNsdWRlQW50UnVudGltZT0ibm8iIHZlcmJvc2U9IiR7dmVyYm9zZX0iIC8+CisJCTwhLS0KKwkJICBUaGUgZWNsaXBzZSBjb21waWxlciBjb3BpZXMgcmVzb3VyY2VzIGJ1dCB0aGUgSmF2YWMgY29tcGlsZXIgZG9lcyBub3QKKwkJICBJZiAke3NyY30gPT0gJHtiaW59IHRoZW4gdGhpcyBpcyBub3QgbmVjZXNzYXJ5LCBidXQgdW5mb3J0dW5hdGVseSwgbm93CisJCSAgaXQgaXMuCisJCS0tPgorCQk8Y29weSB0b2Rpcj0iYmluX3Rlc3QiIHZlcmJvc2U9IiR7dmVyYm9zZX0iIHByZXNlcnZlbGFzdG1vZGlmaWVkPSJ0cnVlIj4KKwkJCTxmaWxlc2V0IGRpcj0idGVzdCI+CisJCQkJPGV4Y2x1ZGUgbmFtZT0iKiovKi5qYXZhIiAvPgorCQkJCTxleGNsdWRlIG5hbWU9IioqLyouY2xhc3MiIC8+CisJCQk8L2ZpbGVzZXQ+CisJCTwvY29weT4KKwk8L3RhcmdldD4KKworCTx0YXJnZXQgbmFtZT0ianVuaXQiIGRlcGVuZHM9ImluaXQsY29tcGlsZVRlc3RzIiBpZj0idGVzdERpckV4aXN0cyI+CisJCTxqdW5pdCBzaG93b3V0cHV0PSJmYWxzZSIgcHJpbnRzdW1tYXJ5PSJ0cnVlIiBmYWlsdXJlcHJvcGVydHk9J3N0b3AnIGVycm9ycHJvcGVydHk9J3N0b3AnIGZvcms9InRydWUiIGRpcj0iJHtiYXNlZGlyfSI+CisJCQk8Y2xhc3NwYXRoIHBhdGg9IiR7cHJvamVjdC5idWlsZHBhdGh9OmJpbl90ZXN0LyIgLz4KKwkJCTxmb3JtYXR0ZXIgdHlwZT0ieG1sIi8+CisJCQk8YmF0Y2h0ZXN0IHRvZGlyPSIke3RhcmdldH0iPgorCQkJCTxmaWxlc2V0IGRpcj0idGVzdCI+CisJCQkJCTxpbmNsdWRlIG5hbWU9IioqLyouamF2YSIvPgorCQkJCTwvZmlsZXNldD4KKwkJCTwvYmF0Y2h0ZXN0PgorCQk8L2p1bml0PgorCTwvdGFyZ2V0PgorCisJPCEtLQorCSAgICAgQ0xFQU4KKwktLT4KKwk8dGFyZ2V0IG5hbWU9ImRlZXBjbGVhbiIgZGVwZW5kcz0iaW5pdCxjbGVhbiIgaWY9InByb2plY3QuZGVwZW5kc29uIj4KKwkJPHN1YmFudCB0YXJnZXQ9ImNsZWFuIiBpbmhlcml0QWxsPSJmYWxzZSIgYnVpbGRwYXRoPSIke3Byb2plY3QuZGVwZW5kc29ufSIgLz4KKwk8L3RhcmdldD4KKworCTx0YXJnZXQgbmFtZT0iY2xlYW4iIGRlcGVuZHM9ImluaXQiPgorCQk8Ym5kIGNvbW1hbmQ9ImNsZWFuIiBleGNlcHRpb25zPSJ0cnVlIiBiYXNlZGlyPSIke3Byb2plY3R9IiAvPgorCQk8ZGVsZXRlIGRpcj0iYmluIi8+CisJCTxkZWxldGUgZGlyPSJiaW5fdGVzdCIvPgorCQk8ZGVsZXRlIGRpcj0iJHt0YXJnZXR9Ii8+CisJPC90YXJnZXQ+CisKKwk8IS0tCisJICAgICBFQ0hPCisJLS0+CisJPHRhcmdldCBuYW1lPSJlY2hvIiBkZXBlbmRzPSJpbml0Ij4KKwkJPGVjaG8+dmVyYm9zZTogICAgICAgICAgICAgICAgJHt2ZXJib3NlfTwvZWNobz4KKwkJPGVjaG8+cHJvamVjdC5uYW1lOiAgICAgICAgICAgJHtwcm9qZWN0Lm5hbWV9PC9lY2hvPgorCQk8ZWNobz5CdW5kbGUtVmVyc2lvbjogICAgICAgICAke0J1bmRsZS1WZXJzaW9ufTwvZWNobz4KKwkJPGVjaG8+cHJvamVjdC5vdXRwdXQ6ICAgICAgICAgJHtwcm9qZWN0Lm91dHB1dH08L2VjaG8+CisJCTxlY2hvPnByb2plY3Quc291cmNlcGF0aDogICAgICR7cHJvamVjdC5zb3VyY2VwYXRofTwvZWNobz4KKwkJPGVjaG8+cHJvamVjdC5hbGxzb3VyY2VwYXRoOiAgJHtwcm9qZWN0LmFsbHNvdXJjZXBhdGh9PC9lY2hvPgorCQk8ZWNobz5wcm9qZWN0LmJ1aWxkcGF0aDogICAgICAke3Byb2plY3QuYnVpbGRwYXRofTwvZWNobz4KKwkJPGVjaG8+cHJvamVjdC50ZXN0cGF0aDogICAgICAgJHtwcm9qZWN0LnRlc3RwYXRofTwvZWNobz4KKwkJPGVjaG8+cHJvamVjdC5kZXBlbmRzb246ICAgICAgJHtwcm9qZWN0LmRlcGVuZHNvbn08L2VjaG8+CisJCTxlY2hvPnByb2plY3QuYm9vdGNsYXNzcGF0aDogICR7cHJvamVjdC5ib290Y2xhc3NwYXRofTwvZWNobz4KKwkJPGVjaG8+amF2YWM6ICAgICAgICAgICAgICAgICAgJHtqYXZhY308L2VjaG8+CisJCTxlY2hvPmphdmFjLmRlYnVnOiAgICAgICAgICAgICR7amF2YWMuZGVidWd9PC9lY2hvPgorCQk8ZWNobz5qYXZhYy5zb3VyY2U6ICAgICAgICAgICAke2phdmFjLnNvdXJjZX08L2VjaG8+CisJCTxlY2hvPmphdmFjLnRhcmdldDogICAgICAgICAgICR7amF2YWMudGFyZ2V0fTwvZWNobz4KKwkJPGVjaG8+cDogICAgICAgICAgICAgICAgICAgICAgJHtwfTwvZWNobz4KKwkJPGVjaG8+YnRvb2wubWFuaWZlc3RWZXJzaW9uOiAgJHtidG9vbC5tYW5pZmVzdFZlcnNpb259PC9lY2hvPgorCQk8ZWNobz5idG9vbC5hbmFseXNlOiAgICAgICAgICAke2J0b29sLmFuYWx5c2V9PC9lY2hvPgorCQk8ZWNobz5idG9vbC5zaG93bWFuaWZlc3Q6ICAgICAke2J0b29sLnNob3dtYW5pZmVzdH08L2VjaG8+CisJCTxlY2hvPmJ0b29sLm5vdmVyc2lvbjogICAgIAkgICR7YnRvb2wubm92ZXJzaW9ufTwvZWNobz4KKwkJPGVjaG8+YnRvb2wuc291cmNlczogICAgIAkgICR7YnRvb2wuc291cmNlc308L2VjaG8+CisJCTxlY2hvPmJ0b29sLm5vZXh0cmFoZWFkZXJzOiAgICR7YnRvb2wubm9leHRyYWhlYWRlcnN9PC9lY2hvPgorCQk8ZWNobz5qYXJzLmNvbXBpbGUub3JkZXI6ICAgICAke2phcnMuY29tcGlsZS5vcmRlcn08L2VjaG8+CisJCTxlY2hvPmJpbi5pbmNsdWRlczogICAgICAgICAgICR7YmluLmluY2x1ZGVzfTwvZWNobz4KKwkJPGVjaG8+YmFzZS5tb2RmaWVkOiAgICAgICAgICAgJHtiYXNlLm1vZGlmaWVkfSAoJHtiYXNlLm1vZGlmaWVkLnJlYWRhYmxlfSk8L2VjaG8+CisJCTxlY2hvPnRhcmdldDogICAgICAgICAgICAgICAgICR7dGFyZ2V0fTwvZWNobz4KKwkJPGVjaG8+cmVsZWFzZS50YXJnZXQ6ICAgICAgICAgJHtyZWxlYXNlLnRhcmdldH08L2VjaG8+CisJCTxlY2hvPmxpY2Vuc2VkIHJlcG86ICAgICAgICAgICR7bGljZW5zZWQtcmVwb308L2VjaG8+CisJCTxlY2hvPnJlcG86ICAgICAgICAgICAgICAgICAgICR7cmVwb308L2VjaG8+CisJCTxlY2hvPnVzZS5ibmQ6ICAgICAgICAgICAgICAgICR7dXNlLmJuZH08L2VjaG8+CisJCTxlY2hvPm5vZGVwbG95OiAgICAgICAgICAgICAgICR7bm9kZXBsb3l9PC9lY2hvPgorCQk8ZWNobz4tZGVwZW5kc29uOiAgICAgICAgICAgICAkey1kZXBlbmRzb259PC9lY2hvPgorCisJPC90YXJnZXQ+CisKKwk8IS0tCisJICAgICBEZWZhdWx0IFRhcmdldAorCS0tPgorCTx0YXJnZXQgbmFtZT0ibm9uZSI+CisJCTxmYWlsIG1lc3NhZ2U9IlRoaXMgYW50IHNjcmlwdCBzaG91bGQgbmV2ZXIgYmUgZGlyZWN0bHkgY2FsbGVkLiIgLz4KKwk8L3RhcmdldD4KKworPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvY25mL2J1aWxkLmJuZCBiL2NuZi9idWlsZC5ibmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZhMzFiYQotLS0gL2Rldi9udWxsCisrKyBiL2NuZi9idWlsZC5ibmQKQEAgLTAsMCArMSwxNiBAQAorIyMgUGxhY2UgeW91ciBzcGVjaWZpYyBzZXR0aW5ncyBoZXJlLgorCisKKyMjIERlZmF1bHQgc2V0dGluZ3MgYXJlIGluIGV4dC8qLmJuZCBhbmQgdGhleSB3aWxsIGJlIG92ZXJyaWRkZW4gYnkgYW55dGhpbmcKKyMjIHlvdSBzcGVjaWZ5IGluIHRoaXMgZmlsZS4KKworCisjIyBQcm9wZXJ0aWVzIGZyb20gZXh0LyouYm5kIGNhbiBiZSByZWZlcmVuY2VkIGluIG9yZGVyIHRvIGV4dGVuZCB0aGVtLgorIyMgRm9yIGV4YW1wbGUsIHRvIGFkZCBvbmUgYWRkdGlvbmFsIHBsdWdpbiB0byB0aGUgbGlzdCBkZWZpbmVkIGluIGV4dC9yZXBvc2l0b3JpZXMuYm5kOgorIyAtcGx1Z2luOiAke2V4dC5yZXBvc2l0b3JpZXMuLXBsdWdpbn0sIG9yZy5leGFtcGxlLk15UGx1Z2luCisKKworIyMgSWYgeW91IHVzZSBnaXQsIHlvdSBtaWdodCB3YW50IHRvIHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmVzOgorIyBHaXQtRGVzY3JpcHRvcjogJHtzeXN0ZW0tYWxsb3ctZmFpbDtnaXQgZGVzY3JpYmUgLS1kaXJ0eSAtLWFsd2F5c30KKyMgR2l0LVNIQTogJHtzeXN0ZW0tYWxsb3ctZmFpbDtnaXQgcmV2LWxpc3QgLTEgSEVBRH0KKwpkaWZmIC0tZ2l0IGEvY25mL2J1aWxkLnhtbCBiL2NuZi9idWlsZC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGEwN2ViZAotLS0gL2Rldi9udWxsCisrKyBiL2NuZi9idWlsZC54bWwKQEAgLTAsMCArMSwyNSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxwcm9qZWN0IG5hbWU9Im1hc3RlciIgZGVmYXVsdD0ibm9uZSI+CisJCisJPGltcG9ydCBmaWxlPSJidWlsZC10ZW1wbGF0ZS54bWwiLz4KKwkKKwk8IS0tCisJCVVzZSB0aGlzIGZpbGUgdG8gcHJvdmlkZSB5b3VyIHdvcmtzcGFjZS1zcGVjaWZpYyB0YXNrcy4gU2V2ZXJhbCBleGFtcGxlcyBmb2xsb3cuCisJCQorCQkxLiBUbyBleGVjdXRlIHRhc2tzIGJlZm9yZS9hZnRlciBjb21waWxhdGlvbjoKKwkJCisJCTx0YXJnZXQgbmFtZT0iY29tcGlsZSI+CisJCQk8ZWNobyBtZXNzYWdlPSJUaGlzIHRhc2sgZXhlY3V0ZWQgYmVmb3JlIGNvbXBpbGF0aW9uLi4uIi8+CisJCQk8YW50Y2FsbCB0YXJnZXQ9InRlbXBsYXRlLmNvbXBpbGUiLz4KKwkJCTxlY2hvIG1lc3NhZ2U9IlRoaXMgdGFzayBleGVjdXRlZCBBRlRFUiBjb21waWxhdGlvbi4iLz4KKwkJPC90YXJnZXQ+CisJCQorCQkyLiBJbnNlcnQgYSBidWlsZCB0YXJnZXQ6CisJCQorCQk8dGFyZ2V0IG5hbWU9ImJ1aWxkIiBkZXBlbmRlbmNpZXM9InRlbXBsYXRlLmJ1aWxkLCBmaW5kYnVncyIvPgorCQk8dGFyZ2V0IG5hbWU9ImZpbmRidWdzIj4KKwkJCS4uLgorCQk8L3RhcmdldD4KKwktLT4KKworPC9wcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vUkVBRE1FLnR4dCBiL2NuZi9idWlsZHJlcG8vUkVBRE1FLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmIwMmYxCi0tLSAvZGV2L251bGwKKysrIGIvY25mL2J1aWxkcmVwby9SRUFETUUudHh0CkBAIC0wLDAgKzEsNiBAQAorV0FSTklORworPT09PT09PQorCitUaGlzIGRpcmVjdG9yeSBjb250YWlucyBKQVIgZmlsZSBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgaW50ZW5kZWQgT05MWSBGT1IgQlVJTFQtVElNRSB1c2FnZS4KK05vbmUgYXJlIGludGVuZGVkIHRvIGJlIGRlcGxveWVkIGFzIGJ1bmRsZXMgaW50byBhIHJ1bm5pbmcgT1NHaSBGcmFtZXdvcmssIGFuZCBpbmRlZWQgdGhleSBtYXkgY2F1c2UKK3VuZXhwZWN0ZWQgZXJyb3JzIGlmIHRoZXkgYXJlIHVzZWQgYXQgcnVudGltZS4KZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vYml6LmFRdXRlLmp1bml0L2Jpei5hUXV0ZS5qdW5pdC0xLjEuMC5qYXIgYi9jbmYvYnVpbGRyZXBvL2Jpei5hUXV0ZS5qdW5pdC9iaXouYVF1dGUuanVuaXQtMS4xLjAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYjgxN2MKLS0tIC9kZXYvbnVsbAorKysgYi9jbmYvYnVpbGRyZXBvL2Jpei5hUXV0ZS5qdW5pdC9iaXouYVF1dGUuanVuaXQtMS4xLjAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vYml6LmFRdXRlLmxhdW5jaGVyL2Jpei5hUXV0ZS5sYXVuY2hlci0xLjAuNS5qYXIgYi9jbmYvYnVpbGRyZXBvL2Jpei5hUXV0ZS5sYXVuY2hlci9iaXouYVF1dGUubGF1bmNoZXItMS4wLjUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MjZmNGQKLS0tIC9kZXYvbnVsbAorKysgYi9jbmYvYnVpbGRyZXBvL2Jpei5hUXV0ZS5sYXVuY2hlci9iaXouYVF1dGUubGF1bmNoZXItMS4wLjUuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vZWUuZm91bmRhdGlvbi9lZS5mb3VuZGF0aW9uLTEuMS4wLmphciBiL2NuZi9idWlsZHJlcG8vZWUuZm91bmRhdGlvbi9lZS5mb3VuZGF0aW9uLTEuMS4wLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZThhMTBjCi0tLSAvZGV2L251bGwKKysrIGIvY25mL2J1aWxkcmVwby9lZS5mb3VuZGF0aW9uL2VlLmZvdW5kYXRpb24tMS4xLjAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vZWUubWluaW11bS9lZS5taW5pbXVtLTEuMi4wLmphciBiL2NuZi9idWlsZHJlcG8vZWUubWluaW11bS9lZS5taW5pbXVtLTEuMi4wLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDg4ZDg0Ci0tLSAvZGV2L251bGwKKysrIGIvY25mL2J1aWxkcmVwby9lZS5taW5pbXVtL2VlLm1pbmltdW0tMS4yLjAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vanVuaXQub3NnaS9qdW5pdC5vc2dpLTMuOC4yLmphciBiL2NuZi9idWlsZHJlcG8vanVuaXQub3NnaS9qdW5pdC5vc2dpLTMuOC4yLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTI2Yjk1Ci0tLSAvZGV2L251bGwKKysrIGIvY25mL2J1aWxkcmVwby9qdW5pdC5vc2dpL2p1bml0Lm9zZ2ktMy44LjIuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vb3JnLm9zZ2kuZWUuZm91bmRhdGlvbi9vcmcub3NnaS5lZS5mb3VuZGF0aW9uLTEuMC4wLmphciBiL2NuZi9idWlsZHJlcG8vb3JnLm9zZ2kuZWUuZm91bmRhdGlvbi9vcmcub3NnaS5lZS5mb3VuZGF0aW9uLTEuMC4wLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2MyNDhlCi0tLSAvZGV2L251bGwKKysrIGIvY25mL2J1aWxkcmVwby9vcmcub3NnaS5lZS5mb3VuZGF0aW9uL29yZy5vc2dpLmVlLmZvdW5kYXRpb24tMS4wLjAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vb3JnLm9zZ2kuZWUuZm91bmRhdGlvbi9vcmcub3NnaS5lZS5mb3VuZGF0aW9uLTEuMC4xLmphciBiL2NuZi9idWlsZHJlcG8vb3JnLm9zZ2kuZWUuZm91bmRhdGlvbi9vcmcub3NnaS5lZS5mb3VuZGF0aW9uLTEuMC4xLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmFlNjMzCi0tLSAvZGV2L251bGwKKysrIGIvY25mL2J1aWxkcmVwby9vcmcub3NnaS5lZS5mb3VuZGF0aW9uL29yZy5vc2dpLmVlLmZvdW5kYXRpb24tMS4wLjEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vb3JnLm9zZ2kuZWUubWluaW11bS9vcmcub3NnaS5lZS5taW5pbXVtLTEuMS4wLmphciBiL2NuZi9idWlsZHJlcG8vb3JnLm9zZ2kuZWUubWluaW11bS9vcmcub3NnaS5lZS5taW5pbXVtLTEuMS4wLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzcxY2U2Ci0tLSAvZGV2L251bGwKKysrIGIvY25mL2J1aWxkcmVwby9vcmcub3NnaS5lZS5taW5pbXVtL29yZy5vc2dpLmVlLm1pbmltdW0tMS4xLjAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vb3JnLm9zZ2kuZWUubWluaW11bS9vcmcub3NnaS5lZS5taW5pbXVtLTEuMS4xLmphciBiL2NuZi9idWlsZHJlcG8vb3JnLm9zZ2kuZWUubWluaW11bS9vcmcub3NnaS5lZS5taW5pbXVtLTEuMS4xLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODA0Yzk5Ci0tLSAvZGV2L251bGwKKysrIGIvY25mL2J1aWxkcmVwby9vcmcub3NnaS5lZS5taW5pbXVtL29yZy5vc2dpLmVlLm1pbmltdW0tMS4xLjEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vb3JnLm9zZ2kuZWUubWluaW11bS9vcmcub3NnaS5lZS5taW5pbXVtLTEuMS4zLmphciBiL2NuZi9idWlsZHJlcG8vb3JnLm9zZ2kuZWUubWluaW11bS9vcmcub3NnaS5lZS5taW5pbXVtLTEuMS4zLmphcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTZhZjg1Ci0tLSAvZGV2L251bGwKKysrIGIvY25mL2J1aWxkcmVwby9vcmcub3NnaS5lZS5taW5pbXVtL29yZy5vc2dpLmVlLm1pbmltdW0tMS4xLjMuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vb3NnaS5jb3JlL29zZ2kuY29yZS00LjAuMS5qYXIgYi9jbmYvYnVpbGRyZXBvL29zZ2kuY29yZS9vc2dpLmNvcmUtNC4wLjEuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkZDA2ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9jbmYvYnVpbGRyZXBvL29zZ2kuY29yZS9vc2dpLmNvcmUtNC4wLjEuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vb3NnaS5jb3JlL29zZ2kuY29yZS00LjEuMC5qYXIgYi9jbmYvYnVpbGRyZXBvL29zZ2kuY29yZS9vc2dpLmNvcmUtNC4xLjAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyMjVhOGEKLS0tIC9kZXYvbnVsbAorKysgYi9jbmYvYnVpbGRyZXBvL29zZ2kuY29yZS9vc2dpLmNvcmUtNC4xLjAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vb3NnaS5jb3JlL29zZ2kuY29yZS00LjIuMC5qYXIgYi9jbmYvYnVpbGRyZXBvL29zZ2kuY29yZS9vc2dpLmNvcmUtNC4yLjAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllZDk0M2YKLS0tIC9kZXYvbnVsbAorKysgYi9jbmYvYnVpbGRyZXBvL29zZ2kuY29yZS9vc2dpLmNvcmUtNC4yLjAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vb3NnaS5jb3JlL29zZ2kuY29yZS00LjMuMC5qYXIgYi9jbmYvYnVpbGRyZXBvL29zZ2kuY29yZS9vc2dpLmNvcmUtNC4zLjAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3ZDg2MWMKLS0tIC9kZXYvbnVsbAorKysgYi9jbmYvYnVpbGRyZXBvL29zZ2kuY29yZS9vc2dpLmNvcmUtNC4zLjAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9idWlsZHJlcG8vb3NnaS5jb3JlL29zZ2kuY29yZS01LjAuMC5qYXIgYi9jbmYvYnVpbGRyZXBvL29zZ2kuY29yZS9vc2dpLmNvcmUtNS4wLjAuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1YWM0NTYKLS0tIC9kZXYvbnVsbAorKysgYi9jbmYvYnVpbGRyZXBvL29zZ2kuY29yZS9vc2dpLmNvcmUtNS4wLjAuamFyCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2NuZi9leHQvZGVmYXVsdHMuYm5kIGIvY25mL2V4dC9kZWZhdWx0cy5ibmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU5M2MxNAotLS0gL2Rldi9udWxsCisrKyBiL2NuZi9leHQvZGVmYXVsdHMuYm5kCkBAIC0wLDAgKzEsMjkgQEAKKyMgR2VuZXJhbCBPcHRpb25zCitwcm9qZWN0LmRlcGVuZHNvbiAgICAgICA9ICR7cC1kZXBlbmRzb247On0KK3Byb2plY3QuYm9vdGNsYXNzcGF0aCAgID0gJHtwLWJvb3RjbGFzc3BhdGg7On0KK3Byb2plY3QuYnVpbGRwYXRoICAgICAgID0gJHtwLWJ1aWxkcGF0aDs6fQorcHJvamVjdC5zb3VyY2VwYXRoICAgICAgPSAke3Atc291cmNlcGF0aDs6fQorcHJvamVjdC5hbGxzb3VyY2VwYXRoICAgPSAke3AtYWxsc291cmNlcGF0aDs6fQorcHJvamVjdC5vdXRwdXQgICAgICAgICAgPSAke3Atb3V0cHV0fQorcHJvamVjdC50ZXN0cGF0aCAgICAgICAgPSAke3AtdGVzdHBhdGg7On0KKworLXZlcmJvc2U6ICAgICB0cnVlCitwcm9qZWN0OiAgICAgICR7YmFzZWRpcn0KK3NyYzogICAgICAgICAgc3JjCitiaW46ICAgICAgICAgIGJpbgordGFyZ2V0LWRpcjogICBnZW5lcmF0ZWQKK3RhcmdldDogICAgICAgJHtwcm9qZWN0fS8ke3RhcmdldC1kaXJ9CitidWlsZDogICAgICAgICR7d29ya3NwYWNlfS9jbmYKK3A6ICAgICAgICAgICAgJHtiYXNlbmFtZTske3Byb2plY3R9fQorcHJvamVjdC5uYW1lOiAke3B9CisKKyMgSmF2YSBDb21waWxlciBPcHRpb25zCitqYXZhOiAgICAgICAgIGphdmEKK2phdmFjOiAgICAgICAgamF2YWMKK2phdmFjLnNvdXJjZTogMS41CitqYXZhYy50YXJnZXQ6IDEuNQoramF2YWMuZGVidWc6ICBvbgorCisjIEJuZCBPcHRpb25zCistc291cmNlczogICAgICAgdHJ1ZQorLXNvdXJjZXBhdGg6ICAgICR7cHJvamVjdH0vc3JjCmRpZmYgLS1naXQgYS9jbmYvZXh0L3JlcG9zaXRvcmllcy5ibmQgYi9jbmYvZXh0L3JlcG9zaXRvcmllcy5ibmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIzZjViYgotLS0gL2Rldi9udWxsCisrKyBiL2NuZi9leHQvcmVwb3NpdG9yaWVzLmJuZApAQCAtMCwwICsxLDExIEBACitwbHVnaW5kaXI6ICR7d29ya3NwYWNlfS9jbmYvcGx1Z2lucworCistcGx1Z2lucGF0aDogJHtwbHVnaW5kaXJ9L2Jpei5hUXV0ZS5yZXBvc2l0b3J5L2Jpei5hUXV0ZS5yZXBvc2l0b3J5LTIuMC41LmphcgorCistcGx1Z2luOlwKKwlhUXV0ZS5ibmQuZGVwbG95ZXIucmVwb3NpdG9yeS5Mb2NhbEluZGV4ZWRSZXBvOyBuYW1lPVJlbGVhc2U7ICAgICAgbG9jYWw9JHt3b3Jrc3BhY2V9L2NuZi9yZWxlYXNlcmVwbztwcmV0dHk9dHJ1ZSxcCisJYVF1dGUuYm5kLmRlcGxveWVyLnJlcG9zaXRvcnkuTG9jYWxJbmRleGVkUmVwbzsgbmFtZT1Mb2NhbDsgICAgICAgIGxvY2FsPSR7d29ya3NwYWNlfS9jbmYvbG9jYWxyZXBvO3ByZXR0eT10cnVlLFwKKwlhUXV0ZS5ibmQuZGVwbG95ZXIucmVwb3NpdG9yeS5GaXhlZEluZGV4ZWRSZXBvOyBuYW1lPUJuZHRvb2xzIEh1YjsgbG9jYXRpb25zPWh0dHBzOi8vZ2l0aHViLmNvbS9ibmR0b29scy9idW5kbGUtaHViL3Jhdy9tYXN0ZXIvaW5kZXgueG1sLmd6LFwKKwlhUXV0ZS5saWIuZGVwbG95ZXIuRmlsZVJlcG87ICAgICAgICAgICAgICAgICAgICBuYW1lPUJ1aWxkOyAgICAgICAgbG9jYXRpb249JHt3b3Jrc3BhY2V9L2NuZi9idWlsZHJlcG8KKworLXJlbGVhc2VyZXBvOiBSZWxlYXNlCmRpZmYgLS1naXQgYS9jbmYvbG9jYWxyZXBvL2luZGV4LnhtbCBiL2NuZi9sb2NhbHJlcG8vaW5kZXgueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhNGE0MTUKLS0tIC9kZXYvbnVsbAorKysgYi9jbmYvbG9jYWxyZXBvL2luZGV4LnhtbApAQCAtMCwwICsxLDExNyBAQAorPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0ndXRmLTgnPz4KKzxyZXBvc2l0b3J5IGluY3JlbWVudD0nMTM2NjY2MjcyMzgxOScgbmFtZT0nTG9jYWwnIHhtbG5zPSdodHRwOi8vd3d3Lm9zZ2kub3JnL3htbG5zL3JlcG9zaXRvcnkvdjEuMC4wJz4KKyAgPHJlc291cmNlPgorICAgIDxjYXBhYmlsaXR5IG5hbWVzcGFjZT0nb3NnaS5pZGVudGl0eSc+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J29zZ2kuaWRlbnRpdHknIHZhbHVlPSdvcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWInLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ndHlwZScgdmFsdWU9J29zZ2kuYnVuZGxlJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J3ZlcnNpb24nIHR5cGU9J1ZlcnNpb24nIHZhbHVlPScyLjQuMS52MjAxMzA0MTgwODU1Jy8+CisgICAgPC9jYXBhYmlsaXR5PgorICAgIDxjYXBhYmlsaXR5IG5hbWVzcGFjZT0nb3NnaS5jb250ZW50Jz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nb3NnaS5jb250ZW50JyB2YWx1ZT0nMjcyODg2ODBlODBhZjJkYTM4Mzg0NWM5NDVlM2I1ZmE3MmQxZGNmODNmYWEzMTkxYzNmMTFkMjZmNjE5YjM1YycvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSd1cmwnIHZhbHVlPSdvcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWIvb3JnLmVjbGlwc2UueHRleHQueGJhc2UubGliLTIuNC4xLmphcicvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdzaXplJyB0eXBlPSdMb25nJyB2YWx1ZT0nMTA1OTg0Jy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J21pbWUnIHZhbHVlPSdhcHBsaWNhdGlvbi92bmQub3NnaS5idW5kbGUnLz4KKyAgICA8L2NhcGFiaWxpdHk+CisgICAgPGNhcGFiaWxpdHkgbmFtZXNwYWNlPSdvc2dpLndpcmluZy5idW5kbGUnPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdvc2dpLndpcmluZy5idW5kbGUnIHZhbHVlPSdvcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWInLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nYnVuZGxlLXZlcnNpb24nIHR5cGU9J1ZlcnNpb24nIHZhbHVlPScyLjQuMS52MjAxMzA0MTgwODU1Jy8+CisgICAgPC9jYXBhYmlsaXR5PgorICAgIDxjYXBhYmlsaXR5IG5hbWVzcGFjZT0nb3NnaS53aXJpbmcuaG9zdCc+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J29zZ2kud2lyaW5nLmhvc3QnIHZhbHVlPSdvcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWInLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nYnVuZGxlLXZlcnNpb24nIHR5cGU9J1ZlcnNpb24nIHZhbHVlPScyLjQuMS52MjAxMzA0MTgwODU1Jy8+CisgICAgPC9jYXBhYmlsaXR5PgorICAgIDxjYXBhYmlsaXR5IG5hbWVzcGFjZT0nb3NnaS53aXJpbmcucGFja2FnZSc+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J29zZ2kud2lyaW5nLnBhY2thZ2UnIHZhbHVlPSdvcmcuZWNsaXBzZS54dGVuZDIubGliJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J3ZlcnNpb24nIHR5cGU9J1ZlcnNpb24nIHZhbHVlPScwLjAuMCcvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdidW5kbGUtc3ltYm9saWMtbmFtZScgdmFsdWU9J29yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlLmxpYicvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdidW5kbGUtdmVyc2lvbicgdHlwZT0nVmVyc2lvbicgdmFsdWU9JzIuNC4xLnYyMDEzMDQxODA4NTUnLz4KKyAgICA8L2NhcGFiaWxpdHk+CisgICAgPGNhcGFiaWxpdHkgbmFtZXNwYWNlPSdvc2dpLndpcmluZy5wYWNrYWdlJz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nb3NnaS53aXJpbmcucGFja2FnZScgdmFsdWU9J29yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlLmxpYicvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSd2ZXJzaW9uJyB0eXBlPSdWZXJzaW9uJyB2YWx1ZT0nMC4wLjAnLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nYnVuZGxlLXN5bWJvbGljLW5hbWUnIHZhbHVlPSdvcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWInLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nYnVuZGxlLXZlcnNpb24nIHR5cGU9J1ZlcnNpb24nIHZhbHVlPScyLjQuMS52MjAxMzA0MTgwODU1Jy8+CisgICAgPC9jYXBhYmlsaXR5PgorICAgIDxjYXBhYmlsaXR5IG5hbWVzcGFjZT0nb3NnaS53aXJpbmcucGFja2FnZSc+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J29zZ2kud2lyaW5nLnBhY2thZ2UnIHZhbHVlPSdvcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWIuaW50ZXJuYWwnLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ndmVyc2lvbicgdHlwZT0nVmVyc2lvbicgdmFsdWU9JzAuMC4wJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J2J1bmRsZS1zeW1ib2xpYy1uYW1lJyB2YWx1ZT0nb3JnLmVjbGlwc2UueHRleHQueGJhc2UubGliJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J2J1bmRsZS12ZXJzaW9uJyB0eXBlPSdWZXJzaW9uJyB2YWx1ZT0nMi40LjEudjIwMTMwNDE4MDg1NScvPgorICAgICAgPGRpcmVjdGl2ZSBuYW1lPSd4LWludGVybmFsJyB2YWx1ZT0ndHJ1ZScvPgorICAgIDwvY2FwYWJpbGl0eT4KKyAgICA8Y2FwYWJpbGl0eSBuYW1lc3BhY2U9J29zZ2kud2lyaW5nLnBhY2thZ2UnPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdvc2dpLndpcmluZy5wYWNrYWdlJyB2YWx1ZT0nb3JnLmVjbGlwc2UueHRleHQueGJhc2UubGliLnV0aWwnLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ndmVyc2lvbicgdHlwZT0nVmVyc2lvbicgdmFsdWU9JzAuMC4wJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J2J1bmRsZS1zeW1ib2xpYy1uYW1lJyB2YWx1ZT0nb3JnLmVjbGlwc2UueHRleHQueGJhc2UubGliJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J2J1bmRsZS12ZXJzaW9uJyB0eXBlPSdWZXJzaW9uJyB2YWx1ZT0nMi40LjEudjIwMTMwNDE4MDg1NScvPgorICAgIDwvY2FwYWJpbGl0eT4KKyAgICA8cmVxdWlyZW1lbnQgbmFtZXNwYWNlPSdvc2dpLndpcmluZy5idW5kbGUnPgorICAgICAgPGRpcmVjdGl2ZSBuYW1lPSdmaWx0ZXInIHZhbHVlPScoJmFtcDsob3NnaS53aXJpbmcuYnVuZGxlPWNvbS5nb29nbGUuZ3VhdmEpKGJ1bmRsZS12ZXJzaW9uJmd0Oz0xMC4wLjEpKScvPgorICAgICAgPGRpcmVjdGl2ZSBuYW1lPSd2aXNpYmlsaXR5JyB2YWx1ZT0ncmVleHBvcnQnLz4KKyAgICA8L3JlcXVpcmVtZW50PgorICAgIDxyZXF1aXJlbWVudCBuYW1lc3BhY2U9J29zZ2kuZWUnPgorICAgICAgPGRpcmVjdGl2ZSBuYW1lPSdmaWx0ZXInIHZhbHVlPScob3NnaS5lZT1KMlNFLTEuNSknLz4KKyAgICA8L3JlcXVpcmVtZW50PgorICA8L3Jlc291cmNlPgorICA8cmVzb3VyY2U+CisgICAgPGNhcGFiaWxpdHkgbmFtZXNwYWNlPSdvc2dpLmlkZW50aXR5Jz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nb3NnaS5pZGVudGl0eScgdmFsdWU9J29yZy5lY2xpcHNlLnh0ZW5kLmxpYicvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSd0eXBlJyB2YWx1ZT0nb3NnaS5idW5kbGUnLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ndmVyc2lvbicgdHlwZT0nVmVyc2lvbicgdmFsdWU9JzIuNC4xLnYyMDEzMDQxODA4NTUnLz4KKyAgICA8L2NhcGFiaWxpdHk+CisgICAgPGNhcGFiaWxpdHkgbmFtZXNwYWNlPSdvc2dpLmNvbnRlbnQnPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdvc2dpLmNvbnRlbnQnIHZhbHVlPSdhN2M3YWY5NDgwMzVjNDgwMDk4YmY1OGY3OTNiODUxMjVjOTQ1NzljYTM1MmFlMDNkY2FiNWQyMDc3OTdmOTI4Jy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J3VybCcgdmFsdWU9J29yZy5lY2xpcHNlLnh0ZW5kLmxpYi9vcmcuZWNsaXBzZS54dGVuZC5saWItMi40LjEuamFyJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J3NpemUnIHR5cGU9J0xvbmcnIHZhbHVlPSc0ODA4OCcvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdtaW1lJyB2YWx1ZT0nYXBwbGljYXRpb24vdm5kLm9zZ2kuYnVuZGxlJy8+CisgICAgPC9jYXBhYmlsaXR5PgorICAgIDxjYXBhYmlsaXR5IG5hbWVzcGFjZT0nb3NnaS53aXJpbmcuYnVuZGxlJz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nb3NnaS53aXJpbmcuYnVuZGxlJyB2YWx1ZT0nb3JnLmVjbGlwc2UueHRlbmQubGliJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J2J1bmRsZS12ZXJzaW9uJyB0eXBlPSdWZXJzaW9uJyB2YWx1ZT0nMi40LjEudjIwMTMwNDE4MDg1NScvPgorICAgIDwvY2FwYWJpbGl0eT4KKyAgICA8Y2FwYWJpbGl0eSBuYW1lc3BhY2U9J29zZ2kud2lyaW5nLmhvc3QnPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdvc2dpLndpcmluZy5ob3N0JyB2YWx1ZT0nb3JnLmVjbGlwc2UueHRlbmQubGliJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J2J1bmRsZS12ZXJzaW9uJyB0eXBlPSdWZXJzaW9uJyB2YWx1ZT0nMi40LjEudjIwMTMwNDE4MDg1NScvPgorICAgIDwvY2FwYWJpbGl0eT4KKyAgICA8Y2FwYWJpbGl0eSBuYW1lc3BhY2U9J29zZ2kud2lyaW5nLnBhY2thZ2UnPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdvc2dpLndpcmluZy5wYWNrYWdlJyB2YWx1ZT0nb3JnLmVjbGlwc2UueHRlbmQubGliJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J3ZlcnNpb24nIHR5cGU9J1ZlcnNpb24nIHZhbHVlPScwLjAuMCcvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdidW5kbGUtc3ltYm9saWMtbmFtZScgdmFsdWU9J29yZy5lY2xpcHNlLnh0ZW5kLmxpYicvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdidW5kbGUtdmVyc2lvbicgdHlwZT0nVmVyc2lvbicgdmFsdWU9JzIuNC4xLnYyMDEzMDQxODA4NTUnLz4KKyAgICA8L2NhcGFiaWxpdHk+CisgICAgPGNhcGFiaWxpdHkgbmFtZXNwYWNlPSdvc2dpLndpcmluZy5wYWNrYWdlJz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nb3NnaS53aXJpbmcucGFja2FnZScgdmFsdWU9J29yZy5lY2xpcHNlLnh0ZW5kLmxpYi5tYWNybycvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSd2ZXJzaW9uJyB0eXBlPSdWZXJzaW9uJyB2YWx1ZT0nMC4wLjAnLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nYnVuZGxlLXN5bWJvbGljLW5hbWUnIHZhbHVlPSdvcmcuZWNsaXBzZS54dGVuZC5saWInLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0nYnVuZGxlLXZlcnNpb24nIHR5cGU9J1ZlcnNpb24nIHZhbHVlPScyLjQuMS52MjAxMzA0MTgwODU1Jy8+CisgICAgPC9jYXBhYmlsaXR5PgorICAgIDxjYXBhYmlsaXR5IG5hbWVzcGFjZT0nb3NnaS53aXJpbmcucGFja2FnZSc+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J29zZ2kud2lyaW5nLnBhY2thZ2UnIHZhbHVlPSdvcmcuZWNsaXBzZS54dGVuZC5saWIubWFjcm8uZGVjbGFyYXRpb24nLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ndmVyc2lvbicgdHlwZT0nVmVyc2lvbicgdmFsdWU9JzAuMC4wJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J2J1bmRsZS1zeW1ib2xpYy1uYW1lJyB2YWx1ZT0nb3JnLmVjbGlwc2UueHRlbmQubGliJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J2J1bmRsZS12ZXJzaW9uJyB0eXBlPSdWZXJzaW9uJyB2YWx1ZT0nMi40LjEudjIwMTMwNDE4MDg1NScvPgorICAgIDwvY2FwYWJpbGl0eT4KKyAgICA8Y2FwYWJpbGl0eSBuYW1lc3BhY2U9J29zZ2kud2lyaW5nLnBhY2thZ2UnPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdvc2dpLndpcmluZy5wYWNrYWdlJyB2YWx1ZT0nb3JnLmVjbGlwc2UueHRlbmQubGliLm1hY3JvLmV4cHJlc3Npb24nLz4KKyAgICAgIDxhdHRyaWJ1dGUgbmFtZT0ndmVyc2lvbicgdHlwZT0nVmVyc2lvbicgdmFsdWU9JzAuMC4wJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J2J1bmRsZS1zeW1ib2xpYy1uYW1lJyB2YWx1ZT0nb3JnLmVjbGlwc2UueHRlbmQubGliJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J2J1bmRsZS12ZXJzaW9uJyB0eXBlPSdWZXJzaW9uJyB2YWx1ZT0nMi40LjEudjIwMTMwNDE4MDg1NScvPgorICAgIDwvY2FwYWJpbGl0eT4KKyAgICA8Y2FwYWJpbGl0eSBuYW1lc3BhY2U9J29zZ2kud2lyaW5nLnBhY2thZ2UnPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdvc2dpLndpcmluZy5wYWNrYWdlJyB2YWx1ZT0nb3JnLmVjbGlwc2UueHRlbmQubGliLm1hY3JvLnNlcnZpY2VzJy8+CisgICAgICA8YXR0cmlidXRlIG5hbWU9J3ZlcnNpb24nIHR5cGU9J1ZlcnNpb24nIHZhbHVlPScwLjAuMCcvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdidW5kbGUtc3ltYm9saWMtbmFtZScgdmFsdWU9J29yZy5lY2xpcHNlLnh0ZW5kLmxpYicvPgorICAgICAgPGF0dHJpYnV0ZSBuYW1lPSdidW5kbGUtdmVyc2lvbicgdHlwZT0nVmVyc2lvbicgdmFsdWU9JzIuNC4xLnYyMDEzMDQxODA4NTUnLz4KKyAgICA8L2NhcGFiaWxpdHk+CisgICAgPHJlcXVpcmVtZW50IG5hbWVzcGFjZT0nb3NnaS53aXJpbmcucGFja2FnZSc+CisgICAgICA8ZGlyZWN0aXZlIG5hbWU9J2ZpbHRlcicgdmFsdWU9JygmYW1wOyhvc2dpLndpcmluZy5wYWNrYWdlPWNvbS5nb29nbGUuY29tbW9uLmFubm90YXRpb25zKSh2ZXJzaW9uJmd0Oz0xMC4wLjEpKScvPgorICAgIDwvcmVxdWlyZW1lbnQ+CisgICAgPHJlcXVpcmVtZW50IG5hbWVzcGFjZT0nb3NnaS53aXJpbmcuYnVuZGxlJz4KKyAgICAgIDxkaXJlY3RpdmUgbmFtZT0nZmlsdGVyJyB2YWx1ZT0nKCZhbXA7KG9zZ2kud2lyaW5nLmJ1bmRsZT1vcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWIpKGJ1bmRsZS12ZXJzaW9uJmd0Oz0yLjQuMCkpJy8+CisgICAgICA8ZGlyZWN0aXZlIG5hbWU9J3Zpc2liaWxpdHknIHZhbHVlPSdyZWV4cG9ydCcvPgorICAgIDwvcmVxdWlyZW1lbnQ+CisgICAgPHJlcXVpcmVtZW50IG5hbWVzcGFjZT0nb3NnaS5lZSc+CisgICAgICA8ZGlyZWN0aXZlIG5hbWU9J2ZpbHRlcicgdmFsdWU9Jyhvc2dpLmVlPUoyU0UtMS41KScvPgorICAgIDwvcmVxdWlyZW1lbnQ+CisgIDwvcmVzb3VyY2U+Cis8L3JlcG9zaXRvcnk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvY25mL2xvY2FscmVwby9vcmcuZWNsaXBzZS54dGVuZC5saWIvb3JnLmVjbGlwc2UueHRlbmQubGliLTIuNC4xLmphciBiL2NuZi9sb2NhbHJlcG8vb3JnLmVjbGlwc2UueHRlbmQubGliL29yZy5lY2xpcHNlLnh0ZW5kLmxpYi0yLjQuMS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVhOTg5MAotLS0gL2Rldi9udWxsCisrKyBiL2NuZi9sb2NhbHJlcG8vb3JnLmVjbGlwc2UueHRlbmQubGliL29yZy5lY2xpcHNlLnh0ZW5kLmxpYi0yLjQuMS5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvY25mL2xvY2FscmVwby9vcmcuZWNsaXBzZS54dGV4dC54YmFzZS5saWIvb3JnLmVjbGlwc2UueHRleHQueGJhc2UubGliLTIuNC4xLmphciBiL2NuZi9sb2NhbHJlcG8vb3JnLmVjbGlwc2UueHRleHQueGJhc2UubGliL29yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlLmxpYi0yLjQuMS5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTJhNDNhZQotLS0gL2Rldi9udWxsCisrKyBiL2NuZi9sb2NhbHJlcG8vb3JnLmVjbGlwc2UueHRleHQueGJhc2UubGliL29yZy5lY2xpcHNlLnh0ZXh0LnhiYXNlLmxpYi0yLjQuMS5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvY25mL3BsdWdpbnMvYml6LmFRdXRlLmJuZC9iaXouYVF1dGUuYm5kLTIuMC4wLmphciBiL2NuZi9wbHVnaW5zL2Jpei5hUXV0ZS5ibmQvYml6LmFRdXRlLmJuZC0yLjAuMC5qYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVhYmFlMAotLS0gL2Rldi9udWxsCisrKyBiL2NuZi9wbHVnaW5zL2Jpei5hUXV0ZS5ibmQvYml6LmFRdXRlLmJuZC0yLjAuMC5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvY25mL3BsdWdpbnMvYml6LmFRdXRlLnJlcG9zaXRvcnkvYml6LmFRdXRlLnJlcG9zaXRvcnktMi4wLjUuamFyIGIvY25mL3BsdWdpbnMvYml6LmFRdXRlLnJlcG9zaXRvcnkvYml6LmFRdXRlLnJlcG9zaXRvcnktMi4wLjUuamFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3MTA3ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9jbmYvcGx1Z2lucy9iaXouYVF1dGUucmVwb3NpdG9yeS9iaXouYVF1dGUucmVwb3NpdG9yeS0yLjAuNS5qYXIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvY25mL3JlbGVhc2VyZXBvL2luZGV4LnhtbCBiL2NuZi9yZWxlYXNlcmVwby9pbmRleC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA2NDJjMgotLS0gL2Rldi9udWxsCisrKyBiL2NuZi9yZWxlYXNlcmVwby9pbmRleC54bWwKQEAgLTAsMCArMSwyIEBACis8P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSd1dGYtOCc/PgorPHJlcG9zaXRvcnkgaW5jcmVtZW50PScxMzQyNTI4NjcyOTkyJyBuYW1lPSdSZWxlYXNlJyB4bWxucz0naHR0cDovL3d3dy5vc2dpLm9yZy94bWxucy9yZXBvc2l0b3J5L3YxLjAuMCcvPgo=