ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vc2NzaS9haGExNTJ4LnR4dCBiL0RvY3VtZW50YXRpb24vc2NzaS9haGExNTJ4LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2UwMjJjCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9zY3NpL2FoYTE1MngudHh0CkBAIC0wLDAgKzEsMTgzIEBACiskSWQ6IFJFQURNRS5haGExNTJ4LHYgMS4yIDE5OTkvMTIvMjUgMTU6MzI6MzAgZmlzY2hlciBFeHAgZmlzY2hlciAkCitBZGFwdGVjIEFIQS0xNTIwLzE1MjIgU0NTSSBkcml2ZXIgZm9yIExpbnV4IChhaGExNTJ4KQorCitDb3B5cmlnaHQgMTk5My0xOTk5IEr8cmdlbiBGaXNjaGVyIDxmaXNjaGVyQG5vcmJpdC5kZT4KK1RDMTU1MCBwYXRjaGVzIGJ5IEx1dWsgdmFuIERpamsgKGxkekB4czRhbGwubmwpCisKKworSW4gUmV2aXNpb24gMiB0aGUgZHJpdmVyIHdhcyBtb2RpZmllZCBhIGxvdCAoZXNwZWNpYWxseSB0aGUKK2JvdHRvbS1oYWxmIGhhbmRsZXIgY29tcGxldGUoKSkuCisKK1RoZSBkcml2ZXIgaXMgbXVjaCBjbGVhbmVyIG5vdywgaGFzIHN1cHBvcnQgZm9yIHRoZSBuZXcKK2Vycm9yIGhhbmRsaW5nIGNvZGUgaW4gMi4zLCBwcm9kdWNlZCBsZXNzIGNwdSBsb2FkIChtdWNoCitsZXNzIHBvbGxpbmcgbG9vcHMpLCBoYXMgc2xpZ2h0bHkgaGlnaGVyIHRocm91Z2hwdXQgKGF0CitsZWFzdCBvbiBteSBhbmNpZW50IHRlc3QgYm94OyBhIGk0ODYvMzNNaHovMjBNQikuCisKKworQ09ORklHVVJBVElPTiBBUkdVTUVOVFM6CisKK0lPUE9SVCAgICAgICAgYmFzZSBpbyBhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MzQwLzB4MTQwKQorSVJRICAgICAgICAgICBpbnRlcnJ1cHQgbGV2ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAoOS0xMjsgZGVmYXVsdCAxMSkKK1NDU0lfSUQgICAgICAgc2NzaSBpZCBvZiBjb250cm9sbGVyICAgICAgICAgICAgICAgICAgICAgKDAtNzsgZGVmYXVsdCA3KQorUkVDT05ORUNUICAgICBhbGxvdyB0YXJnZXRzIHRvIGRpc2Nvbm5lY3QgZnJvbSB0aGUgYnVzICAoMC8xOyBkZWZhdWx0IDEgW29uXSkKK1BBUklUWSAgICAgICAgZW5hYmxlIHBhcml0eSBjaGVja2luZyAgICAgICAgICAgICAgICAgICAgKDAvMTsgZGVmYXVsdCAxIFtvbl0pCitTWU5DSFJPTk9VUyAgIGVuYWJsZSBzeW5jaHJvbm91cyB0cmFuc2ZlcnMgICAgICAgICAgICAgICgwLzE7IGRlZmF1bHQgMSBbb25dKQorREVMQVk6ICAgICAgICBidXMgcmVzZXQgZGVsYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdCAxMDApCitFWFRfVFJBTlM6ICAgIGVuYWJsZSBleHRlbmRlZCB0cmFuc2xhdGlvbiAgICAgICAgICAgICAgICgwLzE6IGRlZmF1bHQgMCBbb2ZmXSkKKyAgICAgICAgICAgICAgKHNlZSBOT1RFUykKKworQ09NUElMRSBUSU1FIENPTkZJR1VSQVRJT04gKGdvIGludG8gQUhBMTUyWCBpbiBkcml2ZXJzL3Njc2kvTWFrZWZpbGUpOgorCistREFVVE9DT05GCisgdXNlIGNvbmZpZ3VyYXRpb24gdGhlIGNvbnRyb2xsZXIgcmVwb3J0cyAoQUhBLTE1Mnggb25seSkKKworLURTS0lQX0JJT1NURVNUCisgRG9uJ3QgdGVzdCBmb3IgQklPUyBzaWduYXR1cmUgKEFIQS0xNTEwIG9yIGRpc2FibGVkIEJJT1MpCisKKy1EU0VUVVAwPSJ7IElPUE9SVCwgSVJRLCBTQ1NJX0lELCBSRUNPTk5FQ1QsIFBBUklUWSwgU1lOQ0hST05PVVMsIERFTEFZLCBFWFRfVFJBTlMgfSIKKyBvdmVycmlkZSBmb3IgdGhlIGZpcnN0IGNvbnRyb2xsZXIgCisKKy1EU0VUVVAxPSJ7IElPUE9SVCwgSVJRLCBTQ1NJX0lELCBSRUNPTk5FQ1QsIFBBUklUWSwgU1lOQ0hST05PVVMsIERFTEFZLCBFWFRfVFJBTlMgfSIKKyBvdmVycmlkZSBmb3IgdGhlIHNlY29uZCBjb250cm9sbGVyCisKKy1EQUhBMTUyWF9ERUJVRworIGVuYWJsZSBkZWJ1Z2dpbmcgb3V0cHV0CisKKy1EQUhBMTUyWF9TVEFUCisgZW5hYmxlIHNvbWUgc3RhdGlzdGljcworCisKK0xJTE8gQ09NTUFORCBMSU5FIE9QVElPTlM6CisKK2FoYTE1Mng9PElPUE9SVD5bLDxJUlE+Wyw8U0NTSS1JRD5bLDxSRUNPTk5FQ1Q+Wyw8UEFSSVRZPlssPFNZTkNIUk9OT1VTPlssPERFTEFZPiBbLDxFWFRfVFJBTlNdXV1dXV1dCisKKyBUaGUgbm9ybWFsIGNvbmZpZ3VyYXRpb24gY2FuIGJlIG92ZXJyaWRkZW4gYnkgc3BlY2lmeWluZyBhIGNvbW1hbmQgbGluZS4KKyBXaGVuIHlvdSBkbyB0aGlzLCB0aGUgQklPUyB0ZXN0IGlzIHNraXBwZWQuIEVudGVyZWQgdmFsdWVzIGhhdmUgdG8gYmUKKyB2YWxpZCAoa25vd24pLiAgRG9uJ3QgdXNlIHZhbHVlcyB0aGF0IGFyZW4ndCBzdXBwb3J0ZWQgdW5kZXIgbm9ybWFsCisgb3BlcmF0aW9uLiAgSWYgeW91IHRoaW5rIHRoYXQgeW91IG5lZWQgb3RoZXIgdmFsdWVzOiBjb250YWN0IG1lLgorIEZvciB0d28gY29udHJvbGxlcnMgdXNlIHRoZSBhaGExNTJ4IHN0YXRlbWVudCB0d2ljZS4KKworCitTWU1CT0xTIEZPUiBNT0RVTEUgQ09ORklHVVJBVElPTjoKKworQ2hvb3NlIGZyb20gMiBhbHRlcm5hdGl2ZXM6CisKKzEuIHNwZWNpZnkgZXZlcnl0aGluZyAob2xkKQorCithaGExNTJ4PUlPUE9SVCxJUlEsU0NTSV9JRCxSRUNPTk5FQ1QsUEFSSVRZLFNZTkNIUk9OT1VTLERFTEFZLEVYVF9UUkFOUworICBjb25maWd1cmF0aW9uIG92ZXJyaWRlIGZvciBmaXJzdCBjb250cm9sbGVyCisKKworYWhhMTUyeDE9SU9QT1JULElSUSxTQ1NJX0lELFJFQ09OTkVDVCxQQVJJVFksU1lOQ0hST05PVVMsREVMQVksRVhUX1RSQU5TCisgIGNvbmZpZ3VyYXRpb24gb3ZlcnJpZGUgZm9yIHNlY29uZCBjb250cm9sbGVyCisKKzIuIHNwZWNpZnkgb25seSB3aGF0IHlvdSBuZWVkIHRvIChpcnEgb3IgaW8gaXMgcmVxdWlyZWQ7IG5ldykKKworaW89SU9QT1JUMFssSU9QT1JUMV0KKyAgSU9QT1JUIGZvciBmaXJzdCBhbmQgc2Vjb25kIGNvbnRyb2xsZXIKKworaXJxPUlSUTBbLElSUTFdCisgIElSUSBmb3IgZmlyc3QgYW5kIHNlY29uZCBjb250cm9sbGVyCisKK3Njc2lpZD1TQ1NJSUQwWyxTQ1NJSUQxXQorICBTQ1NJSUQgZm9yIGZpcnN0IGFuZCBzZWNvbmQgY29udHJvbGxlcgorCityZWNvbm5lY3Q9UkVDT05ORUNUMFssUkVDT05ORUNUMV0KKyAgYWxsb3cgdGFyZ2V0cyB0byBkaXNjb25uZWN0IGZvciBmaXJzdCBhbmQgc2Vjb25kIGNvbnRyb2xsZXIKKworcGFyaXR5PVBBUjBbUEFSMV0KKyAgdXNlIHBhcml0eSBmb3IgZmlyc3QgYW5kIHNlY29uZCBjb250cm9sbGVyCisKK3N5bmM9U1lOQ0hST05PVVMwWyxTWU5DSFJPTk9VUzFdCisgIGVuYWJsZSBzeW5jaHJvbm91cyB0cmFuc2ZlcnMgZm9yIGZpcnN0IGFuZCBzZWNvbmQgY29udHJvbGxlcgorCitkZWxheT1ERUxBWTBbLERFTEFZMV0KKyAgcmVzZXQgREVMQVkgZm9yIGZpcnN0IGFuZCBzZWNvbmQgY29udHJvbGxlcgorCitleHR0cmFucz1FWFRUUkFOUzBbLEVYVFRSQU5TMV0KKyAgZW5hYmxlIGV4dGVuZGVkIHRyYW5zbGF0aW9uIGZvciBmaXJzdCBhbmQgc2Vjb25kIGNvbnRyb2xsZXIKKworCitJZiB5b3UgdXNlIGJvdGggYWx0ZXJuYXRpdmVzIHRoZSBmaXJzdCB3aWxsIGJlIHRha2VuLgorCisKK05PVEVTIE9OIEVYVF9UUkFOUzogCisKK1NDU0kgdXNlcyBibG9jayBudW1iZXJzIHRvIGFkZHJlc3MgYmxvY2tzL3NlY3RvcnMgb24gYSBkZXZpY2UuCitUaGUgQklPUyB1c2VzIGEgY3lsaW5kZXIvaGVhZC9zZWN0b3IgYWRkcmVzc2luZyBzY2hlbWUgKEMvSC9TKQorc2NoZW1lIGluc3RlYWQuICBET1MgZXhwZWN0cyBhIEJJT1Mgb3IgZHJpdmVyIHRoYXQgdW5kZXJzdGFuZHMgdGhpcworQy9IL1MgYWRkcmVzc2luZy4KKworVGhlIG51bWJlciBvZiBjeWxpbmRlcnMvaGVhZHMvc2VjdG9ycyBpcyBjYWxsZWQgZ2VvbWV0cnkgYW5kIGlzIHJlcXVpcmVkCithcyBiYXNlIGZvciByZXF1ZXN0cyBpbiBDL0gvUyBhZGRyZXNzaW5nLiAgU0NTSSBvbmx5IGtub3dzIGFib3V0IHRoZQordG90YWwgY2FwYWNpdHkgb2YgZGlza3MgaW4gYmxvY2tzIChzZWN0b3JzKS4KKworVGhlcmVmb3JlIHRoZSBTQ1NJIEJJT1MvRE9TIGRyaXZlciBoYXMgdG8gY2FsY3VsYXRlIGEgbG9naWNhbC92aXJ0dWFsCitnZW9tZXRyeSBqdXN0IHRvIGJlIGFibGUgdG8gc3VwcG9ydCB0aGF0IGFkZHJlc3Npbmcgc2NoZW1lLiAgVGhlIGdlb21ldHJ5CityZXR1cm5lZCBieSB0aGUgU0NTSSBCSU9TIGlzIGEgcHVyZSBjYWxjdWxhdGlvbiBhbmQgaGFzIG5vdGhpbmcgdG8KK2RvIHdpdGggdGhlIHJlYWwvcGh5c2ljYWwgZ2VvbWV0cnkgb2YgdGhlIGRpc2sgKHdoaWNoIGlzIHVzdWFsbHkKK2lycmVsZXZhbnQgYW55d2F5KS4KKworQmFzaWNhbGx5IHRoaXMgaGFzIG5vIGltcGFjdCBhdCBhbGwgb24gTGludXgsIGJlY2F1c2UgaXQgYWxzbyB1c2VzIGJsb2NrCitpbnN0ZWFkIG9mIEMvSC9TIGFkZHJlc3NpbmcuICBVbmZvcnR1bmF0ZWx5IEMvSC9TIGFkZHJlc3NpbmcgaXMgYWxzbyB1c2VkCitpbiB0aGUgcGFydGl0aW9uIHRhYmxlIGFuZCB0aGVyZWZvcmUgZXZlcnkgb3BlcmF0aW5nIHN5c3RlbSBoYXMgdG8ga25vdwordGhlIHJpZ2h0IGdlb21ldHJ5IHRvIGJlIGFibGUgdG8gaW50ZXJwcmV0IGl0LgorCitNb3Jlb3ZlciB0aGVyZSBhcmUgY2VydGFpbiBsaW1pdGF0aW9ucyB0byB0aGUgQy9IL1MgYWRkcmVzc2luZyBzY2hlbWUsCituYW1lbHkgdGhlIGFkZHJlc3Mgc3BhY2UgaXMgbGltaXRlZCB0byB1cHRvIDI1NSBoZWFkcywgdXB0byA2MyBzZWN0b3JzCithbmQgYSBtYXhpbXVtIG9mIDEwMjMgY3lsaW5kZXJzLgorCitUaGUgQUhBLTE1MjIgQklPUyBjYWxjdWxhdGVzIHRoZSBnZW9tZXRyeSBieSBmaXhpbmcgdGhlIG51bWJlciBvZiBoZWFkcwordG8gNjQsIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byAzMiBhbmQgYnkgY2FsY3VsYXRpbmcgdGhlIG51bWJlciBvZgorY3lsaW5kZXJzIGJ5IGRpdmlkaW5nIHRoZSBjYXBhY2l0eSByZXBvcnRlZCBieSB0aGUgZGlzayBieSA2NCozMiAoMSBNQikuCitUaGlzIGlzIGNvbnNpZGVyZWQgdG8gYmUgdGhlIGRlZmF1bHQgdHJhbnNsYXRpb24uCisKK1dpdGggcmVzcGVjdCB0byB0aGUgbGltaXQgb2YgMTAyMyBjeWxpbmRlcnMgdXNpbmcgQy9IL1MgeW91IGNhbiBvbmx5CithZGRyZXNzIHRoZSBmaXJzdCBHQiBvZiB5b3VyIGRpc2sgaW4gdGhlIHBhcnRpdGlvbiB0YWJsZS4gIFRoZXJlZm9yZQorQklPU2VzIG9mIHNvbWUgbmV3ZXIgY29udHJvbGxlcnMgYmFzZWQgb24gdGhlIEFJQy02MjYwLzYzNjAgc3VwcG9ydAorZXh0ZW5kZWQgdHJhbnNsYXRpb24uICBUaGlzIG1lYW5zIHRoYXQgdGhlIEJJT1MgdXNlcyAyNTUgZm9yIGhlYWRzLAorNjMgZm9yIHNlY3RvcnMgYW5kIHRoZW4gZGl2aWRlcyB0aGUgY2FwYWNpdHkgb2YgdGhlIGRpc2sgYnkgMjU1KjYzCisoYWJvdXQgOCBNQiksIGFzIHNvb24gaXQgc2VlcyBhIGRpc2sgZ3JlYXRlciB0aGFuIDEgR0IuICBUaGF0IHJlc3VsdHMKK2luIGEgbWF4aW11bSBvZiBhYm91dCA4IEdCIGFkZHJlc3NhYmxlIGRpc2tzcGFjZSBpbiB0aGUgcGFydGl0aW9uIHRhYmxlCisoYnV0IHRoZXJlIGFyZSBhbHJlYWR5IGJpZ2dlciBkaXNrcyBvdXQgdGhlcmUgdG9kYXkpLgorCitUbyBtYWtlIGl0IGV2ZW4gbW9yZSBjb21wbGljYXRlZCB0aGUgdHJhbnNsYXRpb24gbW9kZSBtaWdodC9taWdodAorbm90IGJlIGNvbmZpZ3VyYWJsZSBpbiBjZXJ0YWluIEJJT1Mgc2V0dXBzLgorCitUaGlzIGRyaXZlciBkb2VzIHNvbWUgbW9yZSBvciBsZXNzIGZhaWxzYWZlIGd1ZXNzaW5nIHRvIGdldCB0aGUKK2dlb21ldHJ5IHJpZ2h0IGluIG1vc3QgY2FzZXM6CisKKy0gZm9yIGRpc2tzPDFHQjogdXNlIGRlZmF1bHQgdHJhbnNsYXRpb24gKEMvMzIvNjQpCisKKy0gZm9yIGRpc2tzPjFHQjoKKyAgLSB0YWtlIGN1cnJlbnQgZ2VvbWV0cnkgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlCisgICAgKHVzaW5nIHNjc2ljYW1fYmlvc19wYXJhbSBhbmQgYWNjZXB0IG9ubHkgYHZhbGlkJyBnZW9tZXRyaWVzLAorICAgIGllLiBlaXRoZXIgKEMvMzIvNjQpIG9yIChDLzYzLzI1NSkpLiAgVGhpcyBjYW4gYmUgZXh0ZW5kZWQgdHJhbnNsYXRpb24KKyAgICBldmVuIGlmIGl0J3Mgbm90IGVuYWJsZWQgaW4gdGhlIGRyaXZlci4KKworICAtIGlmIHRoYXQgZmFpbHMsIHRha2UgZXh0ZW5kZWQgdHJhbnNsYXRpb24gaWYgZW5hYmxlZCBieSBvdmVycmlkZSwKKyAgICBrZXJuZWwgb3IgbW9kdWxlIHBhcmFtZXRlciwgb3RoZXJ3aXNlIHRha2UgZGVmYXVsdCB0cmFuc2xhdGlvbiBhbmQKKyAgICBhc2sgdGhlIHVzZXIgZm9yIHZlcmlmaWNhdGlvbi4gIFRoaXMgbWlnaHQgb24gbm90IHlldCBwYXJ0aXRpb25lZAorICAgIGRpc2tzLgorCisKK1JFRkVSRU5DRVMgVVNFRDoKKworICJBSUMtNjI2MCBTQ1NJIENoaXAgU3BlY2lmaWNhdGlvbiIsIEFkYXB0ZWMgQ29ycG9yYXRpb24uCisKKyAiU0NTSSBDT01QVVRFUiBTWVNURU0gSU5URVJGQUNFIC0gMiAoU0NTSS0yKSIsIFgzVDkuMi84Ni0xMDkgcmV2LiAxMGgKKworICJXcml0aW5nIGEgU0NTSSBkZXZpY2UgZHJpdmVyIGZvciBMaW51eCIsIFJpayBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKworICJLZXJuZWwgSGFja2VyJ3MgR3VpZGUiLCBNaWNoYWVsIEsuIEpvaG5zb24gKGpvaG5zb25tQHN1bnNpdGUudW5jLmVkdSkKKworICJBZGFwdGVjIDE1MjAvMTUyMiBVc2VyJ3MgR3VpZGUiLCBBZGFwdGVjIENvcnBvcmF0aW9uLgorCisgTWljaGFlbCBLLiBKb2huc29uIChqb2huc29ubUBzdW5zaXRlLnVuYy5lZHUpCisKKyBEcmV3IEVja2hhcmR0IChkcmV3QGNzLmNvbG9yYWRvLmVkdSkKKworIEVyaWMgWW91bmdkYWxlIChlcmljQGFuZGFudGUub3JnKSAKKworIHNwZWNpYWwgdGhhbmtzIHRvIEVyaWMgWW91bmdkYWxlIGZvciB0aGUgZnJlZSghKSBzdXBwbHlpbmcgdGhlCisgZG9jdW1lbnRhdGlvbiBvbiB0aGUgY2hpcC4K