<?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>124982</bug_id>
          
          <creation_ts>2013-11-28 10:36:49 -0800</creation_ts>
          <short_desc>Nix Upstream: Updating Platform files</short_desc>
          <delta_ts>2013-12-02 14:56:20 -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>Platform</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>
          
          <blocked>124950</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Thiago de Barros Lacerda">thiago.lacerda</reporter>
          <assigned_to name="Thiago de Barros Lacerda">thiago.lacerda</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kling</cc>
    
    <cc>lauro.neto</cc>
    
    <cc>ossy</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>954784</commentid>
    <comment_count>0</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-11-28 10:36:49 -0800</bug_when>
    <thetext>Just to sync our github repo files and the trunk, as part of the upstream process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954786</commentid>
    <comment_count>1</comment_count>
      <attachid>218014</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-11-28 10:40:44 -0800</bug_when>
    <thetext>Created attachment 218014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955584</commentid>
    <comment_count>2</comment_count>
      <attachid>218014</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-02 14:27:26 -0800</bug_when>
    <thetext>Comment on attachment 218014
Patch

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

This is all Nix &quot;Platform&quot; layer. LGTM.

&gt; Source/Platform/nix/public/MediaStream.h:67
&gt; +    // Caller must delete the returned MediaStreamSource*

Probably a good idea to enforce this by returning a vector of smart pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955609</commentid>
    <comment_count>3</comment_count>
      <attachid>218014</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-02 14:56:17 -0800</bug_when>
    <thetext>Comment on attachment 218014
Patch

Clearing flags on attachment: 218014

Committed r159971: &lt;http://trac.webkit.org/changeset/159971&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955610</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-02 14:56:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218014</attachid>
            <date>2013-11-28 10:40:44 -0800</date>
            <delta_ts>2013-12-02 14:56:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124982-20131128154043.patch</filename>
            <type>text/plain</type>
            <size>23842</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5ODQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA5NTk1NTBjMzAzMjhl
