<?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>25955</bug_id>
          
          <creation_ts>2009-05-22 00:06:00 -0700</creation_ts>
          <short_desc>Clean up messy third-party cookie blocking code</short_desc>
          <delta_ts>2009-05-22 10:35:24 -0700</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>All</rep_platform>
          <op_sys>All</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="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>122570</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-22 00:06:00 -0700</bug_when>
    <thetext>Our code for computing the first-party context for third-party cookie blocking is seriously messy.  We have at least two names for the same context (policyBaseURL and mainDocumentURL).  The name mainDocumentURL is particularly bad because it&apos;s occasionally a lie.  Anyway, I&apos;m working on a patch stream to clean this up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122573</commentid>
    <comment_count>1</comment_count>
      <attachid>30574</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-22 00:13:08 -0700</bug_when>
    <thetext>Created attachment 30574
Step 1: Unify names

I&apos;ll add a ChangeLog before landing.  ChangeLog + git = pain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122574</commentid>
    <comment_count>2</comment_count>
      <attachid>30575</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-22 00:13:52 -0700</bug_when>
    <thetext>Created attachment 30575
Step 2: Remove bug-bait parameter

Again, I&apos;ll add a ChangeLog before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122575</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-22 00:14:47 -0700</bug_when>
    <thetext>I have some more ideas for cleaning this up further, but it&apos;s bed time for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122583</commentid>
    <comment_count>4</comment_count>
      <attachid>30574</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-05-22 00:32:07 -0700</bug_when>
    <thetext>Comment on attachment 30574
Step 1: Unify names

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122584</commentid>
    <comment_count>5</comment_count>
      <attachid>30575</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-05-22 00:33:13 -0700</bug_when>
    <thetext>Comment on attachment 30575
Step 2: Remove bug-bait parameter

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122636</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-22 06:19:07 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; I&apos;ll add a ChangeLog before landing.  ChangeLog + git = pain.

ChangeLog +git +  resolve-ChangeLogs = less pain</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122679</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-22 09:10:42 -0700</bug_when>
    <thetext>&gt; ChangeLog +git +  resolve-ChangeLogs = less pain

Yeah, I tried that.  Maybe I was doing it wrong, but resolve-ChangeLogs screwed up the ChangeLog royally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122691</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-05-22 10:35:24 -0700</bug_when>
    <thetext>Fixed in r44047 and r44048.  There is more cleaning we can do, but we can work on that in another bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30574</attachid>
            <date>2009-05-22 00:13:08 -0700</date>
            <delta_ts>2009-05-22 00:32:07 -0700</delta_ts>
            <desc>Step 1: Unify names</desc>
            <filename>0001-firstPartyForCookies.patch</filename>
            <type>text/plain</type>
            <size>19046</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">RnJvbSA5MTVmY2M2YTZhODI3MWQzMTZkMjFhODExYzg3ZDY3OGVlY2E0NzRjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGFtIEJhcnRoIDxhYmFydGhAYXJjdGljYS5sb2NhbD4KRGF0
