ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggNjRhZDVlYS4uMDFjODQwZiAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsNCArMSw0IEBACi1UaGlzIGlzIHJlbGVhc2UgMjAwMjA5MDQgb2YgV2luZSwgYSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIFdpbmRvd3Mgb24KK1RoaXMgaXMgcmVsZWFzZSAyMDAyMTAwNyBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgogVW5peC4gIFRoaXMgaXMgc3RpbGwgYSBkZXZlbG9wZXJzIG9ubHkgcmVsZWFzZS4gIFRoZXJlIGFyZSBtYW55IGJ1Z3MKIGFuZCB1bmltcGxlbWVudGVkIGZlYXR1cmVzLiAgTW9zdCBhcHBsaWNhdGlvbnMgc3RpbGwgZG8gbm90IHdvcmsKIGNvcnJlY3RseS4KQEAgLTYsMTEgKzYsMTEgQEAKIFBhdGNoZXMgc2hvdWxkIGJlIHN1Ym1pdHRlZCB0byAid2luZS1wYXRjaGVzQHdpbmVocS5jb20iLiAgUGxlYXNlIGRvbid0CiBmb3JnZXQgdG8gaW5jbHVkZSBhIENoYW5nZUxvZyBlbnRyeS4KIAotV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMjA5MDQ6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQotCS0gTXVjaCBpbXByb3ZlZCBQb3dlclBDIHN1cHBvcnQuCi0JLSBNb3JlIGNvcnJlY3QgbG9jYWxlIGRlZmluaXRpb25zLgotCS0gUHJvZ3Jlc3Mgb24gdGhlIGNvbnZlcnNpb24gb2YgaGFuZGxlIHR5cGVzIHRvIHBvaW50ZXJzLgotCS0gTWFueSBWaXNpbyBhbmQgUXVpY2tlbiBmaXhlcyBtZXJnZWQgZnJvbSBDcm9zc292ZXIuCitXSEFUJ1MgTkVXIHdpdGggV2luZS0yMDAyMTAwNzogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCisJLSBNYXNzaXZlIGxpc3R2aWV3IHJld3JpdGUuCisJLSBOZXcgTVMgUkxFIGNvZGVjLgorCS0gd2luZW1ha2VyIHNob3VsZCBiZSB3b3JraW5nIGFnYWluLgorCS0gQmVnaW5uaW5ncyBvZiBEaXJlY3QzRCA4IHN1cHBvcnQuCiAJLSBMb3RzIG9mIGJ1ZyBmaXhlcy4KIAogU2VlIHRoZSBSRUFETUUgZmlsZSBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zLgpAQCAtMTksMTAgKzE5LDEwIEBACiB0aGUgcmVsZWFzZSBpcyBhdmFpbGFibGUgYXQgdGhlIGZ0cCBzaXRlcy4gIFRoZSBzb3VyY2VzIHdpbGwgYmUgYXZhaWxhYmxlCiBmcm9tIHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgogCi0gIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAyMDkwNC50YXIuZ3oKLSAgZnRwOi8vZnRwLmluZm9tYWdpYy5jb20vcHViL21pcnJvcnMvbGludXgvc3Vuc2l0ZS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMjA5MDQudGFyLmd6Ci0gIGZ0cDovL2Z0cC5mdS1iZXJsaW4uZGUvdW5peC9saW51eC9taXJyb3JzL3N1bnNpdGUudW5jLmVkdS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMjA5MDQudGFyLmd6Ci0gIGZ0cDovL29yY3VzLnByb2dzb2MudXRzLmVkdS5hdS9wdWIvV2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDIwOTA0LnRhci5negorICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMjEwMDcudGFyLmd6CisgIGZ0cDovL2Z0cC5pbmZvbWFnaWMuY29tL3B1Yi9taXJyb3JzL2xpbnV4L3N1bnNpdGUvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDIxMDA3LnRhci5negorICBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3VuaXgvbGludXgvbWlycm9ycy9zdW5zaXRlLnVuYy5lZHUvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDIxMDA3LnRhci5negorICBmdHA6Ly9vcmN1cy5wcm9nc29jLnV0cy5lZHUuYXUvcHViL1dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAyMTAwNy50YXIuZ3oKIAogSXQgc2hvdWxkIGFsc28gYmUgYXZhaWxhYmxlIGZyb20gYW55IG90aGVyIHNpdGUgdGhhdCBtaXJyb3JzIGliaWJsaW8ub3JnLgogRm9yIG1vcmUgZG93bmxvYWQgbG9jYXRpb25zLCBzZWUgaHR0cDovL2Z0cHNlYXJjaC5seWNvcy5jb20uIFRoZXNlCkBAIC0zOCw3ICszOCw3IEBACiAKIElmIHlvdSB3YW50IHRvIHJlY2VpdmUgYnkgbWFpbCBhIHBhdGNoIGFnYWluc3QgdGhlIHByZXZpb3VzIHJlbGVhc2UKIHdoZW4gYSBuZXcgb25lIGlzIHJlbGVhc2VkLCB5b3UgY2FuIHN1YnNjcmliZSB0byB0aGUgbWFpbGluZyBsaXN0IGF0Ci1odHRwOi8vdGlnZXIuaW5mb3JtYXRpay5odS1iZXJsaW4uZGUvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3dpbmUtcGF0Y2hlcy4KK2h0dHA6Ly93d3cud2luZWhxLmNvbS9tYWlsbWFuL2xpc3RpbmZvL3dpbmUtcmVsZWFzZXMuCiAKIFdpbmUgaXMgYXZhaWxhYmxlIHRoYW5rcyB0byB0aGUgd29yayBvZiBtYW55IHBlb3BsZS4gU2VlIHRoZSBmaWxlCiBBVVRIT1JTIGluIHRoZSBkaXN0cmlidXRpb24gZm9yIHRoZSBjb21wbGV0ZSBsaXN0LgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGU2ZWM1ZmIuLmIwMjc0NGEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNCArMSwxNTkyIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisyMDAyLTEwLTA3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4ZWQgYnVnIHRoYXQgY2F1c2VkIGl0ZW0gdGV4dHMgdG8gYmUgZW1wdHkuCisKKwkqIGNvbmZpZ3VyZS5hYywgZGxscy9NYWtlZmlsZS5pbiwgZGxscy9tc3JsZTMyLy5jdnNpZ25vcmUsCisJICBkbGxzL21zcmxlMzIvTWFrZWZpbGUuaW4sIGRsbHMvbXNybGUzMi9tc3JsZTMyLmMsCisJICBkbGxzL21zcmxlMzIvbXNybGUzMi5zcGVjLCBkbGxzL21zdmlkZW8vbXNybGUzMi8uY3ZzaWdub3JlLAorCSAgZGxscy9tc3ZpZGVvL21zcmxlMzIvTWFrZWZpbGUuaW4sIGRsbHMvbXN2aWRlby9tc3JsZTMyL21zcmxlMzIuYywKKwkgIGRsbHMvbXN2aWRlby9tc3JsZTMyL21zcmxlMzIuc3BlYywgZGxscy9tc3ZpZGVvL21zcmxlMzIvbXNybGVfRGUucmMsCisJICBkbGxzL21zdmlkZW8vbXNybGUzMi9tc3JsZV9Fbi5yYywgZGxscy9tc3ZpZGVvL21zcmxlMzIvbXNybGVfRnIucmMsCisJICBkbGxzL21zdmlkZW8vbXNybGUzMi9tc3JsZV9wcml2YXRlLmgsIGRsbHMvbXN2aWRlby9tc3JsZTMyL3JzcmMucmMsCisJICBjb25maWd1cmU6CisJTWljaGFlbCBH/G5uZXdpZyA8TWljaGFlbEd1ZW5uZXdpZ0BnbXguZGU+CisJSW1wbGVtZW50ZWQgdGhlIE1TIFJMRSB2aWRlbyBjb2RlYy4KKworCSogaW5jbHVkZS9taXNjZW11LmgsIG1lbW9yeS9pbnN0ci5jLCBtc2Rvcy9kb3NtZW0uYywKKwkgIG1zZG9zL2ludGVycnVwdHMuYzoKKwlKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJQWRkIHN1cHBvcnQgZm9yIGludGVycnVwdHMgaW4gMzItYml0IGNvZGUuCisJUmVtb3ZlIHNvbWUgdW5uZWNlc3NhcnkgY29kZSBmcm9tIDE2LWJpdCBpbnRlcnJ1cHQgZW11bGF0aW9uLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IG5hc3R5IGJ1ZyBnZW5lcmF0ZWQgYnkgVUlOVCB2cy4gSU5UIChyZXN1bHRlZCBpbiBib2d1cworCWNvbXBhcmlzb25zKS4KKwlGaXggTFZJUl9TRUxFQ1RCT1VORFMgY29tcHV0YXRpb24sIGZvciBSRVBPUlQgbW9kZS4KKwlGaXggZGVwZW5kZW5jeSBnZW5lcmF0aW9uIGluIEdldEl0ZW1NZWFzdXJlcy4KKwlGaXggcmVjdGFuZ2xlIGNvbXB1dGF0aW9uIGZvciBSRVBPUlQgbW9kZSAoY29ybmVyIGNhc2UgcHJvYmxlbXMpLgorCUJldHRlciBkZWJ1ZyBtZXNzYWdlcy4KKwlBc3NvcnRlZCBjbGVhbnVwcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUNsZWFuZWQgdXAgdGhlIHJlY3RhbmdsZSBoYW5kbGluZywgYW5kIGZpeGVkIG51bWVyb3VzIGJ1Z3MgaW4KKwlyZWN0YW5nbGUgY2FsY3VsYXRpb25zLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9ycGNydDQvTWFrZWZpbGUuaW4sCisJICBkbGxzL3JwY3J0NC90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL3JwY3J0NC90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvcnBjcnQ0L3Rlc3RzL3JwYy5jOgorCUdyZWcgVHVybmVyIDxnbXR1cm5lcjAwN0BhbWVyaXRlY2gubmV0PgorCUFkZGVkIHNrZWxldG9uIGZvciBycGNydDQgdW5pdCB0ZXN0IHdpdGggc29tZSBVVUlEIHRlc3RzLgorCisJKiBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywgZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYzoKKwlHcmVnIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwlJbXBsZW1lbnRlZCBVdWlkQ29tcGFyZS4KKworCSogZGxscy9ycGNydDQvTWFrZWZpbGUuaW4sIGRsbHMvcnBjcnQ0L3JwY19iaW5kaW5nLmMsCisJICBkbGxzL3JwY3J0NC9ycGNfYmluZGluZy5oLCBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywKKwkgIGRsbHMvcnBjcnQ0L3JwY3J0NF9tYWluLmM6CisJT3ZlIEthYXZlbiA8b3Zla0B0cmFuc2dhbWluZy5jb20+CisJSW1wbGVtZW50ZWQgUnBjQmluZGluZ0lucU9iamVjdCwgUnBjQmluZGluZ1NldE9iamVjdCwKKwlScGNCaW5kaW5nVmVjdG9yRnJlZSwgUnBjQmluZGluZ1RvU3RyaW5nQmluZGluZ0EvVywKKwlScGNCaW5kaW5nRnJvbVN0cmluZ0JpbmRpbmdBL1csIFJwY1N0cmluZ0JpbmRpbmdQYXJzZUEvVywKKwlJX1JwY0JpbmRpbmdTZXRBc3luYywgUnBjU3RyaW5nQmluZGluZ0NvbXBvc2VBL1csIFJwY0JpbmRpbmdGcmVlLAorCVJQQ1N0cmluZ0ZyZWVXLCBVVUlESGFzaCwgVXVpZFRvU3RyaW5nVywgYW5kIGFzc29jaWF0ZWQganVuay4KKworCSogaW5jbHVkZS93aW5iYXNlLmgsIGluY2x1ZGUvd2lubnQuaCwgc2NoZWR1bGVyL3RpbWVyLmMsCisJICBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjOgorCVN0ZXZlIEx1c3RiYWRlciA8c3RldmUubHVzdGJhZGVyQHBoaWxpcHMuY29tPgorCVByb3ZpZGUgc3R1YnMgZm9yIENyZWF0ZS9EZWxldGVUaW1lclF1ZXVlVGltZXIuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogUGF1bCBSdXBlIDxwcnVwZUBteXJlYWxib3guY29tPgorCUZpeCBpbmFjY3VyYXRlIGxpc3R2aWV3IHNjcm9sbGluZyB3aXRoIFBnVXAvRG93biBhbmQgSG9tZS9FbmQga2V5cy4KKworCSogZGxscy9hdmljYXAzMi9NYWtlZmlsZS5pbiwgZGxscy9hdmljYXAzMi9hdmljYXAzMi5zcGVjLAorCSAgZGxscy9hdmljYXAzMi9hdmljYXAzMl9tYWluLmM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJQWRkZWQgc3R1YnMgZm9yIGNhcENyZWF0ZUNhcHR1cmVXaW5kb3dBL1cgdG8gZ2V0IGZyZWVWQ1Igc3RhcnRlZAorCXdpdGhvdXQgY3Jhc2guCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggc2lsbHkgYnVnIGluIFNldEl0ZW1Qb3NpdGlvbiAod2Ugc2hvdWxkIHNldCBpdCwgbm90IGNyZWF0ZSBhIG5ldworCW9uZSkuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlNYWludGFpbiB0aGUgaXRlbSBwb3NpdGlvbiBpbiB7LFNNQUxMfUlDT04gbW9kZSBzZXBhcmF0YWx5IGZyb20gdGhlCisJaXRlbSwgc28gdGhhdCB3ZSBoYXZlIGl0IGV2ZW4gaW4gTFZTX09XTkVSREFUQS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUNsZWFudXAgdGhlIFNldEl0ZW1Qb3NpdGlvbiBpbnRlcmZhY2UuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW1vdmUgdGhlIENPVU5UX09GIG1hY3JvLgorCUluZGVudGF0aW9uIGZpeGVzLCBhbmQgbWlub3IgY2xlYW51cHMgdG8gbm90aWZ5X2Rpc3BpbmZvVC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZpeGVzIGJ1ZyB3aGljaCByZW5kZXJlZCB2aXJ0dWFsIGxpc3Rib3hlcyBhbHdheXMgZW1wdHkuCisJU21hcnRlciBmb2N1cyByZWN0YW5nbGUgZHJhd2luZy4KKwlGaXggZm9jdXMgaGFuZGxpbmcgd2hlbiB3ZSBhZGQvZGVsZXRlIGEgY29sdW1uLgorCUZpeCBzaWxseSBidWcgaW4gR2V0U3ViSXRlbVJlY3QuCisJRWxpbWlhbnRlIGZsaWNrZXIgaW4gUmVwb3J0IG1vZGUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlDbGVhbnVwLCBhbmQgY2xhcmlmeSB0aGUgaGFuZGxpbmcgb2YgdGhlIHZhcmlvdXMgcmVjdGFuZ2xlcy4KKwlGaXggaGFuZGxpbmcgb2YgbGFyZ2UgaXRlbXMgaW4gSUNPTiBtb2RlLgorCUZpeCBjYWxjdWxhdGlvbiBvZiBMVklSX1NFTEVDVEJPVU5EUy4KKwlWYXJpb3VzIGNsZWFudXBzLCBhbmQgc2ltcGxpZmljYXRpb25zLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQ2xlYW51cCBvZiB0aGUgd2F5IHdlIG1haW50YWluL2xvb2t1cCB0aGUgaXRlbSBjb3VudC4KKwlSZW5hbWUgR2V0SXRlbVdpZHRoIHRvIENhbGN1bGF0ZU1heFdpZHRoLgorCU1pc2MgdHJpdmlhbCBjaGFuZ2VzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IGZvY3VzIGhhbmRsaW5nIGZvciBvd25lciBkcmF3IGxpc3R2aWV3cy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZpeCBwb3RlbnRpYWwgYnVnIGluIFJlbW92ZUFsbEl0ZW1zLgorCUZpeCByZXBvcnQtbW9kZSBPTldFUkRSQVcgYnVnICh3aXRoIGhlbHAgZnJvbSBBbGV4YW5kcmUgSnVsbGlhcmQpLgorCUZpeCBtdWx0aXBsZSBzZWxlY3Rpb24gYnVnIChpbiByZXBvcnQgYW5kIGxpc3QgbW9kZSkuCisJUmVtb3ZlIGNvZGUgZHVwbGljYXRpb24gZm9yIHJlbW92aW5nIHNlbGVjdGlvbnMuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGluY2x1ZGUvd2lubmxzLmgsIG1lbW9yeS9jb2RlcGFnZS5jOgorCVN0ZXZlIEx1c3RiYWRlciA8c3RldmUubHVzdGJhZGVyQHBoaWxpcHMuY29tPgorCUltcGxlbWVudCBHZXRVc2VyRGVmYXVsdFVJTGFuZ3VhZ2UgYW5kIEdldFN5c3RlbURlZmF1bHRVSUxhbmd1YWdlLgorCisJKiBkbGxzL2QzZDgvZDNkOF9wcml2YXRlLmgsIGRsbHMvZDNkOC9kZXZpY2UuYywgZGxscy9kM2Q4L2RpcmVjdHguYywKKwkgIGRsbHMvZDNkOC9zdXJmYWNlLmM6CisJSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlWYXJpb3VzIGZpeGVzLCB0eXBvcyBjb3JyZWN0ZWQgYW5kIGNsYXJpZnlpbmcgdHJhY2UgcG9pbnRzLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJQWRkZWQgc3VwcG9ydCBmb3Igc2V2ZXJhbCBzb3VuZGNhcmQuCisJUmVtb3ZlIG5vbiBmdWxsIGR1cGxleCBtb2RlIGluIGNvZGUuCisJT1NTIENvbW1lcmNpYWwgZG9lc24ndCBwcm9wZXJseSBoYW5kbGUgU05EQ1RMX0RTUF9SRVNFVCwgc28gY2xvc2Uvb3BlbgorCWRldmljZSB0byB3b3JrYXJvdW5kIHRoaXMgaXNzdWUgKGJ5IE92ZSBLYWF2ZW4pLgorCisJKiBkbGxzL3dpbm1tL3dhdmVtYXAvd2F2ZW1hcC5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlHb3QgcmlkIG9mIHJlY3Vyc2lvbiBpbiBzdWIgZGV2aWNlIG9wZW5pbmcuCisKKwkqIGRsbHMvd2lubW0vbW1zeXN0ZW0uYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJTGV0IHdhdmUoT3V0fEluKU9wZW4gY2FsbCB0aGUgd2F2ZSBtYXBwZXIgd2hlbiB0aGUgbG93IGxldmVsIGRldmljZQorCWRvZXNuJ3QgaGFuZGxlIHRoZSB3YXZlIGRlc2NyaXB0b3IuCisKKwkqIHRvb2xzL3dpbmVkdW1wL21haW4uYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgc2VndiB3aGVuIGluY29ycmVjdCBjb21tYW5kIGxpbmUgYXJndW1lbnRzIHdoZXJlIGdpdmVuLgorCisJKiBkb2N1bWVudGF0aW9uL3NhbXBsZXMvc3lzdGVtLmluaToKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGaXhlZCBJTUEgQUNNIGRlZmluaXRpb24uCisKKwkqIGRsbHMvbXNhY20vaW1hYWRwMzIvaW1hYWRwMzIuYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJTWlub3IgY29tbWVudHMgY2xlYW51cHMuCisJUmVtb3ZlZCB1bm5lZWRlZCBGSVhNRXMuCisKKwkqIGRsbHMvdXNlci9kZGUvZGRlbWwxNi5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGaXhlZCBzb21lIE5VTEwgcG9pbnRlciBoYW5kbGluZyBlcnJvcnMuCisKKzIwMDItMTAtMDUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZWltcGxlbWVudCBHZXRTdWJJdGVtUmVjdCwgc3ViaXRlbSBzZXR0aW5nIG9wdGltaXphdGlvbnMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggYnVnIGluIE9XTkVSREFUQSBzZWxlY3Rpb24gaGFuZGxpbmcuCisJRml4IGNyaXRpY2FsIHBlcmZvcm1hbmNlIGJ1ZyBpbiBHZXRTZWxlY3RlZENvdW50LgorCUZpeCBjcml0aWNhbCBwZXJmb3JtYW5jZSBidWcgaW4gU2V0R3JvdXBTZWxlY3Rpb24uCisJRml4IHByb2JsZW1zIGZvciBPV05FUkRSQVcgcmVwb3J0LgorCUZpeCBoaWRkZW4vbGF0ZW50IGJ1Z3MgaW4gc3RhdGUgaGFuZGxpbmcuCisJQmV0dGVyIGRlYnVnIG1lc3NhZ2VzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IG9ud2VyLWRyYXcgUkVQT1JUIGZvciBicm9rZW4gYXBwcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVN0cmVhbWxpbmUgdGhlIEdldEl0ZW0gdXNhZ2UuCisJRml4IGZhdGFsIGJ1ZyBmb3IgSUNPTiBtb2RlIGluIExWU19PTldFUkRBVEEuCisJRG9jdW1lbnRhdGlvbiB1cGRhdGVzLCBtYXJraW5nIHBsYWNlcyB3aGljaCBuZWVkIHdvcmsuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggY29uZGl0aW9uIHNvIHdlIGFjdHVhbGx5IHN0b3JlIHRoZSBzdGF0ZSBpbiB2aXJ0dWFsIGxpc3R2aWV3cy4KKwlBc3NvcnRlZCBjb2RlIGNsZWFudXBzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJLSBFZmZlY3RpdmUgb3B0aW1pemF0aW9uIGluIEdldE5leHRJdGVtIChzcGVlZHMgdXAgWG5ld3MpLgorCS0gTWlzYyBjbGVhbnVwcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJld3JpdGUgdGhlIGJlZ2luL2VuZCBsYWJlbCBlZGl0IHByb2NlZHVyZXMuCisJQmV0dGVyIHN1cHBvcnQgb2YgT1dORVJEUkFXLgorCUNsZWFuZXIsIHNpbXBsZXIgY29kZS4KKworMjAwMi0xMC0wNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZpeGVkIGxhcmdlIGl0ZW0gZm9jdXMgaGFuZGxpbmcgZm9yIHZpcnR1YWwgbGlzdHZpZXdzLiAgU2luY2UgYXQgbW9zdAorCV9vbmVfIGl0ZW0gY2FuIGhhdmUgdGhlIGZvY3VzIGF0IGFueSB0aW1lLCB3ZSBjYW4gbWFpbnRhaW4gb25lIHN1Y2gKKwlyZWN0YW5nbGUgcGVyIGxpc3QsIHJhdGhlciB0aGFuIHBlciBpdGVtLiBUaGlzIGlzIGJvdGggbW9yZSBlZmZpY2llbnQsCisJYW5kIHdvcmtzIGZvciBMVlNfT1dORVJEQVRBIGxpc3R2aWV3cyBhcyB3ZWxsLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRG8gbm90IGJsaW5kbHkgdHJ1c3QgR2V0SXRlbSB0byBzdWNjZWVkIC0tIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUsIGFuZAorCWZhaWwgZ3JhY2VmdWxseS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCURvIG5vdCBzZW5kIHVuaW5pdGlhbGl6ZWQgZGF0YSBpbiBub3RpZmljYXRpb24gdG8gYXBwbGljYXRpb24uCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2F0b20uYywgbWVtb3J5L2F0b20uYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAYmFpa2FsLnJ1PgorCUZpeGVkIGF0b20gdGVzdCB0byB3b3JrIG9uIFdpbmRvd3MuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMva2VybmVsL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9rZXJuZWwvdGVzdHMvY29kZXBhZ2UuYywgbWVtb3J5L2NvZGVwYWdlLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGJhaWthbC5ydT4KKwlBZGRlZCBhIHByb3RvdHlwZSBjb2RlIHBhZ2UgdGVzdC4gRml4ZWQgaXNzdWUgcmVnYXJkaW5nIG5lZ2F0aXZlCisJc291cmNlIGxlbmd0aCBoYW5kbGluZy4KKworCSogZGxscy91c2VyL3Rlc3RzL2NsYXNzLmMsIGRsbHMvdXNlci90ZXN0cy93aW4uYzoKKwlGaXhlZCBwcmludGYgZm9ybWF0cyBmb3IgLURTVFJJQ1QgaGFuZGxlcy4KKworCSogZGxscy9pbWFnZWhscC9hY2Nlc3MuYywgZGxscy9tc3ZjcnQvcHJvY2Vzcy5jLCBkbGxzL3VzZXIvdXNlcjE2LmMsCisJICBkbGxzL3dpbnNwb29sL2luZm8uYywgaW5jbHVkZS90bGhlbHAzMi5oLCBsb2FkZXIvcGVfaW1hZ2UuYywKKwkgIG9iamVjdHMvZm9udC5jLCBvYmplY3RzL2dkaW9iai5jOgorCUZpeGVkIHNvbWUgaGFuZGxlIGNvbnZlcnNpb25zIGluIHByZXZpc2lvbiBvZiB2b2lkKiBoYW5kbGVzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJLSBGaXggbmFzdHkgYnVnIGluIFJFUE9SVCBtb2RlLCB3aGVuIGNhbGN1bGF0aW5nIHRoZSBsYWJlbCByZWN0LgorCS0gTG90cyBvZiBjbGVhbnVwcywgYW5kIHNpbXBsaWZpY2F0aW9ucy4KKworCSogZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYzoKKwlJbXBsZW1lbnRlZCBVdWlkRnJvbVN0cmluZ1tBV10gYmFzZWQgb24gQ0xTSURGcm9tU3RyaW5nCisJaW1wbGVtZW50YXRpb24uCisKKzIwMDItMTAtMDMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYzogR3n2cmd5ICdOb2cnIEplbmV5IDxub2dAc2RmLmxvbmVzdGFyLm9yZz4KKwlBYm9ydCB3aXRoIGVycm9yIGlmIHRoZSBhcHAgdXNlcyBvdXIgYXBpIHRvIHN1YmNsYXNzIGFuZCB0aGVuIHRoZWlycworCXRoZW4gb3VycyBhZ2Fpbi4KKworCSogb2xlL29sZTJubHMuYzogU3RldmUgTHVzdGJhZGVyIDxzdGV2ZS5sdXN0YmFkZXJAcGhpbGlwcy5jb20+CisJSW1wbGVtZW50ZWQgR2V0RGF0ZUZvcm1hdFcuCisKKwkqIGRsbHMvcnBjcnQ0L3JwY3J0NC5zcGVjLCBkbGxzL3JwY3J0NC9ycGNydDRfbWFpbi5jOgorCU92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCUFkZGVkIFV1aWRDcmVhdGVOaWwsIFV1aWRFcXVhbCBhbmQgVXVpZElzTmlsLgorCisJKiBzZXJ2ZXIvZGVidWdnZXIuYywgc2VydmVyL3Byb2Nlc3MuYywgc2VydmVyL3Byb2Nlc3MuaCwKKwkgIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci9zbmFwc2hvdC5jLCBzZXJ2ZXIvdGhyZWFkLmMsCisJICBzZXJ2ZXIvdGhyZWFkLmgsIHNlcnZlci90cmFjZS5jLCB0b29scy9tYWtlX3JlcXVlc3RzLAorCSAgd2luZG93cy9pbnB1dC5jLCB3aW5kb3dzL21lc3NhZ2UuYywgd2luZG93cy93aW4uYywKKwkgIGRsbHMva2VybmVsL2NvbnNvbGUuYywgZGxscy9rZXJuZWwvZGVidWdnZXIuYywKKwkgIGRsbHMva2VybmVsL3Rvb2xoZWxwLmMsIGRsbHMvdXNlci9tZXNzYWdlLmMsIGluY2x1ZGUvdGhyZWFkLmgsCisJICBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlLmMsCisJICBzY2hlZHVsZXIvY2xpZW50LmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIHNjaGVkdWxlci9zeXNsZXZlbC5jLAorCSAgc2NoZWR1bGVyL3RocmVhZC5jLCBzZXJ2ZXIvY29uc29sZS5jOgorCUFkZGVkIHByb2Nlc3NfaWRfdCBhbmQgdGhyZWFkX2l0X3QgdHlwZXMgdG8gdGhlIHNlcnZlciBpbnRlcmZhY2UKKwlpbnN0ZWFkIG9mIHVzaW5nIHZvaWQqLCBhbmQgcmVtb3ZlZCBhIG51bWJlciBvZiB0eXBlIGNhc3RzLgorCisJKiBkbGxzL2dkaS9nZGkxNi5jLCBvYmplY3RzL2JydXNoLmM6CisJTW92ZWQgQ3JlYXRlQnJ1c2hJbmRpcmVjdDE2IGFuZCBDcmVhdGVESUJQYXR0ZXJuQnJ1c2gxNiB0byBnZGkxNi5jLgorCisJKiBkbGxzL2FkdmFwaTMyL3JlZ2lzdHJ5LmMsIGRsbHMva2VybmVsL3JlZ2lzdHJ5MTYuYywKKwkgIGRsbHMvc2V0dXBhcGkvc2V0dXB4X21haW4uYywgZGxscy9zaGVsbDMyL3NoZWxscmVnLmMsCisJICBkbGxzL3NobHdhcGkvb3JkaW5hbC5jLCBpbmNsdWRlL21tc3lzdGVtLmgsIGluY2x1ZGUvd2luZS93aW5iYXNlMTYuaCwKKwkgIGluY2x1ZGUvd2lubnQuaCwgaW5jbHVkZS93aW5yZWcuaCwgd2luMzIvZGV2aWNlLmM6CisJUmVtb3ZlZCBMUHh4eCBoYW5kbGUgdHlwZXMgdGhhdCBkb24ndCBleGlzdCB1bmRlciBXaW5kb3dzLgorCisJKiBkbGxzL3dpbm1tL2xvbHZsZHJ2LmM6IFJlbW92ZWQgZXJyb3IgbWVzc2FnZSB0aGF0IGNvbmZ1c2VzIHVzZXJzLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvd2luLmMsIGRsbHMvTWFrZXRlc3QucnVsZXMuaW46CisJQnVpbGQgdGVzdHMgd2l0aCAtRFNUUklDVC4KKworMjAwMi0xMC0wMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCS0gUmVvcmdhbml6ZSBEcmF3SXRlbS4KKwktIFVuaWZ5IHRleHQgYXR0cmlidXRlIHNlbGVjdGlvbiBiZXR3ZWVuIERyYXd7U3ViLH1JdGVtLgorCS0gVXN1YWwgY2xlYW51cHMsIGFuZCBzaW1wbGlmaWNhdGlvbnMuCisKKwkqIHNlcnZlci9ldmVudC5jLCBzZXJ2ZXIvaGFuZGxlLmMsIHNlcnZlci9oYW5kbGUuaCwgc2VydmVyL2xpc3QuaCwKKwkgIHNlcnZlci9tYWluLmMsIHNlcnZlci9tYXBwaW5nLmMsIHNlcnZlci9tdXRleC5jLCBzZXJ2ZXIvbmFtZWRfcGlwZS5jLAorCSAgc2VydmVyL29iamVjdC5jLCBzZXJ2ZXIvb2JqZWN0LmgsIHNlcnZlci9wcm9jZXNzLmgsCisJICBzZXJ2ZXIvc2VtYXBob3JlLmMsIHNlcnZlci90aW1lci5jOgorCUFkZGVkIHN1cHBvcnQgZm9yIG11bHRpcGxlIG9iamVjdCBuYW1lc3BhY2VzLCBhbmQgYSBidW5jaCBmdW5jdGlvbnMKKwlmb3IgbWFuYWdpbmcgbGlua2VkIGxpc3RzLgorCisJKiB3aW5kb3dzL3N5c2NvbG9yLmM6CisJRml4ZWQgR0RJIGhlYXAgc2VsZWN0b3IgaGFuZGxpbmcgYnJva2VuIGJ5IHByZXZpb3VzIGNoYW5nZS4KKworCSogZGxscy9jb21jdGwzMi90b29sdGlwcy5jOiBHefZyZ3kgJ05vZycgSmVuZXkgPG5vZ0BzZGYubG9uZXN0YXIub3JnPgorCVVzZSB0aGUgbmV3IFN1YmNsYXNzaW5nIEFQSS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZhbmN5L29wdGltaXplZCBFbnN1cmVWaXNpYmxlIG1ldGhvZCB0aGF0IGVsaW1pbmF0ZXMgZmxpY2tlci4KKwlNaW5vciBjbGVhbnVwcy4KKworCSogZGxscy9jb21jdGwzMi9jb21tY3RybC5jLCBpbmNsdWRlL2NvbW1jdHJsLmgsCisJICBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLmgsIGRsbHMvY29tY3RsMzIvY29tY3RsMzIuc3BlYzoKKwlHefZyZ3kgJ05vZycgSmVuZXkgPG5vZ0BzZGYubG9uZXN0YXIub3JnPgorCUltcGxlbWVudGVkIHtHfFN9ZXRXaW5kb3dTdWJDbGFzcywgRGVmU3ViY2xhc3NQcm9jLAorCVJlbW92ZVdpbmRvd1N1YmNsYXNzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJLSBGaXggdGhlIHN1Yml0ZW0gZHJhd2luZyBjb2RlLgorCS0gQSBsb3QgZmFzdGVyIGRyYXdpbmcgaW4gcmVwb3J0IG1vZGUuCisJLSBBIGdyZWF0IGRlYWwgb2YgY2xlYW51cCwgYW5kIHNpbXBsaWZpY2F0aW9ucy4KKworCSogZGxscy9nZGkvTWFrZWZpbGUuaW4sIGRsbHMvZ2RpL3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL2dkaS90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9nZGkvdGVzdHMvZ2VuZXJhdGVkLmMsCisJICBkbGxzL2tlcm5lbC90ZXN0cy9nZW5lcmF0ZWQuYywgZGxscy91c2VyL3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL3VzZXIvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci90ZXN0cy9nZW5lcmF0ZWQuYywgY29uZmlndXJlLAorCSAgY29uZmlndXJlLmFjOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUFkZGVkIHNvbWUgbW9yZSBhdXRvZ2VuZXJhdGVkIHRlc3RzLgorCisJKiB0b29scy93aW5hcGkvY190eXBlLnBtLCB0b29scy93aW5hcGkvdGVzdHMuZGF0LAorCSAgdG9vbHMvd2luYXBpL3dpbmFwaV90ZXN0OgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCS0gTWlub3IgaW1wcm92ZW1lbnRzLgorCS0gQWRkZWQgdGVzdHMgZm9yIEdESSBhbmQgVVNFUi4KKworCSogaW5jbHVkZS93aW5udC5oOiBHefZyZ3kgJ05vZycgSmVuZXkgPG5vZ0BzZGYubG9uZXN0YXIub3JnPgorCUFkZGVkIGEgY291cGxlIG9mIGRlZmluZXMuCisKKwkqIHdpbmRvd3MvcGFpbnRpbmcuYywgaW5jbHVkZS93aW51c2VyLmg6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggVmFsaWRhdGV7UmVjdCxSZ259IHByb3RvdHlwZXMuCisKKwkqIHRvb2xzL3dpbmVkdW1wL01ha2VmaWxlLmluLCB0b29scy93aW5lZHVtcC9uZS5jLCB0b29scy93aW5lZHVtcC9wZS5jLAorCSAgdG9vbHMvd2luZWR1bXAvd2luZWR1bXAuaDoKKwlQcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBkdW1waW5nIE5FIGJpbmFyaWVzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJLSBGaXggdGhlIHN0YXRlIGljb24gaGFuZGxpbmcuCisJLSBGaXggaGFuZGxpbmcgb2YgbmV3IGltYWdlIGxpc3RzLgorCS0gU21hbGwgY2xlYW51cHMuCisKKwkqIGRsbHMvbXN2Y3J0L2V4Y2VwdC5jOgorCWV4Y2VwdF9oYW5kbGVyMzogU2V0IGNvcnJlY3QgJWVicCB3aGVuIGNhbGxpbmcgZXhjZXB0aW9uIGZpbHRlci4KKworCSogZGxscy94MTFkcnYveHJlbmRlci5jOiBFbmFibGUgYW50aS1hbGlhc2luZyBmb3IgYWxsIGZvbnQgc2l6ZXMuCisKKwkqIG9iamVjdHMvZGMuYzogR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJQ3JlYXRlREM6IGhhbmRsZSAobmlsLCA8c3RyaW5nPiwgLi4uKSBncmFjZWZ1bGx5IGlmIG5vIGRyaXZlciBmb3VuZC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCS0gUmV3b3JrIHRoZSB7SW5zZXJ0LERlbGV0ZX1Db2x1bW4gZnVuY3Rpb25zLgorCS0gRHJhd2luZyBvcHRpbWl6YXRpb25zIHdoZW4gYWRkaW5nL3JlbW92aW5nIGNvbHVtbnMuCisJLSBNb3JlIGNsZWFudXBzLCBhbmQgc2ltcGxpZmljYXRpb25zLgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZzMyLmMsIGRsbHMva2VybmVsL2tlcm5lbF9tYWluLmMsCisJICBkbGxzL3VzZXIvdXNlcl9tYWluLmMsIG9iamVjdHMvZ2Rpb2JqLmMsIHdpbmRvd3Mvc3lzY29sb3IuYzoKKwlNYWtlIHN1cmUgdGhpbmdzIHN0aWxsIHdvcmsgaWYgMTYtYml0IGRsbHMgY2Fubm90IGJlIGxvYWRlZC4KKworCSogZGxscy9NYWtlZGxsLnJ1bGVzLmluLCBkbGxzL01ha2VmaWxlLmluLCBkbGxzL01ha2V0ZXN0LnJ1bGVzLmluLAorCSAgZGxscy9nZGkvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL01ha2VmaWxlLmluLAorCSAgZGxscy9semV4cGFuZC9NYWtlZmlsZS5pbiwgZGxscy9tYWtlX2RsbHMsIGRsbHMvbXN2aWRlby9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvdmVyc2lvbi9NYWtlZmlsZS5pbiwgZGxscy93aW4zMnMvTWFrZWZpbGUuaW4sCisJICBkbGxzL3dpbmFzcGkvTWFrZWZpbGUuaW4sIGRsbHMvd2lubW0vTWFrZWZpbGUuaW4sIE1ha2UucnVsZXMuaW4sCisJICBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYzoKKwlBZGRlZCAtLWRpc2FibGUtd2luMTYgY29uZmlndXJlIG9wdGlvbi4KKworCSogZGxscy9kZHJhdy9kc3VyZmFjZS91c2VyLmMsIGRsbHMvd2lubW0vd2luZW5hcy9hdWRpby5jLAorCSAgcHJvZ3JhbXMvcHJvZ21hbi9ncnBmaWxlLmM6CisJRml4ZWQgd2FybmluZ3MuCisKKwkqIHVuaWNvZGUvTWFrZWZpbGUuaW4sIHVuaWNvZGUvY18yMDkzMi5jLCB1bmljb2RlL2NwbWFwLnBsLAorCSAgdW5pY29kZS9jcHRhYmxlLmM6CisJQWRkZWQgRVVDLUpQIGVuY29kaW5nIGFzIGNvZGVwYWdlIDIwOTMyICh3aXRoIHRoZSBoZWxwIG9mIEFyaWMKKwlTdGV3YXJ0KS4KKworCSogZGxscy91cmxtb24vdW1vbi5jLCBncmFwaGljcy94MTFkcnYvb3BlbmdsLmM6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJRml4ZWQgc29tZSBpc3N1ZXMgZm91bmQgYnkgd2luYXBpX2NoZWNrLgorCisJKiB0b29scy93aW5hcGkvd2luMzIuYXBpLCB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX2NoZWNrLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9wYXJzZXIucG06CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJLSBBUEkgZmlsZSB1cGRhdGUuCisJLSBNaW5vciBidWcgZml4ZXMuCisKKwkqIGluY2x1ZGUvd2lubnQuaDogUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJQWRkZWQgc29tZSBtb3JlIHVzZWZ1bCBtYWNyb3MuCisKKzIwMDItMTAtMDEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvZ2x1MzIvTWFrZWZpbGUuaW4sIGRsbHMvb3BlbmdsMzIvTWFrZWZpbGUuaW4sCisJICBkbGxzL3gxMWRydi9NYWtlZmlsZS5pbiwgTWFrZS5ydWxlcy5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuYWMsCisJICBkbGxzL2QzZDgvTWFrZWZpbGUuaW4sIGRsbHMvZGRyYXcvTWFrZWZpbGUuaW46CisJTW92ZWQgWCBmbGFncyBhbmQgbGlicmFyaWVzIG91dCBvZiBNYWtlLnJ1bGVzIGludG8gdGhlIG1ha2VmaWxlcyB0aGF0CisJbmVlZCB0aGVtLgorCisJKiBkbGxzL3VzZXIvcmVzb3VyY2VzL2Rpc3BsYXkucmMsIGRsbHMvdXNlci9yZXNvdXJjZXMvbW91c2UucmM6CisJVXNlIGNvcnJlY3QgMTYtYml0IHJlc291cmNlcyB0byBhdm9pZCB3YXJuaW5ncy4KKworCSogZG9jdW1lbnRhdGlvbi9kZWJ1Z2dlci5zZ21sOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJVXBkYXRlIGRvY3VtZW50YXRpb24gb2YgaG93IHRvIGludm9rZSB3aW5lZGJnLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL2tlcm5lbC90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMva2VybmVsL3Rlc3RzL2dlbmVyYXRlZC5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUFkZGVkIG5ldyBhdXRvZ2VuZXJhdGVkIHRlc3QgZm9yIGRhdGEgc3RydWN0dXJlIHBhY2tpbmcuCisKKwkqIHRvb2xzL3dpbmFwaS9NYWtlZmlsZS5pbiwgdG9vbHMvd2luYXBpL2NfcGFyc2VyLnBtLAorCSAgdG9vbHMvd2luYXBpL2NfdHlwZS5wbSwgdG9vbHMvd2luYXBpL3Rlc3RzLmRhdCwKKwkgIHRvb2xzL3dpbmFwaS90ZXN0cy5wbSwgdG9vbHMvd2luYXBpL3dpbmFwaS5wbSwKKwkgIHRvb2xzL3dpbmFwaS93aW5hcGlfY2xlYW51cCwgdG9vbHMvd2luYXBpL3dpbmFwaV9leHRyYWN0LAorCSAgdG9vbHMvd2luYXBpL3dpbmFwaV90ZXN0LCB0b29scy93aW5hcGkvd2luYXBpX3Rlc3Rfb3B0aW9ucy5wbSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay9tb2R1bGVzLnBtLCB0b29scy93aW5hcGlfY2hlY2svd2luYXBpX2Z1bmN0aW9uLnBtOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCS0gQWRkZWQgYSBuZXcgdG9vbCB3aW5hcGlfdGVzdCBmb3IgZ2VuZXJhdGluZyB0ZXN0cy4KKwktIEFkZGVkIGEgZGF0YSBzdHJ1Y3R1cmUgcGFja2luZyB0ZXN0IHRvIHdpbmFwaV90ZXN0LgorCS0gUmVvcmdhbml6ZWQgYW5kIG9wdGltaXplZCBhIGZldyB0aGluZ3MuCisKKwkqIGluY2x1ZGUvb3B0aW9ucy5oLCBpbmNsdWRlL3RocmVhZC5oLCBpbmNsdWRlL3dpbmJhc2UuaCwKKwkgIGluY2x1ZGUvd2luZS9zZXJ2ZXIuaCwgaW5jbHVkZS93aW5udC5oLCBtaXNjL29wdGlvbnMuYywKKwkgIG1pc2NlbXUvbWFpbi5jLCBzY2hlZHVsZXIvc3lzZGVwcy5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUFkZGVkIGEgR05VIEMgaW1wbGVtZW50YXRpb24gb2Ygc29tZSBvZiB0aGUgREVDTFNQRUNfIG1hY3JvcyBhbmQgdXNlZAorCXRoZW0gd2hlcmV2ZXIgcG9zc2libGUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwktIEZpeCBMSVNUIG1vZGUsIGJyb2tlbiBieSBwcmV2aW91cyBjaGFuZ2VzLgorCS0gSW1wbGVtZW50IEdldEl0ZW1SZWN0IGluIHRlcm1zIG9mIEdldEl0ZW1NZWFzdXJlbWVudHMuCisJLSBJbXByb3ZlbWVudHMgaW4gZGVidWcgdHJhY2VzLgorCS0gTWFueSBidWcgZml4ZXMsIGNvbXBlbGV0ZSBpbXBsZW1lbnRhdGlvbiBmb3IgR2V0SXRlbU1lYXN1cmVtZW50cy4KKwktIExvdHMgb2YgY29kZSBjbGVhbnVwcywgc2ltcGxpZmljYXRpb25zLgorCS0gRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgorCisyMDAyLTA5LTMwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmM6IEplZmYgU21pdGggPHdoeWRvdWJ0QGhvdG1haWwuY29tPgorCVBhdGhJc0V4ZTogY29ycmVjdGVkIGFuZCBhZGRlZCBleGVjdXRhYmxlIHR5cGVzLgorCisJKiB3aW5kb3dzL3NweS5jOiBHdXkgTC4gQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCS0gVGhlIFRUTV8gbWVzc2FnZSBuZWVkZWQgdG8gYmUgaW4gY29ycmVjdCBvcmRlci4KKwktIEFkZGVkIFRUTV9HRVRCVUJCTEVTSVpFLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IFBhdWwgUnVwZSA8cHJ1cGVAbXlyZWFsYm94LmNvbT4KKwlQcmV2ZW50IGNyYXNoIHdoZW4gbGlzdHZpZXcgdHJhY2UgbG9nZ2luZyBpcyBvbi4KKworCSogZGxscy9kZHJhdy9kM2RkZXZpY2UvbWFpbi5jOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJSW1wbGVtZW50IFN3YXBUZXh0dXJlSGFuZGxlcyBtZXRob2QuCisKKwkqIGluY2x1ZGUvY29tbWRsZy5oOiBHefZyZ3kgJ05vZycgSmVuZXkgPG5vZ0BzZGYubG9uZXN0YXIub3JnPgorCURlZmluZSBTTkRNU0cuCisKKzIwMDItMDktMjkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHByb2dyYW1zL3dpbmVkYmcvc3RhYnMuYzogR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJQXR0ZW1wdCBhdCBoYW5kbGluZyAnaycgYW5kICdCJyBzeW1ib2xzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IEd1eSBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJLSBFbGltaW5hdGUgZXh0cmEgYmFja2dyb3VuZCBmaWxscy4KKwktIEVsaW1pbmF0ZSBib2d1cyBlcnJvciBtZXNzYWdlcy4KKworCSogd2luMzIvZXhjZXB0LmM6IEZpeGVkIGEgY291cGxlIG9mIGJ1Z3MgaW4gdGhlIGRlYnVnZ2VyIHN0YXJ0dXAuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvbWFrZV9kbGxzOgorCURvbid0IGJ1aWxkIGQzZDggaWYgd2UgZG9uJ3QgaGF2ZSBPcGVuR0wgc3VwcG9ydC4KKworCSogZGxscy9kZHJhdy9tZXNhX3ByaXZhdGUuaDogQWRkZWQgY2hlY2sgZm9yIE9wZW5HTC4KKworCSogaW5jbHVkZS93aW51c2VyLmg6IEd59nJneSAnTm9nJyBKZW5leSA8bm9nQHNkZi5sb25lc3Rhci5vcmc+CisJQWRkZWQge0d8U31ldFdpbmRvd0xvbmdQdHIuCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvY3VzdGNudGwuaDoKKwlHefZyZ3kgJ05vZycgSmVuZXkgPG5vZ0BzZGYubG9uZXN0YXIub3JnPgorCUluaXRpYWwgaW1wbGVtZW50YXRpb24gb2YgY3VzdG9tIGNvbnRyb2wgaGVhZGVyLgorCisJKiBkbGxzL3gxMWRydi94dmlkbW9kZS5jOiBKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJVXNlIGNvcnJlY3QgY2hlY2sgdG8gc2VlIGlmIHhzZXJ2ZXIgc3VwcG9ydHMgeHZpZG1vZGUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwktIENhY2hlIEdXTF9TVFlMRSwgdG8gYXZvaWQgZmV0Y2hpbmcgaW4gdmlydHVhbGx5IGV2ZXJ5IGZ1bmN0aW9uLgorCS0gU2VwYXJhdGUgR2V0T3JpZ2luIGZyb20gR2V0QWxsTWVhc3VyZXMgYXMgaXQgaXMgaXRlbSBpbmRlcGVuZGVudCwKKwkgIGFuZCByZW5hbWUgZnVuY3Rpb24gdG8gcmVmbGVjdCB0aGUgY2hhbmdlLgorCS0gU21hbGwgY2xlYW51cHMuCisKKwkqIGRsbHMvZHNvdW5kL2Rzb3VuZF9tYWluLmM6IE92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCUZpeCBmb3Igc291bmRjYXJkcyB0aGF0IGNhbid0IGRvIDgtYml0IGF1ZGlvLCBvbmx5IDE2LWJpdCAoYWxzbworCWNoZWNrZWQgZm9yIHNvdW5kY2FyZHMgdGhhdCBjYW4ndCBkbyBzdGVyZW8gd2hpbGUgSSB3YXMgYXQgaXQpLgorCisJKiBkbGxzL2RkcmF3L2QzZGV4ZWN1dGVidWZmZXIuYzoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJZXhlY3V0ZTogQWN0aXZhdGUgdGhlIHZpZXdwb3J0IHBhc3NlZCBhcyBwYXJhbWV0ZXIgd2hlbiBleGVjdXRpbmcKKwlidWZmZXIuCisKKwkqIGRsbHMvZGRyYXcvZDNkdmlld3BvcnQuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUltcGxlbWVudCBJRGlyZWN0M0RWaWV3cG9ydDJfRGVsZXRlTGlnaHQuCisKKwkqIGRsbHMvbXN2Y3J0L3NjYW5mLmg6IEp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlGdW5jdGlvbnMgc3NjYW5mIGFuZCBzd3NjYW5mIG5vdyBleHBlY3Qgc3RyaW5ncyB0byBiZSB0ZXJtaW5hdGVkIHdpdGgKKwludWxsICgwKSBpbnN0ZWFkIG9mIEVPRiAoLTEpLgorCisJKiB0b29scy93aW5lbWFrZXI6IEJpbGwgTWVkbGFuZCA8YmlsbG1lZGxhbmRAbG9vay5jYT4KKwlNaW5vciB0eXBvIGZpeC4KKworMjAwMi0wOS0yNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSBpdGVtIGZyb20gdGhlIGxpc3QsIGlmIHdlIGZhaWwgdG8gaW5pdGlhbGl6ZSBpdCBhdCBpbnNlcnQKKwl0aW1lLgorCisJKiBkbGxzL2QzZDgvTWFrZWZpbGUuaW4sIGRsbHMvZDNkOC9iYXNldGV4dHVyZS5jLAorCSAgZGxscy9kM2Q4L2N1YmV0ZXh0dXJlLmMsIGRsbHMvZDNkOC9kM2Q4LnNwZWMsIGRsbHMvZDNkOC9kM2Q4X21haW4uYywKKwkgIGRsbHMvZDNkOC9kM2Q4X3ByaXZhdGUuaCwgZGxscy9kM2Q4L2RldmljZS5jLCBkbGxzL2QzZDgvZGlyZWN0eC5jLAorCSAgZGxscy9kM2Q4L2luZGV4YnVmZmVyLmMsIGRsbHMvZDNkOC9yZXNvdXJjZS5jLCBkbGxzL2QzZDgvc3VyZmFjZS5jLAorCSAgZGxscy9kM2Q4L3N3YXBjaGFpbi5jLCBkbGxzL2QzZDgvdGV4dHVyZS5jLCBkbGxzL2QzZDgvdmVydGV4YnVmZmVyLmMsCisJICBkbGxzL2QzZDgvdm9sdW1lLmMsIGRsbHMvZDNkOC92b2x1bWV0ZXh0dXJlLmMsIGRsbHMvTWFrZWZpbGUuaW46CisJSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlJbml0aWFsIEQzRDggaW1wbGVtZW50YXRpb24uCisKKwkqIGluY2x1ZGUvZDNkOHR5cGVzLmg6IEZpeGVkIG5hbWVsZXNzIHVuaW9uL3N0cnVjdCBkZWNsYXJhdGlvbi4KKworCSogZG9jdW1lbnRhdGlvbi93aW5lbGliLWJpbmRsbHMuc2dtbDoKKwlCaWxsIE1lZGxhbmQgPGJpbGxtZWRsYW5kQGxvb2suY2E+CisJRXhwYW5kZWQgdGhlICJMaW51eCBMaWJyYXJpZXMgYXMgRGxscyIgd2luZWxpYiBzZWN0aW9uIGFuZCBicm91Z2h0IGl0CisJdXAgdG8gZGF0ZS4KKworCSogdG9vbHMvd2luZW1ha2VyOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVVwZGF0ZWQgdGhlIHdyYXBwZXIgY29kZSB0byBtYXRjaCB0aGUgbmV3IG5hbWluZyBleGVjdXRhYmxlIGFuZAorCWxpYnJhcnkgY29udmVudGlvbnMuCisJRXhlY3V0YWJsZXMgZG9uJ3QgbmVlZCBzcGVjIGZpbGVzLgorCVJlbW92ZWQgdW51c2VkIGNvZGUuCisKKwkqIGRsbHMvd2luaW5ldC9odHRwLmMsIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5jLAorCSAgZGxscy93aW5pbmV0L3VybGNhY2hlLmMsIGRsbHMvd2luaW5ldC93aW5pbmV0LnNwZWMsCisJICBkbGxzL3VybG1vbi91bW9uLmMsIGRsbHMvdXJsbW9uL3VybG1vbi5zcGVjOgorCUNocmlzIE1vcmdhbiA8Y21vcmdhbkBhbHVtLndwaS5lZHU+CisJQWRkZWQgc3R1YnMgZm9yIEh0dHBFbmRSZXF1ZXN0QS9XLCBJbnRlcm5ldFJlYWRGaWxlRXhBL1csCisJU2V0VXJsQ2FjaGVFbnRyeUdyb3VwLCBDcmVhdGVVcmxDYWNoZUdyb3VwLCBEZWxldGVVcmxDYWNoZUdyb3VwLgorCisJKiBkbGxzL3VzZXIvdXNlcjE2LmMsIHdpbmRvd3MvY3Vyc29yaWNvbi5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJTW92ZWQgc29tZSAxNi1iaXQgZnVuY3Rpb25zIGZyb20gd2luZG93cy9jdXJzb3JpY29uLmMgdG8KKwlkbGxzL3VzZXIvdXNlcjE2LmMuCisKKwkqIGZpbGVzL2Rvc19mcy5jOiBHefZyZ3kgJ05vZycgSmVuZXkgPG5vZ0BzZGYubG9uZXN0YXIub3JnPgorCUNoZWNrIGZvciBhbiBlbXB0eSBzdHJpbmcgaW4gRE9TRlNfRmluZE5leHRFeCB0byBhdm9pZCBhbiB1bm5lY2Vzc2FyeQorCWZhaWx1cmUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwktIEZpeCBjcmFzaGVzIGluIGRlYnVnIG1vZGUuCisJLSBGaXggc29tZSBmb2N1cyByZWN0YW5nbGUgcHJvYmxlbXMuCisJLSBCZXR0ZXIgZGVidWdnaW5nIG91dHB1dC4KKwktIE1vcmUgY2xlYW51cHMuCisKKwkqIGRsbHMvZGRyYXcvZDNkZXhlY3V0ZWJ1ZmZlci5jOgorCUNocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlSZW1vdmUgd3JvbmcgYW5kIHVzZWxlc3MgdHJhbnNmb3JtYXRpb24gb2YgeiBwcm9qZWN0ZWQgY29vcmRpbmF0ZXMuCisJQWRkIG5vcm1hbHMgd29ybGQgdHJhbnNmb3JtYXRpb24uCisKKwkqIGRsbHMvZGRyYXcvZDNkZGV2aWNlL21lc2EuYywgZGxscy9kZHJhdy9tZXNhX3ByaXZhdGUuaDoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJRml4IGRldmljZXMgY3JlYXRpb24gYnJva2VuIGNvZGUuIE5vdywgdGhlIGRpc3BsYXkgYW5kIHRoZSBkcmF3YWJsZQorCWFyZSByZXRyaWV2ZSB0aHJvdWdoIEdESSBlc2NhcGUgc2VxdWVuY2VzIGFuZCBzdG9yZWQgaW4gdGhlIHByaXZhdGUKKwlkYXRhLiBBZGQgZGVzYWxsb2NhdGlvbiBvZiB0aGUgZGV2aWNlIHByaXZhdGUgZGF0YS4KKworCSogZGxscy9semV4cGFuZC9NYWtlZmlsZS5pbiwgZGxscy9semV4cGFuZC9semV4cGFuZDE2LmMsCisJICBkbGxzL2x6ZXhwYW5kL2x6ZXhwYW5kX21haW4uYzoKKwlHefZyZ3kgJ05vZycgSmVuZXkgPG5vZ0BzZGYubG9uZXN0YXIub3JnPgorCVNwbGl0IHRoZSAxNi1iaXQgZnVuY2l0b25zIGludG8gYSBzZXBlcmF0ZSBmaWxlLgorCisyMDAyLTA5LTI2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3gxMWRydi9ldmVudC5jOgorCUZpeGVkIFgxMSBlcnJvciBjb2RlIG1pc21hdGNoIGFuZCByZW1vdmVkIGRlYnVnZ2luZyBvdXRwdXQuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYzogR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJLSBmaXhlZCB1cCBzb21lIHNlbWFudGljIG1pc3VuZGVyc3RhbmRpbmdzIHVzaW5nIHRoZSBoZWxwZnVsIGFkdmljZSBvZgorCSAgUmVpbiBLbGF6ZXMKKwktIGFkZGVkIFNPX1NORFRJTUVPIHN1cHBvcnQKKwktIGFkZGVkIGlmZGVmJ3MgZm9yIGNvbnNpc3RlbmN5IHdpdGggcmVzdCBvZiBzb2NrZXQuYworCisJKiB0b29scy93aW5lbWFrZXI6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQnJpbmcgdGhlIG5hbWluZyBvZiBsaWJyYXJpZXMgYW5kIGV4ZWN1dGFibGUgdXAgdG8gY3VycmVudCBzdGFuZGFyZHMuCisJSW5zdGFsbCBkbGxzIGFuZCBleGVjdXRhYmxlcyBpbiBkbGxkaXIuCisJSXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSB0byBpbXBvcnQgbnRkbGwuZGxsLgorCisJKiBkbGxzL2RkcmF3L2QzZHZpZXdwb3J0LmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlBZGRlZCBkZXNhbGxvY2F0aW9uIG9mIHRoZSB2aWV3cG9ydCBwcml2YXRlIGRhdGEuCisKKwkqIGRsbHMvZGRyYXcvZDNkbGlnaHQuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUFkZGVkIGFsbG9jYXRpb24vZGVzYWxsb2NhdGlvbiBvZiB0aGUgbGlnaHQgcHJpdmF0ZSBkYXRhLgorCisJKiBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUVuYWJsZSBjcmVhdGlvbiBvZiBvdXIgT3BlbkdMIERpcmVjdDNEIGRldmljZSBmcm9tIGEgc3VyZmFjZSB1c2VkIGFzCisJcmVuZGVyaW5nIHRhcmdldC4KKwlFbmFibGUgY3JlYXRpb24gb2YgYSB0ZXh0dXJlIGZyb20gYSBzdXJmYWNlLgorCisyMDAyLTA5LTI1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3RzX3hsaWIuaCwgcHJvZ3JhbXMvTWFrZXByb2cucnVsZXMuaW4sCisJICBwcm9ncmFtcy9hdml0b29scy9NYWtlZmlsZS5pbiwgdG9vbHMvbWFrZV9YMTF3cmFwcGVycywKKwkgIHRvb2xzL3dpbmV3cmFwcGVyLCBNYWtlLnJ1bGVzLmluLCBNYWtlZmlsZS5pbiwgY29uZmlndXJlLAorCSAgY29uZmlndXJlLmFjLCBkbGxzL01ha2VkbGwucnVsZXMuaW4sIGRsbHMvTWFrZXRlc3QucnVsZXMuaW4sCisJICBkbGxzL3gxMWRydi9NYWtlZmlsZS5pbiwgZGxscy94MTFkcnYvWDExX2NhbGxzLAorCSAgZGxscy94MTFkcnYvdHNfeGxpYi5jLCBkbGxzL3gxMWRydi90c194bGliLmgsCisJICBkbGxzL3gxMWRydi94MTFkcnYuc3BlYywgZGxscy94MTFkcnYveDExZHJ2X21haW4uYzoKKwlNb3ZlZCB0c194bGliLmMgaW50byB4MTFkcnYgYW5kIHJlbW92ZWQgbGlid2luZV90c3gxMS4KKworCSogd2luZG93cy93aW4uYzoKKwlBZGRlZCBtaXNzaW5nIFdJTl9SZWxlYXNlUHRyIChzcG90dGVkIGJ5IERtaXRyeSBUaW1vc2hrb3YpLgorCisJKiBjb250cm9scy9FRElULlRPRE8sIGNvbnRyb2xzL2VkaXQuYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCS0gU3RvcCBwYXNzaW5nIGh3bmQgYXJvdW5kIHdoZW4gd2UncmUgcGFzc2luZyBFRElUU1RBVEUuCisJLSBNZXJnZSB0aGUgbm9uLW9ic29sZXRlIGJpdHMgb2YgRURJVC5UT0RPIGludG8gZWRpdC5jLgorCS0gU29tZSBjbGVhbnVwcywgYW5kIHNpbXBsaWZpY2F0aW9ucy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBQYXVsIFJ1cGUgPHBydXBlQG15cmVhbGJveC5jb20+CisJLSBJbml0aWFsaXplIG1lbW9yeSB0byBwcmV2ZW50IGNyYXNoZXMgd2hlbiAtZGVidWdtc2cgK2xpc3R2aWV3IGlzIG9uLgorCS0gRml4IHZhcmlvdXMgYXJyYXkgYm91bmRzIHJlbGF0ZWQgZXJyb3JzLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMydW5kb2MuYzogUGF1bCBSdXBlIDxwcnVwZUBteXJlYWxib3guY29tPgorCVJlc2l6ZSBkeW5hbWljIHBvaW50ZXIgYXJyYXkgbW9yZSBjYXJlZnVsbHkgd2hlbiBhZGRpbmcgbmV3IGVudHJpZXMuCisKKwkqIGRsbHMvZGRyYXcvbWVzYS5jOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJQWRkZWQgc3VwcG9ydCBmb3IgUE9JTlQsIFdJUkVGUkFNRSBhbmQgU09MSUQgZmlsbCBtb2Rlcy4KKworCSogZGxscy9kZHJhdy9kM2R0ZXh0dXJlLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlJRGlyZWN0M0RUZXh0dXJlMkltcGxfTG9hZDogd2hlbiB0aGUgc3VyZmFjZSBpcyBub3QgYWxsb2NhdGVkIGFuZCBubworCWxvY2F0aW9uIGFyZSBzcGVjaWZpZWQsIHNldCBpdCB0byB2aWRlbyBtZW1vcnkuCisKKwkqIGRsbHMvb3BlbmdsMzIvb3BlbmdsX2V4dC5oLCBkbGxzL29wZW5nbDMyL29wZW5nbF9ub3JtLmMsCisJICBkbGxzL29wZW5nbDMyL3dnbC5jLCBkbGxzL3gxMWRydi94MTFkcnYuc3BlYywKKwkgIGRsbHMveDExZHJ2L3gxMWRydl9tYWluLmMsIGdyYXBoaWNzL3gxMWRydi9vcGVuZ2wuYywKKwkgIGluY2x1ZGUvd2luZV9nbC5oLCBpbmNsdWRlL3gxMWRydi5oLCBkbGxzL2RkcmF3L01ha2VmaWxlLmluLAorCSAgZGxscy9kZHJhdy9tYWluLmMsIGRsbHMvZGRyYXcvbWVzYV9wcml2YXRlLmgsCisJICBkbGxzL29wZW5nbDMyL01ha2VmaWxlLmluLCBkbGxzL29wZW5nbDMyL21ha2Vfb3BlbmdsLAorCSAgZGxscy9vcGVuZ2wzMi9vcGVuZ2xfZXh0LmM6CisJSW1wb3J0IHdpbmVfdHN4MTFfbG9jay91bmxvY2sgZGlyZWN0bHkgZnJvbSB4MTFkcnYgaW4gb3BlbmdsMzIgYW5kCisJZGRyYXcsIHNvIHRoYXQgdGhleSBkb24ndCBuZWVkIHRvIGxpbmsgd2l0aCBsaWJ3aW5lX3RzeDExLgorCVJlbW92ZWQgaGVhZGVyIHdpbmVfZ2wuaC4KKworCSogZGxscy91c2VyL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvdXNlci90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvdXNlci90ZXN0cy93aW4uYywgaW5jbHVkZS93aW4uaCwgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLAorCSAgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3RyYWNlLmMsIHNlcnZlci93aW5kb3cuYywgd2luZG93cy93aW4uYzoKKwlGaXhlZCBhIG51bWJlciBvZiBidWdzIGluIHRoZSBoYW5kbGluZyBvZiB3aW5kb3cgcGFyZW50IGFuZCBvd25lciBhbmQKKwlhZGRlZCBhIHJlZ3Jlc3Npb24gdGVzdCAoYmFzZWQgb24gdGhlIHdvcmsgb2YgQmlsbCBNZWRsYW5kKS4KKworCSogZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZywgbG9hZGVyL2xvYWRvcmRlci5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQnkgZGVmYXVsdCwgd2Ugc2hvdWxkIHVzZSBvdXIgb3duIGRsbHMuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYzogR3JlZyBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJQWNjZXB0IHRpbWVfdCBhcmd1bWVudCBpbiBXU19zZXRzb2Nrb3B0L1dTX1NPX1JDVlRJTUVPOyB0cmFuc2xhdGUgdG8KKwlzdHJ1Y3QgdGltZXZhbCBmb3IgZWRpZmljYXRpb24gb2Ygc2V0c29ja29wdC4KKworMjAwMi0wOS0yNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogdG9vbHMvbWFrZV9YMTF3cmFwcGVycywgZGxscy94MTFkcnYvZGdhMi5jLCBkbGxzL3gxMWRydi9ldmVudC5jLAorCSAgZGxscy94MTFkcnYva2V5Ym9hcmQuYywgZGxscy94MTFkcnYvbW91c2UuYywgZGxscy94MTFkcnYvc2Nyb2xsLmMsCisJICBkbGxzL3gxMWRydi93aW5kb3cuYywgZGxscy94MTFkcnYvd2lucG9zLmMsCisJICBkbGxzL3gxMWRydi94MTFkcnZfbWFpbi5jLCBkbGxzL3gxMWRydi94dmlkbW9kZS5jLAorCSAgZ3JhcGhpY3MveDExZHJ2L2JpdG1hcC5jLCBncmFwaGljcy94MTFkcnYvZGliLmMsCisJICBncmFwaGljcy94MTFkcnYvZ3JhcGhpY3MuYywgaW5jbHVkZS90c194Zjg2ZGdhMi5oLAorCSAgaW5jbHVkZS90c194Zjg2dm1vZGUuaCwgaW5jbHVkZS90c194bGliLmgsIGluY2x1ZGUvdHNfeHV0aWwuaDoKKwlSZW1vdmVkIHNvbWUgbW9yZSBUU1gxMSBmdW5jdGlvbnMgYW5kIGZpbGVzLgorCisJKiBsb2FkZXIvbmUvY29udmVydC5jLCBsb2FkZXIvbmUvbW9kdWxlLmMsIG1lbW9yeS9lbnZpcm9uLmMsCisJICBtZW1vcnkvZ2xvYmFsLmMsIG1lbW9yeS9zZWxlY3Rvci5jLCBvYmplY3RzL2NsaXBwaW5nLmMsIG9iamVjdHMvZGMuYywKKwkgIG9iamVjdHMvZGN2YWx1ZXMuYywgb2JqZWN0cy9tZXRhZmlsZS5jLCBvYmplY3RzL3BhbGV0dGUuYywKKwkgIHdpbmRvd3MvY3Vyc29yaWNvbi5jLCB3aW5kb3dzL2RpYWxvZy5jLCB3aW5kb3dzL2RyaXZlci5jLAorCSAgd2luZG93cy9ob29rLmMsIHdpbmRvd3MvbWVzc2FnZS5jLCB3aW5kb3dzL3F1ZXVlLmMsCisJICB3aW5kb3dzL3dpbnByb2MuYywgZGxscy9nZGkvZ2RpMTYuYywgZGxscy9nZGkvbWZkcnYvaW5pdC5jLAorCSAgZGxscy9nZGkvcHJpbnRkcnYuYywgZGxscy9uZXRhcGkzMi9hY2Nlc3MuYywgZGxscy9uZXRhcGkzMi9icm93c3IuYywKKwkgIGRsbHMvbmV0YXBpMzIvd2tzdGEuYywgZGxscy91c2VyL21zZzE2LmMsIGxvYWRlci9tb2R1bGUuYywKKwkgIGxvYWRlci9yZXNvdXJjZS5jLCBsb2FkZXIvdGFzay5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeGVkIHNvbWUgaXNzdWVzIGZvdW5kIGJ5IHdpbmFwaV9jaGVjay4KKworCSogdG9vbHMvd2luYXBpL3dpbjMyLmFwaSwgdG9vbHMvd2luYXBpL3dpbmFwaS5wbSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9kb2N1bWVudGF0aW9uLnBtOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCS0gRG9uJ3QgYWRkIHN0YW5kYXJkIGhlYWRlcnMgZm9yIHRoZSBkbGwgc2VwYXJhdGlvbiBoYWNrcy4KKwktIEFQSSBmaWxlcyB1cGRhdGUuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogR3V5IEwuIEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwktIExvY2FsaXplIG9yaWdpbiwgbG9jYXRpb24sIGFuZCByZWN0YW5nbGUgY29tcHV0YXRpb24uCisJLSBTdXBwb3J0IHN0YXRlIGljb25zIGluIExWU19JQ09OIHN0eWxlLgorCS0gRHJhdyBvbmx5IGl0ZW1zIHRoYXQgYXJlIGluIHRoZSBjbGlwIGJveC4KKwktIERyYXcgbm9uLXNlbGVjdGVkIGl0ZW1zIGZpcnN0IHRoZW4gdGhlIHNlbGVjdGVkIG9uZXMgYmVjYXVzZSBsYXJnZQorCSAgaWNvbnMgbWF5IG92ZXJsYXAgZWFjaCBvdGhlci4KKwktIENvcnJlY3QgaW52YWxpZGF0aW9uIHJlY3RhbmdsZXMgZm9yIGl0ZW1zLgorCS0gQ29ycmVjdCBkcmF3aW5nIG9mIGxhcmdlIGljb25zLgorCS0gRWxpbWluYXRlIGRpdmlkZSBieSB6ZXJvIGNhc2VzIGluIHNjcm9sbGluZy4KKwktIEludmFsaWRhdGUgc2VsZWN0ZWQgaXRlbXMgcHJpb3IgdG8gc2V0dGluZyB3aW5kb3cgbG9zaW5nIGZvY3VzLgorCisJKiBkbGxzL2NvbWN0bDMyL3N0YXR1cy5jLCBpbmNsdWRlL3dpbi5oLCBkbGxzL2NvbWN0bDMyL2ltYWdlbGlzdC5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJU21hbGwgY2xlYW51cHMsIHVwZGF0ZWQgZG9jdW1lbnRhdGlvbi4KKworCSogZGxscy94MTFkcnYvd2lucG9zLmM6IEZpeGVkICNlbmRpZi4KKworCSogdG9vbHMvbWFrZV9YMTF3cmFwcGVycywgZGxscy94MTFkcnYvZXZlbnQuYywgZGxscy94MTFkcnYva2V5Ym9hcmQuYywKKwkgIGRsbHMveDExZHJ2L3dpbnBvcy5jLCBkbGxzL3gxMWRydi94MTFkcnZfbWFpbi5jLAorCSAgZ3JhcGhpY3MveDExZHJ2L2RpYi5jLCBpbmNsdWRlL3RzX3NoYXBlLmgsIGluY2x1ZGUvdHNfeGY4NmRnYS5oLAorCSAgaW5jbHVkZS90c194Zjg2ZGdhMi5oLCBpbmNsdWRlL3RzX3hmODZ2bW9kZS5oLCBpbmNsdWRlL3RzX3hsaWIuaCwKKwkgIGluY2x1ZGUvdHNfeHJlc291cmNlLmgsIGluY2x1ZGUvdHNfeHNobS5oLCBpbmNsdWRlL3RzX3h1dGlsLmgsCisJICBpbmNsdWRlL3RzX3h2aWRlby5oOgorCVJlbW92ZWQgYSBidW5jaCBvZiBubyBsb25nZXIgdXNlZCBUU1ggd3JhcHBlcnMuCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWM6IFBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeGVkIHNvbWUgaXNzdWVzIGZvdW5kIGJ5IHdpbmFwaV9jaGVjay4KKworCSogZGxscy9jb21jYXQvY29tY2F0X21haW4uYywgZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxscmVnLmMsIGluY2x1ZGUvd2luZGVmLmg6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlDb252ZXJ0IEhLRVkgdG8gYSB2b2lkKi4KKworCSogdG9vbHMvd2luYXBpL3dpbjMyLmFwaSwgdG9vbHMvd2luYXBpX2NoZWNrL3dpbmFwaV9sb2NhbC5wbToKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwktIEFkZGVkIHN1cHBvcnQgZm9yICVzdHJ1Y3QxNiAodXNlZCBieSBDTFNJRCkuCisJLSBBUEkgZmlsZXMgdXBkYXRlLgorCisJKiBkb2N1bWVudGF0aW9uL3JlZ2lzdHJ5LnNnbWwsIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcsCisJICBtaXNjL3JlZ2lzdHJ5LmM6CisJUmF1bCBEaWFzIDxyYXVsQGRpYXMuY29tLmJyPgorCUFkZGVkIG5ldyAiR2xvYmFsUmVnaXN0cnlEaXIiIG9wdGlvbi4KKworCSogaW5jbHVkZS93aW5zb2NrLmg6IFBhdHJpY2sgSi4gTWNOZXJ0aG5leSA8cGF0QG1jbmVydGhuZXkuY29tPgorCVJlbW92ZWQgdGhlICN1bmRlZiBvZiBXU19ERUZJTkVfU0VMRUNUIHNvIHRoYXQgc2VsZWN0IGlzIGluIGZhY3QKKwlkZWZpbmVkLgorCUZpeGVkIGlmIHN0YXRlbWVudCBpbiBfX1dTX0ZEX1NFVDIgd2hpY2ggdXNlZCBhID0gd2hlcmUgYSA9PSBpcworCW5lZWRlZCwgaW4gYWRkaXRpdGlvbiB0aGUgaWYgZGlkIG5vdCBoYXZlIGl0cyBvdXRlciBzZXQgb2YKKwlwYXJlbnRoZXNpcy4KKwlSZW1vdmVkIHBhcmVudGhlc2VzIGFyb3VuZCB0eXBlIHRvIGJlIGNhc3QgaW4gX19XU19GRF9TRVQgbWFjcm8uCisJUmVtb3ZlZCBXUyBtYWNybyB1c2FnZSBmcm9tIHdpdGhpbiBvdGhlciBtYWNyb3MgYmVjYXVzZSB0aGUgV1MgbWFjcm8KKwlpcyB1bmRlZmluZWQgd2hlbiB0aGVzZSBtYWNyb3MgYXJlIGV4cGFuZGVkLgorCUFkZGVkIFdJTkFQSSBhdHRyaWJ1dGVlIHRvIHNlbGVjdCBkZWZpbml0aW9uLgorCisJKiBpbmNsdWRlL21zdmNydC9jcnRkYmcuaDogUGF0cmljayBKLiBNY05lcnRobmV5IDxwYXRAbWNuZXJ0aG5leS5jb20+CisJQWRkZWQgY2FzdHMgdG8gYWxsIG1hY3JvcyB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncy4KKworMjAwMi0wOS0yMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlbW92ZSBzb21lIG1vcmUgc3VwZXJmbHVvdXMgWmVyb01lbW9yeSBjYWxscywgc21hbGwgY2xlYW51cHMuCisKKwkqIGRsbHMvdXNlci91c2VyMzIuc3BlYywgZGxscy94MTFkcnYvZXZlbnQuYywgd2luZG93cy93aW4uYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCS0gUmVtb3ZlIGV4cG9ydCBvZiBEUkFHX1F1ZXJ5VXBkYXRlIGZyb20gVVNFUi4KKwktIEdldCByaWQgb2YgYXNzb2NpYXRlZCAxNiBiaXQgY29kZSBmcm9tIHgxMWRydi4KKwktIFNpbXBsaWZpY2F0aW9ucywgY2xlYW51cHMsIGV0Yy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCS0gRml4IG91dHB1dHRpbmcgb2YgYSB0ZXh0IHBvaW50ZXIgaW4gZGVidWcgbW9kZSAoYnkgUmVpbiBLbGF6ZXMpLgorCS0gUmVtb3ZlIGEgbGFyZ2UgYnVuY2ggb2Ygc3VwZXJmbHVvdXMgWmVyb01lbW9yeSBjYWxscy4KKwktIEZpeCBhIGNvdXBsZSBvZiBidWdzLgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmMsIGRsbHMvZ2RpL2ZyZWV0eXBlLmMsCisJICBkbGxzL2tlcm5lbC90ZXN0cy9lbnZpcm9uLmMsIGRsbHMvcmljaGVkaXQvcmVhZGVyLmMsCisJICBkbGxzL3JpY2hlZGl0L3J0Zi5oLCBkbGxzL3JpY2hlZGl0L3N0ZGNoYXJuYW1lcy5oLAorCSAgaW5jbHVkZS93aW5lL29ial9iYXNlLmgsIGluY2x1ZGUvd2luc29jazIuaDoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlDbGVhbmVkIHVwIHRoZSBjb2RlIHNvIGl0IHdvdWxkIGJlIGVhc2llciB0byBwYXJzZSB3aXRoIHRoZSBuZXcgQworCXBhcnNlci4KKworCSogdG9vbHMvd2luYXBpL2NfcGFyc2VyLnBtLCB0b29scy93aW5hcGkvY190eXBlLnBtLAorCSAgdG9vbHMvd2luYXBpL3dpbmFwaV9leHRyYWN0LCB0b29scy93aW5hcGkvd2luYXBpX2V4dHJhY3Rfb3B0aW9ucy5wbSwKKwkgIHRvb2xzL3dpbmFwaS93aW5hcGlfZml4dXAsIHRvb2xzL3dpbmFwaV9jaGVjay93aW5hcGlfY19wYXJzZXIucG06CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJLSBNYWRlIHRoZSBuZXcgQyBwYXJzZXIgaGFuZGxlIHRoZSBjdXJyZW50IFdpbmUgc291cmNlLgorCS0gQWRkZWQgYSBjb21wYWJpbGxpdHkgbGF5ZXIgYmV0d2VlbiB0aGUgb2xkIGFuZCB0aGUgbmV3IEMgcGFyc2VyLgorCS0gQWRkZWQgcGFyc2luZyBvZiBkYXRhIHN0cnVjdHVyZXMuCisKKwkqIGRsbHMvbmV0YXBpMzIvdGVzdHMvLmN2c2lnbm9yZSwgZGxscy9uZXRhcGkzMi90ZXN0cy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvbmV0YXBpMzIvdGVzdHMvYWNjZXNzLmMsIGRsbHMvbmV0YXBpMzIvdGVzdHMvd2tzdGEuYywKKwkgIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvbG0uaCwgaW5jbHVkZS9sbWFjY2Vzcy5oLAorCSAgaW5jbHVkZS9sbWJyb3dzci5oLCBpbmNsdWRlL2xtY29ucy5oLCBpbmNsdWRlL2xtZXJyLmgsCisJICBkbGxzL25ldGFwaTMyL01ha2VmaWxlLmluLCBkbGxzL25ldGFwaTMyL2FjY2Vzcy5jLAorCSAgZGxscy9uZXRhcGkzMi9hcGlidWYuYywgZGxscy9uZXRhcGkzMi9icm93c3IuYywKKwkgIGRsbHMvbmV0YXBpMzIvbmV0YXBpMzIuc3BlYywgZGxscy9uZXRhcGkzMi9uZXRhcGkzMl9taXNjLmgsCisJICBkbGxzL25ldGFwaTMyL3drc3RhLmM6CisJQW5kcml5IFBhbGFtYXJjaHVrIDxhcGEzYUB5YWhvby5jb20+CisJSW1wbGVtZW50ZWQgTmV0UXVlcnlEaXNwbGF5SW5mb3JtYXRpb24sIE5ldFVzZXJHZXRJbmZvLCBjcmVhdGVkCisJY29uZm9ybWFuY2UgdGVzdHMsIG90aGVyIG5ldGFwaTMyIGJ1ZyBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzLgorCisJKiB0b29scy93aW5laW5zdGFsbDogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJSW5zdGFsbCBub3RlcGFkLmV4ZSBpbiBjOlx3aW5kb3dzIHRvby4KKworMjAwMi0wOS0yMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogc2NoZWR1bGVyL3RocmVhZC5jLCB3aW4zMi9uZXdmbnMuYywgY29udHJvbHMvZWRpdC5jLAorCSAgZGxscy93aW5lZG9zL2Rvc3ZtLmMsIGluY2x1ZGUvYmFzZXRzZC5oLCBpbmNsdWRlL3dpbmJhc2UuaCwKKwkgIG1lbW9yeS9nbG9iYWwuYywgbWVtb3J5L2hlYXAuYywgbWVtb3J5L2xvY2FsLmMsIG1lbW9yeS92aXJ0dWFsLmMsCisJICBzY2hlZHVsZXIvcHJvY2Vzcy5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBiYWlrYWwucnU+CisJQ29ycmVjdCBTSVpFX1Qgc2l6ZSBhY2NvcmRpbmcgdG8gTVMgU0RLLgorCUNoYW5nZSBzb21lIHR5cGVzIHRvIFNJWkVfVCBhY2NvcmRpbmcgdG8gTVMgU0RLIGRlZmluaXRpb25zLgorCisJKiBpbmNsdWRlL2QzZDh0eXBlcy5oOiBKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCUFkZGVkIHNvbWUgZGVmaW5pdGlvbnMuCisKKwkqIGRvY3VtZW50YXRpb24vZGVidWdnZXIuc2dtbDogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJVXBkYXRlZCB3aW5lZGJnIGRvY3VtZW50YXRpb24uCisKKwkqIGRvY3VtZW50YXRpb24vd2luZWxpYi1iaW5kbGxzLnNnbWw6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlDaGFuZ2UgY29uZnVzaW5nIHRpdGxlLgorCisyMDAyLTA5LTIwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3NobHdhcGkuaCwgZGxscy9zaGx3YXBpL29yZGluYWwuYywgZGxscy9zaGx3YXBpL3BhdGguYywKKwkgIGRsbHMvc2hsd2FwaS9yZWdzdHJlYW0uYywgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYywKKwkgIGRsbHMvc2hsd2FwaS9zdHJpbmcuYywgZGxscy9zaGx3YXBpL3RocmVhZC5jLCBkbGxzL3NobHdhcGkvdXJsLmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlSZW9yZ2FuaXNlL21pbm9yIHRpZHl1cCBvZiBvcmRpbmFsIGZ1bmN0aW9ucy4KKwlJbXBsZW1lbnQgU3RyQ21wTG9naWNhbFcsU3RyRm9ybWF0Qnl0ZVNpemVBL1csU3RyRm9ybWF0Qnl0ZVNpemU2NEEsCisJU0hDcmVhdGVTdHJlYW1XcmFwcGVyLgorCUZpeCBzb21lIG91dHB1dCAuc3BlYyBwYXJhbWV0ZXJzIGZyb20gc3RyIHRvIHB0ci4KKwlGaXggZGVmaW5pdGlvbiBvZiBTdHJGb3JtYXRCeXRlU2l6ZSBmdW5jdGlvbnMuCisKKwkqIGRvY3VtZW50YXRpb24vd2luZWxpYi10b29sa2l0LnNnbWw6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlTbWFsbCB1cGRhdGVzIHRvIGJldHRlciBtYXRjaCB0aGUgZm9ybWF0IG9mIGN1cnJlbnQgTWFrZWZpbGVzLgorCVJlbW92ZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBubyBsb25nZXIgc3VwcG9ydGVkIHNwZWMgZmlsZSBvcHRpb25zLgorCUFkZCBub3RlcyB0byBwb2ludCBvdXQgdGhlIHNlY3Rpb25zIHRoYXQgYXJlIHBhcnRpY3VsYXJseSBvdXQgb2YKKwlkYXRlLgorCisJKiBkb2N1bWVudGF0aW9uL3BzZHJ2LnJlZywgd2luZWRlZmF1bHQucmVnOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTW92ZSB0aGUgY29udGVudHMgb2YgZG9jdW1lbnRhdGlvbi9wc2Rydi5yZWcgdG8gd2luZWRlZmF1bHQucmVnLgorCisJKiBkbGxzL3VzZXIvdXNlcjMyLnNwZWMsIGRsbHMveDExZHJ2L3Njcm9sbC5jLCB3aW5kb3dzL3Njcm9sbC5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJSGF2ZSBVU0VSIGRlYWwgd2l0aCB0aGUgY2FyZXQgd2hlbiBzY3JvbGxpbmcgYSB3aW5kb3cuCisKKwkqIGRvY3VtZW50YXRpb24vd2luZS50ZXhpbmZvOiBBbmRyaXkgUGFsYW1hcmNodWsgPGFwYTNhQHlhaG9vLmNvbT4KKwlBZGRlZCBpbmZvcm1hdGlvbiBhYm91dCBQT1NJWCwgVW5peCwgWDExIHRyYWRlbWFya3MuCisKKwkqIHRvb2xzL3dpbmVkdW1wL291dHB1dC5jOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVVwZGF0ZSBvdXRwdXQgZm9yIGN1cnJlbnQgYnVpbGQgcHJvY2Vzcy4KKworCSogdG9vbHMvd2luZWR1bXAvUkVBRE1FOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCURvY3VtZW50YXRpb24gdXBkYXRlLgorCisyMDAyLTA5LTE4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL250ZGxsL2NyaXRzZWN0aW9uLmMsIGRsbHMvbnRkbGwvaGVhcC5jOgorCUF2b2lkIGNhbGxpbmcgc29tZSBrZXJuZWwgZnVuY3Rpb25zLgorCisJKiBERVZFTE9QRVJTLUhJTlRTOiBVcGRhdGVkIGEgbG90IG9mIG9ic29sZXRlIHN0dWZmLgorCisJKiBwcm9ncmFtcy9NYWtlZmlsZS5pbjogT25seSBpbnN0YWxsIHRoZSB1c2VmdWwgcHJvZ3JhbXMuCisKKwkqIGRsbHMveDExZHJ2L2V2ZW50LmMsIGRsbHMveDExZHJ2L3dpbmRvdy5jLCBkbGxzL3gxMWRydi94MTFkcnZfbWFpbi5jLAorCSAgZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZywgaW5jbHVkZS94MTFkcnYuaDoKKwlBZGRlZCBzdXBwb3J0IGZvciB0aGUgdGFrZSBmb2N1cyBwcm90b2NvbC4KKworCSogZG9jdW1lbnRhdGlvbi9wcm9ncmFtcywgZG9jdW1lbnRhdGlvbi93aW5zb2NrOgorCVJlbW92ZWQgb2Jzb2xldGUgZmlsZXMuCisKKwkqIGxpYnJhcnkvLmN2c2lnbm9yZSwgdW5pY29kZS8uY3ZzaWdub3JlOgorCVN0ZXZlbiBFZHdhcmRzIDxTdGV2ZW5fRWQ0MTUzQHlhaG9vLmNvbT4KKwlVcGRhdGUgZm9yIG1pbmd3L2N5Z3dpbi4KKworCSogdG9vbHMvd2luZW1ha2VyOiBNYXJ0aW4gV2lsY2sgPE1hcnRpbi5XaWxja0BmdWppdHN1LXNpZW1lbnMuY29tPgorCU1ha2UgYWxsIHRhcmdldCBuYW1lcyBsb3dlciBjYXNlLgorCisJKiBERVZFTE9QRVJTLUhJTlRTOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVVwZGF0ZSBkZWJ1ZyBjaGFubmVsIHVzYWdlIGluIERFVkVMT1BFUi1ISU5UUy4KKwlSZW1vdmUgcmVmZXJlbmNlcyB0byBvYnNvbGV0ZSBkaXJzLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJLSBCZXR0ZXIgaW1wbGVtZW50YXRpb24gZm9yIEdldFRvcGluZGV4L0dldE9yaWdpbi9TZXRJY29uU3BhY2luZy4KKwktIERyYXdpbmcgb3B0aW1pemF0aW9ucywgYmV0dGVyIHNjcm9sbGluZy4KKwktIEEgZmV3IG1vcmUgYnVncyBzcXVhc2hlZCB3aXRob3V0IG1lcmN5LgorCS0gTWFueSBjbGVhbnVwcywgc2ltcGxpZmljYXRpb25zLCBkb2MgdXBkYXRlcy4KKworCSogZG9jdW1lbnRhdGlvbi9SRUFETUUuZnI6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlTbWFsbCB1cGRhdGUgdG8ga2VlcCBpbiBzeW5jIHdpdGggUkVBRE1FLgorCisyMDAyLTA5LTE3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL250ZGxsL01ha2VmaWxlLmluLCBkbGxzL250ZGxsL2hlYXAuYywKKwkgIGRsbHMvbnRkbGwvbnQuYywgZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL3ZpcnR1YWwuYywKKwkgIGluY2x1ZGUvd2luYmFzZS5oLCBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIGluY2x1ZGUvd2lubnQuaCwKKwkgIGluY2x1ZGUvd2ludGVybmwuaCwgbWVtb3J5L3ZpcnR1YWwuYywgc2VydmVyL21hcHBpbmcuYywKKwkgIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci90cmFjZS5jOgorCUltcGxlbWVudGVkIHRoZSBudGRsbCB2aXJ0dWFsIG1lbW9yeSBmdW5jdGlvbnMsIGFuZCBtYWRlIHRoZSBrZXJuZWwKKwlmdW5jdGlvbnMgdXNlIHRoZW0uCisKKwkqIGRvY3VtZW50YXRpb24vTWFrZWZpbGUuaW46IEFkZGVkIHRlc3Rpbmcuc2dtbC4KKworCSogY29udHJvbHMvbWVudS5jOgorCVJlbW92ZSBjbGVhcmluZyBvZiB0aGUgd2luZG93IG1lbnUgaWQgZm9yIG5vdy4gVGhpcyB3aWxsIG5lZWQgbW9yZQorCXdvcmsuCisKKwkqIGRvY3VtZW50YXRpb24vdGVzdGluZy5zZ21sOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlFeHBsYWluIHdoeSBjb25mb3JtYW5jZSB0ZXN0cyBhcmUgdXNlZnVsIGZvciBwb3J0cyB0b28uCisKKwkqIGRsbHMvY29tbWRsZy9maWxlZGxnOTUuYzogSm9zZWYgTWVpeG5lciA8Sm9zZWYuTWVpeG5lckB0LW9ubGluZS5kZT4KKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCS0gSW5pdGlhbGl6aW5nIHRoZSByZXR1cm4tc3RyaW5nIHNob3VsZG4ndCBjaGFuZ2UgdGhlIHBvaW50ZXIuCisJLSBBZGRlZCAiRklYTUUiIGZvciBjYXNlIG5vdCBoYW5kbGVkLgorCS0gRGlyZWN0b3J5IGFuZCB0aGUgZmlsZW5hbWVzIGhhdmUgdG8gYmUgc2VwYXJhdGVkIGJ5ICJcMCIuCisJLSBBZGRlZCBjaGVjayB0byBoYW5kbGUgcG9zc2libGUgc2lnbmVkL3Vuc2lnbmVkIG92ZXJmbG93LgorCisJKiBpbmNsdWRlL21zdmNydC9lcnJuby5oLCBkbGxzL21zdmNydC9kaXIuYywgZGxscy9tc3ZjcnQvZXJybm8uYywKKwkgIGRsbHMvbXN2Y3J0L2ZpbGUuYywgZGxscy9tc3ZjcnQvaGVhcC5jLCBkbGxzL21zdmNydC9tYXRoLmMsCisJICBkbGxzL21zdmNydC9tc19lcnJuby5oLCBkbGxzL21zdmNydC9wcm9jZXNzLmMsIGluY2x1ZGUvTWFrZWZpbGUuaW46CisJTWFydGluIFdpbGNrIDxNYXJ0aW4uV2lsY2tARnVqaXRzdS1TaWVtZW5zLmNvbT4KKwlNU1ZDUlQgbmVlZHMgYSBwdWJsaWMgZXJybm8uaCBmaWxlLgorCisJKiB0b29scy93aW5lbWFrZXI6IE1hcnRpbiBXaWxjayA8TWFydGluLldpbGNrQEZ1aml0c3UtU2llbWVucy5jb20+CisJRml4ICJpbnN0YWxsIiBhbmQgInVuaW5zdGFsbCIgdGFyZ2V0czogLmV4ZSAtPiAuZXhlLnNvOyB0YXJnZXQgZGlyIGlzCisJJChkbGxkaXIpLCBsaWtlIGZvciB0aGUgImJ1aWx0aW4iIHdpbmUgYmluYXJpZXMuCisKKwkqIGRsbHMvYWR2YXBpMzIvc2VjdXJpdHkuYzogQW5kcml5IFBhbGFtYXJjaHVrIDxhcGEzYUB5YWhvby5jb20+CisJTWFrZSBMc2FPcGVuUG9saWN5IHJldHVybiBzdWNjZXNzLgorCisJKiB0b29scy93aW5lZHVtcC9tYWluLmM6IEphbiBLcmF0b2NodmlsIDxzaG9ydEB1Y3cuY3o+CisJQnVnIGZpeC4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGwzMi5oLCBkbGxzL2NvbWN0bDMyL2NvbWN0bF9Fbi5yYywKKwkgIGRsbHMvY29tY3RsMzIvaG90a2V5LmM6CisJR3lvcmd5ICdOb2cnIEplbmV5IDxub2dAc2RmLmxvbmVzdGFyLm9yZz4KKwktIFVuaWNvZGVpZnkgY29udHJvbC4KKwktIHVzZSB2b2lkIGluc3RlYWQgb2YgVk9JRC4KKwktIFBhc3MgaW5mb1B0ciBhcm91bmQgaW5zdGVhZCBvZiBIV05ELgorCS0gSW1wbGVtZW50IG1vc3Qgb2YgdGhlIGNvbnRyb2wuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwktIE9wdGltaXplIHRoZSBoZWNrIG91dCBvZiBSZXBvcnQgZHJhd2luZy4KKwktIEEgYml0IG9mIG9yZ2FuaXphdGlvbiwgZm9yIHNhbml0eSdzIHNha2UuCisJLSBNYW55IHNpbXBsaWZpY2F0aW9ucywgY2xlYW51cHMsIGV0Yy4KKworCSogZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZywgZG9jdW1lbnRhdGlvbi93aW5lLmNvbmYubWFuOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTW92ZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgJ1Nob3dEaXJTeW1saW5rcycgd2hlcmUgaXQgYmVsb25nczogdG8gdGhlCisJd2luZS5jb25mIG1hbiBwYWdlLgorCisJKiBjb250cm9scy9lZGl0LmMsIGRsbHMvY29tY3RsMzIvY29tbWN0cmwuYywgZGxscy9udGRsbC9oZWFwLmMsCisJICBkbGxzL3NoZWxsMzIvc2h2X2JnX2NtZW51LmMsIGRsbHMvc2hlbGwzMi9zaHZfaXRlbV9jbWVudS5jLAorCSAgZGxscy9zaGx3YXBpL3Rlc3RzL2NsaXN0LmMsIGZpbGVzL3NtYi5jLCBpbmNsdWRlL2NvbW1jdHJsLmgsCisJICBpbmNsdWRlL2ltYWdlaGxwLmgsIGluY2x1ZGUvbW1zeXN0ZW0uaCwgaW5jbHVkZS93aW5udC5oLAorCSAgaW5jbHVkZS93aW50ZXJubC5oLCB3aW5kb3dzL3dpbnByb2MuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlSZW1vdmUgcmVmZXJlbmNlcyB0byBQQ1ZPSUQgYW5kIExQVUlOVC4KKwlSZW1vdmUgdHlwZXMgdGhhdCBkb24ndCBleGlzdCBvbiBXaW5kb3dzLgorCisJKiBtZW1vcnkvdmlydHVhbC5jOgorCUZpeGVkIGltcG9ydCBkaXJlY3RvcnkgbGltaXRzIChzcG90dGVkIGJ5IEphbiBLcmF0b2NodmlsKS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBTYW5kZXIgdmFuIExlZXV3ZW4gPHNhbmRlcnZsQHhzNGFsbC5ubD4KKwlMaXN0dmlld19Qcm9jZXNzTGV0dGVyS2V5czogZml4ZWQgbmV2ZXIgZW5kaW5nIGxvb3Agd2hlbiBlbmQgaW5kZXggaXMKKwl6ZXJvLgorCisJKiBkbGxzL3dpbm1tL3dpbmVhcnRzL2F1ZGlvLmM6CisJSmVycnkgSmVua2lucyA8SmVycnlfSl9KZW5raW5zQGhvdG1haWwuY29tPgorCU1vZGlmaWVkIHZvbHVtZV9lZmZlY3Q4IGZvciB0YWtpbmcgdW5zaWduZWQgZGF0YSBhcyBzaWduZWQgZGF0YSwgYW5kCisJd29kUGxheWVyX1dyaXRlTWF4RnJhZ3MgYmVjYXVzZSBvZiB3cm9uZyBkYXRhIGxlbmd0aCB3aGljaCBsZWFkIHRvCisJc3RyYW5nZSBub2lzZSBhbmQgdm9sdW1lIGNvbnRyb2wgd29ya2luZyBpbmNvcnJlY3RseS4KKworCSogZGxscy9kc291bmQvZHNvdW5kX21haW4uYzoKKwlKZXJyeSBKZW5raW5zIDxKZXJyeV9KX0plbmtpbnNAaG90bWFpbC5jb20+CisJQWRkZWQgd2F2ZU91dFNldFZvbHVtZSB3aGVuIG9wZW5pbmcgc291bmQgZHJpdmVyLiBPdGhlcndpc2UsIHRoZXJlIGlzCisJbm8gc291bmQgaWYgd2UgdXNlIGFSdHMuCisKKwkqIGZpbGVzL2ZpbGUuYzogTWFydGluIFdpbGNrIDxNYXJ0aW4uV2lsY2tARnVqaXRzdS1TaWVtZW5zLmNvbT4KKwktIFJldHVybiBjb3JyZWN0IGVycm9yIGNvZGVzLgorCS0gRml4IGJlaGF2aW91ciBpZiBmaWxlcyBhcmUgb24gZGlmZmVyZW50IFdpbmUgZHJpdmVzCisJICAtIGRlbGV0ZSBzb3VyY2UgaWYgY29weSBzdWNjZXNzZnVsCisJICAtIHRyeSByZW5hbWUoKSAtIGZpbGVzIG1heSBiZSBvbiB0aGUgc2FtZSBVbml4IGZpbGUgc3lzdGVtLgorCS0gVHJ5IGNvcHkvZGVsZXRlIGlmIHJlbmFtZSgpIGZhaWxzOiBmaWxlcyBtYXkgYmUgb24gdGhlIHNhbWUgRE9TCisJICBkcml2ZSwgYnV0IG9uIGRpZmZlcmVudCBVbml4IGZpbGUgc3lzdGVtcy4KKworCSogZG9jdW1lbnRhdGlvbi9wYXRjaGVzLnNnbWwsIGRvY3VtZW50YXRpb24vcnVubmluZy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi90ZXN0aW5nLnNnbWwsIGRvY3VtZW50YXRpb24vd2luZS1kZXZlbC5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi93aW5lLWRvYy5zZ21sOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVN0YXJ0IG9mIHRoZSBjb25mb3JtYW5jZSB0ZXN0aW5nIGRvY3VtZW50YXRpb24uIFN0aWxsIHZlcnkKKwlpbmNvbXBsZXRlLgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmVsaWItdG9vbGtpdC5zZ21sOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlVcGRhdGUgdGhlIHNlY3Rpb24gY29uY2VybmluZyB3aW5lbWFrZXIncyBvcHRpb25zLgorCUFkZCBhIGNvdXBsZSBvZiB3YXJuaW5ncyBhYm91dCBvdXQtb2YtZGF0ZSBzZWN0aW9ucy4KKworCSogZGxscy9NYWtldGVzdC5ydWxlcy5pbjogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJVGVzdHMgYXJlIHJlZ3VsYXIgV2luZWxpYiBhcHBsaWNhdGlvbnMgYW5kIHRodXMgc2hvdWxkIG5vdCBiZSBjb21waWxlZAorCXdpdGggX19XSU5FX18uCisKKwkqIGRsbHMvdXNlci90ZXN0cy9jbGFzcy5jLCBkbGxzL3dpbnNvY2svdGVzdHMvc29jay5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUlESV9BUFBMSUNBVElPTlcgZG9lcyBub3QgZXhpc3Qgb24gV2luZG93cy4gVXNlIElESV9BUFBMSUNBVElPTgorCWluc3RlYWQgYW5kIGNhc3QgdG8gTFBXU1RSLgorCUZpeGVkIHR5cGUgY2FzdCB3YXJuaW5ncy4KKworCSogZGxscy9hZHZhcGkzMi90ZXN0cy9yZWdpc3RyeS5jLCBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZmlsZW9wLmMsCisJICBkbGxzL3dpbmluZXQvdGVzdHMvaHR0cC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUNoYW5nZSB0aGUgI2luY2x1ZGUgb3JkZXIgc28gdGhhdCB0aGVzZSB0ZXN0cyBjb21waWxlIG9uIFdpbmRvd3MuCisKKwkqIGRsbHMvbnRkbGwvdGVzdHMvZXJyb3IuYywgaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9udHN0YXR1cy5oLAorCSAgaW5jbHVkZS93aW5udC5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCU1vdmUgYWxsIFNUQVRVU18qIGFuZCBSUENfTlRfKiB0byBudHN0YXR1cy5oIGFzIHBlciBXaW5kb3dzIFNESy4KKwlBZGQgc29tZSBtaXNzaW5nIGNvbnN0YW50cy4KKwlJbmNsdWRlIG50c3RhdHVzLmggaW4gd2lubnQuaC4KKworCSogZmlsZXMvZmlsZS5jOiBNYXJjdXMgTWVpc3NuZXIgPG1laXNzbmVyQHN1c2UuZGU+CisJRml4ZWQgImNvbmRpdGlvbmFsIGV4cHIgaXMgYWx3YXlzIHRydWUgZHVlIHRvIGJlaW5nIHVuc2lnbmVkIDwgMCIKKwlwcm9ibGVtLgorCisyMDAyLTA5LTE2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB0b29scy93aW5lZHVtcC9tYWluLmMsIHRvb2xzL3dpbmVkdW1wL3dpbmVkdW1wLmg6CisJSmFuIEtyYXRvY2h2aWwgPHNob3J0QHVjdy5jej4KKwlOZXcgLVM6IFNlYXJjaCBvbmx5IHByb3RvdHlwZSBuYW1lcyBmb3VuZCBpbiAnc3ltZmlsZScuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9tYWluLmM6IE1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlBZGRlZCBjdHlwZS5oLgorCisJKiBkbGxzL2NvbW1kbGcvY29sb3JkbGcuYywgZGxscy9jb21tZGxnL2ZpbGVkbGcuYywKKwkgIGRsbHMvY29tbWRsZy9maW5kZGxnLmMsIGRsbHMvY29tbWRsZy9mb250ZGxnLmMsCisJICBkbGxzL2NvbW1kbGcvcHJpbnRkbGcuYywgZGxscy9zZXR1cGFwaS92aXJ0Y29weS5jLCBpbmNsdWRlL3dpbmRlZi5oLAorCSAgbG9hZGVyL3Jlc291cmNlLmMsIHdpbmRvd3MvY3Vyc29yaWNvbi5jLCB3aW5kb3dzL2RpYWxvZy5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJQ29udmVydCBIUlNSQyB0byBhIHZvaWQqLgorCisJKiBkbGxzL25ldGFwaTMyL3Rlc3RzL3drc3RhLmMsIGRsbHMvc2hsd2FwaS90ZXN0cy9zaHJlZy5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCU5ldHBHZXRDb21wdXRlck5hbWUsIFNIQ29weUtleUEgYW5kIFNIUmVnR2V0UGF0aEEgZG9uJ3QgZXhpc3Qgb24gYWxsCisJV2luZG93cyBwbGF0Zm9ybXMgLT4gdXNlIEdldE1vZHVsZUhhbmRsZSArIEdldFByb2NBZGRyZXNzLgorCisJKiBkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnLCBkb2N1bWVudGF0aW9uL3dpbmUuY29uZi5tYW4sCisJICBkb2N1bWVudGF0aW9uL3dpbmUudGV4aW5mbywgZmlsZXMvZmlsZS5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTWFyayBmaWxlcyBzdGFydGluZyB3aXRoIGEgZG90IGFzIEZBX0hJRERFTi4KKwlBZGQgY29uZmlndXJhdGlvbiBvcHRpb24gJ1Nob3dEb3RGaWxlcycgdG8gdHVybiB0aGlzIGZlYXR1cmUgb2ZmLgorCisJKiBkbGxzL21zdmNydC9maWxlLmM6IE1hcnRpbiBXaWxjayA8TWFydGluLldpbGNrQGZ1aml0c3Utc2llbWVucy5jb20+CisJRml4IE1vdmVGaWxlRXgoKSBmbGFncyBpbiBNU1ZDUlQgcmVuYW1lKCkvX3dyZW5hbWUoKS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCS0gUmVvcmdhbml6YXRpb24gYW5kIGNsZWFudXAgb2Ygc2VsZWN0aW9uIGNvZGUuCisJLSBDb21wbGV0ZSByZXdyaXRlIG9mIGZvY3VzIGhhbmRsaW5nIGFuZCBkcmF3aW5nIGNvZGUuCisJLSBNYW55IGJ1Z3MgZml4ZWQgKGluY2x1ZGluZyBhIHNlcmlvdXMgbWVtb3J5IGNvcnJ1cHRpb24pLgorCS0gTWFueSBwZXJmb3JtYW5jZSBmaXhlcy4KKwktIExvdHMgb2YgY2xlYW51cHMsIHNpbXBsaWZpY2F0aW9ucywgZXRjLgorCS0gRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgorCisJKiBpbmNsdWRlL3d0eXBlcy5oOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlJbmNsdWRlIHJwYy5oIGFmdGVyIExQT0xFU1RSIGFuZCBvdGhlciBuZWVkZWQgdHlwZXMgYXJlIGRlZmluZWQuCisKKwkqIGluY2x1ZGUvd2luZ2RpLmg6IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlGaXhlZCB0eXBvIHdoaWNoIHByZXZlbnRlZCBjb3JyZWN0IGNvbXBpbGF0aW9uIG9mIGNvZGUgdXNpbmcgdGhlCisJR2V0e0MsTSxZfVZhbHVlIG1hY3Jvcy4KKworCSogZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL29tLmMsIGluY2x1ZGUvd2ludGVybmwuaCwKKwkgIHNjaGVkdWxlci9oYW5kbGUuYzoKKwlJbXBsZW1lbnRlZCBOdER1cGxpY2F0ZU9iamVjdC4KKworCSogaW5jbHVkZS93aW5lL29ial9jb250ZXh0bWVudS5oLCBpbmNsdWRlL2NvbW1jdHJsLmgsCisJICBpbmNsdWRlL2NvbW1kbGcuaCwgaW5jbHVkZS9tc2FjbS5oLCBpbmNsdWRlL3Byc2h0LmgsCisJICBpbmNsdWRlL3JpY2hlZGl0LmgsIGluY2x1ZGUvd2luY3J5cHQuaDoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAYmFpa2FsLnJ1PgorCVJlcGxhY2Ugc3RhdGljIGluaXRpYWxpemVycyB3aXRoIGEgcHJvcGVyICNkZWZpbmUgaW4gLmggZmlsZXMuCisKKwkqIGluY2x1ZGUvd2luYmFzZS5oLCBpbmNsdWRlL3dpbmdkaS5oOiBKdXJhaiBIZXJjZWsgPGp1cmFqQHN5bmNhZC5jb20+CisJLSBmaXhlZCB0eXBvIGVycm9yIGluIENNWUsgZGVmaW5pdGlvbiAoQ09MT1JFRiAtPiBDT0xPUlJFRikKKwktIGFkZGVkIHRhZ3MgdG8gc3RydWN0dXJlcyAoX09GU1RSVUNULCBfRklMRVRJTUUsIC4uLikKKworCSogZGxscy9zaGVsbDMyL3NobGV4ZWMuYywgZGxscy9zaGx3YXBpL29yZGluYWwuYywgZGxscy9zaGx3YXBpL3BhdGguYzoKKwlEdWFuZSBDbGFyayA8ZGNsYXJrQGFrYW1haWwuY29tPgorCVdhaXQgZm9yIGFwcCB0byBjb21lIHVwIGJlZm9yZSBhdHRlbXB0aW5nIERERSBjb25uZWN0aW9uLgorCVBhdGhJc1VSTCBzaG91bGQgZmFpbCBvbiB0ZXh0IHdpdGhvdXQgYSBwcm9wZXIgInNjaGVtZSIuCisKKwkqIGZpbGVzL2Rvc19mcy5jOiBNYXJjdXMgTWVpc3NuZXIgPG1laXNzbmVyQHN1c2UuZGU+CisJaW5mby0+dS5zbWJfZGlyIGlzIGEgcG9pbnRlciwgZXJyb3JzIGFyZSBzaWduYWxlZCBieSBOVUxMLgorCisJKiBwcm9ncmFtcy93aW5lZGJnL2JyZWFrLmMsIHByb2dyYW1zL3dpbmVkYmcvZGJnLnksCisJICBwcm9ncmFtcy93aW5lZGJnL2RlYnVnZ2VyLmgsIHByb2dyYW1zL3dpbmVkYmcvZXhwci5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9oYXNoLmMsIHByb2dyYW1zL3dpbmVkYmcvaW5mby5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9zdGFicy5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCUFkZGVkIGFiaWxpdHkgdG8gYWJvcnQgb24gaW50ZXJhY3RpdmUgc3ltYm9sIGxvb2t1cC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCS0gR3JhbmQgcmV3cml0ZSBmb3Ige0dldCxTZXQsSW5zZXJ0fUl0ZW0gJiBDby4KKwktIE1hbnkgYnVncyBmaXhlZC4KKwktIENhbGxiYWNrIGl0ZW1zIGFyZSBiZXR0ZXIgc3VwcG9ydGVkLgorCS0gSW1wcm92ZW1lbnRzIGluIHJlbmRlcmluZyBzcGVlZC4KKwktIENoYW5nZSBWT0lEIHRvIHZvaWQuCisJLSBNYW55IGNvZGUgY2xlYW51cHMsIGFuZCBzaW1wbGlmaWNhdGlvbnMuCisJLSBEb2N1bWVudGF0aW9uIHVwZGF0ZXMuCisKKzIwMDItMDktMTMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYywgZGxscy9udGRsbC9jZHJvbS5jLCBkbGxzL250ZGxsL3JlZy5jLAorCSAgbWlzYy9yZWdpc3RyeS5jLCB3aW4zMi9kZXZpY2UuYzoKKwlIYW5kbGUgc3BlY2lhbCByZWdpc3RyeSByb290IGtleXMgZGlyZWN0bHkgaW4gYWR2YXBpMzIsIGFuZCBhdm9pZAorCXVzaW5nIHRoZW0gaW4ga2VybmVsIGFuZCBudGRsbC4KKworCSogZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgbWVtb3J5L3JlZ2lzdHJ5LmMsIHdpbjMyL2RldmljZS5jOgorCUNvcGllZCB0aGUgcmVnaXN0cnkgZnVuY3Rpb25zIG5lZWRlZCBieSBWTU0gaW50byBkZXZpY2UuYyBhbmQgZ290IHJpZAorCW9mIG1lbW9yeS9yZWdpc3RyeS5jLgorCisJKiBkbGxzL2tlcm5lbC9sb2NhbGUuYywgZmlsZXMvZGlyZWN0b3J5LmMsIG1pc2MvY3B1LmMsIG1pc2MvcmVnaXN0cnkuYywKKwkgIHdpbjMyL2V4Y2VwdC5jOgorCVJlbW92ZWQgcmVtYWluaW5nIHJlZmVyZW5jZXMgdG8gYWR2YXBpMzIgcmVnaXN0cnkgZnVuY3Rpb25zIGZyb20KKwlrZXJuZWwgZnVuY3Rpb25zLgorCisJKiB0b29scy93aW5lbWFrZXI6IE1hcnRpbiBXaWxjayA8TWFydGluLldpbGNrQEZ1aml0c3UtU2llbWVucy5jb20+CisJLSBTdXBwb3J0ICItaW1zdmNydCIgYXMgYW4gYWJicmV2aWF0aW9uIG9mICItaW1zdmNydC5kbGwiLgorCS0gQXV0b21hdGljYWxseSBhZGQgTVNWQ1JUIGluY2x1ZGUgcGF0aCBpZiBNU1ZDUlQgRExMIHdhcyByZXF1ZXN0ZWQuCisKKwkqIGZpbGVzL2ZpbGUuYzogTWFydGluIFdpbGNrIDxNYXJ0aW4uV2lsY2tARnVqaXRzdS1TaWVtZW5zLmNvbT4KKwlXYWl0IHRpbWVvdXQgbXVzdCBiZSAwIGlmIGJXYWl0ID09IEZBTFNFLgorCisJKiBwcm9ncmFtcy9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luZWRiZy8uY3ZzaWdub3JlLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luZWRiZy9SRUFETUUsCisJICBwcm9ncmFtcy93aW5lZGJnL2JyZWFrLmMsIHByb2dyYW1zL3dpbmVkYmcvZGJfZGlzYXNtLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL2RiZy55LCBwcm9ncmFtcy93aW5lZGJnL2RlYnVnLmwsCisJICBwcm9ncmFtcy93aW5lZGJnL2RlYnVnZ2VyLmgsIHByb2dyYW1zL3dpbmVkYmcvZGlzcGxheS5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9leHByLmMsIHByb2dyYW1zL3dpbmVkYmcvZXhwci5oLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9leHRfZGVidWdnZXIuYywgcHJvZ3JhbXMvd2luZWRiZy9nZGJwcm94eS5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9oYXNoLmMsIHByb2dyYW1zL3dpbmVkYmcvaW5mby5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9pbnR2YXIuaCwgcHJvZ3JhbXMvd2luZWRiZy9tZW1vcnkuYywKKwkgIHByb2dyYW1zL3dpbmVkYmcvbW9kdWxlLmMsIHByb2dyYW1zL3dpbmVkYmcvbXNjLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL3JlZ2lzdGVycy5jLCBwcm9ncmFtcy93aW5lZGJnL3NvdXJjZS5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy9zdGFicy5jLCBwcm9ncmFtcy93aW5lZGJnL3N0YWNrLmMsCisJICBwcm9ncmFtcy93aW5lZGJnL3R5cGVzLmMsIHByb2dyYW1zL3dpbmVkYmcvd2luZWRiZy5jLCBjb25maWd1cmUsCisJICBjb25maWd1cmUuYWM6CisJTW92ZWQgdGhlIGRlYnVnZ2VyIHRvIHByb2dyYW1zL3dpbmVkYmcgd2hlcmUgaXQgYmVsb25ncy4KKworCSogZmlsZXMvZmlsZS5jLCBmaWxlcy9wcm9maWxlLmMsIGxvYWRlci9sb2Fkb3JkZXIuYywgbWlzYy92ZXJzaW9uLmMsCisJICBtc2Rvcy9wcGRldi5jLCByZWxheTMyL3JlbGF5Mzg2LmM6CisJUmVtb3ZlZCByZWZlcmVuY2VzIHRvIGFkdmFwaTMyIHJlZ2lzdHJ5IGZ1bmN0aW9ucyBmcm9tIHNvbWUgb2YgdGhlCisJa2VybmVsIGZ1bmN0aW9ucy4KKworCSogZGxscy9udGRsbC9yZWcuYzoKKwlSdGxGb3JtYXRDdXJyZW50VXNlcktleVBhdGg6IHJldHVybiBwYXRoIGNvbnRhaW5pbmcgdGhlIHVzZXIgbmFtZQorCWluc3RlYWQgb2YgLkRlZmF1bHQuCisKKwkqIHRvb2xzL3dpbmVtYWtlcjogTWFydGluIFdpbGNrIDxNYXJ0aW4uV2lsY2tARnVqaXRzdS1TaWVtZW5zLmNvbT4KKwktIGZpeCBwZXJsIHN5bnRheCBlcnJvciBpbiBteSBvd24gcGF0Y2gKKwktIGZpeCBwZXJsIHN5bnRheCBlcnJvciBpbiBnZW5lcmF0ZV93cmFwcGVyX2ZpbGUoKQorCS0gZml4IG9yZGVyIG9mIGFyZ3VtZW50cyBnZW5lcmF0ZV9mcm9tX3RlbXBsYXRlKCkgaW4KKwkgIGdlbmVyYXRlX3dyYXBwZXJfZmlsZSgpCisJLSBkb24ndCBpZ25vcmUgY29tbWFuZCBsaW5lIC1sLCAtSSwgYW5kIC1pIGFyZ3VtZW50cworCS0gYnVpbGQgd3JhcHBlciB3aXRoIGEgbWluaW1hbCBzZXQgb2YgRExMcy9saWJyYXJpZXMKKwktIGZpeCBhdXRvY29uZiBpbnZvY2F0aW9uIHRvIHN1cHBvcnQgYm90aCAyLjV4IGFuZCAyLjEzCisJLSBmaXggdXNhZ2UgbWVzc2FnZSBmb3IgLS1ub2RsbHMKKwktIHRhcmdldF9pbml0KFwkZ2xvYmFsX3NldHRpbmdzKSBtdXN0IG5vdCBiZSBkb25lIGFmdGVyIHJlYWRpbmcgY29tbWFuZAorCSAgbGluZQorCS0gZml4IGFwcE5hbWUgZGVjbGFyYXRpb24gaW4gd3JhcHBlciBjb2RlCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogR3V5IEwuIEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwktIEltcHJvdmUgTFZNX0dFVElURU1SRUNUIHZhbHVlcyBmb3IgTFZTX0lDT04gc3R5bGUuIE5vdyBtb3N0bHkKKwkgIGNvcnJlY3QgKG9yIGF0IGxlYXN0IG1hdGNoZXMgbmF0aXZlKS4KKwktIEhhbmRsZSBmb2N1c2VkIGFuZCBzZWxlY3RlZCBsYXJnZSBpY29uIHRleHQgYmV0dGVyLgorCS0gSGFuZGxlIGludGVybmFsIGVyYXNlLgorCS0gQWRkaXRpb25hbCBkZWJ1Z2dpbmcgY29kZS4KKworMjAwMi0wOS0xMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9nZGkvTWFrZWZpbGUuaW4sIGRsbHMvZ2RpL2dkaS5leGUuc3BlYywgZGxscy91c2VyL01ha2VmaWxlLmluLAorCSAgZGxscy91c2VyL3VzZXIuZXhlLnNwZWMsIHRvb2xzL3dpbmVidWlsZC9tYWluLmMsCisJICB0b29scy93aW5lYnVpbGQvcGFyc2VyLmMsIHRvb2xzL3dpbmVidWlsZC93aW5lYnVpbGQubWFuLmluOgorCVJlcGxhY2VkICdoZWFwJyAuc3BlYyBzdGF0ZW1lbnQgYnkgYSBjb21tYW5kIGxpbmUgb3B0aW9uLgorCVVwZGF0ZWQgd2luZWJ1aWxkIG1hbnBhZ2UuCisKKwkqIGluY2x1ZGUvdGhyZWFkLmg6CisJVXNlIGxhcmdlciBzaWduYWwgc3RhY2sgdG8gYXZvaWQgb3ZlcmZsb3dzIGluIGZpbGVzeXN0ZW0gY29kZSB3aGVuCisJbG9hZGluZyB0aGUgZGVidWdnZXIuCisKKwkqIGRsbHMvc2hsd2FwaS90ZXN0cy9zaHJlZy5jOiBEZWxldGUgcmVnaXN0cnkga2V5IGF0IGV4aXQuCisKKwkqIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWM6IEZpeGVkIEFzc29jQ3JlYXRlIGRlY2xhcmF0aW9uLgorCisJKiBkbGxzL21zdmNydC9kaXIuYywgZGxscy9tc3ZjcnQvZmlsZS5jLCBkbGxzL250ZGxsL3JlZy5jLAorCSAgZGxscy9vbGUzMi9zdG9yYWdlLmMsIGZpbGVzL2Rvc19mcy5jLCBmaWxlcy9maWxlLmMsIGluY2x1ZGUveDExZHJ2Lmg6CisJRml4ZWQgd2FybmluZ3MgY2F1c2VkIGJ5IG5ldyB3aW50ZXJubC5oLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyYWNrYmFyLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJLSBJbXBsZW1lbnQgY3VzdG9tIGRyYXcgc3VwcG9ydC4KKwktIEZpeCB0aHVtYiBkcmF3aW5nLgorCS0gU29tZSBjbGVhbnVwcywgcmVvcmdhbml6YXRpb25zLCBldGMuCisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggYSBidW5jaCBvZiBidWdzIHJlbGF0ZWQgdG8gc2Nyb2xsaW5nLgorCisJKiB0b29scy93aW5hcGkvbXN2Y21ha2VyOiBQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlNaW5vciBidWcgZml4ZXMgYW5kIGltcHJvdmVtZW50cy4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9kM2Q4LmgsIGluY2x1ZGUvZDNkOGNhcHMuaCwKKwkgIGluY2x1ZGUvZDNkOHR5cGVzLmg6CisJSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlBZGRlZCBEaXJlY3QzRCA4IGhlYWRlcnMuCisKKwkqIHdpbjMyL2V4Y2VwdC5jLCBtaXNjL21haW4uYywgbWlzYy9vcHRpb25zLmMsIG1pc2MvdmVyc2lvbi5jLAorCSAgbXNkb3MvaW50MjEuYywgbXNkb3MvdnhkLmMsIG9sZS9vbGUybmxzLmMsIHJlbGF5MzIvcmVsYXkzODYuYywKKwkgIHJlbGF5MzIvc25vb3AuYywgc2NoZWR1bGVyL2NyaXRzZWN0aW9uLmMsIHNjaGVkdWxlci9wdGhyZWFkLmMsCisJICBzY2hlZHVsZXIvc3lzbGV2ZWwuYywgc2VydmVyL3JlZ2lzdHJ5LmMsIGZpbGVzL2RpcmVjdG9yeS5jLAorCSAgZmlsZXMvZG9zX2ZzLmMsIGZpbGVzL2RyaXZlLmMsIGZpbGVzL2ZpbGUuYywgZmlsZXMvcHJvZmlsZS5jLAorCSAgaW5jbHVkZS9udGRkay5oLCBpbmNsdWRlL250ZGVmLmgsIGluY2x1ZGUvdGhyZWFkLmgsCisJICBpbmNsdWRlL3dpbmUvc2VydmVyLmgsIGluY2x1ZGUvd2ludGVybmwuaCwgbG9hZGVyL21vZHVsZS5jLAorCSAgbG9hZGVyL3BlX3Jlc291cmNlLmMsIGxvYWRlci90YXNrLmMsIG1lbW9yeS9lbnZpcm9uLmMsIG1lbW9yeS9oZWFwLmMsCisJICBkbGxzL250ZGxsL3Rlc3RzL2Vycm9yLmMsIGRsbHMvbnRkbGwvdGVzdHMvcnRsYml0bWFwLmMsCisJICBkbGxzL29sZTMyL2hnbG9iYWxzdHJlYW0uYywgZGxscy9vbGUzMi9zdGdfc3RyZWFtLmMsCisJICBkbGxzL29sZTMyL3N0b3JhZ2UuYywgZGxscy9vbGVhdXQzMi90bWFyc2hhbC5jLAorCSAgZGxscy9zZXR1cGFwaS9kaXJpZC5jLCBkbGxzL3NldHVwYXBpL2luZnBhcnNlLmMsCisJICBkbGxzL3NldHVwYXBpL2luc3RhbGwuYywgZGxscy9zZXR1cGFwaS9wYXJzZXIuYywKKwkgIGRsbHMvc2V0dXBhcGkvcXVldWUuYywgZGxscy93aW5lZG9zL2ludDIxLmMsIGRsbHMvd2lubW0vbW1zeXN0ZW0uYywKKwkgIGRsbHMva2VybmVsL3RpbWUuYywgZGxscy9rZXJuZWwvdXR0aHVuay5jLCBkbGxzL2tlcm5lbC93b3d0aHVuay5jLAorCSAgZGxscy9tc3ZjcnQvY3BwZXhjZXB0LmMsIGRsbHMvbXN2Y3J0L2Rpci5jLCBkbGxzL21zdmNydC9leGNlcHQuYywKKwkgIGRsbHMvbXN2Y3J0L2ZpbGUuYywgZGxscy9uZXRhcGkzMi93a3N0YS5jLCBkbGxzL250ZGxsL2Nkcm9tLmMsCisJICBkbGxzL250ZGxsL2NyaXRzZWN0aW9uLmMsIGRsbHMvbnRkbGwvZGVidWd0b29scy5jLAorCSAgZGxscy9udGRsbC9lcnJvci5jLCBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jLCBkbGxzL250ZGxsL2ZpbGUuYywKKwkgIGRsbHMvbnRkbGwvaGVhcC5jLCBkbGxzL250ZGxsL2xhcmdlX2ludC5jLCBkbGxzL250ZGxsL2xvYWRlci5jLAorCSAgZGxscy9udGRsbC9udC5jLCBkbGxzL250ZGxsL250ZGxsX21pc2MuaCwgZGxscy9udGRsbC9vbS5jLAorCSAgZGxscy9udGRsbC9yZWcuYywgZGxscy9udGRsbC9ydGwuYywgZGxscy9udGRsbC9ydGxiaXRtYXAuYywKKwkgIGRsbHMvbnRkbGwvcnRsc3RyLmMsIGRsbHMvbnRkbGwvc2VjLmMsIGRsbHMvbnRkbGwvc2lnbmFsX2kzODYuYywKKwkgIGRsbHMvbnRkbGwvc2lnbmFsX3Bvd2VycGMuYywgZGxscy9udGRsbC9zaWduYWxfc3BhcmMuYywKKwkgIGRsbHMvbnRkbGwvc3luYy5jLCBkbGxzL250ZGxsL3RpbWUuYywgZGxscy9udGRsbC93Y3N0cmluZy5jLAorCSAgZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZzk1LmMsCisJICBkbGxzL2Rzb3VuZC9idWZmZXIuYywgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9kc291bmQvbWl4ZXIuYywKKwkgIGRsbHMvZHNvdW5kL3ByaW1hcnkuYywgZGxscy9kc291bmQvcHJvcHNldC5jLCBkbGxzL2Rzb3VuZC9zb3VuZDNkLmMsCisJICBkbGxzL2dkaS9kcml2ZXIuYywgZGxscy9rZXJuZWwva2VybmVsX21haW4uYywgZGxscy9rZXJuZWwvbG9jYWxlLmMsCisJICBkbGxzL2tlcm5lbC90aHVuay5jOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCU1vdmVkIGFsbCB0aGUgY29udGVudCBvZiB0aGUgRERLIGZpbGVzIG50ZGVmLmggYW5kIG50ZGRrLmggdG8KKwl3aW50ZXJubC5oLgorCisJKiBkbGxzL2FkdmFwaTMyL3JlZ2lzdHJ5LmM6CisJRml4ZWQgcmVxdWVzdGVkIGFjY2VzcyByaWdodHMgaW4gUmVnRGVsZXRlS2V5W0FXXS4KKworCSogZGxscy9hZHZhcGkzMi90ZXN0cy9yZWdpc3RyeS5jOgorCUZpeGVkIHBvc3NpYmxlIGluZmluaXRlIGxvb3AgaW4gZGVsZXRlX2tleS4KKworCSogZGxscy9zaGx3YXBpL3Rlc3RzL3NocmVnLmM6IFBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUZpeGVkIEMrKyBjb21tZW50cy4KKworCSogcHJvZ3JhbXMvd2NtZC93Y21kbWFpbi5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlXQ01EX3BhcnNlOiBhbGxvdyBzbGFzaGVzIGluIGNvbW1hbmQgZmlsZW5hbWVzLgorCisJKiBpbmNsdWRlL3dpbmRlZi5oOiBTdGV2ZW4gRWR3YXJkcyA8c3RldmVuX2VkNDE1M0B5YWhvby5jb20+CisJQ2xlYW51cCB3YXJuaW5nIHdoZW4gYnVpbGRpbmcgb24gTWluZ3cuCisKKwkqIHRvb2xzL3dpbmFwaS93aW5hcGlfY2xlYW51cCwgdG9vbHMvd2luYXBpL3dpbmFwaV9jbGVhbnVwX29wdGlvbnMucG06CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJLSBNYWRlIHJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlIGEgZGVmYXVsdCBvZmYgb3B0aW9uLgorCS0gQWRkIHN1cHBvcnQgZm9yIEMrKyB0byBDIGNvbW1lbnQgY29udmVyc2lvbi4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCS0gQ29tcGxldGUgcmV3cml0ZSBvZiBzY3JvbGxpbmcgY29kZTogc21hbGxlciwgZmFzdGVyLCBjbGVhbmVyLgorCSAgV2Ugbm93IHByb3Blcmx5IHNjcm9sbCB0aGUgd2luZG93LCByYXRoZXIgdGhhbiBpbnZhbGlkYXRpbmcgaXQgb24KKwkgIGV2ZXJ5IHNjcm9sbCBhY3Rpb24uCisJLSBBIGJ1ZyBvciB0d28gZ290IHNxdWFzaGVkLgorCS0gTWFueSBjb2RlIGNsZWFudXBzLCBzaW1wbGlmaWNhdGlvbnMsIGV0Yy4KKwktIFNvbWUgZG9jdW1lbnRhdGlvbiB1cGRhdGVzLgorCisJKiB0b29scy93aW5lYnVpbGQvcGFyc2VyLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJUmVtb3ZlIHN1cHBvcnQgZm9yICdmaWxlJywgJ25hbWUnLCBhbmQgJ21vZGUnIGluIC5zcGVjIGZpbGVzLgorCisJKiBkbGxzL3NobHdhcGkvdXJsLmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJTWFrZSBoZXggZGlnaXRzIHN0YXRpYyBjb25zdCAmIHNoYXJlIHRoZW0uCisKKwkqIGRsbHMvc2hsd2FwaS9yZWcuYywgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYywKKwkgIGRsbHMvc2hsd2FwaS90ZXN0cy9zaHJlZy5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJSW1wbGVtZW50YXRpb24gYW5kIHRlc3QgZm9yIFNIQ29weUtleUEvVy4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jLCBmaWxlcy9maWxlLmM6CisJTWFydGluIFdpbGNrIDxNYXJ0aW4uV2lsY2tARnVqaXRzdS1TaWVtZW5zLmNvbT4KKwlGaXggdGhlIGJlaGF2aW9yIG9mIEdldE92ZXJsYXBwZWRSZXN1bHQoKSBhbmQgV1NBR2V0T3ZlcmxhcHBlZFJlc3VsdCgpCisJd2l0aCBub24tbWFudWFsLXJlc2V0IChhdXRvLXJlc2V0KSBldmVudHMgaW4gdGhlIE9WRVJMQVBQRUQgc3RydWN0dXJlcy4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogQW5kcml5IFBhbGFtYXJjaHVrIDxhcGEzYUB5YWhvby5jb20+CisJSW5zdGFsbCB0Y2hhci5oLgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmVsaWItdG9vbGtpdC5zZ21sOgorCUFuZHJpeSBQYWxhbWFyY2h1ayA8YXBhM2FAeWFob28uY29tPgorCVNwZWMgZmlsZXMgZG9jdW1lbnRhdGlvbi4gQWRkZWQgaW5mb3JtYXRpb24gYWJvdXQgd2lkZSBzdHJpbmdzLiBCYXNlZAorCW9uIGNvbW1lbnRzIGJ5IFBhdHJpayBTdHJpZHZhbGwuCisKKwkqIGZpbGVzL2RpcmVjdG9yeS5jOiBNaWNoYWVsIEJlYWNoIDxtaWNoYWVsYkBpZWVlLm9yZz4KKwlGaXhlZCBidWZmZXIgc2l6ZSBpbiBESVJfVHJ5TW9kdWxlUGF0aCBmb3IgV2luMzIgbW9kdWxlcy4KKworCSogZGxscy9vbGVhdXQzMi9vbGVwaWN0dXJlLmMsIGRsbHMvd2lubW0vd2luZW5hcy9hdWRpby5jLAorCSAgaW5jbHVkZS9iYXNldHNkLmgsIGluY2x1ZGUvcnBjbmRyLmgsIGluY2x1ZGUvd2luZS93aW5kZWYxNi5oLAorCSAgaW5jbHVkZS93aW5udC5oLCBpbmNsdWRlL3d0eXBlcy5oLCBwcm9ncmFtcy93Y21kL2RpcmVjdG9yeS5jLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuYywgcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuaCwKKwkgIHRvb2xzL3dpbmVkdW1wL21zbWFuZ2xlLmMsIHRvb2xzL3dpbmVkdW1wL3N5bWJvbC5jOgorCVJlbW92ZWQgdGhlIF9fdWludCogdHlwZXMgZnJvbSBiYXNldHNkLmggc2luY2UgdGhleSBkb24ndCBleGlzdCB1bmRlcgorCVdpbmRvd3MuIEZpeGVkIGEgZmV3IG90aGVyIGlzc3VlcyB3aXRoIHR5cGUgZGVmaW5pdGlvbnMuCisKKwkqIGRsbHMva2VybmVsL01ha2VmaWxlLmluLCBkbGxzL2tlcm5lbC9rcm5sMzg2LmV4ZS5zcGVjOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTW92ZSB0aGUgbmFtZSBkaXJlY3RpdmUgZnJvbSB0aGUgLnNwZWMgZmlsZSB0byB0aGUgTWFrZWZpbGUuCisKKwkqIHRvb2xzL3dpbmVidWlsZC9tYWluLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQWRkIHN1cHBvcnQgZm9yIG5hbWluZyB0aGUgRExMIGZyb20gdGhlIGNvbW1hbmQgbGluZS4KKworCSogZGxscy93aW5zcG9vbC9pbmZvLmM6IE1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlOZXcgQ1VQUyBsaWJyYXJpZXMgcmV0dXJuICJub25lIiBhcyBkZWZhdWx0IHByaW50ZXIgaW5zdGVhZCBvZiBOVUxMLgorCisJKiBkbGxzL2tlcm5lbC9rcm5sMzg2LmV4ZS5zcGVjLCBkbGxzL3VzZXIvZGRlbWwuc3BlYywKKwkgIGRsbHMvdXNlci91c2VyLmV4ZS5zcGVjLCBkbGxzL3dpbnNvY2svd2luc29jay5zcGVjOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTWFrZSBhbGwgc3BlYyBmaWxlcyBncmVwLWFibGUuCisKKwkqIG1pc2NlbXUvTWFrZWZpbGUuaW4sIG1pc2NlbXUvd2luZS5zcGVjOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJTW92ZWQgbW9kZSBzZXR0aW5nIG91dCBvZiAuc3BlYyBmaWxlIGludG8gTWFrZWZpbGUuCisKKwkqIGRsbHMvY29tY3RsMzIvdHJhY2tiYXIuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlHcmVhdGx5IGltcHJvdmVkIGRyYXdpbmcgY29kZTogZWxpbWluYXRlcyBhbGwgZmxpY2tlciwgZmFzdGVyLCBjbGVhbmVyCisJdGljcyBkcmF3aW5nLCBiZXR0ZXIgdG9vbHRpcCBwb3NpdGlvbmluZywgY29kZSBjbGVhbnVwcyBhbmQKKwlzaW1wbGlmaWNhdGlvbnMuCisKKwkqIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJLSBSZXdyaXRlIHRoZSBkcmF3aW5nIGNvZGUuIEl0IG5vdyBpcyBtdWNoIHNtYWxsZXIsIGVhc2llciB0byBmb2xsb3csCisJICBhbmQgZmFzdGVyLiBNb3Jlb3ZlciwgaXQgbm93IHN1cHBvcnRzIHRoZSBkd1JvcCBvcGVyYXRpb24sIGFuZCBpdCBpcworCSAgaW4gZ29vZCBzaGFwZSB0byBzdXBwb3J0IHRoZSBtaXNzaW5nIGZlYXR1cmVzLgorCS0gRHJhdyB0aGUgZHJhZ2dlZCBpbWFnZSBzZW1pLXRyYW5zcGFyZW50bHkgKHdpbGwgd29yayB3aGVuIHdlIHN1cHBvcnQKKwkgIGFscGhhIGJsZW5kaW5nKS4KKworCSogaW5jbHVkZS9jb21tY3RybC5oOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUFkZCBJbWFnZUxpc3Qgc3RhdGVzIChJTFNfKikgZGVmaW5pdGlvbnMuCisKKzIwMDItMDktMTEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvbmV0YXBpMzIvTWFrZWZpbGUuaW4sIGRsbHMvbmV0YXBpMzIvYXBpYnVmLmMsCisJICBkbGxzL25ldGFwaTMyL25ldGFwaTMyLnNwZWMsIGRsbHMvbmV0YXBpMzIvdGVzdHMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvbmV0YXBpMzIvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvbmV0YXBpMzIvdGVzdHMvYXBpYnVmLmMsCisJICBkbGxzL25ldGFwaTMyL3Rlc3RzL3drc3RhLmMsIGRsbHMvbmV0YXBpMzIvd2tzdGEuYywKKwkgIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvbG0uaCwgaW5jbHVkZS9sbWFjY2Vzcy5oLAorCSAgaW5jbHVkZS9sbWFwaWJ1Zi5oLCBpbmNsdWRlL2xtY29ucy5oLCBpbmNsdWRlL2xtZXJyLmgsCisJICBpbmNsdWRlL2xtd2tzdGEuaCwgaW5jbHVkZS93aW5iYXNlLmgsIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjOgorCUFuZHJpeSBQYWxhbWFyY2h1ayA8YXBhM2FAeWFob28uY29tPgorCUltcGxlbWVudGVkIGJ1ZmZlciBtYW5hZ2VtZW50IGZ1bmN0aW9ucywgYSBjb3VwbGUgb2Ygd29ya3N0YXRpb24KKwlpbmZvcm1hdGlvbiBmdW5jdGlvbnMsIGNyZWF0ZWQgY29uZm9ybWFuY2UgdGVzdHMuCisKKwkqIHRvb2xzL3dpbmVtYWtlcjogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlTdG9yZSB0aGUgZ2xvYmFsIHNldHRpbmdzIGluIE1ha2UucnVsZXMuaW4gaW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aGVtCisJaW4gZWFjaCBNYWtlZmlsZS5pbiBmaWxlLgorCUludHJvZHVjZSBnZW5lcmF0ZV9mcm9tX3RlbXBsYXRlIHdoaWNoIHJlcGxhY2VzIGdlbmVyYXRlX2NvbmZpZ3VyZQorCWFuZCBnZW5lcmF0ZV9nZW5lcmljCisJU2ltcGxpZnkgdGhlIHdyYXBwZXIgZ2VuZXJhdGlvbiBieSB1c2luZyBnZW5lcmF0ZV9mcm9tX3RlbXBsYXRlLgorCVJlbmFtZSBjb25maWd1cmUuaW4gdG8gY29uZmlndXJlLmFjLiBOb3cgd29ya3Mgd2l0aCBhdXRvY29uZiAyLjV4LgorCisJKiB0b29scy93aW5lZHVtcC9SRUFETUUsIHRvb2xzL3dpbmVkdW1wL2RlYnVnLmMsIHRvb2xzL3dpbmVkdW1wL3BlLmMsCisJICB0b29scy93aW5lZHVtcC9wZS5oOgorCUFuZHJlYXMgTW9ociA8YW5kaUByaGx4MDEuZmh0LWVzc2xpbmdlbi5kZT4KKwktIEltcGxlbWVudCBkdW1waW5nIG9mIENPRkYgZGVidWcgc3ltYm9sIHRhYmxlLgorCS0gRml4IHdpbmVkdW1wIHN5bnRheCBkZXNjcmlwdGlvbi4KKwktIFNwZWxsaW5nIGZpeGVzLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9hbGxvYy5jOiBBbmRyaXkgUGFsYW1hcmNodWsgPGFwYTNhQHlhaG9vLmNvbT4KKwlBIGZldyBtb3JlIGNvbmZvcm1hbmNlIHRlc3RzIGZvciBoZWFwIG1lbW9yeSBhbGxvY2F0aW9uLgorCisJKiBpbmNsdWRlL250c2VjYXBpLmg6IEFuZHJpeSBQYWxhbWFyY2h1ayA8YXBhM2FAeWFob28uY29tPgorCUFkZGVkIHBvbGljeSBhY2Nlc3MgY29uc3RhbnRzLCB0eXBlIGRlZmluaXRpb24uCisKKwkqIGRsbHMvY29tY3RsMzIvdHJhY2tiYXIuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwktIEltcGxlbWVudCBhdXRvcGFnaW5nLgorCS0gUmVtb3ZlIGluY29ycmVjdCBGSVhNRXMuCisJLSBTbWFsbCBjbGVhbnVwcy4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUNvZGUgY2xlYW51cHMgYW5kIHNpbXBsaWZpY2F0aW9ucywgZG9jdW1lbnRhdGlvbiB1cGRhdGVzLgorCisJKiB0b29scy93aW5lbWFrZXI6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRml4IHRoZSBXaW5lIGRldGVjdGlvbiB3aGVuIHVzaW5nIHRoZSBXaW5lIHNvdXJjZSB0cmVlLgorCisyMDAyLTA5LTEwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB0b29scy93aW5lbWFrZXI6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJRml4IGRldGVjdGlvbiBvZiAnbG4gLXMnLgorCUZpeCBjb21wdXRhdGlvbiBvZiBUT1BPQkpESVIuCisJSW5zdGFsbCBleGVzIGFuZCBkbGxzIGluICQobGliZGlyKS4KKwktV2wsLXJwYXRoIGlzIG5vdCByZWxldmFudCBmb3IgZGxscy4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS93aW50ZXJubC5oOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUFkZGVkIHRoZSBuZXcgaGVhZGVyIHdpbnRlcm5sLmguCisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnQgQDE2MywxNjQsMTY4LDE3NSwxODIsMTg3LDI4NixTSFNraXBKdW5jdGlvbi4KKwlTdHViIEAyMDEsMjAyLDIwMywgRG9jdW1lbnQgbWFueSBmdW5jdGlvbnMuCisJQDE2NTogRml4IG1hc2sgYW5kIGZsYWdzIHBhcmFtZXRlciBvcmRlci4KKwlAMTcyOiBXb3JrcyBvbiBJSW50ZXJuZXRTZWN1cml0eU1nclNpdGUgYW5kIElTaGVsbFZpZXcgdG9vLgorCUAxOTksQDI2ODogTm8gcmV0dXJuIHZhbHVlLCBjYWxsIEAxNjkuCisKKwkqIGluY2x1ZGUvd2lubnQuaDogUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJQWRkZWQgYSBmZXcgbWFjcm9zIGZvciBNUyBDL0MrKyBzcGVjaWZpYyBmZWF0dXJlcy4KKworCSogdG9vbHMvd2luZW1ha2VyLCB0b29scy93aW5lbWFrZXIubWFuOgorCU1hcnRpbiBXaWxjayA8TWFydGluLldpbGNrQEZ1aml0c3UtU2llbWVucy5jb20+CisJLSBGaXggLS1ub21mYyBvcHRpb24gd2hpY2ggaXMgY3VycnJlbnRseSBicm9rZW4uCisJLSBBZGQgLS1ub2RsbHMgb3B0aW9uIGZvciBzbWFsbCBhcHBzLgorCisyMDAyLTA5LTA5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2NyeXB0MzIvbWFpbi5jLCBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL21zc2lwLmgsCisJICBpbmNsdWRlL3NpcGJhc2UuaCwgaW5jbHVkZS93aW5jcnlwdC5oOgorCVBhdHJpayBTdHJpZHZhbGwgPHBzQGxlaXNzbmVyLnNlPgorCUFkZCBhbmQgdXNlIHRoZSBoZWFkZXIgZmlsZXMgbXNzaXAuaCBhbmQgc2lwYmFzZS5oLgorCisJKiBkbGxzL2tlcm5lbC9NYWtlZmlsZS5pbiwgZGxscy9rZXJuZWwvcmVnaXN0cnkxNi5jLCBtaXNjL3JlZ2lzdHJ5LmM6CisJTW92ZWQgMTYtYml0IHJlZ2lzdHJ5IGZ1bmN0aW9ucyB0byBrZXJuZWwgZGxsIGFuZCBpbXBsZW1lbnRlZCB0aGVtIGJ5CisJY2FsbGluZyB1cCB0byBhZHZhcGkzMi4KKworCSogZGxscy9nZGkvZ2RpMTYuYywgZGxscy9udGRsbC9zaWduYWxfaTM4Ni5jLCBkbGxzL3NobHdhcGkvcmVnLmMsCisJICBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjLCBvYmplY3RzL2NsaXBwaW5nLmMsIG9iamVjdHMvZGMuYywKKwkgIG9iamVjdHMvZGN2YWx1ZXMuYywgb2JqZWN0cy9tZXRhZmlsZS5jLCBvYmplY3RzL3BhbGV0dGUuYywKKwkgIHdpbmRvd3MvcXVldWUuYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlGaXhlZCBzb21lIGlzc3VlcyBmb3VuZCBieSB3aW5hcGlfY2hlY2suCisKKwkqIGRsbHMvbnRkbGwvZXJyb3IuYywgZGxscy9udGRsbC90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy9udGRsbC90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9udGRsbC90ZXN0cy9lcnJvci5jLAorCSAgaW5jbHVkZS93aW5lcnJvci5oLCBpbmNsdWRlL3dpbm50Lmg6CisJQW5kcml5IFBhbGFtYXJjaHVrIDxhcGEzYUB5YWhvby5jb20+CisJUnRsTnRTdGF0dXNUb0Rvc0Vycm9yOiBBZGRlZCBuZXcgTlQgc3RhdHVzIHRvIGVycm9yIGNvZGVzIG1hcHBpbmcsCisJYWRkZWQgbWlzc2VkIGRlZmluaXRpb25zIG9mIHRoZSB1c2VkIGNvbnN0YW50cywgY3JlYXRlZCB1bml0IHRlc3QgZm9yCisJc3Vic2V0IG9mIHRoZSBtYXBwaW5ncy4KKworCSogY29udHJvbHMvdWl0b29scy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCS0gSW1wbGVtZW50IERGQ1NfVFJBTlNQQVJFTlQuCisJLSBGaXggaW5kZW50YXRpb24uCisJLSBBZGQgcmVtYXJrIGFib3V0IHVuaW1wbGVtZW50ZWQgREZDX1BPUFVQTUVOVS4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCS0gUGFzcyBpbmZvUHRyIGFyb3VuZCwgaW5zdGVhZCBvZiBod25kLgorCS0gSW1wbGVtZW50IGhvdCBjdXJzb3IuCisJLSBVcGRhdGUgbGlzdCBvZiB1bmltcGxlbWVudGVkIG1lc3NhZ2VzLgorCS0gU2ltcGxpZnkgdGhlIGNvZGUgZm9yIGVkaXRpbmcgbGFiZWxzLgorCS0gU3RhcnQgd29ya2luZyB0b3dhcmRzIG1vcmUgdHlwZS1zYWZlIGZ1bmN0aW9ucy4KKwktIFNtYWxsIGNvZGUgY2xlYW51cHMuCisJLSBTb21lIGRvY3UgdXBkYXRlcy4KKworCSogZGxscy9jb21jdGwzMi9jb21ib2V4LmMsIGRsbHMvY29tY3RsMzIvcHJvZ3Jlc3MuYywKKwkgIGRsbHMvY29tY3RsMzIvdXBkb3duLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwktIEZpeCBidWcgaW4gbW91c2UgcG9zaXRpb24gcmVhZGluZy4KKwktIFJlbW92ZSB1c2VsZXNzIGNvZGUuCisJLSBTbWFsbCBjb2RlIGNsZWFudXBzLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyYWNrYmFyLmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJLSBGaXggdGhlIHRpY3MgZHJhd2luZyBjb2RlLgorCS0gRml4IHRoZSBzZWxlY3Rpb24gYXJlYSBjYWxjdWxhdGlvbiAmIGRyYXdpbmcuCisJLSBJbXBsZW1lbnQgVEJTX0RPV05JU0xFRlQuCisJLSBNYWtlIHVzZSBvZiBmTG9jYXRpb24gKFRCVFNfe1RPUCxMRUZULEJVVFRPTSxSSUdIVH0pLgorCS0gTG90cyBvZiBjb2RlIGNsZWFudXBzIGFuZCBzaW1wbGlmaWNhdGlvbnMuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbHRpcHMuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlBZGQgc3VwcG9ydCBmb3IgdGhlIFRUTV9HRVRCVUJCTEVTSVpFIG1lc3NhZ2UuCisKKwkqIGluY2x1ZGUvY29tbWN0cmwuaDogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwktIEFkZCBtaXNzaW5nIGRlY2xhcmF0aW9uIGZvciBUQlNfRE9XTklTTEVGVCBhbmQgVFRNX0dFVEJVQkJMRVNJWkUuCisJLSBGaXggaW5kZW50YXRpb24gZm9yIGEgYnVuY2ggb2YgdGhpbmdzLgorCisJKiBkbGxzL3dpbnNwb29sL2luZm8uYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJSWYgdGhlIGRlZmF1bHQgQ1VQUyBwcmludGVyIGhhcyBubyBwcGQgZmlsZSwganVzdCB1c2UgdGhlIGZpcnN0CisJcHJpbnRlciB0aGF0IGhhcyBvbmUgYXMgV2luZG93cyBkZWZhdWx0IHByaW50ZXIuCisJU3VwcG9ydCBQUklOVEVSX0VOVU1fQ09OTkVDVElPTlMgaW4gdGhlIGRlZmF1bHQgd2F5LgorCisJKiBkbGxzL21zdmNydC9zY2FuZi5oOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlNYWtlIHRoZSBzY2FuZiBmYW1pbHkgcmVjb2duaXplIGNoYXJhY3RlcnMgYWdhaW4uCisKKwkqIHRvb2xzL3dpbmFwaS93aW4zMi5hcGksIHRvb2xzL3dpbmFwaV9jaGVjay9tb2R1bGVzLmRhdDoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlBUEkgZmlsZXMgdXBkYXRlLgorCisJKiB0b29scy93aW5lbWFrZXI6IE1hcnRpbiBXaWxjayA8TWFydGluLldpbGNrQEZ1aml0c3UtU2llbWVucy5jb20+CisJLSBBZGQgIi1sZGwiIGZvciB3cmFwcGVyIGFwcHMuCisJLSBmaXggTWFrZWZpbGUgZm9yIC0td3JhcC4KKwktIEZpeCB3cmFwcGVyIGNvZGUgd2hpY2ggd2FzIGJyb2tlbiBmb3IgY29uc29sZSBhcHBzLgorCisyMDAyLTA5LTA2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZy5oLCBkbGxzL2NvbW1kbGcvY29sb3JkbGcuYywgZGxscy9jb21tZGxnL2ZpbGVkbGcuYywKKwkgIGRsbHMvY29tbWRsZy9maW5kZGxnLmMsIGRsbHMvY29tbWRsZy9mb250ZGxnLmMsCisJICBkbGxzL2NvbW1kbGcvcHJpbnRkbGcuYywgZGxscy93aW5lcHMvZHJpdmVyLmMsIGRsbHMvd2luc29jay9hc3luYy5jLAorCSAgZGxscy93aW5zb2NrL3NvY2tldC5jLCBpbmNsdWRlL3dpbmRlZi5oLCBpbmNsdWRlL3dpbmUvd2luc29jazE2Lmg6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlGaW5pc2ggdGhlIGNvbnZlcnNpb24gb2YgSFdORCB0byBhIHZvaWQqLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9wYXRoLmMsIHRvb2xzL3dpbmVpbnN0YWxsOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVNvbWUgc21hbGwgdHlwbyAvIHBocmFzaW5nIGZpeGVzLgorCisJKiBNYWtlZmlsZS5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWRsbC5ydWxlcy5pbiwKKwkgIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvTWFrZXRlc3QucnVsZXMuaW4sIGRsbHMvbWFrZV9kbGxzLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvTWFrZWZpbGUuaW4sIE1ha2UucnVsZXMuaW46CisJQWRkZWQgcHJlbGltaW5hcnkgc3VwcG9ydCBmb3IgY3Jvc3MtY29tcGlsaW5nIHRlc3RzIHVzaW5nIG1pbmd3IG9uCisJTGludXggaWYgYXZhaWxhYmxlLgorCisJKiBkbGxzL3dpbm1tL21jaWFuaW0vbWNpYW5pbS5jLCBkbGxzL3dpbm1tL21jaWF2aS9pbmZvLmMsCisJICBkbGxzL3dpbm1tL21jaWF2aS9tY2lhdmkuYywgZGxscy93aW5tbS9tY2lhdmkvcHJpdmF0ZV9tY2lhdmkuaCwKKwkgIGRsbHMvd2lubW0vbWNpY2RhL21jaWNkYS5jLCBkbGxzL3dpbm1tL21jaXNlcS9tY2ltaWRpLmMsCisJICBkbGxzL3dpbm1tL21jaXdhdmUvbWNpd2F2ZS5jLCBkbGxzL3dpbm1tL21tc3lzdGVtLmMsCisJICBkbGxzL3dpbm1tL3dpbmVtbS5oLCBkbGxzL2NvbWN0bDMyL3Rvb2x0aXBzLmMsCisJICBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmMsIGRsbHMvY29tY3RsMzIvdXBkb3duLmMsCisJICBkbGxzL2dkaS93aW4xNmRydi9wcnRkcnYuYywgZGxscy9tc3ZpZGVvL21zdmlkZW9fbWFpbi5jLAorCSAgZGxscy9zZXR1cGFwaS9xdWV1ZS5jLCBkbGxzL3NldHVwYXBpL3NldHVweF9tYWluLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwuYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oLCBkbGxzL3NoZWxsMzIvc2hsZXhlYy5jLAorCSAgZGxscy90d2Fpbi9kc21fY3RybC5jLCBkbGxzL3R3YWluL3R3YWluX2kuaCwgZGxscy93aW5tbS9tY2kuYywKKwkgIGRsbHMvY29tY3RsMzIvYW5pbWF0ZS5jLCBkbGxzL2NvbWN0bDMyL2NvbWJvZXguYywKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsMzJ1bmRvYy5jLCBkbGxzL2NvbWN0bDMyL2NvbW1jdHJsLmMsCisJICBkbGxzL2NvbWN0bDMyL2RhdGV0aW1lLmMsIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYywKKwkgIGRsbHMvY29tY3RsMzIvcHJvcHNoZWV0LmMsIGRsbHMvY29tY3RsMzIvcmViYXIuYywKKwkgIGRsbHMvY29tY3RsMzIvc3RhdHVzLmMsIGRsbHMvY29tY3RsMzIvdGFiLmMsIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJUHJlcGFyZSBkbGxzL3tjb21jdGwzMixnZGksbXN2aWRlbyxzZXR1cGFwaSxzaGVsbDMyLHR3YWluLHdpbm1tfSBmb3IKKwl0aGUgY29udmVyc2lvbiBvZiBIV05EIHRvIGEgdm9pZCouCisKKwkqIGRsbHMvYWR2YXBpMzIvYWR2YXBpMzIuc3BlYywgZGxscy9hZHZhcGkzMi9zZWN1cml0eS5jLAorCSAgaW5jbHVkZS9udHNlY2FwaS5oOgorCUFuZHJpeSBQYWxhbWFyY2h1ayA8YXBhM2FAeWFob28uY29tPgorCUxzYU50U3RhdHVzVG9Eb3NFcnJvciBpbXBsZW1lbnRhdGlvbi4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jOgorCU1hcnRpbiBXaWxjayA8TWFydGluLldpbGNrQEZ1aml0c3UtU2llbWVucy5jb20+CisJV1MyX3JlZ2lzdGVyX2FzeW5jX3NodXRkb3duKCk6IFRyeSBpbW1lZGlhdGUgY29tcGxldGlvbiwgaW4gY2FzZSBhbgorCWFwcCBuZXZlciB3YWl0cyBmb3IgYW55dGhpbmcuCisJV1NfYWNjZXB0KCk6IEF2b2lkIGNyYXNoIGlmIGFkZHIgcGFyYW1ldGVyIGlzIE5VTEwuCisKKwkqIGRsbHMvc2hsd2FwaS9yZWcuYywgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUltcGxlbWVudGVkIHJlZ2lzdHJ5IE1JTUUgdHlwZSBmdW5jdGlvbnMgQDMyNC0zMjkuCisKKwkqIGRsbHMvZ2RpL01ha2VmaWxlLmluLCBkbGxzL2dkaS9nZGkzMi5zcGVjLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLAorCSAgZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL3R0eWRydi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwgZGxscy91c2VyL3VzZXIzMi5zcGVjLAorCSAgZGxscy93aW5lZG9zL01ha2VmaWxlLmluLCBkbGxzL3gxMWRydi9NYWtlZmlsZS5pbiwgZGxscy9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvZGRyYXcvTWFrZWZpbGUuaW46CisJTGluayBhbGwgcmVtYWluaW5nIGRsbHMgZXhjZXB0IGtlcm5lbDMyIGFzIHNlcGFyYXRlZCBkbGxzLCBieQorCXRlbXBvcmFyaWx5IGV4cG9ydGluZyB0aGUgZmV3IGZ1bmN0aW9ucyB0aGF0IGFyZSBub3QgcHJvcGVybHkKKwlzZXBhcmF0ZWQgeWV0LgorCisJKiBtaXNjL3ZlcnNpb24uYzogRml4ZWQgY2hlY2tpbmcgb2Ygc3BlY2lhbCBkbGwgbmFtZXMuCisKKwkqIGRvY3VtZW50YXRpb24vaW50cm9kdWN0aW9uLnNnbWw6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNZW50aW9uIDMyYml0IGNvb3JkaW5hdGVzIHN1cHBvcnQuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2F0b20uYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlEbyBub3QgaW5jbHVkZSB3aW5lL3VuaWNvZGUuaC4KKworCSogdG9vbHMvd2luZW1ha2VyOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUFkZCBwcm90b3R5cGVzIHRvIGFsbCBmdW5jdGlvbnMuCisJTWFrZSB3aW5lbWFrZXIgd29yayBpbiAnc3RyaWN0JyBtb2RlLgorCisJKiBkbGxzL3NobHdhcGkvb3JkaW5hbC5jLCBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJQWRkIEAxMzgsQDE1NyxAMTgwLEAxOTcsQDIwNC4KKwlAMTUxLTE1NzogUGFyYW1ldGVycyBhcmUgY29uc3QuCisJQDM2IGluc2VydHMgTUZfQklUTUFQJ3MuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYzoKKwlNYXJ0aW4gV2lsY2sgPE1hcnRpbi5XaWxja0BGdWppdHN1LVNpZW1lbnMuY29tPgorCUZpeGVkIHR5cG8gaW4gY2hlY2tfYnVmZmVyX3NlKCkuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbDMyLnNwZWMsIGRsbHMvc2hlbGwzMi9zaGVsbG9yZC5jOgorCVJvbGYgS2FsYmVybWF0dGVyIDxyb2xmLmthbGJlcm1hdHRlckBjaXRlbmcuY29tPgorCUltcGxlbWVudGVkIFNIQ3JlYXRlU3RkRW51bUZtdEV0Yy4KKworCSogZGxscy9jb21jdGwzMi90cmFja2Jhci5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCS0gRWxpbWluYXRlIGZsaWNrZXIuCisJLSBNdWNoIGltcHJvdmVkIHRodW1iIGRyYWdnaW5nLgorCS0gRml4IHRvb2x0aXAgYmVoYXZpb3VyLgorCS0gRml4IHRpY2sgaGFuZGxpbmcuCisJLSBTdHJlYW1saW5lZCBkcmF3aW5nIGNvZGUuCisJLSBEZWNlbnQgcGFnaW5nIHdpZHRoLgorCS0gSGFuZGxlIE9PTSBncmFjZWZ1bGx5LgorCS0gQWRkIHByb3BlciBub3RpZmljYXRpb25zLgorCS0gRml4IHJhbmdlIHNldHRpbmcuCisJLSBTdGFydCBzdXBwb3J0IGZvciBjdXN0b20gZHJhdy4KKwktIEZpeCBhIGJ1bmNoIG9mIGJ1Z3MuCisJLSBDb2RlIGNsZWFudXBzLgorCS0gVXBkYXRlIGRvY3VtZW50YXRpb24uCisJLSBTcGFjaW5nIGZpeGVzLgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMyLmg6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQWRkIGdlbmVyaWMgbm90aWZpY2F0aW9uIHN1cHBvcnQgZm9yIHRoZSBjb21tb24gY29udHJvbHMuCisKKwkqIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJLSBDb21wbGV0ZSBzdXBwb3J0IGZvciByZ2J7RmcsQmt9IGluIERyYXdJbmRpcmVjdC4KKwktIFJlbmFtZSBWT0lEIHRvIHZvaWQuCisJLSBEb2N1bWVudGF0aW9uIGNsZWFudXAuCisJLSBGaXggSUxEX1RSQU5TUEFSRU5UIGhhbmRsaW5nLgorCisyMDAyLTA5LTA0ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBWRVJTSU9OLCBjb25maWd1cmUsIEFOTk9VTkNFLCBDaGFuZ2VMb2c6IFJlbGVhc2UgMjAwMjA5MDQuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIwMDItMDktMDQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CiAKIAkqIE1ha2VmaWxlLmluOiBSZW1vdmUgTWFrZXRlc3QucnVsZXMgb24gZGlzdGNsZWFuLgpkaWZmIC0tZ2l0IGEvVkVSU0lPTiBiL1ZFUlNJT04KaW5kZXggZWNlYzIwOS4uNWEwYjFjZiAxMDA2NDQKLS0tIGEvVkVSU0lPTgorKysgYi9WRVJTSU9OCkBAIC0xICsxIEBACi1XaW5lIHZlcnNpb24gMjAwMjA5MDQKK1dpbmUgdmVyc2lvbiAyMDAyMTAwNwpkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IDY5NDgyNDUuLjI3ZTRjZjkgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEsNiArMSw2IEBACiAjISAvYmluL3NoCiAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCi0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41MyBmb3IgV2luZSAyMDAyMDkwNC4KKyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjUzIGZvciBXaW5lIDIwMDIxMDA3LgogIwogIyBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgogIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTI1NCw4ICsyNTQsOCBAQAogIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCiBQQUNLQUdFX05BTUU9J1dpbmUnCiBQQUNLQUdFX1RBUk5BTUU9J3dpbmUnCi1QQUNLQUdFX1ZFUlNJT049JzIwMDIwOTA0JwotUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMjA5MDQnCitQQUNLQUdFX1ZFUlNJT049JzIwMDIxMDA3JworUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMjEwMDcnCiBQQUNLQUdFX0JVR1JFUE9SVD0nJwogCiBhY191bmlxdWVfZmlsZT0ic2VydmVyL2F0b20uYyIKQEAgLTc2MCw3ICs3NjAsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwMjA5MDQgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDAyMTAwNyB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCiAKIFVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgogCkBAIC04MjUsNyArODI1LDcgQEAKIAogaWYgdGVzdCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KICAgY2FzZSAkYWNfaW5pdF9oZWxwIGluCi0gICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDIwOTA0OiI7OworICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDAyMTAwNzoiOzsKICAgIGVzYWMKICAgY2F0IDw8XF9BQ0VPRgogCkBAIC05MTksNyArOTE5LDcgQEAKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgMAogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1XaW5lIGNvbmZpZ3VyZSAyMDAyMDkwNAorV2luZSBjb25maWd1cmUgMjAwMjEwMDcKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41MwogCiBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgpAQCAtOTM0LDcgKzkzNCw3IEBACiBUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQogcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KIAotSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMjA5MDQsIHdoaWNoIHdhcworSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMjEwMDcsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjUzLiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgJCAkMCAkQApAQCAtMTQ1MzUsNyArMTQ1MzUsNyBAQAogfSA+JjUKIGNhdCA+JjUgPDxfQ1NFT0YKIAotVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDAyMDkwNCwgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDIwMDIxMDA3LCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41My4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKQEAgLTE0NTk3LDcgKzE0NTk3LDcgQEAKIAogY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKIGFjX2NzX3ZlcnNpb249IlxcCi1XaW5lIGNvbmZpZy5zdGF0dXMgMjAwMjA5MDQKK1dpbmUgY29uZmlnLnN0YXR1cyAyMDAyMTAwNwogY29uZmlndXJlZCBieSAkMCwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjUzLAogICB3aXRoIG9wdGlvbnMgXFwiYGVjaG8gIiRhY19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvW1xcIiJcYFwkXS9cXFxcJi9nJ2BcXCIKIAo=