ZjBiNjJhM2MxZjM4ZDc2MzFiMDEwZTU0ODg5Li43NDE4YTU1OWYwOWY2NmZkZTljZWZmMmI2YzRl
NzYxNDljYmJhOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMy0xMS0yOCAg
VGhpYWdvIGRlIEJhcnJvcyBMYWNlcmRhICA8dGhpYWdvLmxhY2VyZGFAb3BlbmJvc3NhLm9yZz4K
KworICAgICAgICBOaXggVXBzdHJlYW06IFVwZGF0aW5nIFBsYXRmb3JtIGZpbGVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQ5ODIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgbmV3IFBsYXRm
b3JtIGZpbGVzIHRoYXQgYXJlIG1pc3NpbmcgaW4gdGhlIHRydW5rLgorCisgICAgICAgICogUGxh
dGZvcm1OaXguY21ha2U6CisgICAgICAgICogbml4L3B1YmxpYy9BdWRpb0Rlc3RpbmF0aW9uQ29u
c3VtZXIuaDogQWRkZWQuCisgICAgICAgIChOaXg6OkF1ZGlvRGVzdGluYXRpb25Db25zdW1lcjo6
fkF1ZGlvRGVzdGluYXRpb25Db25zdW1lcik6CisgICAgICAgICogbml4L3B1YmxpYy9NZWRpYUNv
bnN0cmFpbnRzLmg6IEFkZGVkLgorICAgICAgICAqIG5peC9wdWJsaWMvTWVkaWFTdHJlYW0uaDog
QWRkZWQuCisgICAgICAgICogbml4L3B1YmxpYy9NZWRpYVN0cmVhbUF1ZGlvU291cmNlLmg6IEFk
ZGVkLgorICAgICAgICAqIG5peC9wdWJsaWMvTWVkaWFTdHJlYW1DZW50ZXIuaDogQWRkZWQuCisg
ICAgICAgICogbml4L3B1YmxpYy9NZWRpYVN0cmVhbVNvdXJjZS5oOiBBZGRlZC4KKyAgICAgICAg
KiBuaXgvcHVibGljL1ByaXZhdGVQdHIuaDogQWRkZWQuCisKIDIwMTMtMTEtMjYgIE1hcmNlbG8g
TGlyYSAgPG1hcmNlbG8ubGlyYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIE5peCB1cHN0cmVh
bWluZyAtIEFkZGluZyBidWlsZCBmaWxlcyBhbmQgc3VwcG9ydGluZyBzY3JpcHRzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm1OaXguY21ha2UgYi9Tb3VyY2UvUGxhdGZvcm0v
UGxhdGZvcm1OaXguY21ha2UKaW5kZXggZDMxOWQyNDRhY2NiYjhjNzc3MWQ5NWRlNDNlNTJmMThm
YmQxNmUxMy4uODE4NzY1ODE0NWZlZDE0M2VkMmU2ODAwMGNjNGIyNDdlODI3NmE0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtTml4LmNtYWtlCisrKyBiL1NvdXJjZS9QbGF0
Zm9ybS9QbGF0Zm9ybU5peC5jbWFrZQpAQCAtNiw2ICs2LDcgQEAgc2V0KFBsYXRmb3JtX0lOQ0xV
REVTCiApCiAKIHNldChQbGF0Zm9ybV9IRUFERVJTCisgICAgbml4L3B1YmxpYy9BdWRpb0Rlc3Rp
bmF0aW9uQ29uc3VtZXIuaAogICAgIG5peC9wdWJsaWMvQXVkaW9EZXZpY2UuaAogICAgIG5peC9w
dWJsaWMvQ2FudmFzLmgKICAgICBuaXgvcHVibGljL0NvbG9yLmgKQEAgLTEzLDkgKzE0LDE1IEBA
IHNldChQbGF0Zm9ybV9IRUFERVJTCiAgICAgbml4L3B1YmxpYy9GRlRGcmFtZS5oCiAgICAgbml4
L3B1YmxpYy9HYW1lcGFkLmgKICAgICBuaXgvcHVibGljL0dhbWVwYWRzLmgKKyAgICBuaXgvcHVi
bGljL01lZGlhQ29uc3RyYWludHMuaAogICAgIG5peC9wdWJsaWMvTWVkaWFQbGF5ZXIuaAorICAg
IG5peC9wdWJsaWMvTWVkaWFTdHJlYW0uaAorICAgIG5peC9wdWJsaWMvTWVkaWFTdHJlYW1BdWRp
b1NvdXJjZS5oCisgICAgbml4L3B1YmxpYy9NZWRpYVN0cmVhbUNlbnRlci5oCisgICAgbml4L3B1
YmxpYy9NZWRpYVN0cmVhbVNvdXJjZS5oCiAgICAgbml4L3B1YmxpYy9NdWx0aUNoYW5uZWxQQ01E
YXRhLmgKICAgICBuaXgvcHVibGljL1BsYXRmb3JtLmgKKyAgICBuaXgvcHVibGljL1ByaXZhdGVQ
dHIuaAogICAgIG5peC9wdWJsaWMvUmVjdC5oCiAgICAgbml4L3B1YmxpYy9TaXplLmgKICAgICBu
aXgvcHVibGljL1RoZW1lRW5naW5lLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9uaXgv
cHVibGljL0F1ZGlvRGVzdGluYXRpb25Db25zdW1lci5oIGIvU291cmNlL1BsYXRmb3JtL25peC9w
dWJsaWMvQXVkaW9EZXN0aW5hdGlvbkNvbnN1bWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2M5NzhkMmQ4YWY1
OGNmMjY3MDAyMjUzNTYwNjYxMWVhOTg3OGM1ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9Q
bGF0Zm9ybS9uaXgvcHVibGljL0F1ZGlvRGVzdGluYXRpb25Db25zdW1lci5oCkBAIC0wLDAgKzEs
NDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5peF9BdWRpb0Rlc3Rp
bmF0aW9uQ29uc3VtZXJfaAorI2RlZmluZSBOaXhfQXVkaW9EZXN0aW5hdGlvbkNvbnN1bWVyX2gK
KworI2luY2x1ZGUgPGNzdGRkZWY+CisjaW5jbHVkZSA8dmVjdG9yPgorCituYW1lc3BhY2UgTml4
IHsKKworY2xhc3MgQXVkaW9EZXN0aW5hdGlvbkNvbnN1bWVyIHsKK3B1YmxpYzoKKyAgICB2aXJ0
dWFsIH5BdWRpb0Rlc3RpbmF0aW9uQ29uc3VtZXIoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBz
ZXRGb3JtYXQoc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMsIGZsb2F0IHNhbXBsZVJhdGUpID0gMDsK
KworICAgIC8vIFRoZSBzaXplIG9mIHRoZSB2ZWN0b3IgaXMgdGhlIG51bWJlciBvZiBhdWRpbyBj
aGFubmVscywgYW5kIG51bWJlck9mRnJhbWVzIGlzIHRoZQorICAgIC8vIG51bWJlciBvZiBhdWRp
byBmcmFtZXMgaW4gdGhlIChwb3NzaWJseSBtdWx0aS1jaGFubmVsKSBidWZmZXIgaW4gYSBwbGFu
YXIgZm9ybWF0LgorICAgIHZpcnR1YWwgdm9pZCBjb25zdW1lQXVkaW8oY29uc3Qgc3RkOjp2ZWN0
b3I8Y29uc3QgZmxvYXQqPiYgcGNtRGF0YSwgc2l6ZV90IG51bWJlck9mRnJhbWVzKSA9IDA7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBOaXgKKworI2VuZGlmIC8vIE5peF9BdWRpb0Rlc3RpbmF0aW9u
Q29uc3VtZXJfaAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vbml4L3B1YmxpYy9NZWRp
YUNvbnN0cmFpbnRzLmggYi9Tb3VyY2UvUGxhdGZvcm0vbml4L3B1YmxpYy9NZWRpYUNvbnN0cmFp
bnRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTliNGRmYTQ4MTE1ODQ1N2Y1NGExOWI1NTg5NmM4YWU4NTZjNWUx
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9uaXgvcHVibGljL01lZGlhQ29u
c3RyYWludHMuaApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgTm9r
aWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBOaXhfTWVkaWFDb25zdHJhaW50c19oCisjZGVmaW5lIE5peF9NZWRp
YUNvbnN0cmFpbnRzX2gKKworI2luY2x1ZGUgIkNvbW1vbi5oIgorI2luY2x1ZGUgIlByaXZhdGVQ
dHIuaCIKKworI2luY2x1ZGUgPGNzdGRkZWY+CisjaW5jbHVkZSA8c3RyaW5nPgorI2luY2x1ZGUg
PHZlY3Rvcj4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworc3RydWN0IE1lZGlhQ29uc3RyYWludDsK
K2NsYXNzIE1lZGlhQ29uc3RyYWludHM7Cit9CisKK25hbWVzcGFjZSBOaXggeworCitzdHJ1Y3Qg
TWVkaWFDb25zdHJhaW50IHsKKyAgICBNZWRpYUNvbnN0cmFpbnQoKQorICAgIHsKKyAgICB9CisK
KyAgICBNZWRpYUNvbnN0cmFpbnQoc3RkOjpzdHJpbmcgbmFtZSwgc3RkOjpzdHJpbmcgdmFsdWUp
CisgICAgICAgIDogbV9uYW1lKG5hbWUpCisgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkKKyAgICB7
CisgICAgfQorCisgICAgc3RkOjpzdHJpbmcgbV9uYW1lOworICAgIHN0ZDo6c3RyaW5nIG1fdmFs
dWU7Cit9OworCitjbGFzcyBNZWRpYUNvbnN0cmFpbnRzIHsKK3B1YmxpYzoKKyAgICBNZWRpYUNv
bnN0cmFpbnRzKCkgeyB9CisgICAgfk1lZGlhQ29uc3RyYWludHMoKSB7IHJlc2V0KCk7IH0KKwor
ICAgIHZvaWQgYXNzaWduKGNvbnN0IE1lZGlhQ29uc3RyYWludHMmKTsKKworICAgIHZvaWQgcmVz
ZXQoKTsKKyAgICBOSVhfRVhQT1JUIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gbV9wcml2
YXRlLmlzTnVsbCgpOyB9CisKKyAgICBOSVhfRVhQT1JUIHZvaWQgZ2V0TWFuZGF0b3J5Q29uc3Ry
YWludHMoc3RkOjp2ZWN0b3I8TWVkaWFDb25zdHJhaW50PiYpIGNvbnN0OworICAgIE5JWF9FWFBP
UlQgdm9pZCBnZXRPcHRpb25hbENvbnN0cmFpbnRzKHN0ZDo6dmVjdG9yPE1lZGlhQ29uc3RyYWlu
dD4mKSBjb25zdDsKKworICAgIE5JWF9FWFBPUlQgYm9vbCBnZXRNYW5kYXRvcnlDb25zdHJhaW50
VmFsdWUoY29uc3QgY2hhciogbmFtZSwgc3RkOjpzdHJpbmcmIHZhbHVlKSBjb25zdDsKKyAgICBO
SVhfRVhQT1JUIGJvb2wgZ2V0T3B0aW9uYWxDb25zdHJhaW50VmFsdWUoY29uc3QgY2hhciogbmFt
ZSwgc3RkOjpzdHJpbmcmIHZhbHVlKSBjb25zdDsKKworI2lmZGVmIEJVSUxESU5HX05JWF9fCisg
ICAgTWVkaWFDb25zdHJhaW50cyhjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6TWVkaWFD
b25zdHJhaW50cz4mKTsKKyAgICBNZWRpYUNvbnN0cmFpbnRzKFdlYkNvcmU6Ok1lZGlhQ29uc3Ry
YWludHMqKTsKKyNlbmRpZgorCitwcml2YXRlOgorICAgIFByaXZhdGVQdHI8V2ViQ29yZTo6TWVk
aWFDb25zdHJhaW50cz4gbV9wcml2YXRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgTml4CisKKyNl
bmRpZiAvLyBOaXhfTWVkaWFDb25zdHJhaW50c19oCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0
Zm9ybS9uaXgvcHVibGljL01lZGlhU3RyZWFtLmggYi9Tb3VyY2UvUGxhdGZvcm0vbml4L3B1Ymxp
Yy9NZWRpYVN0cmVhbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjOGExOWE5MWU3YjgzMDI0ZTEwNjA0ZGQ3OGQx
MWQ0ODczZjMwMDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vbml4L3B1Ymxp
Yy9NZWRpYVN0cmVhbS5oCkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MyBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIE5peF9NZWRpYVN0cmVhbV9oCisjZGVmaW5lIE5peF9NZWRpYVN0cmVhbV9o
CisKKyNpbmNsdWRlICJDb21tb24uaCIKKyNpbmNsdWRlICJQcml2YXRlUHRyLmgiCisKKyNpbmNs
dWRlIDxjc3RkZGVmPgorI2luY2x1ZGUgPHZlY3Rvcj4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Y2xhc3MgTWVkaWFTdHJlYW1Qcml2YXRlOworfQorCituYW1lc3BhY2UgTml4IHsKKworY2xhc3Mg
TWVkaWFTdHJlYW1Tb3VyY2U7CitjbGFzcyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlOworCitjbGFz
cyBNZWRpYVN0cmVhbSB7CitwdWJsaWM6CisgICAgTWVkaWFTdHJlYW0oKSB7IH0KKyAgICBNZWRp
YVN0cmVhbShjb25zdCBNZWRpYVN0cmVhbSYgb3RoZXIpIHsgYXNzaWduKG90aGVyKTsgfQorICAg
IH5NZWRpYVN0cmVhbSgpIHsgcmVzZXQoKTsgfQorCisgICAgTWVkaWFTdHJlYW0mIG9wZXJhdG9y
PShjb25zdCBNZWRpYVN0cmVhbSYgb3RoZXIpCisgICAgeworICAgICAgICBhc3NpZ24ob3RoZXIp
OworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgTklYX0VYUE9SVCB2b2lkIGFz
c2lnbihjb25zdCBNZWRpYVN0cmVhbSYpOworCisgICAgLy8gVGFrZXMgb3duZXJzaGlwIG9mIHRo
ZSBNZWRpYVN0cmVhbVNvdXJjZSogcG9pbnRlcnMsIGRlbGV0aW5nIHRoZW0uCisgICAgTklYX0VY
UE9SVCB2b2lkIGluaXRpYWxpemUoc3RkOjp2ZWN0b3I8TWVkaWFTdHJlYW1Tb3VyY2UqPiYgYXVk
aW9UcmFja3MsIHN0ZDo6dmVjdG9yPE1lZGlhU3RyZWFtU291cmNlKj4mIHZpZGVvVHJhY2tzKTsK
KworICAgIE5JWF9FWFBPUlQgdm9pZCByZXNldCgpOworICAgIE5JWF9FWFBPUlQgYm9vbCBpc051
bGwoKSBjb25zdDsKKworCisgICAgTklYX0VYUE9SVCBjb25zdCBjaGFyKiBpZCgpIGNvbnN0Owor
CisgICAgLy8gQ2FsbGVyIG11c3QgZGVsZXRlIHRoZSByZXR1cm5lZCBNZWRpYVN0cmVhbVNvdXJj
ZSoKKyAgICBOSVhfRVhQT1JUIHN0ZDo6dmVjdG9yPE1lZGlhU3RyZWFtU291cmNlKj4gYXVkaW9T
b3VyY2VzKCkgY29uc3Q7CisgICAgTklYX0VYUE9SVCBzdGQ6OnZlY3RvcjxNZWRpYVN0cmVhbVNv
dXJjZSo+IHZpZGVvU291cmNlcygpIGNvbnN0OworCisgICAgTklYX0VYUE9SVCB2b2lkIGFkZFNv
dXJjZShjb25zdCBNZWRpYVN0cmVhbVNvdXJjZSYpOworICAgIE5JWF9FWFBPUlQgdm9pZCByZW1v
dmVTb3VyY2UoY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2UmKTsKKworI2lmIEJVSUxESU5HX05JWF9f
CisgICAgTWVkaWFTdHJlYW0oV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2YXRlKik7CisgICAgTWVk
aWFTdHJlYW0oY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0
ZT4mKTsKKyAgICBvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6TWVkaWFTdHJlYW1Q
cml2YXRlPigpIGNvbnN0OworICAgIG9wZXJhdG9yIFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0
ZSooKSBjb25zdDsKKyAgICBNZWRpYVN0cmVhbSYgb3BlcmF0b3I9KGNvbnN0IFdURjo6UGFzc1Jl
ZlB0cjxXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZhdGU+Jik7CisjZW5kaWYKKworcHJpdmF0ZToK
KyAgICBQcml2YXRlUHRyPFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZT4gbV9wcml2YXRlOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgTml4CisKKyNlbmRpZiAvLyBOaXhfTWVkaWFTdHJlYW1faAor
CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vbml4L3B1YmxpYy9NZWRpYVN0cmVhbUF1ZGlv
U291cmNlLmggYi9Tb3VyY2UvUGxhdGZvcm0vbml4L3B1YmxpYy9NZWRpYVN0cmVhbUF1ZGlvU291
cmNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjY2N2FjZDc5YzY0YjU4MWNmOWJjMzBjMTI4NjE2OTcyYzhiMjdm
MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9uaXgvcHVibGljL01lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2UuaApAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgTml4X01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VfaAorI2Rl
ZmluZSBOaXhfTWVkaWFTdHJlYW1BdWRpb1NvdXJjZV9oCisKKyNpbmNsdWRlICJDb21tb24uaCIK
KyNpbmNsdWRlICJNZWRpYVN0cmVhbVNvdXJjZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7Citj
bGFzcyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlOworfQorCituYW1lc3BhY2UgTml4IHsKK2NsYXNz
IEF1ZGlvRGVzdGluYXRpb25Db25zdW1lcjsKKworY2xhc3MgTWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZSA6IHB1YmxpYyBNZWRpYVN0cmVhbVNvdXJjZSB7CitwdWJsaWM6CisgICAgTklYX0VYUE9SVCBN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlKCk7CisgICAgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZShjb25z
dCBNZWRpYVN0cmVhbUF1ZGlvU291cmNlJiBvdGhlcikgOiBNZWRpYVN0cmVhbVNvdXJjZShvdGhl
cikgeyBhc3NpZ24ob3RoZXIpOyB9CisgICAgfk1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UoKSB7IHJl
c2V0KCk7IH0KKworICAgIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UmIG9wZXJhdG9yPShjb25zdCBN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlJiBvdGhlcikKKyAgICB7CisgICAgICAgIGFzc2lnbihvdGhl
cik7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICBOSVhfRVhQT1JUIHZvaWQg
YXNzaWduKGNvbnN0IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UmKTsKKworICAgIE5JWF9FWFBPUlQg
dm9pZCByZXNldCgpOworICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gbV9wcml2YXRl
LmlzTnVsbCgpOyB9CisKKyAgICBOSVhfRVhQT1JUIGNvbnN0IGNoYXIqIGRldmljZUlkKCkgY29u
c3Q7CisgICAgTklYX0VYUE9SVCB2b2lkIHNldERldmljZUlkKGNvbnN0IGNoYXIqKTsKKworICAg
IC8vIFRoZSBOaXg6OkF1ZGlvRGVzdGluYXRpb25Db25zdW1lciBpcyBub3Qgb3duZWQsIGFuZCBo
YXMgdG8gYmUgZGlzcG9zZWQgb2Ygc2VwYXJhdGVseQorICAgIC8vIGFmdGVyIGNhbGxpbmcgcmVt
b3ZlQXVkaW9Db25zdW1lci4KKyAgICBOSVhfRVhQT1JUIHZvaWQgYWRkQXVkaW9Db25zdW1lcihB
dWRpb0Rlc3RpbmF0aW9uQ29uc3VtZXIqKTsKKyAgICBOSVhfRVhQT1JUIGJvb2wgcmVtb3ZlQXVk
aW9Db25zdW1lcihBdWRpb0Rlc3RpbmF0aW9uQ29uc3VtZXIqKTsKKworI2lmIEJVSUxESU5HX05J
WF9fCisgICAgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2Vi
Q29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZT4mKTsKKyAgICBNZWRpYVN0cmVhbUF1ZGlvU291
cmNlJiBvcGVyYXRvcj0oV2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZSopOworICAgIG9w
ZXJhdG9yIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvU291cmNlPigp
IGNvbnN0OworICAgIG9wZXJhdG9yIFdlYkNvcmU6Ok1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UqKCkg
Y29uc3Q7Citwcml2YXRlOgorICAgIFdlYkNvcmU6Ok1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UqIHRv
V2ViQ29yZUF1ZGlvU291cmNlKCkgY29uc3Q7CisjZW5kaWYKKworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgTml4CisKKyNlbmRpZiAvLyBOaXhfTWVkaWFTdHJlYW1BdWRpb1NvdXJjZV9oCisKZGlmZiAt
LWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9uaXgvcHVibGljL01lZGlhU3RyZWFtQ2VudGVyLmggYi9T
b3VyY2UvUGxhdGZvcm0vbml4L3B1YmxpYy9NZWRpYVN0cmVhbUNlbnRlci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE1YjQ3OWRiOTRmNzIxMGNiZTZjY2Q3M2YwMTY1NGMyMGFjOTBlZDYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvUGxhdGZvcm0vbml4L3B1YmxpYy9NZWRpYVN0cmVhbUNlbnRlci5oCkBAIC0w
LDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5peF9NZWRp
YVN0cmVhbUNlbnRlcl9oCisjZGVmaW5lIE5peF9NZWRpYVN0cmVhbUNlbnRlcl9oCisKKyNpbmNs
dWRlICJDb21tb24uaCIKKyNpbmNsdWRlICJQcml2YXRlUHRyLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKK2NsYXNzIE1lZGlhU3RyZWFtQ2VudGVyOworfQorCituYW1lc3BhY2UgTml4IHsKK2Ns
YXNzIE1lZGlhU3RyZWFtOworY2xhc3MgTWVkaWFTdHJlYW1Tb3VyY2U7CitjbGFzcyBNZWRpYUNv
bnN0cmFpbnRzOworCitjbGFzcyBOSVhfRVhQT1JUIE1lZGlhU3RyZWFtQ2VudGVyIHsKK3B1Ymxp
YzoKKyAgICBNZWRpYVN0cmVhbUNlbnRlcigpOworICAgIHZvaWQgcmVxdWVzdCgpOworICAgIC8v
IFJldHVybiB0aGUgbmFtZSBvZiB0aGUgZmFpbGVkIGNvbnN0cmFpbnQuIDAgaWYgc3VjY2Vzc2Z1
bC4KKyAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHZhbGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKE1l
ZGlhQ29uc3RyYWludHMmIGF1ZGlvQ29uc3RyYWludHMsIE1lZGlhQ29uc3RyYWludHMmIHZpZGVv
Q29uc3RyYWludHMpID0gMDsKKyAgICB2aXJ0dWFsIE1lZGlhU3RyZWFtIGNyZWF0ZU1lZGlhU3Ry
ZWFtKE1lZGlhQ29uc3RyYWludHMmIGF1ZGlvQ29uc3RyYWludHMsIE1lZGlhQ29uc3RyYWludHMm
IHZpZGVvQ29uc3RyYWludHMpID0gMDsKKworfTsKKworfSAvLyBuYW1lc3BhY2UgTml4CisKKyNl
bmRpZiAvLyBOaXhfTWVkaWFTdHJlYW1DZW50ZXJfaAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxh
dGZvcm0vbml4L3B1YmxpYy9NZWRpYVN0cmVhbVNvdXJjZS5oIGIvU291cmNlL1BsYXRmb3JtL25p
eC9wdWJsaWMvTWVkaWFTdHJlYW1Tb3VyY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MDA5MmNiYTZhZWE1ZGM1
YjkxNGFkNjQ2YTBhZmU1YWQzNWViZDllCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1BsYXRm
b3JtL25peC9wdWJsaWMvTWVkaWFTdHJlYW1Tb3VyY2UuaApAQCAtMCwwICsxLDEwMCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTml4X01lZGlhU3RyZWFt
U291cmNlX2gKKyNkZWZpbmUgTml4X01lZGlhU3RyZWFtU291cmNlX2gKKworI2luY2x1ZGUgIkNv
bW1vbi5oIgorI2luY2x1ZGUgIlByaXZhdGVQdHIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Y2xhc3MgTWVkaWFTdHJlYW1Tb3VyY2U7Cit9CisKK25hbWVzcGFjZSBOaXggeworCitjbGFzcyBN
ZWRpYVN0cmVhbVNvdXJjZSB7CitwdWJsaWM6CisKKyAgICBlbnVtIFR5cGUgeworICAgICAgICBB
dWRpbywKKyAgICAgICAgVmlkZW8KKyAgICB9OworCisgICAgZW51bSBSZWFkeVN0YXRlIHsKKyAg
ICAgICAgUmVhZHlTdGF0ZUxpdmUgPSAwLAorICAgICAgICBSZWFkeVN0YXRlTXV0ZWQgPSAxLAor
ICAgICAgICBSZWFkeVN0YXRlRW5kZWQgPSAyCisgICAgfTsKKworICAgIE1lZGlhU3RyZWFtU291
cmNlKCkgeyB9CisgICAgTWVkaWFTdHJlYW1Tb3VyY2UoY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2Um
IG90aGVyKSB7IGFzc2lnbihvdGhlcik7IH0KKyAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbVNvdXJj
ZSgpIHsgcmVzZXQoKTsgfQorCisgICAgTWVkaWFTdHJlYW1Tb3VyY2UmIG9wZXJhdG9yPShjb25z
dCBNZWRpYVN0cmVhbVNvdXJjZSYgb3RoZXIpCisgICAgeworICAgICAgICBhc3NpZ24ob3RoZXIp
OworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCisgICAgTklYX0VYUE9SVCB2b2lkIGFz
c2lnbihjb25zdCBNZWRpYVN0cmVhbVNvdXJjZSYpOworCisgICAgTklYX0VYUE9SVCB2b2lkIHJl
c2V0KCk7CisgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBtX3ByaXZhdGUuaXNOdWxs
KCk7IH0KKworICAgIE5JWF9FWFBPUlQgY29uc3QgY2hhciogaWQoKSBjb25zdDsKKyAgICBOSVhf
RVhQT1JUIFR5cGUgdHlwZSgpIGNvbnN0OworICAgIE5JWF9FWFBPUlQgY29uc3QgY2hhciogbmFt
ZSgpIGNvbnN0OworCisgICAgTklYX0VYUE9SVCB2b2lkIHNldFJlYWR5U3RhdGUoUmVhZHlTdGF0
ZSk7CisgICAgTklYX0VYUE9SVCBSZWFkeVN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdDsKKworICAg
IE5JWF9FWFBPUlQgYm9vbCBlbmFibGVkKCkgY29uc3Q7CisgICAgTklYX0VYUE9SVCB2b2lkIHNl
dEVuYWJsZWQoYm9vbCk7CisKKyAgICBOSVhfRVhQT1JUIGJvb2wgbXV0ZWQoKSBjb25zdDsKKyAg
ICBOSVhfRVhQT1JUIHZvaWQgc2V0TXV0ZWQoYm9vbCk7CisKKyAgICBOSVhfRVhQT1JUIGJvb2wg
cmVhZG9ubHkoKSBjb25zdDsKKyAgICBOSVhfRVhQT1JUIHZvaWQgc2V0UmVhZG9ubHkoYm9vbCk7
CisKKyAgICAvLyBGSVhNRSBBZGQgc3VwcG9ydCBmb3IgY2FwYWJpbGl0ZXMuCisKKyNpZiBCVUlM
RElOR19OSVhfXworICAgIE1lZGlhU3RyZWFtU291cmNlKGNvbnN0IFdURjo6UGFzc1JlZlB0cjxX
ZWJDb3JlOjpNZWRpYVN0cmVhbVNvdXJjZT4mKTsKKyAgICBNZWRpYVN0cmVhbVNvdXJjZSYgb3Bl
cmF0b3I9KFdlYkNvcmU6Ok1lZGlhU3RyZWFtU291cmNlKik7CisgICAgb3BlcmF0b3IgV1RGOjpQ
YXNzUmVmUHRyPFdlYkNvcmU6Ok1lZGlhU3RyZWFtU291cmNlPigpIGNvbnN0OworICAgIG9wZXJh
dG9yIFdlYkNvcmU6Ok1lZGlhU3RyZWFtU291cmNlKigpIGNvbnN0OworI2VuZGlmCisKK3Byb3Rl
Y3RlZDoKKyAgICBQcml2YXRlUHRyPFdlYkNvcmU6Ok1lZGlhU3RyZWFtU291cmNlPiBtX3ByaXZh
dGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBOaXgKKworI2VuZGlmIC8vIE5peF9NZWRpYVN0cmVh
bVNvdXJjZV9oCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9uaXgvcHVibGljL1ByaXZh
dGVQdHIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9uaXgvcHVibGljL1ByaXZhdGVQdHIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zY2Q2YjgzZTJmZThiNjQwYWJhNjdjZDFiMzlmMmM3Mjg5ZDRlMzcwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1BsYXRmb3JtL25peC9wdWJsaWMvUHJpdmF0ZVB0ci5oCkBAIC0wLDAg
KzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgTm9raWEgQ29ycG9yYXRpb24gYW5k
L29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTml4X1ByaXZhdGVQdHJfaAorI2RlZmluZSBO
aXhfUHJpdmF0ZVB0cl9oCisKKyNpbmNsdWRlICJDb21tb24uaCIKKworI2lmIEJVSUxESU5HX05J
WF9fCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8Y2Fz
c2VydD4KKworbmFtZXNwYWNlIE5peCB7CisKKy8vIFRoaXMgY2xhc3MgaXMgYW4gaW1wbGVtZW50
YXRpb24gZGV0YWlsIG9mIHRoZSBOaXggQVBJLiBJdCBleGlzdHMKKy8vIHRvIGhlbHAgc2ltcGxp
ZnkgdGhlIGltcGxlbWVudGF0aW9uIG9mIE5peCBpbnRlcmZhY2VzIHRoYXQgbWVyZWx5CisvLyB3
cmFwIGEgcmVmZXJlbmNlIGNvdW50ZWQgV2ViQ29yZSBjbGFzcy4KK3RlbXBsYXRlIDx0eXBlbmFt
ZSBUPgorY2xhc3MgUHJpdmF0ZVB0ciB7CitwdWJsaWM6CisgICAgUHJpdmF0ZVB0cigpIDogbV9w
dHIoMCkgeyB9CisgICAgflByaXZhdGVQdHIoKSB7IGFzc2VydCghbV9wdHIpOyB9CisKKyAgICBi
b29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuICFtX3B0cjsgfQorCisjaWYgQlVJTERJTkdfTklY
X18KKyAgICBQcml2YXRlUHRyKGNvbnN0IFBhc3NSZWZQdHI8VD4mIHBycCkKKyAgICAgICAgOiBt
X3B0cihwcnAubGVha1JlZigpKQorICAgIHsKKyAgICB9CisKKyAgICB2b2lkIHJlc2V0KCkKKyAg
ICB7CisgICAgICAgIGFzc2lnbigwKTsKKyAgICB9CisKKyAgICBQcml2YXRlUHRyPFQ+JiBvcGVy
YXRvcj0oY29uc3QgUHJpdmF0ZVB0cjxUPiYgb3RoZXIpCisgICAgeworICAgICAgICBUKiBwID0g
b3RoZXIubV9wdHI7CisgICAgICAgIGlmIChwKQorICAgICAgICAgICAgcC0+cmVmKCk7CisgICAg
ICAgIGFzc2lnbihwKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKworICAgIFByaXZh
dGVQdHI8VD4mIG9wZXJhdG9yPShjb25zdCBQYXNzUmVmUHRyPFQ+JiBwcnApCisgICAgeworICAg
ICAgICBhc3NpZ24ocHJwLmxlYWtSZWYoKSk7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9
CisKKyAgICBUKiBnZXQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fcHRyOworICAg
IH0KKworICAgIFQqIG9wZXJhdG9yLT4oKSBjb25zdAorICAgIHsKKyAgICAgICAgYXNzZXJ0KG1f
cHRyKTsKKyAgICAgICAgcmV0dXJuIG1fcHRyOworICAgIH0KKworcHJpdmF0ZToKKyAgICB2b2lk
IGFzc2lnbihUKiBwKQorICAgIHsKKyAgICAgICAgLy8gcCBpcyBhbHJlYWR5IHJlZidkIGZvciB1
cyBieSB0aGUgY2FsbGVyCisgICAgICAgIGlmIChtX3B0cikKKyAgICAgICAgICAgIG1fcHRyLT5k
ZXJlZigpOworICAgICAgICBtX3B0ciA9IHA7CisgICAgfQorI2VuZGlmCisKK3ByaXZhdGU6CisK
KyAgICBUKiBtX3B0cjsKK307CisKK30gLy8gbmFtZXNwYWNlIE5peAorCisjZW5kaWYgLy8gTml4
X1ByaXZhdGVQdHJfaAorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>