From kde-kimageshop Fri Aug 14 12:15:09 2015 From: Dmitry Kazakov Date: Fri, 14 Aug 2015 12:15:09 +0000 To: kde-kimageshop Subject: [calligra/calligra/2.9] krita/image: [FEATURE] Keep Selection Masks while merging layers Message-Id: X-MARC-Message: https://marc.info/?l=kde-kimageshop&m=143955453212435 R2l0IGNvbW1pdCAzYmU4NDA2MTM5ZjRkYjAyNzI0M2I0OGQ1ZDE0MDI1ZWRlOGVhNTdhIGJ5IERt aXRyeSBLYXpha292LgpDb21taXR0ZWQgb24gMTQvMDgvMjAxNSBhdCAxMjoxNC4KUHVzaGVkIGJ5 IGRrYXpha292IGludG8gYnJhbmNoICdjYWxsaWdyYS8yLjknLgoKW0ZFQVRVUkVdIEtlZXAgU2Vs ZWN0aW9uIE1hc2tzIHdoaWxlIG1lcmdpbmcgbGF5ZXJzCgo+RnJvbSBub3cgb24gYWN0aXZlIHNl bGVjdGlvbiBtYXNrcyBhcmUgc2F2ZWQgdGhyb3VnaCBhIG1lcmdlIG9wZXJhdGlvbgphbmQgYXJl IGFkZGVkIHRvIGEgbmV3IG1lcmdlZCBsYXllciBhcyBpbmFjdGl2ZSBvbmVzLiBZb3UgY2FuIGFj dGl2YXRlCnRoZW0gbGF0ZXIgbWFudWFsbHkuCgpOZXh0IHdlIHdpbGwgaW1wbGVtZW50IG1lcmdp bmcgb2Ygc2VsZWN0aW9uIG1hc2tzLCB0aGVuIHRoZSB1c2VyIHdpbGwgYmUKYWJsZSB0byBtZXJn ZSBzZWxlY3Rpb24gbWFza3MgYXMgd2VsbC4KCkZpeGVzIFQ1MDgKQ0M6a2ltYWdlc2hvcEBrZGUu b3JnCgpNICArMSAgICAtMCAgICBrcml0YS9pbWFnZS9DTWFrZUxpc3RzLnR4dApBICArNTMgICAt MCAgICBrcml0YS9pbWFnZS9jb21tYW5kc19uZXcva2lzX2FjdGl2YXRlX3NlbGVjdGlvbl9tYXNr X2NvbW1hbmQuY3BwICAgICBbTGljZW5zZTogR1BMICh2MispXQpBICArNDIgICAtMCAgICBrcml0 YS9pbWFnZS9jb21tYW5kc19uZXcva2lzX2FjdGl2YXRlX3NlbGVjdGlvbl9tYXNrX2NvbW1hbmQu aCAgICAgW0xpY2Vuc2U6IEdQTCAodjIrKV0KTSAgKzQzICAgLTEgICAga3JpdGEvaW1hZ2Uva2lz X2ltYWdlLmNjCgpodHRwOi8vY29tbWl0cy5rZGUub3JnL2NhbGxpZ3JhLzNiZTg0MDYxMzlmNGRi MDI3MjQzYjQ4ZDVkMTQwMjVlZGU4ZWE1N2EKCmRpZmYgLS1naXQgYS9rcml0YS9pbWFnZS9DTWFr ZUxpc3RzLnR4dCBiL2tyaXRhL2ltYWdlL0NNYWtlTGlzdHMudHh0CmluZGV4IDlmNmExM2QuLjEz YjA5OWYgMTAwNjQ0Ci0tLSBhL2tyaXRhL2ltYWdlL0NNYWtlTGlzdHMudHh0CisrKyBiL2tyaXRh L2ltYWdlL0NNYWtlTGlzdHMudHh0CkBAIC05OSw2ICs5OSw3IEBAIHNldChrcml0YWltYWdlX0xJ Ql9TUkNTCiAgICBjb21tYW5kc19uZXcva2lzX3NldF9sYXllcl9zdHlsZV9jb21tYW5kLmNwcAog ICAgY29tbWFuZHNfbmV3L2tpc19zZWxlY3Rpb25fbW92ZV9jb21tYW5kMi5jcHAKICAgIGNvbW1h bmRzX25ldy9raXNfdXBkYXRlX2NvbW1hbmQuY3BwCisgICBjb21tYW5kc19uZXcva2lzX2FjdGl2 YXRlX3NlbGVjdGlvbl9tYXNrX2NvbW1hbmQuY3BwCiAgICBwcm9jZXNzaW5nL2tpc19kb19ub3Ro aW5nX3Byb2Nlc3NpbmdfdmlzaXRvci5jcHAKICAgIHByb2Nlc3Npbmcva2lzX3NpbXBsZV9wcm9j ZXNzaW5nX3Zpc2l0b3IuY3BwCiAgICBwcm9jZXNzaW5nL2tpc19jcm9wX3Byb2Nlc3Npbmdfdmlz aXRvci5jcHAKZGlmZiAtLWdpdCBhL2tyaXRhL2ltYWdlL2NvbW1hbmRzX25ldy9raXNfYWN0aXZh dGVfc2VsZWN0aW9uX21hc2tfY29tbWFuZC5jcHAgYi9rcml0YS9pbWFnZS9jb21tYW5kc19uZXcv a2lzX2FjdGl2YXRlX3NlbGVjdGlvbl9tYXNrX2NvbW1hbmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjEyZWVhYTEKLS0tIC9kZXYvbnVsbAorKysgYi9rcml0YS9pbWFn ZS9jb21tYW5kc19uZXcva2lzX2FjdGl2YXRlX3NlbGVjdGlvbl9tYXNrX2NvbW1hbmQuY3BwCkBA IC0wLDAgKzEsNTMgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAyMDE1IERtaXRyeSBLYXpha292 IDxkaW11bGE3M0BnbWFpbC5jb20+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9m IHRoZSBMaWNlbnNlLCBvcgorICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUK KyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBC b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAia2lzX2FjdGl2YXRl X3NlbGVjdGlvbl9tYXNrX2NvbW1hbmQuaCIKKworI2luY2x1ZGUgImtpc19sYXllci5oIgorI2lu Y2x1ZGUgImtpc19zZWxlY3Rpb25fbWFzay5oIgorCisKK0tpc0FjdGl2YXRlU2VsZWN0aW9uTWFz a0NvbW1hbmQ6Oktpc0FjdGl2YXRlU2VsZWN0aW9uTWFza0NvbW1hbmQoS2lzU2VsZWN0aW9uTWFz a1NQIHNlbGVjdGlvbk1hc2ssIGJvb2wgdmFsdWUpCisgICAgOiBtX3NlbGVjdGlvbk1hc2soc2Vs ZWN0aW9uTWFzayksCisgICAgICBtX3ZhbHVlKHZhbHVlKQoreworICAgIGlmIChtX3ByZXZpb3Vz QWN0aXZlTWFzayAhPSBtX3NlbGVjdGlvbk1hc2spIHsKKyAgICAgICAgS2lzTGF5ZXJTUCBwYXJl bnQgPSBkeW5hbWljX2Nhc3Q8S2lzTGF5ZXIqPihzZWxlY3Rpb25NYXNrLT5wYXJlbnQoKS5kYXRh KCkpOworICAgICAgICBpZiAocGFyZW50KSB7CisgICAgICAgICAgICBtX3ByZXZpb3VzQWN0aXZl TWFzayA9IHBhcmVudC0+c2VsZWN0aW9uTWFzaygpOworICAgICAgICB9CisgICAgfQorCisgICAg bV9wcmV2aW91c1ZhbHVlID0gc2VsZWN0aW9uTWFzay0+YWN0aXZlKCk7Cit9CisKK3ZvaWQgS2lz QWN0aXZhdGVTZWxlY3Rpb25NYXNrQ29tbWFuZDo6cmVkbygpCit7CisgICAgbV9zZWxlY3Rpb25N YXNrLT5zZXRBY3RpdmUobV92YWx1ZSk7Cit9CisKK3ZvaWQgS2lzQWN0aXZhdGVTZWxlY3Rpb25N YXNrQ29tbWFuZDo6dW5kbygpCit7CisgICAgbV9zZWxlY3Rpb25NYXNrLT5zZXRBY3RpdmUobV9w cmV2aW91c1ZhbHVlKTsKKworICAgIGlmIChtX3ZhbHVlICYmIG1fcHJldmlvdXNBY3RpdmVNYXNr KSB7CisgICAgICAgIG1fcHJldmlvdXNBY3RpdmVNYXNrLT5zZXRBY3RpdmUodHJ1ZSk7CisgICAg fQorfQorCisKZGlmZiAtLWdpdCBhL2tyaXRhL2ltYWdlL2NvbW1hbmRzX25ldy9raXNfYWN0aXZh dGVfc2VsZWN0aW9uX21hc2tfY29tbWFuZC5oIGIva3JpdGEvaW1hZ2UvY29tbWFuZHNfbmV3L2tp c19hY3RpdmF0ZV9zZWxlY3Rpb25fbWFza19jb21tYW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uM2FhMDc1MAotLS0gL2Rldi9udWxsCisrKyBiL2tyaXRhL2ltYWdlL2Nv bW1hbmRzX25ldy9raXNfYWN0aXZhdGVfc2VsZWN0aW9uX21hc2tfY29tbWFuZC5oCkBAIC0wLDAg KzEsNDIgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAyMDE1IERtaXRyeSBLYXpha292IDxkaW11 bGE3M0BnbWFpbC5jb20+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAq ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBM aWNlbnNlLCBvcgorICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor ICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBG b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24s IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fS0lTX0FDVElWQVRFX1NFTEVD VElPTl9NQVNLX0NPTU1BTkRfSAorI2RlZmluZSBfX0tJU19BQ1RJVkFURV9TRUxFQ1RJT05fTUFT S19DT01NQU5EX0gKKworI2luY2x1ZGUgPGtsb2NhbGUuaD4KKyNpbmNsdWRlICJrdW5kbzJjb21t YW5kLmgiCisjaW5jbHVkZSAia3JpdGFpbWFnZV9leHBvcnQuaCIKKyNpbmNsdWRlICJraXNfdHlw ZXMuaCIKKworY2xhc3MgS1JJVEFJTUFHRV9FWFBPUlQgS2lzQWN0aXZhdGVTZWxlY3Rpb25NYXNr Q29tbWFuZCA6IHB1YmxpYyBLVW5kbzJDb21tYW5kCit7CitwdWJsaWM6CisgICAgS2lzQWN0aXZh dGVTZWxlY3Rpb25NYXNrQ29tbWFuZChLaXNTZWxlY3Rpb25NYXNrU1Agc2VsZWN0aW9uTWFzaywg Ym9vbCB2YWx1ZSk7CisKKyAgICB2b2lkIHVuZG8oKTsKKyAgICB2b2lkIHJlZG8oKTsKKworcHJp dmF0ZToKKyAgICBLaXNTZWxlY3Rpb25NYXNrU1AgbV9zZWxlY3Rpb25NYXNrOworICAgIEtpc1Nl bGVjdGlvbk1hc2tTUCBtX3ByZXZpb3VzQWN0aXZlTWFzazsKKyAgICBib29sIG1fdmFsdWU7Cisg ICAgYm9vbCBtX3ByZXZpb3VzVmFsdWU7Cit9OworCisjZW5kaWYgLyogX19LSVNfQUNUSVZBVEVf U0VMRUNUSU9OX01BU0tfQ09NTUFORF9IICovCmRpZmYgLS1naXQgYS9rcml0YS9pbWFnZS9raXNf aW1hZ2UuY2MgYi9rcml0YS9pbWFnZS9raXNfaW1hZ2UuY2MKaW5kZXggMjVmMTY0MS4uOGE3OTUw YiAxMDA2NDQKLS0tIGEva3JpdGEvaW1hZ2Uva2lzX2ltYWdlLmNjCisrKyBiL2tyaXRhL2ltYWdl L2tpc19pbWFnZS5jYwpAQCAtNzksNiArNzksNyBAQAogI2luY2x1ZGUgInByb2Nlc3Npbmcva2lz X3RyYW5zZm9ybV9wcm9jZXNzaW5nX3Zpc2l0b3IuaCIKICNpbmNsdWRlICJjb21tYW5kc19uZXcv a2lzX2ltYWdlX3Jlc2l6ZV9jb21tYW5kLmgiCiAjaW5jbHVkZSAiY29tbWFuZHNfbmV3L2tpc19p bWFnZV9zZXRfcmVzb2x1dGlvbl9jb21tYW5kLmgiCisjaW5jbHVkZSAiY29tbWFuZHNfbmV3L2tp c19hY3RpdmF0ZV9zZWxlY3Rpb25fbWFza19jb21tYW5kLmgiCiAjaW5jbHVkZSAia2lzX2NvbXBv c2l0ZV9wcm9ncmVzc19wcm94eS5oIgogI2luY2x1ZGUgImtpc19sYXllcl9jb21wb3NpdGlvbi5o IgogI2luY2x1ZGUgImtpc193cmFwcGVkX3JlY3QuaCIKQEAgLTEwNDMsNiArMTA0NCwyOCBAQCB2 b2lkIHNvcnRNZXJnYWJsZU5vZGVzKEtpc05vZGVTUCByb290LCBRTGlzdDxLaXNOb2RlU1A+ICZp bnB1dE5vZGVzLCBRTGlzdDxLaXNObwogICAgIEtJU19BU1NFUlRfUkVDT1ZFUl9OT09QKHJvb3Qt PnBhcmVudCgpIHx8IGlucHV0Tm9kZXMuaXNFbXB0eSgpKTsKIH0KIAordm9pZCBmZXRjaFNlbGVj dGlvbk1hc2tzKFFMaXN0PEtpc05vZGVTUD4gbWVyZ2VkTm9kZXMsIFFWZWN0b3I8S2lzU2VsZWN0 aW9uTWFza1NQPiAmc2VsZWN0aW9uTWFza3MpCit7CisgICAgZm9yZWFjaCAoS2lzTm9kZVNQIG5v ZGUsIG1lcmdlZE5vZGVzKSB7CisgICAgICAgIEtpc0xheWVyU1AgbGF5ZXIgPSBkeW5hbWljX2Nh c3Q8S2lzTGF5ZXIqPihub2RlLmRhdGEoKSk7CisKKyAgICAgICAgS2lzU2VsZWN0aW9uTWFza1NQ IG1hc2s7CisKKyAgICAgICAgaWYgKGxheWVyICYmIChtYXNrID0gbGF5ZXItPnNlbGVjdGlvbk1h c2soKSkpIHsKKyAgICAgICAgICAgIHNlbGVjdGlvbk1hc2tzLmFwcGVuZChtYXNrKTsKKyAgICAg ICAgfQorICAgIH0KK30KKwordm9pZCByZXBhcmVudFNlbGVjdGlvbk1hc2tzKEtpc0xheWVyU1Ag bmV3TGF5ZXIsIGNvbnN0IFFWZWN0b3I8S2lzU2VsZWN0aW9uTWFza1NQPiAmc2VsZWN0aW9uTWFz a3MpCit7CisgICAgS2lzSW1hZ2VTUCBpbWFnZSA9IG5ld0xheWVyLT5pbWFnZSgpOworICAgIGZv cmVhY2ggKEtpc1NlbGVjdGlvbk1hc2tTUCBtYXNrLCBzZWxlY3Rpb25NYXNrcykgeworICAgICAg ICBpbWFnZS0+dW5kb0FkYXB0ZXIoKS0+YWRkQ29tbWFuZChuZXcgS2lzSW1hZ2VMYXllck1vdmVD b21tYW5kKGltYWdlLCBtYXNrLCBuZXdMYXllciwgbmV3TGF5ZXItPmxhc3RDaGlsZCgpKSk7Cisg ICAgICAgIGltYWdlLT51bmRvQWRhcHRlcigpLT5hZGRDb21tYW5kKG5ldyBLaXNBY3RpdmF0ZVNl bGVjdGlvbk1hc2tDb21tYW5kKG1hc2ssIGZhbHNlKSk7CisgICAgfQorfQorCiBLaXNOb2RlU1Ag S2lzSW1hZ2U6Om1lcmdlTXVsdGlwbGVMYXllcnMoUUxpc3Q8S2lzTm9kZVNQPiBtZXJnZWROb2Rl cywgS2lzTm9kZVNQIHB1dEFmdGVyKQogewogICAgIGZpbHRlck1lcmdhYmxlTm9kZXMobWVyZ2Vk Tm9kZXMpOwpAQCAtMTA1NSw2ICsxMDc4LDEwIEBAIEtpc05vZGVTUCBLaXNJbWFnZTo6bWVyZ2VN dWx0aXBsZUxheWVycyhRTGlzdDxLaXNOb2RlU1A+IG1lcmdlZE5vZGVzLCBLaXNOb2RlU1AKIAog ICAgIGlmIChtZXJnZWROb2Rlcy5zaXplKCkgPD0gMSkgcmV0dXJuIEtpc05vZGVTUCgpOwogCisg ICAgLy8gZmV0Y2ggc2VsZWN0aW9uIG1hc2tzIHRvIG1vdmUgdGhlbSBpbnRvIHRoZSBkZXN0aW5h dGlvbiBsYXllcgorICAgIFFWZWN0b3I8S2lzU2VsZWN0aW9uTWFza1NQPiBzZWxlY3Rpb25NYXNr czsKKyAgICBmZXRjaFNlbGVjdGlvbk1hc2tzKG1lcmdlZE5vZGVzLCBzZWxlY3Rpb25NYXNrcyk7 CisKICAgICBmb3JlYWNoIChLaXNOb2RlU1AgbGF5ZXIsIG1lcmdlZE5vZGVzKSB7CiAgICAgICAg IHJlZnJlc2hIaWRkZW5BcmVhKGxheWVyLCBib3VuZHMoKSk7CiAgICAgfQpAQCAtMTA3OSw3ICsx MTA2LDcgQEAgS2lzTm9kZVNQIEtpc0ltYWdlOjptZXJnZU11bHRpcGxlTGF5ZXJzKFFMaXN0PEtp c05vZGVTUD4gbWVyZ2VkTm9kZXMsIEtpc05vZGVTUAogICAgICAgICAgICAgLmFyZyhtZXJnZWRM YXllck5hbWUpLmFyZyhtZXJnZWRMYXllclN1ZmZpeCk7CiAgICAgfQogCi0gICAgS2lzTm9kZVNQ IG5ld0xheWVyID0gbmV3IEtpc1BhaW50TGF5ZXIodGhpcywgbWVyZ2VkTGF5ZXJOYW1lLCBPUEFD SVRZX09QQVFVRV9VOCwgbWVyZ2VkRGV2aWNlKTsKKyAgICBLaXNMYXllclNQIG5ld0xheWVyID0g bmV3IEtpc1BhaW50TGF5ZXIodGhpcywgbWVyZ2VkTGF5ZXJOYW1lLCBPUEFDSVRZX09QQVFVRV9V OCwgbWVyZ2VkRGV2aWNlKTsKIAogCiAgICAgdW5kb0FkYXB0ZXIoKS0+YmVnaW5NYWNybyhrdW5k bzJfaTE4bigiTWVyZ2UgU2VsZWN0ZWQgTm9kZXMiKSk7CkBAIC0xMTAxLDYgKzExMjgsOSBAQCBL aXNOb2RlU1AgS2lzSW1hZ2U6Om1lcmdlTXVsdGlwbGVMYXllcnMoUUxpc3Q8S2lzTm9kZVNQPiBt ZXJnZWROb2RlcywgS2lzTm9kZVNQCiAgICAgICAgIHVuZG9BZGFwdGVyKCktPmFkZENvbW1hbmQo bmV3IEtpc0ltYWdlTGF5ZXJBZGRDb21tYW5kKHRoaXMsIG5ld0xheWVyLCBwYXJlbnQsIHBhcmVu dC0+bGFzdENoaWxkKCkpKTsKICAgICB9CiAKKyAgICAvLyByZXBhcmVudCBzZWxlY3Rpb24gbWFz a3MgaW50byB0aGUgbmV3bHkgY3JlYXRlZCBub2RlCisgICAgcmVwYXJlbnRTZWxlY3Rpb25NYXNr cyhuZXdMYXllciwgc2VsZWN0aW9uTWFza3MpOworCiAgICAgc2FmZVJlbW92ZU11bHRpcGxlTm9k ZXMobWVyZ2VkTm9kZXMpOwogCiAgICAgdW5kb0FkYXB0ZXIoKS0+ZW5kTWFjcm8oKTsKQEAgLTEx MTksNiArMTE0OSwxNCBAQCBLaXNMYXllclNQIEtpc0ltYWdlOjptZXJnZURvd24oS2lzTGF5ZXJT UCBsYXllciwgY29uc3QgS2lzTWV0YURhdGE6Ok1lcmdlU3RyYXRlZwogICAgIHJlZnJlc2hIaWRk ZW5BcmVhKGxheWVyLCBib3VuZHMoKSk7CiAgICAgcmVmcmVzaEhpZGRlbkFyZWEocHJldkxheWVy LCBib3VuZHMoKSk7CiAKKyAgICBRVmVjdG9yPEtpc1NlbGVjdGlvbk1hc2tTUD4gc2VsZWN0aW9u TWFza3M7CisgICAgeworICAgICAgICBRTGlzdDxLaXNOb2RlU1A+IG1lcmdlZE5vZGVzOworICAg ICAgICBtZXJnZWROb2RlcyA8PCBsYXllcjsKKyAgICAgICAgbWVyZ2VkTm9kZXMgPDwgcHJldkxh eWVyOworICAgICAgICBmZXRjaFNlbGVjdGlvbk1hc2tzKG1lcmdlZE5vZGVzLCBzZWxlY3Rpb25N YXNrcyk7CisgICAgfQorCiAgICAgUVJlY3QgbGF5ZXJQcm9qZWN0aW9uRXh0ZW50ID0gdGhpcy0+ cHJvamVjdGlvbigpLT5leHRlbnQoKTsKICAgICBRUmVjdCBwcmV2TGF5ZXJQcm9qZWN0aW9uRXh0 ZW50ID0gcHJldkxheWVyLT5wcm9qZWN0aW9uKCktPmV4dGVudCgpOwogCkBAIC0xMTQ1LDYgKzEx ODMsMTAgQEAgS2lzTGF5ZXJTUCBLaXNJbWFnZTo6bWVyZ2VEb3duKEtpc0xheWVyU1AgbGF5ZXIs IGNvbnN0IEtpc01ldGFEYXRhOjpNZXJnZVN0cmF0ZWcKICAgICB1bmRvQWRhcHRlcigpLT5iZWdp bk1hY3JvKGt1bmRvMl9pMThuKCJNZXJnZSB3aXRoIExheWVyIEJlbG93IikpOwogCiAgICAgdW5k b0FkYXB0ZXIoKS0+YWRkQ29tbWFuZChuZXcgS2lzSW1hZ2VMYXllckFkZENvbW1hbmQodGhpcywg bWVyZ2VkTGF5ZXIsIHBhcmVudCwgbGF5ZXIpKTsKKworICAgIC8vIHJlcGFyZW50IHNlbGVjdGlv biBtYXNrcyBpbnRvIHRoZSBuZXdseSBjcmVhdGVkIG5vZGUKKyAgICByZXBhcmVudFNlbGVjdGlv bk1hc2tzKG1lcmdlZExheWVyLCBzZWxlY3Rpb25NYXNrcyk7CisKICAgICBzYWZlUmVtb3ZlVHdv Tm9kZXMobGF5ZXIsIHByZXZMYXllcik7CiAKICAgICB1bmRvQWRhcHRlcigpLT5lbmRNYWNybygp OwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpLcml0YSBt YWlsaW5nIGxpc3QKa2ltYWdlc2hvcEBrZGUub3JnCmh0dHBzOi8vbWFpbC5rZGUub3JnL21haWxt YW4vbGlzdGluZm8va2ltYWdlc2hvcAo=