ZTogVGh1LCAyMSBNYXkgMjAwOSAyMzo1MDowNCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGZpcnN0
UGFydHlGb3JDb29raWVzCgotLS0KIFdlYkNvcmUvV2ViQ29yZS5vcmRlciAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICAgOCArKystLS0KIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQogV2ViQ29yZS9kb20vRG9jdW1lbnQu
aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA2ICsrLS0KIFdlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcCAgICAgICAgICAgICAgICAgICAgIHwgICAyOCArKysrKysrKysrLS0t
LS0tLS0tLQogV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICA0ICstCiBXZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwICAgICAg
ICAgICAgICB8ICAgIDIgKy0KIFdlYkNvcmUvcGxhdGZvcm0vQ29va2llSmFyLmggICAgICAgICAg
ICAgICAgICAgICAgIHwgICAgMiArLQogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ29va2llSmFyLm1t
ICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5jcHAgICB8ICAgMTQgKysrKystLS0tLQogV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCAgICAgfCAgICA4ICsrKy0tLQogLi4uL3Bs
YXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwICAgfCAgICA4ICsrKy0t
LQogLi4uL25ldHdvcmsvY2hyb21pdW0vQ29va2llSmFyQ2hyb21pdW0uY3BwICAgICAgICAgfCAg
ICA2ICsrLS0KIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFj
Lm1tIHwgICAgNCArLQogMTMgZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgNDggZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLm9yZGVyIGIvV2ViQ29yZS9X
ZWJDb3JlLm9yZGVyCmluZGV4IGVjNjkwNDQuLjNmNmYwMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5vcmRlcgorKysgYi9XZWJDb3JlL1dlYkNvcmUub3JkZXIKQEAgLTc3MSw4ICs3NzEs
OCBAQCBfX1pOM1dURjZWZWN0b3JJY0xtNTEyRUU2c2hyaW5rRW0KIF9fWk5LN1dlYkNvcmU1RnJh
bWU5ZG9tV2luZG93RXYKIF9fWk43V2ViQ29yZTlET01XaW5kb3dDMUVQTlNfNUZyYW1lRQogX19a
TjdXZWJDb3JlOURPTVdpbmRvd0MyRVBOU181RnJhbWVFCi1fX1pON1dlYkNvcmUxMUZyYW1lTG9h
ZGVyMTl1cGRhdGVQb2xpY3lCYXNlVVJMRXYKLV9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIxNnNl
dFBvbGljeUJhc2VVUkxFUktOU180S1VSTEUKK19fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyNnVw
ZGF0ZUZpcnN0UGFydHlGb3JDb29raWVzRXYKK19fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyM3Nl
dEZpcnN0UGFydHlGb3JDb29raWVzRVJLTlNfNEtVUkxFCiBfX1pON1dlYkNvcmU5RG9jTG9hZGVy
MTdzZXRBdXRvTG9hZEltYWdlc0ViCiBfX1pOSzdXZWJDb3JlMjBSZXNvdXJjZVJlc3BvbnNlQmFz
ZTE1aHR0cEhlYWRlckZpZWxkRVJLTlNfMTJBdG9taWNTdHJpbmdFCiBfX1pOSzNXVEY3SGFzaE1h
cElON1dlYkNvcmUxMkF0b21pY1N0cmluZ0VOUzFfNlN0cmluZ0VOUzFfMTVDYXNlRm9sZGluZ0hh
c2hFTlNfMTBIYXNoVHJhaXRzSVMyX0VFTlM1X0lTM19FRUUzZ2V0RVJLUzJfCkBAIC0xMjI1LDEw
ICsxMjI1LDEwIEBAIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXI0bG9hZEVQTlNfMTREb2N1bWVu
dExvYWRlckUKIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXI3cmVxdWVzdEV2CiBfX1pON1dl
YkNvcmUxMUZyYW1lTG9hZGVyMzVhZGRFeHRyYUZpZWxkc1RvTWFpblJlc291cmNlUmVxdWVzdEVS
TlNfMTVSZXNvdXJjZVJlcXVlc3RFCiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMjNhZGRFeHRy
YUZpZWxkc1RvUmVxdWVzdEVSTlNfMTVSZXNvdXJjZVJlcXVlc3RFTlNfMTNGcmFtZUxvYWRUeXBl
RWJiCi1fX1pOSzdXZWJDb3JlMTlSZXNvdXJjZVJlcXVlc3RCYXNlMTVtYWluRG9jdW1lbnRVUkxF
dgorX19aTks3V2ViQ29yZTE5UmVzb3VyY2VSZXF1ZXN0QmFzZTIwZmlyc3RQYXJ0eUZvckNvb2tp
ZXNFdgogX19aTjdXZWJDb3JlMTVSZXNvdXJjZVJlcXVlc3QyM2RvVXBkYXRlUmVzb3VyY2VSZXF1
ZXN0RXYKIF9fWk5LN1dlYkNvcmUxMUZyYW1lTG9hZGVyMThpc0xvYWRpbmdNYWluRnJhbWVFdgot
X19aTjdXZWJDb3JlMTlSZXNvdXJjZVJlcXVlc3RCYXNlMThzZXRNYWluRG9jdW1lbnRVUkxFUktO
U180S1VSTEUKK19fWk43V2ViQ29yZTE5UmVzb3VyY2VSZXF1ZXN0QmFzZTIzc2V0Rmlyc3RQYXJ0
eUZvckNvb2tpZXNFUktOU180S1VSTEUKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIxNGFwcGx5
VXNlckFnZW50RVJOU18xNVJlc291cmNlUmVxdWVzdEUKIF9fWk43V2ViQ29yZTE5UmVzb3VyY2VS
ZXF1ZXN0QmFzZTE4c2V0SFRUUEhlYWRlckZpZWxkRVJLTlNfMTJBdG9taWNTdHJpbmdFUktOU182
U3RyaW5nRQogX19aTjNXVEY3SGFzaE1hcElON1dlYkNvcmUxMkF0b21pY1N0cmluZ0VOUzFfNlN0
cmluZ0VOUzFfMTVDYXNlRm9sZGluZ0hhc2hFTlNfMTBIYXNoVHJhaXRzSVMyX0VFTlM1X0lTM19F
RUUzc2V0RVJLUzJfUktTM18KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBi
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCAzNjJkZDE4Li4zY2E5ZGQ3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCkBAIC0yODU4LDcgKzI4NTgsNyBAQCB2b2lkIERvY3VtZW50OjpzZXRDb29raWUoY29uc3Qg
U3RyaW5nJiB2YWx1ZSkKICAgICBpZiAoY29va2llVVJMLmlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgc2V0Q29va2llcyh0aGlzLCBjb29raWVVUkwsIHBvbGljeUJhc2VVUkwoKSwg
dmFsdWUpOworICAgIHNldENvb2tpZXModGhpcywgY29va2llVVJMLCBmaXJzdFBhcnR5Rm9yQ29v
a2llcygpLCB2YWx1ZSk7CiB9CiAKIFN0cmluZyBEb2N1bWVudDo6cmVmZXJyZXIoKSBjb25zdApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKaW5kZXggMDNlNWMzYS4uNTkxNmFiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC02NTQsOCArNjU0LDggQEAgcHVi
bGljOgogCiAgICAgY29uc3QgS1VSTCYgY29va2llVVJMKCkgY29uc3QgeyByZXR1cm4gbV9jb29r
aWVVUkw7IH0KIAotICAgIGNvbnN0IEtVUkwmIHBvbGljeUJhc2VVUkwoKSBjb25zdCB7IHJldHVy
biBtX3BvbGljeUJhc2VVUkw7IH0KLSAgICB2b2lkIHNldFBvbGljeUJhc2VVUkwoY29uc3QgS1VS
TCYgdXJsKSB7IG1fcG9saWN5QmFzZVVSTCA9IHVybDsgfQorICAgIGNvbnN0IEtVUkwmIGZpcnN0
UGFydHlGb3JDb29raWVzKCkgY29uc3QgeyByZXR1cm4gbV9maXJzdFBhcnR5Rm9yQ29va2llczsg
fQorICAgIHZvaWQgc2V0Rmlyc3RQYXJ0eUZvckNvb2tpZXMoY29uc3QgS1VSTCYgdXJsKSB7IG1f
Zmlyc3RQYXJ0eUZvckNvb2tpZXMgPSB1cmw7IH0KICAgICAKICAgICAvLyBUaGUgZm9sbG93aW5n
IGltcGxlbWVudHMgdGhlIHJ1bGUgZnJvbSBIVE1MIDQgZm9yIHdoYXQgdmFsaWQgbmFtZXMgYXJl
LgogICAgIC8vIFRvIGdldCB0aGlzIHJpZ2h0IGZvciBhbGwgdGhlIFhNTCBjYXNlcywgd2UgcHJv
YmFibHkgaGF2ZSB0byBpbXByb3ZlIHRoaXMgb3IgbW92ZSBpdApAQCAtODE3LDcgKzgxNyw3IEBA
IHByaXZhdGU6CiAgICAgS1VSTCBtX2Jhc2VVUkw7ICAvLyBOb2RlLmJhc2VVUkk6IFRoZSBVUkwg
dG8gdXNlIHdoZW4gcmVzb2x2aW5nIHJlbGF0aXZlIFVSTHMuCiAgICAgS1VSTCBtX2Jhc2VFbGVt
ZW50VVJMOyAgLy8gVGhlIFVSTCBzZXQgYnkgdGhlIDxiYXNlPiBlbGVtZW50LgogICAgIEtVUkwg
bV9jb29raWVVUkw7ICAvLyBUaGUgVVJMIHRvIHVzZSBmb3IgY29va2llIGFjY2Vzcy4KLSAgICBL
VVJMIG1fcG9saWN5QmFzZVVSTDsgIC8vIFRoZSBwb2xpY3kgVVJMIGZvciB0aGlyZC1wYXJ0eSBj
b29raWUgYmxvY2tpbmcuCisgICAgS1VSTCBtX2ZpcnN0UGFydHlGb3JDb29raWVzOyAvLyBUaGUg
cG9saWN5IFVSTCBmb3IgdGhpcmQtcGFydHkgY29va2llIGJsb2NraW5nLgogCiAgICAgLy8gRG9j
dW1lbnQuZG9jdW1lbnRVUkk6CiAgICAgLy8gQWx0aG91Z2ggVVJMLWxpa2UsIERvY3VtZW50LmRv
Y3VtZW50VVJJIGNhbiBhY3R1YWxseSBiZSBzZXQgdG8gYW55CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
aW5kZXggZGRkYzQ2Ny4uMzA4YWFmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtOTcyLDcg
Kzk3Miw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmJlZ2luKGNvbnN0IEtVUkwmIHVybCwgYm9vbCBk
aXNwYXRjaCwgU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKICAgICBtX2ZyYW1lLT5kb21XaW5kb3co
KS0+c2V0VVJMKGRvY3VtZW50LT51cmwoKSk7CiAgICAgbV9mcmFtZS0+ZG9tV2luZG93KCktPnNl
dFNlY3VyaXR5T3JpZ2luKGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpKTsKIAotICAgIHVwZGF0
ZVBvbGljeUJhc2VVUkwoKTsKKyAgICB1cGRhdGVGaXJzdFBhcnR5Rm9yQ29va2llcygpOwogCiAg
ICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZG9jdW1lbnQtPnNldHRpbmdzKCk7CiAgICAgZG9jdW1l
bnQtPmRvY0xvYWRlcigpLT5zZXRBdXRvTG9hZEltYWdlcyhzZXR0aW5ncyAmJiBzZXR0aW5ncy0+
bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KCkpOwpAQCAtMjAwOSwxOSArMjAwOSwxOSBAQCBib29s
IEZyYW1lTG9hZGVyOjpsb2dDYW5DYWNoZUZyYW1lRGVjaXNpb24oaW50IGluZGVudExldmVsKQog
fQogI2VuZGlmCiAKLXZvaWQgRnJhbWVMb2FkZXI6OnVwZGF0ZVBvbGljeUJhc2VVUkwoKQordm9p
ZCBGcmFtZUxvYWRlcjo6dXBkYXRlRmlyc3RQYXJ0eUZvckNvb2tpZXMoKQogewogICAgIGlmICht
X2ZyYW1lLT50cmVlKCktPnBhcmVudCgpKQotICAgICAgICBzZXRQb2xpY3lCYXNlVVJMKG1fZnJh
bWUtPnRyZWUoKS0+cGFyZW50KCktPmRvY3VtZW50KCktPnBvbGljeUJhc2VVUkwoKSk7CisgICAg
ICAgIHNldEZpcnN0UGFydHlGb3JDb29raWVzKG1fZnJhbWUtPnRyZWUoKS0+cGFyZW50KCktPmRv
Y3VtZW50KCktPmZpcnN0UGFydHlGb3JDb29raWVzKCkpOwogICAgIGVsc2UKLSAgICAgICAgc2V0
UG9saWN5QmFzZVVSTChtX1VSTCk7CisgICAgICAgIHNldEZpcnN0UGFydHlGb3JDb29raWVzKG1f
VVJMKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlcjo6c2V0UG9saWN5QmFzZVVSTChjb25zdCBLVVJM
JiB1cmwpCit2b2lkIEZyYW1lTG9hZGVyOjpzZXRGaXJzdFBhcnR5Rm9yQ29va2llcyhjb25zdCBL
VVJMJiB1cmwpCiB7Ci0gICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2V0UG9saWN5QmFzZVVSTCh1
cmwpOworICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnNldEZpcnN0UGFydHlGb3JDb29raWVzKHVy
bCk7CiAgICAgZm9yIChGcmFtZSogY2hpbGQgPSBtX2ZyYW1lLT50cmVlKCktPmZpcnN0Q2hpbGQo
KTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPnRyZWUoKS0+bmV4dFNpYmxpbmcoKSkKLSAgICAgICAg
Y2hpbGQtPmxvYWRlcigpLT5zZXRQb2xpY3lCYXNlVVJMKHVybCk7CisgICAgICAgIGNoaWxkLT5s
b2FkZXIoKS0+c2V0Rmlyc3RQYXJ0eUZvckNvb2tpZXModXJsKTsKIH0KIAogLy8gVGhpcyBkb2Vz
IHRoZSBzYW1lIGtpbmQgb2Ygd29yayB0aGF0IGRpZE9wZW5VUkwgZG9lcywgZXhjZXB0IGl0IHJl
bGllcyBvbiB0aGUgZmFjdApAQCAtMzA5MCw3ICszMDkwLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6
b3BlbihDYWNoZWRGcmFtZSYgY2FjaGVkRnJhbWUpCiAKICAgICBtX2RlY29kZXIgPSBkb2N1bWVu
dC0+ZGVjb2RlcigpOwogCi0gICAgdXBkYXRlUG9saWN5QmFzZVVSTCgpOworICAgIHVwZGF0ZUZp
cnN0UGFydHlGb3JDb29raWVzKCk7CiAKICAgICBjYWNoZWRGcmFtZS5yZXN0b3JlKCk7CiB9CkBA
IC0zNTYzLDEzICszNTYzLDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmFkZEV4dHJhRmllbGRzVG9S
ZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgRnJhbWVMb2FkVHlwCiB7CiAgICAgLy8g
RG9uJ3Qgc2V0IHRoZSBjb29raWUgcG9saWN5IFVSTCBpZiBpdCdzIGFscmVhZHkgYmVlbiBzZXQu
CiAgICAgLy8gQnV0IG1ha2Ugc3VyZSB0byBzZXQgaXQgb24gYWxsIHJlcXVlc3RzLCBhcyBpdCBo
YXMgc2lnbmlmaWNhbmNlIGJleW9uZCB0aGUgY29va2llIHBvbGljeSBmb3IgYWxsIHByb3RvY29s
cyAoPHJkYXI6Ly9wcm9ibGVtLzY2MTY2NjQ+KS4KLSAgICBpZiAocmVxdWVzdC5tYWluRG9jdW1l
bnRVUkwoKS5pc0VtcHR5KCkpIHsKKyAgICBpZiAocmVxdWVzdC5maXJzdFBhcnR5Rm9yQ29va2ll
cygpLmlzRW1wdHkoKSkgewogICAgICAgICBpZiAobWFpblJlc291cmNlICYmIChpc0xvYWRpbmdN
YWluRnJhbWUoKSB8fCBjb29raWVQb2xpY3lVUkxGcm9tUmVxdWVzdCkpCi0gICAgICAgICAgICBy
ZXF1ZXN0LnNldE1haW5Eb2N1bWVudFVSTChyZXF1ZXN0LnVybCgpKTsKLSAgICAgICAgZWxzZSBp
ZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgICAgIHJlcXVlc3Quc2V0
TWFpbkRvY3VtZW50VVJMKHBhZ2UtPm1haW5GcmFtZSgpLT5sb2FkZXIoKS0+dXJsKCkpOworICAg
ICAgICAgICAgcmVxdWVzdC5zZXRGaXJzdFBhcnR5Rm9yQ29va2llcyhyZXF1ZXN0LnVybCgpKTsK
KyAgICAgICAgZWxzZSBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1lbnQo
KSkKKyAgICAgICAgICAgIHJlcXVlc3Quc2V0Rmlyc3RQYXJ0eUZvckNvb2tpZXMoZG9jdW1lbnQt
PmZpcnN0UGFydHlGb3JDb29raWVzKCkpOwogICAgIH0KLSAgICAKKwogICAgIC8vIFRoZSByZW1h
aW5pbmcgbW9kaWZpY2F0aW9ucyBhcmUgb25seSBuZWNlc3NhcnkgZm9yIEhUVFAgYW5kIEhUVFBT
LgogICAgIGlmICghcmVxdWVzdC51cmwoKS5pc0VtcHR5KCkgJiYgIXJlcXVlc3QudXJsKCkucHJv
dG9jb2xJbkhUVFBGYW1pbHkoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzY5MCw3ICszNjkwLDcg
QEAgdW5zaWduZWQgbG9uZyBGcmFtZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXUKICAgICBhZGRIVFRQT3JpZ2luSWZOZWVkZWQoaW5p
dGlhbFJlcXVlc3QsIG91dGdvaW5nT3JpZ2luKCkpOwogCiAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBt
X2ZyYW1lLT5wYWdlKCkpCi0gICAgICAgIGluaXRpYWxSZXF1ZXN0LnNldE1haW5Eb2N1bWVudFVS
TChwYWdlLT5tYWluRnJhbWUoKS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPnJlcXVlc3Qo
KS51cmwoKSk7CisgICAgICAgIGluaXRpYWxSZXF1ZXN0LnNldEZpcnN0UGFydHlGb3JDb29raWVz
KHBhZ2UtPm1haW5GcmFtZSgpLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+cmVxdWVzdCgp
LnVybCgpKTsKICAgICBpbml0aWFsUmVxdWVzdC5zZXRIVFRQVXNlckFnZW50KGNsaWVudCgpLT51
c2VyQWdlbnQocmVxdWVzdC51cmwoKSkpOwogCiAgICAgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVy
ID0gMDsgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA5ZDc1ZjIyLi5lODBjNDZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmgKQEAgLTQzMSw4ICs0MzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAgICAgdm9pZCByZWNlaXZlZEZpcnN0RGF0YSgpOwogCi0gICAgICAgIHZvaWQgdXBkYXRlUG9s
aWN5QmFzZVVSTCgpOwotICAgICAgICB2b2lkIHNldFBvbGljeUJhc2VVUkwoY29uc3QgS1VSTCYp
OworICAgICAgICB2b2lkIHVwZGF0ZUZpcnN0UGFydHlGb3JDb29raWVzKCk7CisgICAgICAgIHZv
aWQgc2V0Rmlyc3RQYXJ0eUZvckNvb2tpZXMoY29uc3QgS1VSTCYpOwogICAgICAgICAKICAgICAg
ICAgdm9pZCBhZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmLCBGcmFtZUxv
YWRUeXBlIGxvYWRUeXBlLCBib29sIGlzTWFpblJlc291cmNlLCBib29sIGNvb2tpZVBvbGljeVVS
TEZyb21SZXF1ZXN0KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNl
TG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
ODI1OWQ5NS4uMzllNWI5MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNl
TG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwCkBA
IC0xNjMsNyArMTYzLDcgQEAgdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVz
dChSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJlc28KICAgICAvLyBVcGRhdGUg
Y29va2llIHBvbGljeSBiYXNlIFVSTCBhcyBVUkwgY2hhbmdlcywgZXhjZXB0IGZvciBzdWJmcmFt
ZXMsIHdoaWNoIHVzZSB0aGUKICAgICAvLyBVUkwgb2YgdGhlIG1haW4gZnJhbWUgd2hpY2ggZG9l
c24ndCBjaGFuZ2Ugd2hlbiB3ZSByZWRpcmVjdC4KICAgICBpZiAoZnJhbWVMb2FkZXIoKS0+aXNM
b2FkaW5nTWFpbkZyYW1lKCkpCi0gICAgICAgIG5ld1JlcXVlc3Quc2V0TWFpbkRvY3VtZW50VVJM
KG5ld1JlcXVlc3QudXJsKCkpOworICAgICAgICBuZXdSZXF1ZXN0LnNldEZpcnN0UGFydHlGb3JD
b29raWVzKG5ld1JlcXVlc3QudXJsKCkpOwogICAgIAogICAgIC8vIElmIHdlJ3JlIGZpZWxkaW5n
IGEgcmVkaXJlY3QgaW4gcmVzcG9uc2UgdG8gYSBQT1NULCBmb3JjZSBhIGxvYWQgZnJvbSBvcmln
aW4sIHNpbmNlCiAgICAgLy8gdGhpcyBpcyBhIGNvbW1vbiBzaXRlIHRlY2huaXF1ZSB0byByZXR1
cm4gdG8gYSBwYWdlIHZpZXdpbmcgc29tZSBkYXRhIHRoYXQgdGhlIFBPU1QKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vQ29va2llSmFyLmggYi9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZUph
ci5oCmluZGV4IDE3OGVlNzkuLjA4ODJmZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Q29va2llSmFyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db29raWVKYXIuaApAQCAtMzMsNyAr
MzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRG9jdW1lbnQ7CiAKICAgICBT
dHJpbmcgY29va2llcyhjb25zdCBEb2N1bWVudCosIGNvbnN0IEtVUkwmKTsKLSAgICB2b2lkIHNl
dENvb2tpZXMoRG9jdW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgS1VSTCYgcG9saWN5QmFzZVVS
TCwgY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzZXRDb29raWVzKERvY3VtZW50KiwgY29uc3Qg
S1VSTCYsIGNvbnN0IEtVUkwmIGZpcnN0UGFydHlGb3JDb29raWVzLCBjb25zdCBTdHJpbmcmKTsK
ICAgICBib29sIGNvb2tpZXNFbmFibGVkKGNvbnN0IERvY3VtZW50Kik7CiAKIH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Nvb2tpZUphci5tbSBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0Nvb2tpZUphci5tbQppbmRleCA5NGI3ZDc3Li5mNTAzMTE5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9Db29raWVKYXIubW0KKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
Q29va2llSmFyLm1tCkBAIC04NCw3ICs4NCw3IEBAIFN0cmluZyBjb29raWVzKGNvbnN0IERvY3Vt
ZW50KiwgY29uc3QgS1VSTCYgdXJsKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotdm9pZCBz
ZXRDb29raWVzKERvY3VtZW50KiwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBLVVJMJiBwb2xpY3lC
YXNlVVJMLCBjb25zdCBTdHJpbmcmIGNvb2tpZVN0cikKK3ZvaWQgc2V0Q29va2llcyhEb2N1bWVu
dCosIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgS1VSTCYgZmlyc3RQYXJ0eUZvckNvb2tpZXMsIGNv
bnN0IFN0cmluZyYgY29va2llU3RyKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKIApAQCAtOTksNyArOTksNyBAQCB2b2lkIHNldENvb2tpZXMoRG9jdW1lbnQqLCBjb25zdCBL
VVJMJiB1cmwsIGNvbnN0IEtVUkwmIHBvbGljeUJhc2VVUkwsIGNvbnN0IFN0cgogCiAgICAgTlNV
UkwgKmNvb2tpZVVSTCA9IHVybDsgICAgCiAgICAgTlNBcnJheSAqY29va2llcyA9IFtOU0hUVFBD
b29raWUgY29va2llc1dpdGhSZXNwb25zZUhlYWRlckZpZWxkczpbTlNEaWN0aW9uYXJ5IGRpY3Rp
b25hcnlXaXRoT2JqZWN0OmNvb2tpZVN0cmluZyBmb3JLZXk6QCJTZXQtQ29va2llIl0gZm9yVVJM
OmNvb2tpZVVSTF07Ci0gICAgW1tOU0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVT
dG9yYWdlXSBzZXRDb29raWVzOmZpbHRlckNvb2tpZXMoY29va2llcykuZ2V0KCkgZm9yVVJMOmNv
b2tpZVVSTCBtYWluRG9jdW1lbnRVUkw6cG9saWN5QmFzZVVSTF07CisgICAgW1tOU0hUVFBDb29r
aWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBzZXRDb29raWVzOmZpbHRlckNvb2tp
ZXMoY29va2llcykuZ2V0KCkgZm9yVVJMOmNvb2tpZVVSTCBtYWluRG9jdW1lbnRVUkw6Zmlyc3RQ
YXJ0eUZvckNvb2tpZXNdOwogCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNw
cCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRl
eCBlYmI1ZDE1Li5kYjE0ODQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVxdWVzdEJhc2UuY3BwCkBAIC00Miw3ICs0Miw3IEBAIGF1dG9fcHRyPFJlc291cmNl
UmVxdWVzdD4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6YWRvcHQoYXV0b19wdHI8Q3Jvc3NUaHJlYWRS
ZXNvdXJjCiAgICAgcmVxdWVzdC0+c2V0VVJMKGRhdGEtPm1fdXJsKTsKICAgICByZXF1ZXN0LT5z
ZXRDYWNoZVBvbGljeShkYXRhLT5tX2NhY2hlUG9saWN5KTsKICAgICByZXF1ZXN0LT5zZXRUaW1l
b3V0SW50ZXJ2YWwoZGF0YS0+bV90aW1lb3V0SW50ZXJ2YWwpOwotICAgIHJlcXVlc3QtPnNldE1h
aW5Eb2N1bWVudFVSTChkYXRhLT5tX21haW5Eb2N1bWVudFVSTCk7CisgICAgcmVxdWVzdC0+c2V0
Rmlyc3RQYXJ0eUZvckNvb2tpZXMoZGF0YS0+bV9maXJzdFBhcnR5Rm9yQ29va2llcyk7CiAgICAg
cmVxdWVzdC0+c2V0SFRUUE1ldGhvZChkYXRhLT5tX2h0dHBNZXRob2QpOwogCiAgICAgcmVxdWVz
dC0+dXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCk7CkBAIC03Miw3ICs3Miw3IEBAIGF1dG9fcHRyPENy
b3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y29weURh
dGEoKSBjb25zdAogICAgIGRhdGEtPm1fdXJsID0gdXJsKCkuY29weSgpOwogICAgIGRhdGEtPm1f
Y2FjaGVQb2xpY3kgPSBjYWNoZVBvbGljeSgpOwogICAgIGRhdGEtPm1fdGltZW91dEludGVydmFs
ID0gdGltZW91dEludGVydmFsKCk7Ci0gICAgZGF0YS0+bV9tYWluRG9jdW1lbnRVUkwgPSBtYWlu
RG9jdW1lbnRVUkwoKS5jb3B5KCk7CisgICAgZGF0YS0+bV9maXJzdFBhcnR5Rm9yQ29va2llcyA9
IGZpcnN0UGFydHlGb3JDb29raWVzKCkuY29weSgpOwogICAgIGRhdGEtPm1faHR0cE1ldGhvZCA9
IGh0dHBNZXRob2QoKS5jb3B5KCk7CiAgICAgZGF0YS0+bV9odHRwSGVhZGVycy5hZG9wdChodHRw
SGVhZGVyRmllbGRzKCkuY29weURhdGEoKSk7CiAKQEAgLTE2MSwxOCArMTYxLDE4IEBAIHZvaWQg
UmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0VGltZW91dEludGVydmFsKGRvdWJsZSB0aW1lb3V0SW50
ZXJ2YWwpCiAgICAgICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNlOwogfQogCi1j
b25zdCBLVVJMJiBSZXNvdXJjZVJlcXVlc3RCYXNlOjptYWluRG9jdW1lbnRVUkwoKSBjb25zdAor
Y29uc3QgS1VSTCYgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Zmlyc3RQYXJ0eUZvckNvb2tpZXMoKSBj
b25zdAogewogICAgIHVwZGF0ZVJlc291cmNlUmVxdWVzdCgpOyAKICAgICAKLSAgICByZXR1cm4g
bV9tYWluRG9jdW1lbnRVUkw7IAorICAgIHJldHVybiBtX2ZpcnN0UGFydHlGb3JDb29raWVzOyAK
IH0KIAotdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRNYWluRG9jdW1lbnRVUkwoY29uc3Qg
S1VSTCYgbWFpbkRvY3VtZW50VVJMKQordm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRGaXJz
dFBhcnR5Rm9yQ29va2llcyhjb25zdCBLVVJMJiBmaXJzdFBhcnR5Rm9yQ29va2llcykKIHsgCiAg
ICAgdXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCk7IAogICAgIAotICAgIG1fbWFpbkRvY3VtZW50VVJM
ID0gbWFpbkRvY3VtZW50VVJMOyAKKyAgICBtX2ZpcnN0UGFydHlGb3JDb29raWVzID0gZmlyc3RQ
YXJ0eUZvckNvb2tpZXM7IAogICAgIAogICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZh
bHNlOwogfQpAQCAtMjk0LDcgKzI5NCw3IEBAIGJvb2wgZXF1YWxJZ25vcmluZ0hlYWRlckZpZWxk
cyhjb25zdCBSZXNvdXJjZVJlcXVlc3RCYXNlJiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlCiAgICAg
aWYgKGEudGltZW91dEludGVydmFsKCkgIT0gYi50aW1lb3V0SW50ZXJ2YWwoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIAotICAgIGlmIChhLm1haW5Eb2N1bWVudFVSTCgpICE9IGIubWFp
bkRvY3VtZW50VVJMKCkpCisgICAgaWYgKGEuZmlyc3RQYXJ0eUZvckNvb2tpZXMoKSAhPSBiLmZp
cnN0UGFydHlGb3JDb29raWVzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKICAgICBp
ZiAoYS5odHRwTWV0aG9kKCkgIT0gYi5odHRwTWV0aG9kKCkpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAppbmRleCA5MDU0ZGE0Li4yZDg3ZDZlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAg
LTcxLDggKzcxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBkb3VibGUgdGltZW91
dEludGVydmFsKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0VGltZW91dEludGVydmFsKGRvdWJs
ZSB0aW1lb3V0SW50ZXJ2YWwpOwogICAgICAgICAKLSAgICAgICAgY29uc3QgS1VSTCYgbWFpbkRv
Y3VtZW50VVJMKCkgY29uc3Q7Ci0gICAgICAgIHZvaWQgc2V0TWFpbkRvY3VtZW50VVJMKGNvbnN0
IEtVUkwmIG1haW5Eb2N1bWVudFVSTCk7CisgICAgICAgIGNvbnN0IEtVUkwmIGZpcnN0UGFydHlG
b3JDb29raWVzKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0Rmlyc3RQYXJ0eUZvckNvb2tpZXMo
Y29uc3QgS1VSTCYgZmlyc3RQYXJ0eUZvckNvb2tpZXMpOwogICAgICAgICAKICAgICAgICAgY29u
c3QgU3RyaW5nJiBodHRwTWV0aG9kKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgc2V0SFRUUE1ldGhv
ZChjb25zdCBTdHJpbmcmIGh0dHBNZXRob2QpOwpAQCAtMTQzLDcgKzE0Myw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICBSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBtX2NhY2hl
UG9saWN5OwogICAgICAgICBkb3VibGUgbV90aW1lb3V0SW50ZXJ2YWw7Ci0gICAgICAgIEtVUkwg
bV9tYWluRG9jdW1lbnRVUkw7CisgICAgICAgIEtVUkwgbV9maXJzdFBhcnR5Rm9yQ29va2llczsK
ICAgICAgICAgU3RyaW5nIG1faHR0cE1ldGhvZDsKICAgICAgICAgSFRUUEhlYWRlck1hcCBtX2h0
dHBIZWFkZXJGaWVsZHM7CiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IG1fcmVzcG9uc2VDb250ZW50
RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXk7CkBAIC0xNjcsNyArMTY3LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IG1f
Y2FjaGVQb2xpY3k7CiAgICAgICAgIGRvdWJsZSBtX3RpbWVvdXRJbnRlcnZhbDsKLSAgICAgICAg
S1VSTCBtX21haW5Eb2N1bWVudFVSTDsKKyAgICAgICAgS1VSTCBtX2ZpcnN0UGFydHlGb3JDb29r
aWVzOwogCiAgICAgICAgIFN0cmluZyBtX2h0dHBNZXRob2Q7CiAgICAgICAgIE93blB0cjxDcm9z
c1RocmVhZEhUVFBIZWFkZXJNYXBEYXRhPiBtX2h0dHBIZWFkZXJzOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdENGTmV0LmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3RDRk5ldC5jcHAKaW5kZXggMTBk
MmUzMy4uNzM1NTQwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlUmVxdWVzdENGTmV0LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2Yv
UmVzb3VyY2VSZXF1ZXN0Q0ZOZXQuY3BwCkBAIC05NiwxNSArOTYsMTUgQEAgdm9pZCBSZXNvdXJj
ZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0KCkKICAgICBDRk11dGFibGVVUkxSZXF1
ZXN0UmVmIGNmUmVxdWVzdDsKIAogICAgIFJldGFpblB0cjxDRlVSTFJlZj4gdXJsKEFkb3B0Q0Ys
IFJlc291cmNlUmVxdWVzdDo6dXJsKCkuY3JlYXRlQ0ZVUkwoKSk7Ci0gICAgUmV0YWluUHRyPENG
VVJMUmVmPiBtYWluRG9jdW1lbnRVUkwoQWRvcHRDRiwgUmVzb3VyY2VSZXF1ZXN0OjptYWluRG9j
dW1lbnRVUkwoKS5jcmVhdGVDRlVSTCgpKTsKKyAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IGZpcnN0
UGFydHlGb3JDb29raWVzKEFkb3B0Q0YsIFJlc291cmNlUmVxdWVzdDo6Zmlyc3RQYXJ0eUZvckNv
b2tpZXMoKS5jcmVhdGVDRlVSTCgpKTsKICAgICBpZiAobV9jZlJlcXVlc3QpIHsKICAgICAgICAg
Y2ZSZXF1ZXN0ID0gQ0ZVUkxSZXF1ZXN0Q3JlYXRlTXV0YWJsZUNvcHkoMCwgbV9jZlJlcXVlc3Qu
Z2V0KCkpOwogICAgICAgICBDRlVSTFJlcXVlc3RTZXRVUkwoY2ZSZXF1ZXN0LCB1cmwuZ2V0KCkp
OwotICAgICAgICBDRlVSTFJlcXVlc3RTZXRNYWluRG9jdW1lbnRVUkwoY2ZSZXF1ZXN0LCBtYWlu
RG9jdW1lbnRVUkwuZ2V0KCkpOworICAgICAgICBDRlVSTFJlcXVlc3RTZXRNYWluRG9jdW1lbnRV
UkwoY2ZSZXF1ZXN0LCBmaXJzdFBhcnR5Rm9yQ29va2llcy5nZXQoKSk7CiAgICAgICAgIENGVVJM
UmVxdWVzdFNldENhY2hlUG9saWN5KGNmUmVxdWVzdCwgKENGVVJMUmVxdWVzdENhY2hlUG9saWN5
KWNhY2hlUG9saWN5KCkpOwogICAgICAgICBDRlVSTFJlcXVlc3RTZXRUaW1lb3V0SW50ZXJ2YWwo
Y2ZSZXF1ZXN0LCB0aW1lb3V0SW50ZXJ2YWwoKSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgY2ZS
ZXF1ZXN0ID0gQ0ZVUkxSZXF1ZXN0Q3JlYXRlTXV0YWJsZSgwLCB1cmwuZ2V0KCksIChDRlVSTFJl
cXVlc3RDYWNoZVBvbGljeSljYWNoZVBvbGljeSgpLCB0aW1lb3V0SW50ZXJ2YWwoKSwgbWFpbkRv
Y3VtZW50VVJMLmdldCgpKTsKKyAgICAgICAgY2ZSZXF1ZXN0ID0gQ0ZVUkxSZXF1ZXN0Q3JlYXRl
TXV0YWJsZSgwLCB1cmwuZ2V0KCksIChDRlVSTFJlcXVlc3RDYWNoZVBvbGljeSljYWNoZVBvbGlj
eSgpLCB0aW1lb3V0SW50ZXJ2YWwoKSwgZmlyc3RQYXJ0eUZvckNvb2tpZXMuZ2V0KCkpOwogICAg
IH0KIAogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcmVxdWVzdE1ldGhvZChBZG9wdENGLCBo
dHRwTWV0aG9kKCkuY3JlYXRlQ0ZTdHJpbmcoKSk7CkBAIC0xNDEsNyArMTQxLDcgQEAgdm9pZCBS
ZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCkKIAogICAgIG1fY2FjaGVQ
b2xpY3kgPSAoUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kpQ0ZVUkxSZXF1ZXN0R2V0Q2FjaGVQ
b2xpY3kobV9jZlJlcXVlc3QuZ2V0KCkpOwogICAgIG1fdGltZW91dEludGVydmFsID0gQ0ZVUkxS
ZXF1ZXN0R2V0VGltZW91dEludGVydmFsKG1fY2ZSZXF1ZXN0LmdldCgpKTsKLSAgICBtX21haW5E
b2N1bWVudFVSTCA9IENGVVJMUmVxdWVzdEdldE1haW5Eb2N1bWVudFVSTChtX2NmUmVxdWVzdC5n
ZXQoKSk7CisgICAgbV9maXJzdFBhcnR5Rm9yQ29va2llcyA9IENGVVJMUmVxdWVzdEdldE1haW5E
b2N1bWVudFVSTChtX2NmUmVxdWVzdC5nZXQoKSk7CiAgICAgaWYgKENGU3RyaW5nUmVmIG1ldGhv
ZCA9IENGVVJMUmVxdWVzdENvcHlIVFRQUmVxdWVzdE1ldGhvZChtX2NmUmVxdWVzdC5nZXQoKSkp
IHsKICAgICAgICAgbV9odHRwTWV0aG9kID0gbWV0aG9kOwogICAgICAgICBDRlJlbGVhc2UobWV0
aG9kKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9Db29r
aWVKYXJDaHJvbWl1bS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vQ29v
a2llSmFyQ2hyb21pdW0uY3BwCmluZGV4IDUwY2FiM2IuLmMxZDUwNTAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9Db29raWVKYXJDaHJvbWl1bS5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL0Nvb2tpZUphckNocm9taXVtLmNw
cApAQCAtMzYsMTYgKzM2LDE2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBzZXRD
b29raWVzKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBLVVJMJiBw
b2xpY3lVUkwsIGNvbnN0IFN0cmluZyYgdmFsdWUpCit2b2lkIHNldENvb2tpZXMoRG9jdW1lbnQq
IGRvY3VtZW50LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IEtVUkwmIGZpcnN0UGFydHlGb3JDb29r
aWVzLCBjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIC8vIFdlIGlnbm9yZSB0aGUgcG9saWN5
VVJMIGFuZCBjb21wdXRlIGl0IGRpcmVjdGx5IG91cnNlbHZlcyB0byBlbnN1cmUKICAgICAvLyBj
b25zaXN0ZW5jeSB3aXRoIHRoZSBjb29raWVzKCkgbWV0aG9kIGJlbG93LgotICAgIENocm9taXVt
QnJpZGdlOjpzZXRDb29raWVzKHVybCwgZG9jdW1lbnQtPnBvbGljeUJhc2VVUkwoKSwgdmFsdWUp
OworICAgIENocm9taXVtQnJpZGdlOjpzZXRDb29raWVzKHVybCwgZG9jdW1lbnQtPmZpcnN0UGFy
dHlGb3JDb29raWVzKCksIHZhbHVlKTsKIH0KIAogU3RyaW5nIGNvb2tpZXMoY29uc3QgRG9jdW1l
bnQqIGRvY3VtZW50LCBjb25zdCBLVVJMJiB1cmwpCiB7Ci0gICAgcmV0dXJuIENocm9taXVtQnJp
ZGdlOjpjb29raWVzKHVybCwgZG9jdW1lbnQtPnBvbGljeUJhc2VVUkwoKSk7CisgICAgcmV0dXJu
IENocm9taXVtQnJpZGdlOjpjb29raWVzKHVybCwgZG9jdW1lbnQtPmZpcnN0UGFydHlGb3JDb29r
aWVzKCkpOwogfQogCiBib29sIGNvb2tpZXNFbmFibGVkKGNvbnN0IERvY3VtZW50KikKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1t
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0KaW5k
ZXggNWJlMzY3Zi4uNmJiMzZhMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0KKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0KQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBSZXNvdXJj
ZVJlcXVlc3Q6OmRvVXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCkKICAgICBtX3VybCA9IFttX25zUmVx
dWVzdC5nZXQoKSBVUkxdOwogICAgIG1fY2FjaGVQb2xpY3kgPSAoUmVzb3VyY2VSZXF1ZXN0Q2Fj
aGVQb2xpY3kpW21fbnNSZXF1ZXN0LmdldCgpIGNhY2hlUG9saWN5XTsKICAgICBtX3RpbWVvdXRJ
bnRlcnZhbCA9IFttX25zUmVxdWVzdC5nZXQoKSB0aW1lb3V0SW50ZXJ2YWxdOwotICAgIG1fbWFp
bkRvY3VtZW50VVJMID0gW21fbnNSZXF1ZXN0LmdldCgpIG1haW5Eb2N1bWVudFVSTF07CisgICAg
bV9maXJzdFBhcnR5Rm9yQ29va2llcyA9IFttX25zUmVxdWVzdC5nZXQoKSBtYWluRG9jdW1lbnRV
UkxdOwogICAgIAogICAgIGlmIChOU1N0cmluZyogbWV0aG9kID0gW21fbnNSZXF1ZXN0LmdldCgp
IEhUVFBNZXRob2RdKQogICAgICAgICBtX2h0dHBNZXRob2QgPSBtZXRob2Q7CkBAIC0xMTAsNyAr
MTEwLDcgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0KCkK
ICAgICBbbnNSZXF1ZXN0IHNldENhY2hlUG9saWN5OihOU1VSTFJlcXVlc3RDYWNoZVBvbGljeSlj
YWNoZVBvbGljeSgpXTsKICAgICBpZiAodGltZW91dEludGVydmFsKCkgIT0gdW5zcGVjaWZpZWRU
aW1lb3V0SW50ZXJ2YWwpCiAgICAgICAgIFtuc1JlcXVlc3Qgc2V0VGltZW91dEludGVydmFsOnRp
bWVvdXRJbnRlcnZhbCgpXTsKLSAgICBbbnNSZXF1ZXN0IHNldE1haW5Eb2N1bWVudFVSTDptYWlu
RG9jdW1lbnRVUkwoKV07CisgICAgW25zUmVxdWVzdCBzZXRNYWluRG9jdW1lbnRVUkw6Zmlyc3RQ
YXJ0eUZvckNvb2tpZXMoKV07CiAgICAgaWYgKCFodHRwTWV0aG9kKCkuaXNFbXB0eSgpKQogICAg
ICAgICBbbnNSZXF1ZXN0IHNldEhUVFBNZXRob2Q6aHR0cE1ldGhvZCgpXTsKICAgICBbbnNSZXF1
ZXN0IHNldEhUVFBTaG91bGRIYW5kbGVDb29raWVzOmFsbG93SFRUUENvb2tpZXMoKV07Ci0tIAox
LjYuMC4xCgo=
</data>
<flag name="review"
          id="15458"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30575</attachid>
            <date>2009-05-22 00:13:52 -0700</date>
            <delta_ts>2009-05-22 00:33:13 -0700</delta_ts>
            <desc>Step 2: Remove bug-bait parameter</desc>
            <filename>0002-remove-firstPartyForCookies-from-cookie-API.patch</filename>
            <type>text/plain</type>
            <size>7968</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">RnJvbSAyZjQyZTFlY2Y0NjQ0NDY3MTgyMTcxNjQ3YTRkMmFjNzE1Y2ZhYzg4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGFtIEJhcnRoIDxhYmFydGhAYXJjdGljYS5sb2NhbD4KRGF0
