<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>79612</bug_id>
          
          <creation_ts>2012-02-26 18:36:09 -0800</creation_ts>
          <short_desc>Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class</short_desc>
          <delta_ts>2012-02-26 19:12:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>565253</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-02-26 18:36:09 -0800</bug_when>
    <thetext>Refactor uses of WKSI to setup a remote layer into a new RemoteLayerClient class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565254</commentid>
    <comment_count>1</comment_count>
      <attachid>128938</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-02-26 18:40:31 -0800</bug_when>
    <thetext>Created attachment 128938
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565257</commentid>
    <comment_count>2</comment_count>
      <attachid>128938</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-02-26 18:45:13 -0800</bug_when>
    <thetext>Comment on attachment 128938
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=128938&amp;action=review

&gt; Source/WebKit2/Platform/mac/RemoteLayerClient.h:45
&gt; +class RemoteLayerClient : public RefCounted&lt;RemoteLayerClient&gt; {

I don&apos;t think this needs to be refcounted. Just make it noncopyable and use OwnPtr instead of RefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565267</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-02-26 19:12:47 -0800</bug_when>
    <thetext>Committed r108946: &lt;http://trac.webkit.org/changeset/108946&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128938</attachid>
            <date>2012-02-26 18:40:31 -0800</date>
            <delta_ts>2012-02-26 18:45:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79612-20120226184048.patch</filename>
            <type>text/plain</type>
            <size>27218</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWNmYzJkMDIwY2I4ZGIw
NDgwNmYzYmI1MWUwOGI3OTBhZjYwZGQ5MC4uMjQ4M2UwODdkOWRmNjQxOTBkYjUwOTViZWFiZTVm
MjZiYjMwZWM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTAyLTI2ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRW5jYXBzdWxhdGUgdXNlcyBvZiBX
S1NJIHRvIHNldHVwIGEgcmVtb3RlIGxheWVyIGludG8gYSBuZXcgUmVtb3RlTGF5ZXJDbGllbnQg
Y2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5
NjEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQ
bGF0Zm9ybS9tYWMvUmVtb3RlTGF5ZXJDbGllbnQuaDogCisgICAgICAgICogUGxhdGZvcm0vbWFj
L1JlbW90ZUxheWVyQ2xpZW50Lm1tOiAKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJDbGll
bnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQ2xpZW50OjpSZW1vdGVM
YXllckNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQ2xpZW50Ojp+UmVtb3Rl
TGF5ZXJDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckNsaWVudDo6Y2xpZW50
SUQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckNsaWVudDo6aW52YWxpZGF0ZSk6Cisg
ICAgICAgIE5ldyBjbGFzcyB0aGF0IGVuY2Fwc3VsYXRlcyBjYWxscyB0byBXS1NJIFdLQ0FSZW1v
dGVMYXllckNsaWVudCouIEZvciBwbGF0Zm9ybXMKKyAgICAgICAgd2hlcmUgdGhlIHVzZSBvZiBX
S1NJIGlzIG5vdCBuZWNlc3NhcnksIGR1ZSB0byBDQVJlbW90ZUxheWVyQ2xpZW50IGJlaW5nIGF2
YWlsYWJsZSwKKyAgICAgICAgc3RvcCB1c2luZyBXS1NJLgorCisgICAgICAgICogUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwOgorICAgICAgICAqIFBsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5Lmg6CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9tYWMvUGx1
Z2luQ29udHJvbGxlclByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Db250cm9s
bGVyUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkNv
bnRyb2xsZXJQcm94eTo6cGxhdGZvcm1EZXN0cm95KToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
Q29udHJvbGxlclByb3h5OjpyZW1vdGVMYXllckNsaWVudElEKToKKyAgICAgICAgKFdlYktpdDo6
UGx1Z2luQ29udHJvbGxlclByb3h5OjpwbGF0Zm9ybUdlb21ldHJ5RGlkQ2hhbmdlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luUHJvY2Vzc1Byb3h5TWFjLm1tOgorICAg
ICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6ZVBsdWdp
blByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6
CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFdlYlByb2Nlc3MvRnVsbFNjcmVlbi9tYWMvV2ViRnVsbFNjcmVlbk1hbmFnZXJNYWMuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0Z1bGxTY3JlZW4vbWFjL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyTWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlck1hYzo6c2V0Um9vdEZ1
bGxTY3JlZW5MYXllcik6CisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyTWFj
OjpkaXNwb3NlT2ZMYXllckNsaWVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2Nh
L21hYy9MYXllclRyZWVIb3N0Q0FNYWMuaDoKKyAgICAgICAgKExheWVyVHJlZUhvc3RDQU1hYyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL21hYy9MYXllclRyZWVIb3N0Q0FNYWMu
bW06CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RDQU1hYzo6cGxhdGZvcm1Jbml0aWFs
aXplKToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdENBTWFjOjppbnZhbGlkYXRlKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdp
bmdBcmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWE6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhKToKKyAgICAgICAgU3dp
dGNoIHRvIHVzaW5nIFJlbW90ZUxheWVyQ2xpZW50LgorCiAyMDEyLTAyLTI1ICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkcmVzcyByZXZpZXcgZmVl
ZGJhY2sgZnJvbSBBbmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vbWFjL1JlbW90ZUxheWVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9t
YWMvUmVtb3RlTGF5ZXJDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjA5OWIyYTZiMzliZWQxYzJmMDIx
MmQ4MDNiNWFhYThiZTVkMTJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vbWFjL1JlbW90ZUxheWVyQ2xpZW50LmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgUmVtb3RlTGF5ZXJDbGllbnRfaAorI2RlZmluZSBSZW1vdGVMYXllckNsaWVu
dF9oCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorCitPQkpDX0NMQVNTIENBTGF5ZXI7CisK
KyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCitPQkpDX0NMQVNTIENBUmVt
b3RlTGF5ZXJDbGllbnQ7Cit0eXBlZGVmIENBUmVtb3RlTGF5ZXJDbGllbnQgKlBsYXRmb3JtUmVt
b3RlTGF5ZXJDbGllbnQ7CisjZWxzZQordHlwZWRlZiBzdHJ1Y3QgX19XS0NBUmVtb3RlTGF5ZXJD
bGllbnRSZWYqIFdLQ0FSZW1vdGVMYXllckNsaWVudFJlZjsKK3R5cGVkZWYgV0tDQVJlbW90ZUxh
eWVyQ2xpZW50UmVmIFBsYXRmb3JtUmVtb3RlTGF5ZXJDbGllbnQ7CisjZW5kaWYKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK2NsYXNzIFJlbW90ZUxheWVyQ2xpZW50IDogcHVibGljIFJlZkNvdW50
ZWQ8UmVtb3RlTGF5ZXJDbGllbnQ+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxS
ZW1vdGVMYXllckNsaWVudD4gY3JlYXRlKG1hY2hfcG9ydF90IHNlcnZlclBvcnQsIENBTGF5ZXIg
KnJvb3RMYXllcik7CisgICAgflJlbW90ZUxheWVyQ2xpZW50KCk7CisKKyAgICB1aW50MzJfdCBj
bGllbnRJRCgpIGNvbnN0OworICAgIHZvaWQgaW52YWxpZGF0ZSgpOworCitwcml2YXRlOgorICAg
IFJlbW90ZUxheWVyQ2xpZW50KG1hY2hfcG9ydF90IHNlcnZlclBvcnQsIENBTGF5ZXIgKnJvb3RM
YXllcik7CisKKyAgICBSZXRhaW5QdHI8UGxhdGZvcm1SZW1vdGVMYXllckNsaWVudD4gbV9wbGF0
Zm9ybUNsaWVudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gUmVt
b3RlTGF5ZXJDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vbWFj
L1JlbW90ZUxheWVyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vbWFjL1JlbW90
ZUxheWVyQ2xpZW50Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxOGU4YWJhMzAzMTllZDEzNzkxMGIyMGMwZmI0
Y2I5ZjkxZTBhOTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9t
YWMvUmVtb3RlTGF5ZXJDbGllbnQubW0KQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW1vdGVMYXllckNsaWVudC5oIgorCisjaWYg
IWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2ltcG9ydCA8UXVhcnR6Q29yZS9D
QVJlbW90ZUxheWVyQ2xpZW50Lmg+CisjZWxzZQorI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJm
YWNlLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1Bhc3NSZWZQdHI8UmVtb3Rl
TGF5ZXJDbGllbnQ+IFJlbW90ZUxheWVyQ2xpZW50OjpjcmVhdGUobWFjaF9wb3J0X3Qgc2VydmVy
UG9ydCwgQ0FMYXllciAqcm9vdExheWVyKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVt
b3RlTGF5ZXJDbGllbnQoc2VydmVyUG9ydCwgcm9vdExheWVyKSk7Cit9CisKK1JlbW90ZUxheWVy
Q2xpZW50OjpSZW1vdGVMYXllckNsaWVudChtYWNoX3BvcnRfdCBzZXJ2ZXJQb3J0LCBDQUxheWVy
ICpyb290TGF5ZXIpCit7CisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQor
ICAgIG1fcGxhdGZvcm1DbGllbnQgPSBhZG9wdE5TKFtbQ0FSZW1vdGVMYXllckNsaWVudCBhbGxv
Y10gaW5pdFdpdGhTZXJ2ZXJQb3J0OnNlcnZlclBvcnRdKTsKKyAgICBtX3BsYXRmb3JtQ2xpZW50
LmdldCgpLmxheWVyID0gcm9vdExheWVyOworI2Vsc2UKKyAgICBtX3BsYXRmb3JtQ2xpZW50ID0g
V0tDQVJlbW90ZUxheWVyQ2xpZW50TWFrZVdpdGhTZXJ2ZXJQb3J0KHNlcnZlclBvcnQpCisgICAg
V0tDQVJlbW90ZUxheWVyQ2xpZW50U2V0TGF5ZXIobV9wbGF0Zm9ybUNsaWVudC5nZXQoKSwgcm9v
dExheWVyKTsKKyNlbmRpZgorfQorCitSZW1vdGVMYXllckNsaWVudDo6flJlbW90ZUxheWVyQ2xp
ZW50KCkKK3sKK30KKwordWludDMyX3QgUmVtb3RlTGF5ZXJDbGllbnQ6OmNsaWVudElEKCkgY29u
c3QKK3sKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisgICAgcmV0dXJu
IG1fcGxhdGZvcm1DbGllbnQuZ2V0KCkuY2xpZW50SWQ7CisjZWxzZQorICAgIHJldHVybiBXS0NB
UmVtb3RlTGF5ZXJDbGllbnRHZXRDbGllbnRJZChtX3BsYXRmb3JtQ2xpZW50LmdldCgpKTsKKyNl
bmRpZgorfQorCit2b2lkIFJlbW90ZUxheWVyQ2xpZW50OjppbnZhbGlkYXRlKCkKK3sKKyNpZiAh
ZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisgICAgW21fcGxhdGZvcm1DbGllbnQu
Z2V0KCkgaW52YWxpZGF0ZV07CisjZWxzZQorICAgIFdLQ0FSZW1vdGVMYXllckNsaWVudEludmFs
aWRhdGUobV9wbGF0Zm9ybUNsaWVudC5nZXQoKSk7CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5jcHAKaW5kZXggYjU0OGY4MTI2ODgzODI1NzA2YTFiNTZlYjgxNmVh
NzRmYTZiNjc5ZC4uMzg2ZTk2YmM0NTdjMzM2YjFhMTExNWRhYTczMDkxYWIzZmNiZTIzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmNwcApAQCAtNDUsNiArNDUsMTEgQEAKICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxl
bWVudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBQTEFURk9S
TShNQUMpCisjaW5jbHVkZSAiUmVtb3RlTGF5ZXJDbGllbnQuaCIKKyNlbmRpZgorCisKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IGM3
OTIxMWE4YzJhZDJiNDM0OTQ0ZDk5ZDVhZGNkYjY0MzRkZGIyZTMuLjVkNWE1MWY1YzY3ZjBkMWIw
NTcyYjliZjBkOTc3ZTQzODdjZjM3NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaApAQCAtMzgsOCArMzgsNiBAQAogCiAj
aWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLQotdHlwZWRlZiBz
dHJ1Y3QgX19XS0NBUmVtb3RlTGF5ZXJDbGllbnRSZWYgKldLQ0FSZW1vdGVMYXllckNsaWVudFJl
ZjsKICNlbmRpZgogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CkBAIC00OCw2ICs0Niw3IEBAIG5hbWVz
cGFjZSBDb3JlSVBDIHsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIFJlbW90ZUxheWVy
Q2xpZW50OwogY2xhc3MgU2hhcmVhYmxlQml0bWFwOwogY2xhc3MgV2ViUHJvY2Vzc0Nvbm5lY3Rp
b247CiBzdHJ1Y3QgUGx1Z2luQ3JlYXRpb25QYXJhbWV0ZXJzOwpAQCAtMTkxLDcgKzE5MCw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2lzQ29tcGxleFRleHRJbnB1dEVuYWJsZWQ7CiAKICAgICAv
LyBGb3IgQ0EgcGx1Zy1pbnMsIHRoaXMgaG9sZHMgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBl
eHBvcnQgdGhlIGxheWVyIGhpZXJhcmNoeSB0byB0aGUgVUkgcHJvY2Vzcy4KLSAgICBSZXRhaW5Q
dHI8V0tDQVJlbW90ZUxheWVyQ2xpZW50UmVmPiBtX3JlbW90ZUxheWVyQ2xpZW50OworICAgIFJl
ZlB0cjxSZW1vdGVMYXllckNsaWVudD4gbV9yZW1vdGVMYXllckNsaWVudDsKICNlbmRpZgogCiAg
ICAgLy8gVGhlIGNvbnRlbnRzIHNjYWxlIGZhY3RvciBvZiB0aGlzIHBsdWctaW4uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Db250cm9sbGVyUHJv
eHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Db250cm9s
bGVyUHJveHlNYWMubW0KaW5kZXggOTVmZWFhNTZkYjM1OTVlOTc2OWJhOTE1Y2I5M2Y2MDMxMzlk
NDVkMC4uN2JhYzY2YWFiODE2ZTdiYmE4MmEyMzBlY2NjZjZlYjA2MDgyZmNkNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luQ29udHJvbGxlclByb3h5
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpbkNvbnRy
b2xsZXJQcm94eU1hYy5tbQpAQCAtMzAsNyArMzAsNyBAQAogCiAjaW1wb3J0ICJQbHVnaW5Qcm9j
ZXNzLmgiCiAjaW1wb3J0ICJQbHVnaW5Qcm94eU1lc3NhZ2VzLmgiCi0jaW1wb3J0ICJXZWJLaXRT
eXN0ZW1JbnRlcmZhY2UuaCIKKyNpbXBvcnQgIlJlbW90ZUxheWVyQ2xpZW50LmgiCiAjaW1wb3J0
ICJXZWJQcm9jZXNzQ29ubmVjdGlvbi5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3Jl
Lmg+CiAKQEAgLTYwLDExICs2MCw3IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpwbGF0
Zm9ybUluaXRpYWxpemUoKQogICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQoIW1fcmVtb3Rl
TGF5ZXJDbGllbnQpOwotCi0gICAgbV9yZW1vdGVMYXllckNsaWVudCA9IFdLQ0FSZW1vdGVMYXll
ckNsaWVudE1ha2VXaXRoU2VydmVyUG9ydChQbHVnaW5Qcm9jZXNzOjpzaGFyZWQoKS5jb21wb3Np
dGluZ1JlbmRlclNlcnZlclBvcnQoKSk7Ci0gICAgQVNTRVJUKG1fcmVtb3RlTGF5ZXJDbGllbnQp
OwotCi0gICAgV0tDQVJlbW90ZUxheWVyQ2xpZW50U2V0TGF5ZXIobV9yZW1vdGVMYXllckNsaWVu
dC5nZXQoKSwgcGxhdGZvcm1MYXllcik7CisgICAgbV9yZW1vdGVMYXllckNsaWVudCA9IFJlbW90
ZUxheWVyQ2xpZW50OjpjcmVhdGUoUGx1Z2luUHJvY2Vzczo6c2hhcmVkKCkuY29tcG9zaXRpbmdS
ZW5kZXJTZXJ2ZXJQb3J0KCksIHBsYXRmb3JtTGF5ZXIpOwogfQogCiB2b2lkIFBsdWdpbkNvbnRy
b2xsZXJQcm94eTo6cGxhdGZvcm1EZXN0cm95KCkKQEAgLTcyLDcgKzY4LDcgQEAgdm9pZCBQbHVn
aW5Db250cm9sbGVyUHJveHk6OnBsYXRmb3JtRGVzdHJveSgpCiAgICAgaWYgKCFtX3JlbW90ZUxh
eWVyQ2xpZW50KQogICAgICAgICByZXR1cm47CiAKLSAgICBXS0NBUmVtb3RlTGF5ZXJDbGllbnRJ
bnZhbGlkYXRlKG1fcmVtb3RlTGF5ZXJDbGllbnQuZ2V0KCkpOworICAgIG1fcmVtb3RlTGF5ZXJD
bGllbnQtPmludmFsaWRhdGUoKTsKICAgICBtX3JlbW90ZUxheWVyQ2xpZW50ID0gbnVsbHB0cjsK
IH0KIApAQCAtODEsMTIgKzc3LDEyIEBAIHVpbnQzMl90IFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6
cmVtb3RlTGF5ZXJDbGllbnRJRCgpIGNvbnN0CiAgICAgaWYgKCFtX3JlbW90ZUxheWVyQ2xpZW50
KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBXS0NBUmVtb3RlTGF5ZXJDbGllbnRH
ZXRDbGllbnRJZChtX3JlbW90ZUxheWVyQ2xpZW50LmdldCgpKTsKKyAgICByZXR1cm4gbV9yZW1v
dGVMYXllckNsaWVudC0+Y2xpZW50SUQoKTsKIH0KIAogdm9pZCBQbHVnaW5Db250cm9sbGVyUHJv
eHk6OnBsYXRmb3JtR2VvbWV0cnlEaWRDaGFuZ2UoKQogewotICAgIENBTGF5ZXIgKiBwbHVnaW5M
YXllciA9IG1fcGx1Z2luLT5wbHVnaW5MYXllcigpOworICAgIENBTGF5ZXIgKnBsdWdpbkxheWVy
ID0gbV9wbHVnaW4tPnBsdWdpbkxheWVyKCk7CiAKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGFu
aW1hdGUgdG8gdGhlIG5ldyBzaXplIHNvIHdlIGRpc2FibGUgYWN0aW9ucyBmb3IgdGhpcyB0cmFu
c2FjdGlvbi4KICAgICBbQ0FUcmFuc2FjdGlvbiBiZWdpbl07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luUHJvY2Vzc1Byb3h5TWFjLm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpblByb2Nlc3NQcm94eU1h
Yy5tbQppbmRleCBiMDcyNDE3ZmVhMjgzZjkzOTJhNTVkZDk5YWMzMzBmZTdhYzUwMzAwLi40ZTUz
OWJlYWE3M2UwNTYxZTZjY2I0Yzc4ODMzMmI3NzliMTE1MjIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luUHJvY2Vzc1Byb3h5TWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5Qcm9jZXNzUHJv
eHlNYWMubW0KQEAgLTM1LDYgKzM1LDEwIEBACiAjaW1wb3J0IDxzcGF3bi5oPgogI2ltcG9ydCA8
d3RmL3RleHQvQ1N0cmluZy5oPgogCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKQorI2ltcG9ydCA8UXVhcnR6Q29yZS9DQVJlbW90ZUxheWVyU2VydmVyLmg+CisjZW5kaWYK
KwogQGludGVyZmFjZSBXS1BsYWNlaG9sZGVyTW9kYWxXaW5kb3cgOiBOU1dpbmRvdyAKIEBlbmQK
IApAQCAtMTE2LDcgKzEyMCwxMiBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6cGxhdGZvcm1J
bml0aWFsaXplUGx1Z2luUHJvY2VzcyhQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYQogewogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykgJiYgSEFWRShIT1NURURfQ09SRV9BTklNQVRJT04p
CiAgICAgcGFyYW1ldGVycy5wYXJlbnRQcm9jZXNzTmFtZSA9IFtbTlNQcm9jZXNzSW5mbyBwcm9j
ZXNzSW5mb10gcHJvY2Vzc05hbWVdOworI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVP
UEFSRCkKKyAgICBtYWNoX3BvcnRfdCByZW5kZXJTZXJ2ZXJQb3J0ID0gW1tDQVJlbW90ZUxheWVy
U2VydmVyIHNoYXJlZFNlcnZlcl0gc2VydmVyUG9ydF07CisjZWxzZQogICAgIG1hY2hfcG9ydF90
IHJlbmRlclNlcnZlclBvcnQgPSBXS0luaXRpYWxpemVSZW5kZXJTZXJ2ZXIoKTsKKyNlbmRpZgor
CiAgICAgaWYgKHJlbmRlclNlcnZlclBvcnQgIT0gTUFDSF9QT1JUX05VTEwpCiAgICAgICAgIHBh
cmFtZXRlcnMuYWNjZWxlcmF0ZWRDb21wb3NpdGluZ1BvcnQgPSBDb3JlSVBDOjpNYWNoUG9ydChy
ZW5kZXJTZXJ2ZXJQb3J0LCBNQUNIX01TR19UWVBFX0NPUFlfU0VORCk7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1hYy5tbQppbmRleCA1MjcwYjcz
OTZiN2IzOTFjYjEzODE5YTRhNDkxYmVmNTM2YjRmYjA5Li44NWI4YWUxNGFjMGUyOWY5OGRmY2Ez
NTI4YjA4YTkwMjZmZTc5NDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYkNvbnRleHRNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9X
ZWJDb250ZXh0TWFjLm1tCkBAIC0zMSw2ICszMSwxMCBAQAogI2ltcG9ydCA8V2ViQ29yZS9GaWxl
U3lzdGVtLmg+CiAjaW1wb3J0IDxzeXMvcGFyYW0uaD4KIAorI2lmICFkZWZpbmVkKEJVSUxESU5H
X09OX1NOT1dfTEVPUEFSRCkKKyNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FSZW1vdGVMYXllclNlcnZl
ci5oPgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBOU1N0cmluZyAqV2Vi
RGF0YWJhc2VEaXJlY3RvcnlEZWZhdWx0c0tleSA9IEAiV2ViRGF0YWJhc2VEaXJlY3RvcnkiOwpA
QCAtOTMsNyArOTcsMTEgQEAgdm9pZCBXZWJDb250ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQ
cm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmEKICNlbmRpZgogCiAjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBIQVZFKEhPU1RFRF9DT1JFX0FOSU1BVElP
TikKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisgICAgbWFjaF9wb3J0
X3QgcmVuZGVyU2VydmVyUG9ydCA9IFtbQ0FSZW1vdGVMYXllclNlcnZlciBzaGFyZWRTZXJ2ZXJd
IHNlcnZlclBvcnRdOworI2Vsc2UKICAgICBtYWNoX3BvcnRfdCByZW5kZXJTZXJ2ZXJQb3J0ID0g
V0tJbml0aWFsaXplUmVuZGVyU2VydmVyKCk7CisjZW5kaWYKICAgICBpZiAocmVuZGVyU2VydmVy
UG9ydCAhPSBNQUNIX1BPUlRfTlVMTCkKICAgICAgICAgcGFyYW1ldGVycy5hY2NlbGVyYXRlZENv
bXBvc2l0aW5nUG9ydCA9IENvcmVJUEM6Ok1hY2hQb3J0KHJlbmRlclNlcnZlclBvcnQsIE1BQ0hf
TVNHX1RZUEVfQ09QWV9TRU5EKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGE0ZjVlM2FjMmQwNDYyNmJiMmZjMjNk
OWMwNzljZDI1OGMxZGU2MzcuLjczNzg3MzFkNTA5ZDNjNzk0YjE0NDY1MGMzNGRiYTEzM2NiOTg4
M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTc5MCw2ICs3OTAsOCBAQAogCQlCQ0RFMDkzQjEzMjcyNDk2MDAxMjU5RkIgLyog
TWFpbk1hYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTZGQTMxMDExRTM5MjFFMDBEQjEzNzEgLyogTWFpbk1hYy5jcHAgKi87IH07CiAJCUJDREUw
OTNEMTMyNzI0OTYwMDEyNTlGQiAvKiBQbHVnaW5Qcm9jZXNzU2hpbS5keWxpYiBpbiBDb3B5IFBs
dWctaW4gUHJvY2VzcyBTaGltICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFB
QzI1RkIwMTJBNDhFQTcwMEJEMjY3MSAvKiBQbHVnaW5Qcm9jZXNzU2hpbS5keWxpYiAqLzsgfTsK
IAkJQkNERTBBQkYxMzI3MjcwODAwMTI1OUZCIC8qIFBsdWdpblByb2Nlc3MuYXBwIGluIENvcHlG
aWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0RFMDk0MjEzMjcyNDk2
MDAxMjU5RkIgLyogUGx1Z2luUHJvY2Vzcy5hcHAgKi87IH07CisJCUJDRTA5Mzc3MTRGQjEyOEMw
MDExMzhEOSAvKiBSZW1vdGVMYXllckNsaWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTA5Mzc1MTRGQjEyOEIwMDExMzhEOSAvKiBSZW1vdGVM
YXllckNsaWVudC5tbSAqLzsgfTsKKwkJQkNFMDkzNzgxNEZCMTI4QzAwMTEzOEQ5IC8qIFJlbW90
ZUxheWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0UwOTM3NjE0RkIxMjhCMDAxMTM4RDkgLyogUmVtb3RlTGF5ZXJDbGllbnQuaCAqLzsg
fTsKIAkJQkNFMTdCN0QxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFMTdCN0IxMzgx
RjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMuY3BwICovOyB9OwogCQlCQ0UxN0I3RTEz
ODFGMTE3MDAxMkE2NDEgLyogV0tQYWdlUHJpdmF0ZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFMTdCN0MxMzgxRjExNzAwMTJBNjQxIC8qIFdL
UGFnZVByaXZhdGVNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlCQ0UyMzE1RDEyMkMzMENBMDBENUMzNUEgLyogV2ViVVJMUmVxdWVzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFMjMxNUIxMjJD
MzBDQTAwRDVDMzVBIC8qIFdlYlVSTFJlcXVlc3QuaCAqLzsgfTsKQEAgLTE4MDksNiArMTgxMSw4
IEBACiAJCUJDREUwNTk5MTFDREE4QUUwMEU0MUFGMSAvKiBXZWJDb250ZXh0SW5qZWN0ZWRCdW5k
bGVDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29udGV4dElu
amVjdGVkQnVuZGxlQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDREUw
NTlBMTFDREE4QUUwMEU0MUFGMSAvKiBXZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29udGV4dEluamVjdGVk
QnVuZGxlQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNERTA5NDIx
MzI3MjQ5NjAwMTI1OUZCIC8qIFBsdWdpblByb2Nlc3MuYXBwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmFwcGxpY2F0aW9uOyBpbmNsdWRl
SW5JbmRleCA9IDA7IHBhdGggPSBQbHVnaW5Qcm9jZXNzLmFwcDsgc291cmNlVHJlZSA9IEJVSUxU
X1BST0RVQ1RTX0RJUjsgfTsKKwkJQkNFMDkzNzUxNEZCMTI4QjAwMTEzOEQ5IC8qIFJlbW90ZUxh
eWVyQ2xpZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVt
b3RlTGF5ZXJDbGllbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRTA5Mzc2
MTRGQjEyOEIwMDExMzhEOSAvKiBSZW1vdGVMYXllckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW1vdGVMYXllckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCQ0UxN0I3QjEzODFGMTE3MDAxMkE2NDEgLyogV0tQYWdlUHJpdmF0ZU1hYy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXS1BhZ2VQcml2YXRlTWFj
LmNwcDsgcGF0aCA9IG1hYy9XS1BhZ2VQcml2YXRlTWFjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkNFMTdCN0MxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tQYWdlUHJpdmF0ZU1hYy5oOyBw
YXRoID0gbWFjL1dLUGFnZVByaXZhdGVNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkNFMjMxNUIxMjJDMzBDQTAwRDVDMzVBIC8qIFdlYlVSTFJlcXVlc3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViVVJMUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMjI2MCw2ICsyMjY0LDggQEAKIAkJCQlDMEUzQUE0ODEyMDlFNDUwMDBB
NDlEMDEgLyogTW9kdWxlTWFjLm1tICovLAogCQkJCTFBMjRCRjM5MTIwODk2QTYwMEZCQjA1OSAv
KiBTaGFyZWRNZW1vcnlNYWMuY3BwICovLAogCQkJCUJDMDA5MkY2MTE1ODM3QTMwMEUwQUUyQSAv
KiBXb3JrUXVldWVNYWMuY3BwICovLAorCQkJCUJDRTA5Mzc1MTRGQjEyOEIwMDExMzhEOSAvKiBS
ZW1vdGVMYXllckNsaWVudC5tbSAqLywKKwkJCQlCQ0UwOTM3NjE0RkIxMjhCMDAxMTM4RDkgLyog
UmVtb3RlTGF5ZXJDbGllbnQuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTQxMzEsNiArNDEzNyw3IEBACiAJCQkJQkZBNjE3OUYxMkYw
Qjk5RDAwMzNFMENBIC8qIFdLVmlld1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMkU2
RThFMTE0MTk3MTUwMEE2M0IxRSAvKiBXb3JrUXVldWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
QjQyRTg3MTRCQkJCQjIwMDQyNzJGNyAvKiBLZXljaGFpblNoaW1SZXNwb25zZU1hcC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQkNFMDkzNzgxNEZCMTI4QzAwMTEzOEQ5IC8qIFJlbW90ZUxheWVyQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTQ4NjcsNiArNDg3NCw3IEBACiAJCQkJQkM4Njk5QjYx
MTZBQURBQTAwMkE5MjVCIC8qIFdLVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDMkU2RThE
MTE0MTk3MTUwMEE2M0IxRSAvKiBXb3JrUXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMw
MDkyRjgxMTU4MzdBMzAwRTBBRTJBIC8qIFdvcmtRdWV1ZU1hYy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlCQ0UwOTM3NzE0RkIxMjhDMDAxMTM4RDkgLyogUmVtb3RlTGF5ZXJDbGllbnQubW0gaW4g
U291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNj
cmVlbi9tYWMvV2ViRnVsbFNjcmVlbk1hbmFnZXJNYWMuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvRnVsbFNjcmVlbi9tYWMvV2ViRnVsbFNjcmVlbk1hbmFnZXJNYWMuaAppbmRleCAyN2U4
YWZmMjAxZGI0ZWQ5MDI4OWE0ZjljOTI5MjI4YzdlNDE0YjYxLi5lMDdlYzEyNWRjZTVjZTdhNzlh
YjhlZThlNDBjZDNhZDcwZmE3NzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0Z1bGxTY3JlZW4vbWFjL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyTWFjLmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL21hYy9XZWJGdWxsU2NyZWVuTWFuYWdlck1h
Yy5oCkBAIC0zMCwxNiArMzAsMTYgQEAKIAogI2ltcG9ydCAiTGF5ZXJUcmVlQ29udGV4dC5oIgog
I2ltcG9ydCAiV2ViRnVsbFNjcmVlbk1hbmFnZXIuaCIKLQogI2ltcG9ydCA8V2ViQ29yZS9HcmFw
aGljc0xheWVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ludFJlY3QuaD4KICNpbXBvcnQgPHd0Zi9S
ZXRhaW5QdHIuaD4KIAotdHlwZWRlZiBzdHJ1Y3QgX19XS0NBUmVtb3RlTGF5ZXJDbGllbnRSZWYq
IFdLQ0FSZW1vdGVMYXllckNsaWVudFJlZjsKIE9CSkNfQ0xBU1MgV2ViRnVsbFNjcmVlbk1hbmFn
ZXJBbmltYXRpb25MaXN0ZW5lcjsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIFJlbW90
ZUxheWVyQ2xpZW50OworCiBjbGFzcyBXZWJGdWxsU2NyZWVuTWFuYWdlck1hYyA6IHB1YmxpYyBX
ZWJGdWxsU2NyZWVuTWFuYWdlciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2Vi
RnVsbFNjcmVlbk1hbmFnZXJNYWM+IGNyZWF0ZShXZWJQYWdlKik7CkBAIC01OSw3ICs1OSw3IEBA
IHByaXZhdGU6CiAKICAgICBPd25QdHI8V2ViQ29yZTo6R3JhcGhpY3NMYXllcj4gbV9yb290TGF5
ZXI7CiAgICAgTGF5ZXJUcmVlQ29udGV4dCBtX2xheWVyVHJlZUNvbnRleHQ7Ci0gICAgUmV0YWlu
UHRyPFdLQ0FSZW1vdGVMYXllckNsaWVudFJlZj4gbV9yZW1vdGVMYXllckNsaWVudDsKKyAgICBS
ZWZQdHI8UmVtb3RlTGF5ZXJDbGllbnQ+IG1fcmVtb3RlTGF5ZXJDbGllbnQ7CiAgICAgUmV0YWlu
UHRyPGlkPiBtX2VudGVyRnVsbFNjcmVlbkxpc3RlbmVyOwogICAgIFJldGFpblB0cjxpZD4gbV9l
eGl0RnVsbFNjcmVlbkxpc3RlbmVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvRnVsbFNjcmVlbi9tYWMvV2ViRnVsbFNjcmVlbk1hbmFnZXJNYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vbWFjL1dlYkZ1bGxTY3JlZW5NYW5hZ2Vy
TWFjLm1tCmluZGV4IDA3MDYwMDc4ZGM3YjE2YzQ3ZjI1ZDk1Mjc3ZmI0YmQ4MzViZTMwOTEuLjM2
ZmExOWQxZjAzZjIzZjBkOTc0MzAyZDBlMTMzODVkNWRiM2JlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9tYWMvV2ViRnVsbFNjcmVlbk1hbmFnZXJN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL21hYy9XZWJG
dWxsU2NyZWVuTWFuYWdlck1hYy5tbQpAQCAtMzAsNiArMzAsNyBAQAogI2ltcG9ydCAiQ29ubmVj
dGlvbi5oIgogI2ltcG9ydCAiTGF5ZXJUcmVlQ29udGV4dC5oIgogI2ltcG9ydCAiTWVzc2FnZUlE
LmgiCisjaW1wb3J0ICJSZW1vdGVMYXllckNsaWVudC5oIgogI2ltcG9ydCAiV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQYWdlLmgiCiAjaW1wb3J0ICJX
ZWJQcm9jZXNzLmgiCkBAIC0xNTMsOSArMTU0LDYgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdl
ck1hYzo6c2V0Um9vdEZ1bGxTY3JlZW5MYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKiBsYXkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX3Jvb3RMYXllcikgewotICAgICAgICBtYWNo
X3BvcnRfdCBzZXJ2ZXJQb3J0ID0gV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29tcG9zaXRpbmdSZW5k
ZXJTZXJ2ZXJQb3J0KCk7Ci0gICAgICAgIG1fcmVtb3RlTGF5ZXJDbGllbnQgPSBXS0NBUmVtb3Rl
TGF5ZXJDbGllbnRNYWtlV2l0aFNlcnZlclBvcnQoc2VydmVyUG9ydCk7Ci0KICAgICAgICAgbV9y
b290TGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUoTlVMTCk7CiAjaWZuZGVmIE5ERUJVRwog
ICAgICAgICBtX3Jvb3RMYXllci0+c2V0TmFtZSgiRnVsbCBzY3JlZW4gcm9vdCBsYXllciIpOwpA
QCAtMTY0LDggKzE2MiwxMCBAQCB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyTWFjOjpzZXRSb290
RnVsbFNjcmVlbkxheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIGxheQogICAgICAgICBtX3Jv
b3RMYXllci0+c2V0U2l6ZShnZXRGdWxsU2NyZWVuUmVjdCgpLnNpemUoKSk7CiAKICAgICAgICAg
W21fcm9vdExheWVyLT5wbGF0Zm9ybUxheWVyKCkgc2V0R2VvbWV0cnlGbGlwcGVkOllFU107Ci0g
ICAgICAgIFdLQ0FSZW1vdGVMYXllckNsaWVudFNldExheWVyKG1fcmVtb3RlTGF5ZXJDbGllbnQu
Z2V0KCksIG1fcm9vdExheWVyLT5wbGF0Zm9ybUxheWVyKCkpOwotICAgICAgICBtX2xheWVyVHJl
ZUNvbnRleHQuY29udGV4dElEID0gV0tDQVJlbW90ZUxheWVyQ2xpZW50R2V0Q2xpZW50SWQobV9y
ZW1vdGVMYXllckNsaWVudC5nZXQoKSk7CisKKyAgICAgICAgbV9yZW1vdGVMYXllckNsaWVudCA9
IFJlbW90ZUxheWVyQ2xpZW50OjpjcmVhdGUoV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29tcG9zaXRp
bmdSZW5kZXJTZXJ2ZXJQb3J0KCksIG1fcm9vdExheWVyLT5wbGF0Zm9ybUxheWVyKCkpOworICAg
ICAgICBtX2xheWVyVHJlZUNvbnRleHQuY29udGV4dElEID0gbV9yZW1vdGVMYXllckNsaWVudC0+
Y2xpZW50SUQoKTsKKwogICAgICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHk6OkVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUobV9sYXllclRy
ZWVDb250ZXh0KSk7CiAgICAgfQogCkBAIC0xODMsOCArMTgzLDggQEAgdm9pZCBXZWJGdWxsU2Ny
ZWVuTWFuYWdlck1hYzo6ZGlzcG9zZU9mTGF5ZXJDbGllbnQoKQogewogICAgIGlmICghbV9yZW1v
dGVMYXllckNsaWVudCkKICAgICAgICAgcmV0dXJuOwotICAgIFdLQ0FSZW1vdGVMYXllckNsaWVu
dFNldExheWVyKG1fcmVtb3RlTGF5ZXJDbGllbnQuZ2V0KCksIDApOwotICAgIFdLQ0FSZW1vdGVM
YXllckNsaWVudEludmFsaWRhdGUobV9yZW1vdGVMYXllckNsaWVudC5nZXQoKSk7CisgICAgCisg
ICAgbV9yZW1vdGVMYXllckNsaWVudC0+aW52YWxpZGF0ZSgpOwogICAgIG1fcmVtb3RlTGF5ZXJD
bGllbnQgPSBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvY2EvbWFjL0xheWVyVHJlZUhvc3RDQU1hYy5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2NhL21hYy9MYXllclRyZWVIb3N0Q0FNYWMuaAppbmRleCAxNTMy
NTZiMDcyNWQ1YTcxYTc3NTRiYjYwZjQ4ODU0MDViOGRiOThkLi4yMGZjZWIzMTc5YWE2OTRkMDI4
MDY2ZTdjZjQ5NjQxMmUwZWJhMmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvY2EvbWFjL0xheWVyVHJlZUhvc3RDQU1hYy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9jYS9tYWMvTGF5ZXJUcmVlSG9zdENBTWFjLmgKQEAgLTI3
LDExICsyNyw5IEBACiAjZGVmaW5lIExheWVyVHJlZUhvc3RDQU1hY19oCiAKICNpbmNsdWRlICJM
YXllclRyZWVIb3N0Q0EuaCIKKyNpbmNsdWRlICJSZW1vdGVMYXllckNsaWVudC5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvTGF5ZXJGbHVzaFNjaGVkdWxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTGF5
ZXJGbHVzaFNjaGVkdWxlckNsaWVudC5oPgotI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KLQot
dHlwZWRlZiBzdHJ1Y3QgX19XS0NBUmVtb3RlTGF5ZXJDbGllbnRSZWYqIFdLQ0FSZW1vdGVMYXll
ckNsaWVudFJlZjsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTYxLDcgKzU5LDcgQEAgcHJp
dmF0ZToKICAgICAvLyBMYXllckZsdXNoU2NoZWR1bGVyQ2xpZW50CiAgICAgdmlydHVhbCBib29s
IGZsdXNoTGF5ZXJzKCk7CiAKLSAgICBSZXRhaW5QdHI8V0tDQVJlbW90ZUxheWVyQ2xpZW50UmVm
PiBtX3JlbW90ZUxheWVyQ2xpZW50OworICAgIFJlZlB0cjxSZW1vdGVMYXllckNsaWVudD4gbV9y
ZW1vdGVMYXllckNsaWVudDsKICAgICBXZWJDb3JlOjpMYXllckZsdXNoU2NoZWR1bGVyIG1fbGF5
ZXJGbHVzaFNjaGVkdWxlcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9jYS9tYWMvTGF5ZXJUcmVlSG9zdENBTWFjLm1tIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL21hYy9MYXllclRyZWVIb3N0Q0FNYWMubW0KaW5kZXgg
ZDQ1ODM3ZmQ2ODRhYzIyNjUwMjdiMWRmY2YxZDdiMTFhZDk5MjhjMC4uNzgxMTdlYmQzODcwYjVh
ZDM0ZDVlMjg1ZjViNzUzZDgwMDE4NWUyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2NhL21hYy9MYXllclRyZWVIb3N0Q0FNYWMubW0KKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL21hYy9MYXllclRyZWVIb3N0Q0FNYWMubW0K
QEAgLTI5LDcgKzI5LDYgQEAKICNpbXBvcnQgIldlYlByb2Nlc3MuaCIKICNpbXBvcnQgPFF1YXJ0
ekNvcmUvQ0FUcmFuc2FjdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+
Ci0jaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKQEAgLTU5LDEyICs1OCw4IEBAIExheWVyVHJlZUhvc3RDQU1hYzo6fkxheWVyVHJl
ZUhvc3RDQU1hYygpCiAKIHZvaWQgTGF5ZXJUcmVlSG9zdENBTWFjOjpwbGF0Zm9ybUluaXRpYWxp
emUoTGF5ZXJUcmVlQ29udGV4dCYgbGF5ZXJUcmVlQ29udGV4dCkKIHsKLSAgICBtYWNoX3BvcnRf
dCBzZXJ2ZXJQb3J0ID0gV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29tcG9zaXRpbmdSZW5kZXJTZXJ2
ZXJQb3J0KCk7Ci0gICAgbV9yZW1vdGVMYXllckNsaWVudCA9IFdLQ0FSZW1vdGVMYXllckNsaWVu
dE1ha2VXaXRoU2VydmVyUG9ydChzZXJ2ZXJQb3J0KTsKLQotICAgIFdLQ0FSZW1vdGVMYXllckNs
aWVudFNldExheWVyKG1fcmVtb3RlTGF5ZXJDbGllbnQuZ2V0KCksIHJvb3RMYXllcigpLT5wbGF0
Zm9ybUxheWVyKCkpOwotCi0gICAgbGF5ZXJUcmVlQ29udGV4dC5jb250ZXh0SUQgPSBXS0NBUmVt
b3RlTGF5ZXJDbGllbnRHZXRDbGllbnRJZChtX3JlbW90ZUxheWVyQ2xpZW50LmdldCgpKTsKKyAg
ICBtX3JlbW90ZUxheWVyQ2xpZW50ID0gUmVtb3RlTGF5ZXJDbGllbnQ6OmNyZWF0ZShXZWJQcm9j
ZXNzOjpzaGFyZWQoKS5jb21wb3NpdGluZ1JlbmRlclNlcnZlclBvcnQoKSwgcm9vdExheWVyKCkt
PnBsYXRmb3JtTGF5ZXIoKSk7CisgICAgbGF5ZXJUcmVlQ29udGV4dC5jb250ZXh0SUQgPSBtX3Jl
bW90ZUxheWVyQ2xpZW50LT5jbGllbnRJRCgpOwogfQogCiB2b2lkIExheWVyVHJlZUhvc3RDQU1h
Yzo6c2NoZWR1bGVMYXllckZsdXNoKCkKQEAgLTg0LDcgKzc5LDcgQEAgdm9pZCBMYXllclRyZWVI
b3N0Q0FNYWM6OmludmFsaWRhdGUoKQogewogICAgIG1fbGF5ZXJGbHVzaFNjaGVkdWxlci5pbnZh
bGlkYXRlKCk7CiAKLSAgICBXS0NBUmVtb3RlTGF5ZXJDbGllbnRJbnZhbGlkYXRlKG1fcmVtb3Rl
TGF5ZXJDbGllbnQuZ2V0KCkpOworICAgIG1fcmVtb3RlTGF5ZXJDbGllbnQtPmludmFsaWRhdGUo
KTsKICAgICBtX3JlbW90ZUxheWVyQ2xpZW50ID0gbnVsbHB0cjsKIAogICAgIExheWVyVHJlZUhv
c3RDQTo6aW52YWxpZGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YS5oCmluZGV4IDgwNmVhZDljY2QxOTk4NjkyMzc3MjkyNzQ5NjU3MWQyZjczOWI0NGYuLjgyMDVk
ZmViNzQ4MmY5M2E4OTA1OTFiMjVkMjRmN2JiYmUzYzk1ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0Fy
ZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKQEAgLTM0LDEwICszNCwxMCBAQAogT0JKQ19DTEFTUyBD
QUxheWVyOwogT0JKQ19DTEFTUyBXS0NvbnRlbnRMYXllcjsKIAotdHlwZWRlZiBzdHJ1Y3QgX19X
S0NBUmVtb3RlTGF5ZXJDbGllbnRSZWYqIFdLQ0FSZW1vdGVMYXllckNsaWVudFJlZjsKLQogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIFJlbW90ZUxheWVyQ2xpZW50OworCiBjbGFzcyBUaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYSA6IHB1YmxpYyBEcmF3aW5nQXJlYSwgcHJpdmF0ZSBX
ZWJDb3JlOjpMYXllckZsdXNoU2NoZWR1bGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYT4gY3JlYXRlKFdlYlBhZ2Uq
LCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7CkBAIC02OCw3ICs2OCw3IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2xheWVyVHJlZVN0YXRlSXNGcm96ZW47CiAgICAgV2ViQ29yZTo6
TGF5ZXJGbHVzaFNjaGVkdWxlciBtX2xheWVyRmx1c2hTY2hlZHVsZXI7CiAKLSAgICBSZXRhaW5Q
dHI8V0tDQVJlbW90ZUxheWVyQ2xpZW50UmVmPiBtX3JlbW90ZUxheWVyQ2xpZW50OworICAgIFJl
ZlB0cjxSZW1vdGVMYXllckNsaWVudD4gbV9yZW1vdGVMYXllckNsaWVudDsKICAgICBSZXRhaW5Q
dHI8Q0FMYXllcj4gbV9yb290TGF5ZXI7CiAgICAgUmV0YWluUHRyPENBTGF5ZXI+IG1fcGVuZGlu
Z1Jvb3RDb21wb3NpdGluZ0xheWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLm1tCmluZGV4IDI2ZmNhOTJiZjIwNTVkNGY0NDlmZTM4NjlhOGZjMGYwYTdkYjk5
N2MuLjA3OTFiMmJkMjlhMzc3ZmQzZjhiN2U2NDRjOGQ2ZTk1OGMyMDAzMzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtMjksNiArMjksNyBAQAogI2lt
cG9ydCAiRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJFdmVudERpc3BhdGNo
ZXIuaCIKICNpbXBvcnQgIkxheWVyVHJlZUNvbnRleHQuaCIKKyNpbXBvcnQgIlJlbW90ZUxheWVy
Q2xpZW50LmgiCiAjaW1wb3J0ICJXZWJQYWdlLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzLmgiCiAj
aW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KQEAgLTM4LDcgKzM5LDYgQEAKICNpbXBv
cnQgPFdlYkNvcmUvUGFnZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxpbmdDb29yZGluYXRv
ci5oPgogI2ltcG9ydCA8V2ViQ29yZS9TZXR0aW5ncy5oPgotI2ltcG9ydCA8V2ViS2l0U3lzdGVt
SW50ZXJmYWNlLmg+CiAKIEBpbnRlcmZhY2UgQ0FUcmFuc2FjdGlvbiAoRGV0YWlscykKICsgKHZv
aWQpc3luY2hyb25pemU7CkBAIC03NiwxMiArNzYsMTAgQEAgVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWE6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhKFdlYlBhZ2UqIHdlYlBhZ2Us
IGMKICAgICBtX3Jvb3RMYXllci5nZXQoKS5vcGFxdWUgPSBZRVM7CiAgICAgbV9yb290TGF5ZXIu
Z2V0KCkuZ2VvbWV0cnlGbGlwcGVkID0gWUVTOwogCi0gICAgbWFjaF9wb3J0X3Qgc2VydmVyUG9y
dCA9IFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbXBvc2l0aW5nUmVuZGVyU2VydmVyUG9ydCgpOwot
ICAgIG1fcmVtb3RlTGF5ZXJDbGllbnQgPSBXS0NBUmVtb3RlTGF5ZXJDbGllbnRNYWtlV2l0aFNl
cnZlclBvcnQoc2VydmVyUG9ydCk7Ci0gICAgV0tDQVJlbW90ZUxheWVyQ2xpZW50U2V0TGF5ZXIo
bV9yZW1vdGVMYXllckNsaWVudC5nZXQoKSwgbV9yb290TGF5ZXIuZ2V0KCkpOworICAgIG1fcmVt
b3RlTGF5ZXJDbGllbnQgPSBSZW1vdGVMYXllckNsaWVudDo6Y3JlYXRlKFdlYlByb2Nlc3M6OnNo
YXJlZCgpLmNvbXBvc2l0aW5nUmVuZGVyU2VydmVyUG9ydCgpLCBtX3Jvb3RMYXllci5nZXQoKSk7
CiAKICAgICBMYXllclRyZWVDb250ZXh0IGxheWVyVHJlZUNvbnRleHQ7Ci0gICAgbGF5ZXJUcmVl
Q29udGV4dC5jb250ZXh0SUQgPSBXS0NBUmVtb3RlTGF5ZXJDbGllbnRHZXRDbGllbnRJZChtX3Jl
bW90ZUxheWVyQ2xpZW50LmdldCgpKTsKKyAgICBsYXllclRyZWVDb250ZXh0LmNvbnRleHRJRCA9
IG1fcmVtb3RlTGF5ZXJDbGllbnQtPmNsaWVudElEKCk7CiAgICAgbV93ZWJQYWdlLT5zZW5kKE1l
c3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpFbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2Rl
KDAsIGxheWVyVHJlZUNvbnRleHQpKTsKIH0KIAo=
</data>
<flag name="review"
          id="131454"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>