ZTogRnJpLCAyMiBNYXkgMjAwOSAwMDowODoxMiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIHJlbW92
ZSBmaXJzdFBhcnR5Rm9yQ29va2llcyBmcm9tIGNvb2tpZSBBUEkKCi0tLQogV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCiBXZWJDb3Jl
L3BsYXRmb3JtL0Nvb2tpZUphci5oICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIFdl
YkNvcmUvcGxhdGZvcm0vbWFjL0Nvb2tpZUphci5tbSAgICAgICAgICAgICAgICAgIHwgICAgNCAr
Ky0tCiAuLi4vbmV0d29yay9jaHJvbWl1bS9Db29raWVKYXJDaHJvbWl1bS5jcHAgICAgICAgICB8
ICAgIDQgKy0tLQogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ29va2llSmFyQ3VybC5j
cHAgICAgfCAgICAyICstCiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Db29raWVKYXJT
b3VwLmNwcCAgICB8ICAgIDIgKy0KIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vQ29va2ll
SmFyQ0ZOZXRXaW4uY3BwIHwgICAgNiArKystLS0KIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93
aW4vQ29va2llSmFyV2luLmNwcCAgICAgIHwgICAgNCArKy0tCiBXZWJDb3JlL3BsYXRmb3JtL3F0
L0Nvb2tpZUphclF0LmNwcCAgICAgICAgICAgICAgICB8ICAgIDQgKystLQogOSBmaWxlcyBjaGFu
Z2VkLCAxNCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggM2Nh
OWRkNy4uNmRmYzIyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBi
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjg1OCw3ICsyODU4LDcgQEAgdm9pZCBEb2N1
bWVudDo6c2V0Q29va2llKGNvbnN0IFN0cmluZyYgdmFsdWUpCiAgICAgaWYgKGNvb2tpZVVSTC5p
c0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNldENvb2tpZXModGhpcywgY29va2ll
VVJMLCBmaXJzdFBhcnR5Rm9yQ29va2llcygpLCB2YWx1ZSk7CisgICAgc2V0Q29va2llcyh0aGlz
LCBjb29raWVVUkwsIHZhbHVlKTsKIH0KIAogU3RyaW5nIERvY3VtZW50OjpyZWZlcnJlcigpIGNv
bnN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZUphci5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9Db29raWVKYXIuaAppbmRleCAwODgyZmVmLi42MTU5Mzg2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL0Nvb2tpZUphci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQ29va2ll
SmFyLmgKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERv
Y3VtZW50OwogCiAgICAgU3RyaW5nIGNvb2tpZXMoY29uc3QgRG9jdW1lbnQqLCBjb25zdCBLVVJM
Jik7Ci0gICAgdm9pZCBzZXRDb29raWVzKERvY3VtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IEtV
UkwmIGZpcnN0UGFydHlGb3JDb29raWVzLCBjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldENv
b2tpZXMoRG9jdW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCBj
b29raWVzRW5hYmxlZChjb25zdCBEb2N1bWVudCopOwogCiB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9Db29raWVKYXIubW0gYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9Db29raWVK
YXIubW0KaW5kZXggZjUwMzExOS4uMDJhMDI4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvQ29va2llSmFyLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Nvb2tpZUphci5t
bQpAQCAtODQsNyArODQsNyBAQCBTdHJpbmcgY29va2llcyhjb25zdCBEb2N1bWVudCosIGNvbnN0
IEtVUkwmIHVybCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLXZvaWQgc2V0Q29va2llcyhE
b2N1bWVudCosIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgS1VSTCYgZmlyc3RQYXJ0eUZvckNvb2tp
ZXMsIGNvbnN0IFN0cmluZyYgY29va2llU3RyKQordm9pZCBzZXRDb29raWVzKERvY3VtZW50KiBk
b2N1bWVudCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGNvb2tpZVN0cikKIHsKICAg
ICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAKQEAgLTk5LDcgKzk5LDcgQEAgdm9pZCBz
ZXRDb29raWVzKERvY3VtZW50KiwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBLVVJMJiBmaXJzdFBh
cnR5Rm9yQ29va2llcywgY28KIAogICAgIE5TVVJMICpjb29raWVVUkwgPSB1cmw7ICAgIAogICAg
IE5TQXJyYXkgKmNvb2tpZXMgPSBbTlNIVFRQQ29va2llIGNvb2tpZXNXaXRoUmVzcG9uc2VIZWFk
ZXJGaWVsZHM6W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdDpjb29raWVTdHJpbmcg
Zm9yS2V5OkAiU2V0LUNvb2tpZSJdIGZvclVSTDpjb29raWVVUkxdOwotICAgIFtbTlNIVFRQQ29v
a2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gc2V0Q29va2llczpmaWx0ZXJDb29r
aWVzKGNvb2tpZXMpLmdldCgpIGZvclVSTDpjb29raWVVUkwgbWFpbkRvY3VtZW50VVJMOmZpcnN0
UGFydHlGb3JDb29raWVzXTsKKyAgICBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENv
b2tpZVN0b3JhZ2VdIHNldENvb2tpZXM6ZmlsdGVyQ29va2llcyhjb29raWVzKS5nZXQoKSBmb3JV
Ukw6Y29va2llVVJMIG1haW5Eb2N1bWVudFVSTDpkb2N1bWVudC0+Zmlyc3RQYXJ0eUZvckNvb2tp
ZXMoKV07CiAKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL0Nvb2tpZUphckNocm9taXVtLmNwcCBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9Db29raWVKYXJDaHJvbWl1bS5jcHAK
aW5kZXggYzFkNTA1MC4uNjViZTQ1MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2Nocm9taXVtL0Nvb2tpZUphckNocm9taXVtLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2hyb21pdW0vQ29va2llSmFyQ2hyb21pdW0uY3BwCkBAIC0zNiwxMCArMzYsOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgc2V0Q29va2llcyhEb2N1bWVudCogZG9j
dW1lbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgS1VSTCYgZmlyc3RQYXJ0eUZvckNvb2tpZXMs
IGNvbnN0IFN0cmluZyYgdmFsdWUpCit2b2lkIHNldENvb2tpZXMoRG9jdW1lbnQqIGRvY3VtZW50
LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7Ci0gICAgLy8gV2UgaWdu
b3JlIHRoZSBwb2xpY3lVUkwgYW5kIGNvbXB1dGUgaXQgZGlyZWN0bHkgb3Vyc2VsdmVzIHRvIGVu
c3VyZQotICAgIC8vIGNvbnNpc3RlbmN5IHdpdGggdGhlIGNvb2tpZXMoKSBtZXRob2QgYmVsb3cu
CiAgICAgQ2hyb21pdW1CcmlkZ2U6OnNldENvb2tpZXModXJsLCBkb2N1bWVudC0+Zmlyc3RQYXJ0
eUZvckNvb2tpZXMoKSwgdmFsdWUpOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9Db29raWVKYXJDdXJsLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jdXJsL0Nvb2tpZUphckN1cmwuY3BwCmluZGV4IDJmNzZlYmMuLjllYjQwMjcgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0Nvb2tpZUphckN1cmwuY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0Nvb2tpZUphckN1cmwuY3BwCkBAIC0yNyw3
ICsyNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBT
dHJpbmc+IGNvb2tpZUphcjsKIAotdm9pZCBzZXRDb29raWVzKERvY3VtZW50KiAvKmRvY3VtZW50
Ki8sIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgS1VSTCYgLypwb2xpY3lVUkwqLywgY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKK3ZvaWQgc2V0Q29va2llcyhEb2N1bWVudCogLypkb2N1bWVudCovLCBjb25z
dCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7CiAgICAgY29va2llSmFyLnNldCh1
cmwuc3RyaW5nKCksIHZhbHVlKTsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL0Nvb2tpZUphclNvdXAuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvQ29va2llSmFyU291cC5jcHAKaW5kZXggZTMwNjRlMS4uYzk2ZWY3YiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2llSmFyU291cC5jcHAKQEAgLTUyLDcgKzUy
LDcgQEAgdm9pZCBzZXREZWZhdWx0Q29va2llSmFyKFNvdXBDb29raWVKYXIqIGphcikKICAgICAg
ICAgZ19vYmplY3RfcmVmKGNvb2tpZUphcik7CiB9CiAKLXZvaWQgc2V0Q29va2llcyhEb2N1bWVu
dCogLypkb2N1bWVudCovLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IEtVUkwmIC8qcG9saWN5VVJM
Ki8sIGNvbnN0IFN0cmluZyYgdmFsdWUpCit2b2lkIHNldENvb2tpZXMoRG9jdW1lbnQqIC8qZG9j
dW1lbnQqLywgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIFNv
dXBDb29raWVKYXIqIGphciA9IGRlZmF1bHRDb29raWVKYXIoKTsKICAgICBpZiAoIWphcikKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vQ29va2llSmFyQ0ZOZXRXaW4u
Y3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9Db29raWVKYXJDRk5ldFdpbi5jcHAK
aW5kZXggN2U2NDgxMy4uYWY5ZTNmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3dpbi9Db29raWVKYXJDRk5ldFdpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3dpbi9Db29raWVKYXJDRk5ldFdpbi5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgc3RhdGljIFJl
dGFpblB0cjxDRkFycmF5UmVmPiBmaWx0ZXJDb29raWVzKENGQXJyYXlSZWYgdW5maWx0ZXJlZENv
b2tpZXMpCiAgICAgcmV0dXJuIGZpbHRlcmVkQ29va2llczsKIH0KIAotdm9pZCBzZXRDb29raWVz
KERvY3VtZW50KiAvKmRvY3VtZW50Ki8sIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgS1VSTCYgcG9s
aWN5VVJMLCBjb25zdCBTdHJpbmcmIHZhbHVlKQordm9pZCBzZXRDb29raWVzKERvY3VtZW50KiBk
b2N1bWVudCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIC8v
IDxyZGFyOi8vcHJvYmxlbS81NjMyODgzPiBDRkhUVFBDb29raWVTdG9yYWdlIHN0b3JlcyBhbiBl
bXB0eSBjb29raWUsIHdoaWNoIHdvdWxkIGJlIHNlbnQgYXMgIkNvb2tpZTogPSIuCiAgICAgaWYg
KHZhbHVlLmlzRW1wdHkoKSkKQEAgLTc0LDcgKzc0LDcgQEAgdm9pZCBzZXRDb29raWVzKERvY3Vt
ZW50KiAvKmRvY3VtZW50Ki8sIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgS1VSTCYgcG9saWN5VVJM
LAogICAgICAgICByZXR1cm47CiAKICAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IHVybENGKEFkb3B0
Q0YsIHVybC5jcmVhdGVDRlVSTCgpKTsKLSAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IHBvbGljeVVS
TENGKEFkb3B0Q0YsIHBvbGljeVVSTC5jcmVhdGVDRlVSTCgpKTsKKyAgICBSZXRhaW5QdHI8Q0ZV
UkxSZWY+IGZpcnN0UGFydHlGb3JDb29raWVzQ0YoQWRvcHRDRiwgZG9jdW1lbnQtPmZpcnN0UGFy
dHlGb3JDb29raWVzKCkuY3JlYXRlQ0ZVUkwoKSk7CiAKICAgICAvLyA8aHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzMT4sIDxyZGFyOi8vNDQwOTAzND4KICAgICAvLyBj
b29raWVzV2l0aFJlc3BvbnNlSGVhZGVyRmllbGRzIGRvZXNuJ3QgcGFyc2UgY29va2llcyB3aXRo
b3V0IGEgdmFsdWUKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBzZXRDb29raWVzKERvY3VtZW50KiAv
KmRvY3VtZW50Ki8sIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgS1VSTCYgcG9saWN5VVJMLAogICAg
IFJldGFpblB0cjxDRkFycmF5UmVmPiBjb29raWVzQ0YoQWRvcHRDRiwgQ0ZIVFRQQ29va2llQ3Jl
YXRlV2l0aFJlc3BvbnNlSGVhZGVyRmllbGRzKGtDRkFsbG9jYXRvckRlZmF1bHQsCiAgICAgICAg
IGhlYWRlckZpZWxkc0NGLmdldCgpLCB1cmxDRi5nZXQoKSkpOwogCi0gICAgQ0ZIVFRQQ29va2ll
U3RvcmFnZVNldENvb2tpZXMoY29va2llU3RvcmFnZSwgZmlsdGVyQ29va2llcyhjb29raWVzQ0Yu
Z2V0KCkpLmdldCgpLCB1cmxDRi5nZXQoKSwgcG9saWN5VVJMQ0YuZ2V0KCkpOworICAgIENGSFRU
UENvb2tpZVN0b3JhZ2VTZXRDb29raWVzKGNvb2tpZVN0b3JhZ2UsIGZpbHRlckNvb2tpZXMoY29v
a2llc0NGLmdldCgpKS5nZXQoKSwgdXJsQ0YuZ2V0KCksIGZpcnN0UGFydHlGb3JDb29raWVzQ0Yu
Z2V0KCkpOwogfQogCiBTdHJpbmcgY29va2llcyhjb25zdCBEb2N1bWVudCogLypkb2N1bWVudCov
LCBjb25zdCBLVVJMJiB1cmwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
d2luL0Nvb2tpZUphcldpbi5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL0Nvb2tp
ZUphcldpbi5jcHAKaW5kZXggY2RhZmIxYi4uNDFkMTJkOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3dpbi9Db29raWVKYXJXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay93aW4vQ29va2llSmFyV2luLmNwcApAQCAtMzYsOSArMzYsOSBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAKLXZvaWQgc2V0Q29va2llcyhEb2N1bWVudCogLypkb2N1bWVudCov
LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IEtVUkwmIHBvbGljeVVSTCwgY29uc3QgU3RyaW5nJiB2
YWx1ZSkKK3ZvaWQgc2V0Q29va2llcyhEb2N1bWVudCogLypkb2N1bWVudCovLCBjb25zdCBLVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7Ci0gICAgLy8gRklYTUU6IERlYWwgd2l0aCB0
aGUgcG9saWN5IFVSTC4KKyAgICAvLyBGSVhNRTogRGVhbCB3aXRoIGRvY3VtZW50LT5maXJzdFBh
cnR5Rm9yQ29va2llcygpLgogICAgIFN0cmluZyBzdHIgPSB1cmwuc3RyaW5nKCk7CiAgICAgU3Ry
aW5nIHZhbCA9IHZhbHVlOwogICAgIEludGVybmV0U2V0Q29va2llKHN0ci5jaGFyYWN0ZXJzV2l0
aE51bGxUZXJtaW5hdGlvbigpLCAwLCB2YWwuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24o
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0Nvb2tpZUphclF0LmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vcXQvQ29va2llSmFyUXQuY3BwCmluZGV4IDQwNzc0MDcuLmNhYmQzNjkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ29va2llSmFyUXQuY3BwCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vcXQvQ29va2llSmFyUXQuY3BwCkBAIC02MSwxMCArNjEsMTAgQEAgc3Rh
dGljIFFOZXR3b3JrQ29va2llSmFyICpjb29raWVKYXIoY29uc3QgRG9jdW1lbnQgKmRvY3VtZW50
KQogfQogI2VuZGlmCiAKLXZvaWQgc2V0Q29va2llcyhEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgS1VSTCYgcG9saWN5VVJMLCBjb25zdCBTdHJpbmcmIHZhbHVlKQor
dm9pZCBzZXRDb29raWVzKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgS1VSTCYgdXJsLCBjb25z
dCBTdHJpbmcmIHZhbHVlKQogewogICAgIFFVcmwgdSh1cmwpOwotICAgIFFVcmwgcChwb2xpY3lV
UkwpOworICAgIFFVcmwgcChkb2N1bWVudC0+Zmlyc3RQYXJ0eUZvckNvb2tpZXMoKSk7CiAjaWYg
UVRfVkVSU0lPTiA+PSAweDA0MDQwMAogICAgIFFOZXR3b3JrQ29va2llSmFyKiBqYXIgPSBjb29r
aWVKYXIoZG9jdW1lbnQpOwogICAgIGlmICghamFyKQotLSAKMS42LjAuMQoK
</data>
<flag name="review"
          id="15459"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>