<?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>54421</bug_id>
          
          <creation_ts>2011-02-14 16:28:14 -0800</creation_ts>
          <short_desc>Add initial support for per-origin quotas to IndexedDB</short_desc>
          <delta_ts>2011-02-15 16:38:17 -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>Other</rep_platform>
          <op_sys>OS X 10.5</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="Jeremy Orlow">jorlow</reporter>
          <assigned_to name="Jeremy Orlow">jorlow</assigned_to>
          <cc>andreip</cc>
    
    <cc>dgrogan</cc>
    
    <cc>ericu</cc>
    
    <cc>fishd</cc>
    
    <cc>hans</cc>
    
    <cc>japhet</cc>
    
    <cc>jorlow</cc>
    
    <cc>kinuko</cc>
    
    <cc>michaeln</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>350963</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-14 16:28:14 -0800</bug_when>
    <thetext>Add initial support for per-origin quotas to IndexedDB</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350966</commentid>
    <comment_count>1</comment_count>
      <attachid>82381</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-14 16:33:26 -0800</bug_when>
    <thetext>Created attachment 82381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350980</commentid>
    <comment_count>2</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-14 16:42:40 -0800</bug_when>
    <thetext>please review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350981</commentid>
    <comment_count>3</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-14 16:42:57 -0800</bug_when>
    <thetext>+ darin for api change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351160</commentid>
    <comment_count>4</comment_count>
      <attachid>82381</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-02-15 02:35:54 -0800</bug_when>
    <thetext>Comment on attachment 82381
Patch

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

&gt; Source/WebCore/storage/IDBFactoryBackendImpl.cpp:265
&gt; +         m_currentQuotaMap.set(fileIdentifier, maximumSize);

nit: Indented one space too much?

&gt; Source/WebCore/storage/IDBFactoryBackendImpl.h:70
&gt; +    typedef HashMap&lt;String, int64_t&gt; Quota;

hmm, could it be called QuotaMap or something instead? just &quot;Quota&quot; makes me think of a scalar...


lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351505</commentid>
    <comment_count>5</comment_count>
      <attachid>82509</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-15 12:56:48 -0800</bug_when>
    <thetext>Created attachment 82509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351558</commentid>
    <comment_count>6</comment_count>
      <attachid>82509</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-02-15 14:00:36 -0800</bug_when>
    <thetext>Comment on attachment 82509
Patch

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

&gt; Source/WebKit/chromium/public/WebIDBFactory.h:60
&gt; +    static const long long DefaultQuota = -1;

nit: use variable naming: fooBar

maybe these variables should be named differently so that it is more apparent
that they should be passed in for the &quot;maximumSize&quot; field?

how about renaming maximumSize to quota?  alternatively, you could rename the
constants to defaultMaximumSize and unlimitedMaximumSize.

also, since this expression of quota might appear in other WebKit storage APIs,
maybe we should have some generalized expression of quota?  maybe these constants
should be pulled out to a separate header file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351668</commentid>
    <comment_count>7</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-15 15:44:26 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 82509 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=82509&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebIDBFactory.h:60
&gt; &gt; +    static const long long DefaultQuota = -1;
&gt; 
&gt; nit: use variable naming: fooBar

done
 
&gt; maybe these variables should be named differently so that it is more apparent
&gt; that they should be passed in for the &quot;maximumSize&quot; field?
&gt; 
&gt; how about renaming maximumSize to quota?  alternatively, you could rename the
&gt; constants to defaultMaximumSize and unlimitedMaximumSize.

renamed to quota and defaultQuota
 
&gt; also, since this expression of quota might appear in other WebKit storage APIs,
&gt; maybe we should have some generalized expression of quota?  maybe these constants
&gt; should be pulled out to a separate header file?

This seems a bit premature, but I will add a fixme and I&apos;ve cc&apos;ed others who are involved in Chromium quota stuff as a FYI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351724</commentid>
    <comment_count>8</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-02-15 16:38:17 -0800</bug_when>
    <thetext>Committed r78645: &lt;http://trac.webkit.org/changeset/78645&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82381</attachid>
            <date>2011-02-14 16:33:26 -0800</date>
            <delta_ts>2011-02-15 12:56:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54421-20110214163325.patch</filename>
            <type>text/plain</type>
            <size>12615</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg0OTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOTcxODFjZTYyZmRlZjVh
ZjNkZWMyYmQ1ZWRmOTA4NmNiNzFjODJkLi45ZmJkOWE5M2MyNzM3NTVhMGUxMThhYzA0M2Y4MWRi
NjIxNTUyMDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDItMTQgIEplcmVt
eSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgcGVyLW9yaWdp
biBxdW90YXMgdG8gSW5kZXhlZERCCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01NDQyMQorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBub24tcGVyc2lz
dGVudCBwZXItb3JpZ2luIHF1b3Rhcy4gSWYgb25lIGlzCisgICAgICAgIHNwZWNpZmllZCwgaXQg
b3ZlcnJpZGVzIHRoZSBkZWZhdWx0LgorCisgICAgICAgIE5vIHRlc3RzIGFzIHRoaXMgaXMgb25s
eSBleHBvc2VkIHZpYSB0aGUgQ2hyb21pdW0gd2Via2l0IEFQSS4KKworICAgICAgICAqIHN0b3Jh
Z2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rv
cnlCYWNrZW5kSW1wbDo6b3Blbik6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0b3J5QmFja2Vu
ZEltcGw6OnNldFF1b3RhKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1w
bC5oOgorICAgICAgICAqIHN0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaDoKKwog
MjAxMS0wMi0xNCAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5hcmRAbm9raWEuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5jcHAKaW5kZXggMGU4ODNjZmUyZTQ1NjQ3ODZm
OTQyMjFmODRjZmE1NWIzMmQxNzdiOS4uY2NkODAzMzEzM2QxYjU1ZGQ1MTQ0ZTg5YjBmY2IwNDEx
OTk0M2ZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFj
a2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tl
bmRJbXBsLmNwcApAQCAtMjA3LDkgKzIwNywxNSBAQCBzdGF0aWMgYm9vbCBtaWdyYXRlRGF0YWJh
c2UoU1FMaXRlRGF0YWJhc2UmIHNxbGl0ZURhdGFiYXNlKQogICAgIHJldHVybiB0cnVlOwogfQog
Ci12b2lkIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIFBh
c3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmln
aW4+IHNlY3VyaXR5T3JpZ2luLCBGcmFtZSosIGNvbnN0IFN0cmluZyYgZGF0YURpciwgaW50NjRf
dCBtYXhpbXVtU2l6ZSkKK3ZvaWQgSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpvcGVuKGNvbnN0IFN0
cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0
cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4sIEZyYW1lKiwgY29uc3QgU3RyaW5nJiBk
YXRhRGlyLCBpbnQ2NF90IGRlZmF1bHRNYXhpbXVtU2l6ZSkKIHsKKyAgICBBU1NFUlQoZGVmYXVs
dE1heGltdW1TaXplID49IDApOwogICAgIFN0cmluZyBmaWxlSWRlbnRpZmllciA9IHNlY3VyaXR5
T3JpZ2luLT5kYXRhYmFzZUlkZW50aWZpZXIoKTsKKyAgICBpZiAoIW1fZGVmYXVsdFF1b3RhTWFw
LmNvbnRhaW5zKGZpbGVJZGVudGlmaWVyKSkKKyAgICAgICAgbV9kZWZhdWx0UXVvdGFNYXAuc2V0
KGZpbGVJZGVudGlmaWVyLCBkZWZhdWx0TWF4aW11bVNpemUpOworICAgIGVsc2UKKyAgICAgICAg
QVNTRVJUKG1fZGVmYXVsdFF1b3RhTWFwLmdldChmaWxlSWRlbnRpZmllcikgPT0gZGVmYXVsdE1h
eGltdW1TaXplKTsgLy8gRklYTUU6IEhhbmRsZSB0aGlzIGNhc2UgbW9yZSBlbGVnZW50bHkgaWYg
aXQgZXZlciBtYXR0ZXJzLgorCiAgICAgU3RyaW5nIHVuaXF1ZUlkZW50aWZpZXIgPSBmaWxlSWRl
bnRpZmllciArICJAIiArIG5hbWU7CiAgICAgSURCRGF0YWJhc2VCYWNrZW5kTWFwOjppdGVyYXRv
ciBpdCA9IG1fZGF0YWJhc2VCYWNrZW5kTWFwLmZpbmQodW5pcXVlSWRlbnRpZmllcik7CiAgICAg
aWYgKGl0ICE9IG1fZGF0YWJhc2VCYWNrZW5kTWFwLmVuZCgpKSB7CkBAIC0yMTcsNiArMjIzLDEw
IEBAIHZvaWQgSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwg
UGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAg
ICBpbnQ2NF90IG1heGltdW1TaXplID0gZGVmYXVsdE1heGltdW1TaXplOworICAgIGlmIChtX2N1
cnJlbnRRdW90YU1hcC5jb250YWlucyhmaWxlSWRlbnRpZmllcikpCisgICAgICAgIG1heGltdW1T
aXplID0gbV9jdXJyZW50UXVvdGFNYXAuY29udGFpbnMoZmlsZUlkZW50aWZpZXIpOworCiAgICAg
Ly8gRklYTUU6IEV2ZXJ5dGhpbmcgZnJvbSBub3cgb24gc2hvdWxkIGJlIGRvbmUgb24gYW5vdGhl
ciB0aHJlYWQuCiAKICAgICBSZWZQdHI8SURCU1FMaXRlRGF0YWJhc2U+IHNxbGl0ZURhdGFiYXNl
OwpAQCAtMjM5LDYgKzI0OSwyNiBAQCB2b2lkIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6b3Blbihj
b25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYQogICAgIG1fZGF0
YWJhc2VCYWNrZW5kTWFwLnNldCh1bmlxdWVJZGVudGlmaWVyLCBkYXRhYmFzZUJhY2tlbmQuZ2V0
KCkpOwogfQogCit2b2lkIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6c2V0UXVvdGEoUGFzc1JlZlB0
cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4sIGludDY0X3QgbWF4aW11bVNpemUsIGJv
b2wgcGVyc2lzdGVudCkKK3sKKyAgICBBU1NFUlQoIXBlcnNpc3RlbnQpOyAvLyBGSVhNRTogSW1w
ZWxtZW50IHBlcnNpc3RlbmNlLgorCisgICAgU3RyaW5nIGZpbGVJZGVudGlmaWVyID0gc2VjdXJp
dHlPcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigpOworICAgIGlmIChtYXhpbXVtU2l6ZSA9PSBE
ZWZhdWx0UXVvdGEpIHsKKyAgICAgICAgbV9jdXJyZW50UXVvdGFNYXAucmVtb3ZlKGZpbGVJZGVu
dGlmaWVyKTsKKyAgICAgICAgaWYgKCFtX2RlZmF1bHRRdW90YU1hcC5jb250YWlucyhmaWxlSWRl
bnRpZmllcikpIHsKKyAgICAgICAgICAgIEFTU0VSVChtX3NxbGl0ZURhdGFiYXNlTWFwLmZpbmQo
ZmlsZUlkZW50aWZpZXIpID09IG1fc3FsaXRlRGF0YWJhc2VNYXAuZW5kKCkpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIG1heGltdW1TaXplID0gbV9kZWZhdWx0UXVv
dGFNYXAuZ2V0KGZpbGVJZGVudGlmaWVyKTsKKyAgICB9IGVsc2UKKyAgICAgICAgIG1fY3VycmVu
dFF1b3RhTWFwLnNldChmaWxlSWRlbnRpZmllciwgbWF4aW11bVNpemUpOworCisgICAgU1FMaXRl
RGF0YWJhc2VNYXA6Oml0ZXJhdG9yIGl0MiA9IG1fc3FsaXRlRGF0YWJhc2VNYXAuZmluZChmaWxl
SWRlbnRpZmllcik7CisgICAgaWYgKGl0MiAhPSBtX3NxbGl0ZURhdGFiYXNlTWFwLmVuZCgpKQor
ICAgICAgICBpdDItPnNlY29uZC0+ZGIoKS5zZXRNYXhpbXVtU2l6ZShtYXhpbXVtU2l6ZSk7IC8v
IEZJWE1FOiBXaGF0IGlmIHdlIHNldCBhIHF1b3RhIHRvIHNvbWV0aGluZyBzbWFsbGVyIHRoYW4g
dGhlIGZpbGUgY3VycmVudGx5IGlzPworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5oCmluZGV4IGRjYWY4NDg1OWNiZmIxZDJkNzYwMWRi
MmM4OTJmNzU5Mzk2ZGJhMDkuLjZkMWJmOTE4OWQzMDI4MWM3MWQyYWZmMDA2OTg2YjdiNTI2OTJj
YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJ
bXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEltcGwu
aApAQCAtNTQsNyArNTQsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVJREJEYXRhYmFzZUJh
Y2tlbmQoY29uc3QgU3RyaW5nJiB1bmlxdWVJZGVudGlmaWVyKTsKICAgICB2b2lkIHJlbW92ZVNR
TGl0ZURhdGFiYXNlKGNvbnN0IFN0cmluZyYgdW5pcXVlSWRlbnRpZmllcik7CiAKLSAgICB2aXJ0
dWFsIHZvaWQgb3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
PiwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4sIEZyYW1lKiwgY29uc3QgU3RyaW5nJiBkYXRh
RGlyLCBpbnQ2NF90IG1heGltdW1TaXplKTsKKyAgICB2aXJ0dWFsIHZvaWQgb3Blbihjb25zdCBT
dHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgUGFzc1JlZlB0cjxTZWN1cml0
eU9yaWdpbj4sIEZyYW1lKiwgY29uc3QgU3RyaW5nJiBkYXRhRGlyLCBpbnQ2NF90IGRlZmF1bHRN
YXhpbXVtU2l6ZSk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0UXVvdGEoUGFzc1JlZlB0cjxTZWN1
cml0eU9yaWdpbj4sIGludDY0X3QgbWF4aW11bVNpemUsIGJvb2wgcGVyc2lzdGVudCk7CiAKIHBy
aXZhdGU6CiAgICAgSURCRmFjdG9yeUJhY2tlbmRJbXBsKCk7CkBAIC02NSw2ICs2NywxMCBAQCBw
cml2YXRlOgogICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIElEQlNRTGl0ZURhdGFiYXNlKj4g
U1FMaXRlRGF0YWJhc2VNYXA7CiAgICAgU1FMaXRlRGF0YWJhc2VNYXAgbV9zcWxpdGVEYXRhYmFz
ZU1hcDsKIAorICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIGludDY0X3Q+IFF1b3RhOworICAg
IFF1b3RhIG1fY3VycmVudFF1b3RhTWFwOworICAgIFF1b3RhIG1fZGVmYXVsdFF1b3RhTWFwOwor
CiAgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQ29vcmRpbmF0b3I+IG1fdHJhbnNhY3Rpb25Db29y
ZGluYXRvcjsKIAogICAgIC8vIE9ubHkgb25lIGluc3RhbmNlIG9mIHRoZSBmYWN0b3J5IHNob3Vs
ZCBleGlzdCBhdCBhbnkgZ2l2ZW4gdGltZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaAppbmRleCBlMDVmMzE2OTk5YWMxOGNhODQ1
ZjU2MjgyNzY3NTgwMzQ2ODg2MzI4Li5iNWI5ZWVkOTEwZDYwOGM2ODliOTU4NTNhZTQxOGRlMzdj
NmQ4NmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkZhY3RvcnlCYWNr
ZW5kSW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFj
a2VuZEludGVyZmFjZS5oCkBAIC01MSw3ICs1MSwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZSgpOwogICAgIHZpcnR1
YWwgfklEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlKCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQg
b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgUGFzc1Jl
ZlB0cjxTZWN1cml0eU9yaWdpbj4sIEZyYW1lKiwgY29uc3QgU3RyaW5nJiBkYXRhRGlyLCBpbnQ2
NF90IG1heGltdW1TaXplKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIG9wZW4oY29uc3QgU3RyaW5n
JiBuYW1lLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmln
aW4+LCBGcmFtZSosIGNvbnN0IFN0cmluZyYgZGF0YURpciwgaW50NjRfdCBkZWZhdWx0TWF4aW11
bVNpemUpID0gMDsKKworICAgIHN0YXRpYyBjb25zdCBpbnQ2NF90IERlZmF1bHRRdW90YSA9IC0x
OworICAgIHN0YXRpYyBjb25zdCBpbnQ2NF90IFVubGltaXRlZFF1b3RhID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0UXVvdGEoUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4sIGludDY0X3QgbWF4
aW11bVNpemUsIGJvb2wgcGVyc2lzdGVudCkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBkYWUwNjhhZTFlZDJlOGY2OWE2NTIy
M2ZkOTI3NzE4MTY0ODc3OTk5Li4xZTZlMzFhNWVhNGRiOWUzZDhhZDg2OTQyMzA2YTY5MjhlYzBh
YjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTAy
LTE0ICBKZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9y
IHBlci1vcmlnaW4gcXVvdGFzIHRvIEluZGV4ZWREQgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ0MjEKKworICAgICAgICAqIHB1YmxpYy9XZWJJREJG
YWN0b3J5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYklEQkZhY3Rvcnk6OnNldFF1b3RhKToKKyAg
ICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAgICogc3JjL0lEQkZh
Y3RvcnlCYWNrZW5kUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tl
bmRQcm94eTo6c2V0UXVvdGEpOgorICAgICAgICAqIHNyYy9JREJGYWN0b3J5QmFja2VuZFByb3h5
Lmg6CisgICAgICAgICogc3JjL1dlYklEQkZhY3RvcnlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViSURCRmFjdG9yeUltcGw6OnNldFF1b3RhKToKKyAgICAgICAgKiBzcmMvV2ViSURCRmFj
dG9yeUltcGwuaDoKKwogMjAxMS0wMi0xNCAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRmFjdG9yeS5oIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCRmFjdG9yeS5oCmluZGV4IDEwYTEz
NGFiNjIxZWJlM2VkNWZiNDg1OWQ2ZmU2ZGQ0OTVhM2Y5MDIuLjE4MmIzMzc4NzlhZTEwNGMwYTYy
M2Q2M2U1Y2FiOTgzOGNjN2IyZDggMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYklEQkZhY3RvcnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJJREJGYWN0b3J5LmgKQEAgLTU2LDYgKzU2LDEzIEBAIHB1YmxpYzoKICAgICB7CiAgICAg
ICAgIFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CisKKyAgICBzdGF0aWMgY29u
c3QgbG9uZyBsb25nIERlZmF1bHRRdW90YSA9IC0xOworICAgIHN0YXRpYyBjb25zdCBsb25nIGxv
bmcgVW5saW1pdGVkUXVvdGEgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRRdW90YShjb25zdCBX
ZWJTZWN1cml0eU9yaWdpbiYsIGxvbmcgbG9uZyBtYXhpbXVtU2l6ZSwgYm9vbCBwZXJzaXN0ZW50
KQorICAgIHsKKyAgICAgICAgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAppbmRleCBhYWFhNGE1ZjlkY2U0YTBkZjkwODU5
ZWI3NDRkNzE0OTM5MjgxMDBiLi4zYWQwOTc3ZTI5MzgzZDMwZjIwMWQ1YTUwNGQyYzk5ZGIyZTQ1
YTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIkdlb2xvY2F0aW9uRXJyb3Iu
aCIKICNpbmNsdWRlICJHZW9sb2NhdGlvblBvc2l0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTElucHV0
RWxlbWVudC5oIgorI2luY2x1ZGUgIklEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmgiCiAjaW5j
bHVkZSAiSURCS2V5LmgiCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKICNpbmNsdWRlICJOb3Rp
ZmljYXRpb25QcmVzZW50ZXIuaCIKQEAgLTY3LDYgKzY4LDcgQEAKICNpbmNsdWRlICJXZWJGb250
RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJXZWJHZW9sb2NhdGlvbkVycm9yLmgiCiAjaW5jbHVk
ZSAiV2ViR2VvbG9jYXRpb25Qb3NpdGlvbi5oIgorI2luY2x1ZGUgIldlYklEQkZhY3RvcnkuaCIK
ICNpbmNsdWRlICJXZWJJREJLZXkuaCIKICNpbmNsdWRlICJXZWJJbnB1dEVsZW1lbnQuaCIKICNp
bmNsdWRlICJXZWJNZWRpYVBsYXllci5oIgpAQCAtMzcwLDYgKzM3Miw5IEBAIENPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2ViVmlldzo6VXNlckNvbnRlbnRJbmplY3RJblRvcEZyYW1lT25s
eSwgSW5qZWN0SW5UCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlZpZXc6OlVzZXJT
dHlsZUluamVjdEluRXhpc3RpbmdEb2N1bWVudHMsIEluamVjdEluRXhpc3RpbmdEb2N1bWVudHMp
OwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWV3OjpVc2VyU3R5bGVJbmplY3RJ
blN1YnNlcXVlbnREb2N1bWVudHMsIEluamVjdEluU3Vic2VxdWVudERvY3VtZW50cyk7CiAKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViSURCRmFjdG9yeTo6VW5saW1pdGVkUXVvdGEs
IElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlOjpVbmxpbWl0ZWRRdW90YSk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYklEQkZhY3Rvcnk6OkRlZmF1bHRRdW90YSwgSURCRmFjdG9y
eUJhY2tlbmRJbnRlcmZhY2U6OkRlZmF1bHRRdW90YSk7CisKIENPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViSURCS2V5OjpOdWxsVHlwZSwgSURCS2V5OjpOdWxsVHlwZSk7CiBDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQktleTo6U3RyaW5nVHlwZSwgSURCS2V5OjpTdHJp
bmdUeXBlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViSURCS2V5OjpEYXRlVHlw
ZSwgSURCS2V5OjpEYXRlVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9JREJGYWN0b3J5QmFja2VuZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0lEQkZhY3RvcnlCYWNrZW5kUHJveHkuY3BwCmluZGV4IDY3NTA0YTMwNWRjY2QwZDliNGU4
OWViNjcxYjZjOTllYjY1YmM3YmMuLjI1MGE4ODQ2NzY2M2UyMjExMjg5Yzg2NzYwYzM3YzE4ZDE0
Nzg5YzYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkZhY3RvcnlC
YWNrZW5kUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkZhY3Rv
cnlCYWNrZW5kUHJveHkuY3BwCkBAIC02NSw2ICs2NSwxMSBAQCB2b2lkIElEQkZhY3RvcnlCYWNr
ZW5kUHJveHk6Om9wZW4oY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNr
cz4gYwogICAgIG1fd2ViSURCRmFjdG9yeS0+b3BlbihuYW1lLCBuZXcgV2ViSURCQ2FsbGJhY2tz
SW1wbChjYWxsYmFja3MpLCBvcmlnaW4sIHdlYkZyYW1lLCBkYXRhRGlyLCBtYXhpbXVtU2l6ZSk7
CiB9CiAKK3ZvaWQgSURCRmFjdG9yeUJhY2tlbmRQcm94eTo6c2V0UXVvdGEoUGFzc1JlZlB0cjxT
ZWN1cml0eU9yaWdpbj4gb3JpZ2luLCBpbnQ2NF90IG1heGltdW1TaXplLCBib29sIHBlcnNpc3Rl
bnQpCit7CisgICAgbV93ZWJJREJGYWN0b3J5LT5zZXRRdW90YShvcmlnaW4sIG1heGltdW1TaXpl
LCBwZXJzaXN0ZW50KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9JREJGYWN0b3J5QmFja2VuZFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9JREJGYWN0b3J5QmFja2VuZFByb3h5LmgKaW5kZXggNTk1MGE2ODAxYzA5MjM5NWVhM2U1
ZDgxYzRlZjQwZTZlMTFiOGIxYy4uYWNlMjk5MGY1YmYyMmFkODM2MDA1MzJlOTgxMmI0NTk2NDA2
OWRlOSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCRmFjdG9yeUJh
Y2tlbmRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkZhY3RvcnlC
YWNrZW5kUHJveHkuaApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAKICAgICBQYXNzUmVmUHRy
PERPTVN0cmluZ0xpc3Q+IGRhdGFiYXNlcyh2b2lkKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQg
b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgUGFzc1Jl
ZlB0cjxTZWN1cml0eU9yaWdpbj4sIEZyYW1lKiwgY29uc3QgU3RyaW5nJiBkYXRhRGlyLCBpbnQ2
NF90IG1heGltdW1TaXplKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0UXVvdGEoUGFzc1JlZlB0cjxT
ZWN1cml0eU9yaWdpbj4sIGludDY0X3QgbWF4aW11bVNpemUsIGJvb2wgcGVyc2lzdGVudCk7CiAK
IHByaXZhdGU6CiAgICAgSURCRmFjdG9yeUJhY2tlbmRQcm94eSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRmFjdG9yeUltcGwuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRmFjdG9yeUltcGwuY3BwCmluZGV4IGE1MDkwNzZmMTA0
ZjlmMjFmNTkyNzhkMzc1YmRlMGExNTEzMmUxOTIuLmVhZGFjMDRiNjIxZDIwYTc3YmE5YTJiODMx
YzlkYWViNDI1OWNhOGMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YklEQkZhY3RvcnlJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJ
REJGYWN0b3J5SW1wbC5jcHAKQEAgLTYzLDYgKzYzLDExIEBAIHZvaWQgV2ViSURCRmFjdG9yeUlt
cGw6Om9wZW4oY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBXZWJJREJDYWxsYmFja3MqIGNhbGxiYWNr
cywKICAgICBtX2lkYkZhY3RvcnlCYWNrZW5kLT5vcGVuKG5hbWUsIElEQkNhbGxiYWNrc1Byb3h5
OjpjcmVhdGUoY2FsbGJhY2tzKSwgb3JpZ2luLCAwLCBkYXRhRGlyLCBtYXhpbXVtU2l6ZSk7CiB9
CiAKK3ZvaWQgV2ViSURCRmFjdG9yeUltcGw6OnNldFF1b3RhKGNvbnN0IFdlYlNlY3VyaXR5T3Jp
Z2luJiBvcmlnaW4sIGxvbmcgbG9uZyBtYXhpbXVtU2l6ZSwgYm9vbCBwZXJzaXN0ZW50KQorewor
ICAgIG1faWRiRmFjdG9yeUJhY2tlbmQtPnNldFF1b3RhKG9yaWdpbiwgbWF4aW11bVNpemUsIHBl
cnNpc3RlbnQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSURCRmFjdG9yeUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklE
QkZhY3RvcnlJbXBsLmgKaW5kZXggOWVkNmUzZmZkNWE0ZjViMTFlY2U1OTc4NjE2MGE4Y2FmODhh
ZDkzYi4uNWU0MTY2ZGVmNmZlZDkwNDI3NzMwOTlmNmJlNDZlMWQxMTk0MjJjMSAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCRmFjdG9yeUltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJGYWN0b3J5SW1wbC5oCkBAIC00Miw3ICs0
Miw5IEBAIHB1YmxpYzoKICAgICBXZWJJREJGYWN0b3J5SW1wbCgpOwogICAgIHZpcnR1YWwgfldl
YklEQkZhY3RvcnlJbXBsKCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgb3Blbihjb25zdCBXZWJTdHJp
bmcmIG5hbWUsIFdlYklEQkNhbGxiYWNrcyosIGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2luJiwgV2Vi
RnJhbWUqLCBjb25zdCBXZWJTdHJpbmcmIGRhdGFEaXIsIHVuc2lnbmVkIGxvbmcgbG9uZyBtYXhp
bXVtU2l6ZSk7CisgICAgdmlydHVhbCB2b2lkIG9wZW4oY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBX
ZWJJREJDYWxsYmFja3MqLCBjb25zdCBXZWJTZWN1cml0eU9yaWdpbiYsIFdlYkZyYW1lKiwgY29u
c3QgV2ViU3RyaW5nJiBkYXRhRGlyLCB1bnNpZ25lZCBsb25nIGxvbmcgZGVmYXVsdE1heGltdW1T
aXplKTsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRRdW90YShjb25zdCBXZWJTZWN1cml0eU9yaWdp
biYsIGxvbmcgbG9uZyBtYXhpbXVtU2l6ZSwgYm9vbCBwZXJzaXN0ZW50KTsKIAogcHJpdmF0ZToK
ICAgICBXVEY6OlJlZlB0cjxXZWJDb3JlOjpJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4gbV9p
ZGJGYWN0b3J5QmFja2VuZDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82509</attachid>
            <date>2011-02-15 12:56:48 -0800</date>
            <delta_ts>2011-02-15 14:00:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54421-20110215125647.patch</filename>
            <type>text/plain</type>
            <size>12623</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg0OTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOTcxODFjZTYyZmRlZjVh
ZjNkZWMyYmQ1ZWRmOTA4NmNiNzFjODJkLi45ZmJkOWE5M2MyNzM3NTVhMGUxMThhYzA0M2Y4MWRi
NjIxNTUyMDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDItMTQgIEplcmVt
eSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgcGVyLW9yaWdp
biBxdW90YXMgdG8gSW5kZXhlZERCCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01NDQyMQorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBub24tcGVyc2lz
dGVudCBwZXItb3JpZ2luIHF1b3Rhcy4gSWYgb25lIGlzCisgICAgICAgIHNwZWNpZmllZCwgaXQg
b3ZlcnJpZGVzIHRoZSBkZWZhdWx0LgorCisgICAgICAgIE5vIHRlc3RzIGFzIHRoaXMgaXMgb25s
eSBleHBvc2VkIHZpYSB0aGUgQ2hyb21pdW0gd2Via2l0IEFQSS4KKworICAgICAgICAqIHN0b3Jh
Z2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3Rv
cnlCYWNrZW5kSW1wbDo6b3Blbik6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0b3J5QmFja2Vu
ZEltcGw6OnNldFF1b3RhKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1w
bC5oOgorICAgICAgICAqIHN0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuaDoKKwog
MjAxMS0wMi0xNCAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5hcmRAbm9raWEuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5jcHAKaW5kZXggMGU4ODNjZmUyZTQ1NjQ3ODZm
OTQyMjFmODRjZmE1NWIzMmQxNzdiOS4uYWU1OTU4OGU1ODBkZjRmZDgxMzk3NTY3NWVmNjdlODUy
MTdkYzUwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFj
a2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tl
bmRJbXBsLmNwcApAQCAtMjA3LDkgKzIwNywxNSBAQCBzdGF0aWMgYm9vbCBtaWdyYXRlRGF0YWJh
c2UoU1FMaXRlRGF0YWJhc2UmIHNxbGl0ZURhdGFiYXNlKQogICAgIHJldHVybiB0cnVlOwogfQog
Ci12b2lkIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIFBh
c3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmln
aW4+IHNlY3VyaXR5T3JpZ2luLCBGcmFtZSosIGNvbnN0IFN0cmluZyYgZGF0YURpciwgaW50NjRf
dCBtYXhpbXVtU2l6ZSkKK3ZvaWQgSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpvcGVuKGNvbnN0IFN0
cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcywgUGFzc1JlZlB0
cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4sIEZyYW1lKiwgY29uc3QgU3RyaW5nJiBk
YXRhRGlyLCBpbnQ2NF90IGRlZmF1bHRNYXhpbXVtU2l6ZSkKIHsKKyAgICBBU1NFUlQoZGVmYXVs
dE1heGltdW1TaXplID49IDApOwogICAgIFN0cmluZyBmaWxlSWRlbnRpZmllciA9IHNlY3VyaXR5
T3JpZ2luLT5kYXRhYmFzZUlkZW50aWZpZXIoKTsKKyAgICBpZiAoIW1fZGVmYXVsdFF1b3RhTWFw
LmNvbnRhaW5zKGZpbGVJZGVudGlmaWVyKSkKKyAgICAgICAgbV9kZWZhdWx0UXVvdGFNYXAuc2V0
KGZpbGVJZGVudGlmaWVyLCBkZWZhdWx0TWF4aW11bVNpemUpOworICAgIGVsc2UKKyAgICAgICAg
QVNTRVJUKG1fZGVmYXVsdFF1b3RhTWFwLmdldChmaWxlSWRlbnRpZmllcikgPT0gZGVmYXVsdE1h
eGltdW1TaXplKTsgLy8gRklYTUU6IEhhbmRsZSB0aGlzIGNhc2UgbW9yZSBlbGVnZW50bHkgaWYg
aXQgZXZlciBtYXR0ZXJzLgorCiAgICAgU3RyaW5nIHVuaXF1ZUlkZW50aWZpZXIgPSBmaWxlSWRl
bnRpZmllciArICJAIiArIG5hbWU7CiAgICAgSURCRGF0YWJhc2VCYWNrZW5kTWFwOjppdGVyYXRv
ciBpdCA9IG1fZGF0YWJhc2VCYWNrZW5kTWFwLmZpbmQodW5pcXVlSWRlbnRpZmllcik7CiAgICAg
aWYgKGl0ICE9IG1fZGF0YWJhc2VCYWNrZW5kTWFwLmVuZCgpKSB7CkBAIC0yMTcsNiArMjIzLDEw
IEBAIHZvaWQgSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwg
UGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAg
ICBpbnQ2NF90IG1heGltdW1TaXplID0gZGVmYXVsdE1heGltdW1TaXplOworICAgIGlmIChtX2N1
cnJlbnRRdW90YU1hcC5jb250YWlucyhmaWxlSWRlbnRpZmllcikpCisgICAgICAgIG1heGltdW1T
aXplID0gbV9jdXJyZW50UXVvdGFNYXAuY29udGFpbnMoZmlsZUlkZW50aWZpZXIpOworCiAgICAg
Ly8gRklYTUU6IEV2ZXJ5dGhpbmcgZnJvbSBub3cgb24gc2hvdWxkIGJlIGRvbmUgb24gYW5vdGhl
ciB0aHJlYWQuCiAKICAgICBSZWZQdHI8SURCU1FMaXRlRGF0YWJhc2U+IHNxbGl0ZURhdGFiYXNl
OwpAQCAtMjM5LDYgKzI0OSwyNiBAQCB2b2lkIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6b3Blbihj
b25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYQogICAgIG1fZGF0
YWJhc2VCYWNrZW5kTWFwLnNldCh1bmlxdWVJZGVudGlmaWVyLCBkYXRhYmFzZUJhY2tlbmQuZ2V0
KCkpOwogfQogCit2b2lkIElEQkZhY3RvcnlCYWNrZW5kSW1wbDo6c2V0UXVvdGEoUGFzc1JlZlB0
cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4sIGludDY0X3QgbWF4aW11bVNpemUsIGJv
b2wgcGVyc2lzdGVudCkKK3sKKyAgICBBU1NFUlQoIXBlcnNpc3RlbnQpOyAvLyBGSVhNRTogSW1w
ZWxtZW50IHBlcnNpc3RlbmNlLgorCisgICAgU3RyaW5nIGZpbGVJZGVudGlmaWVyID0gc2VjdXJp
dHlPcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigpOworICAgIGlmIChtYXhpbXVtU2l6ZSA9PSBE
ZWZhdWx0UXVvdGEpIHsKKyAgICAgICAgbV9jdXJyZW50UXVvdGFNYXAucmVtb3ZlKGZpbGVJZGVu
dGlmaWVyKTsKKyAgICAgICAgaWYgKCFtX2RlZmF1bHRRdW90YU1hcC5jb250YWlucyhmaWxlSWRl
bnRpZmllcikpIHsKKyAgICAgICAgICAgIEFTU0VSVChtX3NxbGl0ZURhdGFiYXNlTWFwLmZpbmQo
ZmlsZUlkZW50aWZpZXIpID09IG1fc3FsaXRlRGF0YWJhc2VNYXAuZW5kKCkpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIG1heGltdW1TaXplID0gbV9kZWZhdWx0UXVv
dGFNYXAuZ2V0KGZpbGVJZGVudGlmaWVyKTsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9jdXJyZW50
UXVvdGFNYXAuc2V0KGZpbGVJZGVudGlmaWVyLCBtYXhpbXVtU2l6ZSk7CisKKyAgICBTUUxpdGVE
YXRhYmFzZU1hcDo6aXRlcmF0b3IgaXQyID0gbV9zcWxpdGVEYXRhYmFzZU1hcC5maW5kKGZpbGVJ
ZGVudGlmaWVyKTsKKyAgICBpZiAoaXQyICE9IG1fc3FsaXRlRGF0YWJhc2VNYXAuZW5kKCkpCisg
ICAgICAgIGl0Mi0+c2Vjb25kLT5kYigpLnNldE1heGltdW1TaXplKG1heGltdW1TaXplKTsgLy8g
RklYTUU6IFdoYXQgaWYgd2Ugc2V0IGEgcXVvdGEgdG8gc29tZXRoaW5nIHNtYWxsZXIgdGhhbiB0
aGUgZmlsZSBjdXJyZW50bHkgaXM/Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmgKaW5kZXggZGNhZjg0ODU5Y2JmYjFkMmQ3NjAxZGIy
Yzg5MmY3NTkzOTZkYmEwOS4uM2U4OWFhZGY3N2FjOTgwMmJkODIwNDk4MTYxZjJhNTdjNTk4ZGQ2
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW1wbC5o
CkBAIC01NCw3ICs1NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZUlEQkRhdGFiYXNlQmFj
a2VuZChjb25zdCBTdHJpbmcmIHVuaXF1ZUlkZW50aWZpZXIpOwogICAgIHZvaWQgcmVtb3ZlU1FM
aXRlRGF0YWJhc2UoY29uc3QgU3RyaW5nJiB1bmlxdWVJZGVudGlmaWVyKTsKIAotICAgIHZpcnR1
YWwgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+
LCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIGRhdGFE
aXIsIGludDY0X3QgbWF4aW11bVNpemUpOworICAgIHZpcnR1YWwgdm9pZCBvcGVuKGNvbnN0IFN0
cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIGRhdGFEaXIsIGludDY0X3QgZGVmYXVsdE1h
eGltdW1TaXplKTsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRRdW90YShQYXNzUmVmUHRyPFNlY3Vy
aXR5T3JpZ2luPiwgaW50NjRfdCBtYXhpbXVtU2l6ZSwgYm9vbCBwZXJzaXN0ZW50KTsKIAogcHJp
dmF0ZToKICAgICBJREJGYWN0b3J5QmFja2VuZEltcGwoKTsKQEAgLTY1LDYgKzY3LDEwIEBAIHBy
aXZhdGU6CiAgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgSURCU1FMaXRlRGF0YWJhc2UqPiBT
UUxpdGVEYXRhYmFzZU1hcDsKICAgICBTUUxpdGVEYXRhYmFzZU1hcCBtX3NxbGl0ZURhdGFiYXNl
TWFwOwogCisgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgaW50NjRfdD4gUXVvdGFNYXA7Cisg
ICAgUXVvdGFNYXAgbV9jdXJyZW50UXVvdGFNYXA7CisgICAgUXVvdGFNYXAgbV9kZWZhdWx0UXVv
dGFNYXA7CisKICAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25Db29yZGluYXRvcj4gbV90cmFuc2Fj
dGlvbkNvb3JkaW5hdG9yOwogCiAgICAgLy8gT25seSBvbmUgaW5zdGFuY2Ugb2YgdGhlIGZhY3Rv
cnkgc2hvdWxkIGV4aXN0IGF0IGFueSBnaXZlbiB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oCmluZGV4IGUwNWYzMTY5OTlh
YzE4Y2E4NDVmNTYyODI3Njc1ODAzNDY4ODYzMjguLmI1YjllZWQ5MTBkNjA4YzY4OWI5NTg1M2Fl
NDE4ZGUzN2M2ZDg2YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFj
dG9yeUJhY2tlbmRJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkZh
Y3RvcnlCYWNrZW5kSW50ZXJmYWNlLmgKQEAgLTUxLDcgKzUxLDExIEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4gY3JlYXRlKCk7CiAg
ICAgdmlydHVhbCB+SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UoKSB7IH0KIAotICAgIHZpcnR1
YWwgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+
LCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIGRhdGFE
aXIsIGludDY0X3QgbWF4aW11bVNpemUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgb3Blbihjb25z
dCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgUGFzc1JlZlB0cjxTZWN1
cml0eU9yaWdpbj4sIEZyYW1lKiwgY29uc3QgU3RyaW5nJiBkYXRhRGlyLCBpbnQ2NF90IGRlZmF1
bHRNYXhpbXVtU2l6ZSkgPSAwOworCisgICAgc3RhdGljIGNvbnN0IGludDY0X3QgRGVmYXVsdFF1
b3RhID0gLTE7CisgICAgc3RhdGljIGNvbnN0IGludDY0X3QgVW5saW1pdGVkUXVvdGEgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCBzZXRRdW90YShQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiwgaW50
NjRfdCBtYXhpbXVtU2l6ZSwgYm9vbCBwZXJzaXN0ZW50KSA9IDA7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGRhZTA2OGFlMWVkMmU4
ZjY5YTY1MjIzZmQ5Mjc3MTgxNjQ4Nzc5OTkuLjFlNmUzMWE1ZWE0ZGI5ZTNkOGFkODY5NDIzMDZh
NjkyOGVjMGFiODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTEtMDItMTQgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGluaXRpYWwgc3Vw
cG9ydCBmb3IgcGVyLW9yaWdpbiBxdW90YXMgdG8gSW5kZXhlZERCCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDQyMQorCisgICAgICAgICogcHVibGlj
L1dlYklEQkZhY3RvcnkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViSURCRmFjdG9yeTo6c2V0UXVv
dGEpOgorICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBz
cmMvSURCRmFjdG9yeUJhY2tlbmRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJGYWN0
b3J5QmFja2VuZFByb3h5OjpzZXRRdW90YSk6CisgICAgICAgICogc3JjL0lEQkZhY3RvcnlCYWNr
ZW5kUHJveHkuaDoKKyAgICAgICAgKiBzcmMvV2ViSURCRmFjdG9yeUltcGwuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJREJGYWN0b3J5SW1wbDo6c2V0UXVvdGEpOgorICAgICAgICAqIHNyYy9X
ZWJJREJGYWN0b3J5SW1wbC5oOgorCiAyMDExLTAyLTE0ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rp
dmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRz
a3kuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJGYWN0
b3J5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJGYWN0b3J5LmgKaW5k
ZXggMTBhMTM0YWI2MjFlYmUzZWQ1ZmI0ODU5ZDZmZTZkZDQ5NWEzZjkwMi4uMTgyYjMzNzg3OWFl
MTA0YzBhNjIzZDYzZTVjYWI5ODM4Y2M3YjJkOCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViSURCRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYklEQkZhY3RvcnkuaApAQCAtNTYsNiArNTYsMTMgQEAgcHVibGljOgogICAg
IHsKICAgICAgICAgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KKworICAgIHN0
YXRpYyBjb25zdCBsb25nIGxvbmcgRGVmYXVsdFF1b3RhID0gLTE7CisgICAgc3RhdGljIGNvbnN0
IGxvbmcgbG9uZyBVbmxpbWl0ZWRRdW90YSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldFF1b3Rh
KGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2luJiwgbG9uZyBsb25nIG1heGltdW1TaXplLCBib29sIHBl
cnNpc3RlbnQpCisgICAgeworICAgICAgICBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmluZGV4IGFhYWE0YTVmOWRjZTRh
MGRmOTA4NTllYjc0NGQ3MTQ5MzkyODEwMGIuLjNhZDA5NzdlMjkzODNkMzBmMjAxZDVhNTA0ZDJj
OTlkYjJlNDVhOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2Vy
dE1hdGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2Vy
dE1hdGNoaW5nRW51bXMuY3BwCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAiR2VvbG9jYXRp
b25FcnJvci5oIgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uUG9zaXRpb24uaCIKICNpbmNsdWRlICJI
VE1MSW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2Uu
aCIKICNpbmNsdWRlICJJREJLZXkuaCIKICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgogI2luY2x1
ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlci5oIgpAQCAtNjcsNiArNjgsNyBAQAogI2luY2x1ZGUg
IldlYkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIldlYkdlb2xvY2F0aW9uRXJyb3IuaCIK
ICNpbmNsdWRlICJXZWJHZW9sb2NhdGlvblBvc2l0aW9uLmgiCisjaW5jbHVkZSAiV2ViSURCRmFj
dG9yeS5oIgogI2luY2x1ZGUgIldlYklEQktleS5oIgogI2luY2x1ZGUgIldlYklucHV0RWxlbWVu
dC5oIgogI2luY2x1ZGUgIldlYk1lZGlhUGxheWVyLmgiCkBAIC0zNzAsNiArMzcyLDkgQEAgQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWV3OjpVc2VyQ29udGVudEluamVjdEluVG9w
RnJhbWVPbmx5LCBJbmplY3RJblQKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmll
dzo6VXNlclN0eWxlSW5qZWN0SW5FeGlzdGluZ0RvY3VtZW50cywgSW5qZWN0SW5FeGlzdGluZ0Rv
Y3VtZW50cyk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlZpZXc6OlVzZXJTdHls
ZUluamVjdEluU3Vic2VxdWVudERvY3VtZW50cywgSW5qZWN0SW5TdWJzZXF1ZW50RG9jdW1lbnRz
KTsKIAorQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJGYWN0b3J5OjpVbmxpbWl0
ZWRRdW90YSwgSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U6OlVubGltaXRlZFF1b3RhKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViSURCRmFjdG9yeTo6RGVmYXVsdFF1b3RhLCBJ
REJGYWN0b3J5QmFja2VuZEludGVyZmFjZTo6RGVmYXVsdFF1b3RhKTsKKwogQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJJREJLZXk6Ok51bGxUeXBlLCBJREJLZXk6Ok51bGxUeXBlKTsK
IENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViSURCS2V5OjpTdHJpbmdUeXBlLCBJREJL
ZXk6OlN0cmluZ1R5cGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJLZXk6
OkRhdGVUeXBlLCBJREJLZXk6OkRhdGVUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0lEQkZhY3RvcnlCYWNrZW5kUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvSURCRmFjdG9yeUJhY2tlbmRQcm94eS5jcHAKaW5kZXggNjc1MDRhMzA1ZGNj
ZDBkOWI0ZTg5ZWI2NzFiNmM5OWViNjViYzdiYy4uMjUwYTg4NDY3NjYzZTIyMTEyODljODY3NjBj
MzdjMThkMTQ3ODljNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURC
RmFjdG9yeUJhY2tlbmRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
SURCRmFjdG9yeUJhY2tlbmRQcm94eS5jcHAKQEAgLTY1LDYgKzY1LDExIEBAIHZvaWQgSURCRmFj
dG9yeUJhY2tlbmRQcm94eTo6b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURC
Q2FsbGJhY2tzPiBjCiAgICAgbV93ZWJJREJGYWN0b3J5LT5vcGVuKG5hbWUsIG5ldyBXZWJJREJD
YWxsYmFja3NJbXBsKGNhbGxiYWNrcyksIG9yaWdpbiwgd2ViRnJhbWUsIGRhdGFEaXIsIG1heGlt
dW1TaXplKTsKIH0KIAordm9pZCBJREJGYWN0b3J5QmFja2VuZFByb3h5OjpzZXRRdW90YShQYXNz
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBvcmlnaW4sIGludDY0X3QgbWF4aW11bVNpemUsIGJvb2wg
cGVyc2lzdGVudCkKK3sKKyAgICBtX3dlYklEQkZhY3RvcnktPnNldFF1b3RhKG9yaWdpbiwgbWF4
aW11bVNpemUsIHBlcnNpc3RlbnQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0lEQkZhY3RvcnlCYWNrZW5kUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0lEQkZhY3RvcnlCYWNrZW5kUHJveHkuaAppbmRleCA1OTUwYTY4MDFjMDky
Mzk1ZWEzZTVkODFjNGVmNDBlNmUxMWI4YjFjLi5hY2UyOTkwZjViZjIyYWQ4MzYwMDUzMmU5ODEy
YjQ1OTY0MDY5ZGU5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJG
YWN0b3J5QmFja2VuZFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURC
RmFjdG9yeUJhY2tlbmRQcm94eS5oCkBAIC00Niw2ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgIFBh
c3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gZGF0YWJhc2VzKHZvaWQpIGNvbnN0OwogICAgIHZpcnR1
YWwgdm9pZCBvcGVuKGNvbnN0IFN0cmluZyYgbmFtZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+
LCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiwgRnJhbWUqLCBjb25zdCBTdHJpbmcmIGRhdGFE
aXIsIGludDY0X3QgbWF4aW11bVNpemUpOworICAgIHZpcnR1YWwgdm9pZCBzZXRRdW90YShQYXNz
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPiwgaW50NjRfdCBtYXhpbXVtU2l6ZSwgYm9vbCBwZXJzaXN0
ZW50KTsKIAogcHJpdmF0ZToKICAgICBJREJGYWN0b3J5QmFja2VuZFByb3h5KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJGYWN0b3J5SW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJGYWN0b3J5SW1wbC5jcHAKaW5kZXggYTUw
OTA3NmYxMDRmOWYyMWY1OTI3OGQzNzViZGUwYTE1MTMyZTE5Mi4uZWFkYWMwNGI2MjFkMjBhNzdi
YTlhMmI4MzFjOWRhZWI0MjU5Y2E4YyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViSURCRmFjdG9yeUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYklEQkZhY3RvcnlJbXBsLmNwcApAQCAtNjMsNiArNjMsMTEgQEAgdm9pZCBXZWJJREJG
YWN0b3J5SW1wbDo6b3Blbihjb25zdCBXZWJTdHJpbmcmIG5hbWUsIFdlYklEQkNhbGxiYWNrcyog
Y2FsbGJhY2tzLAogICAgIG1faWRiRmFjdG9yeUJhY2tlbmQtPm9wZW4obmFtZSwgSURCQ2FsbGJh
Y2tzUHJveHk6OmNyZWF0ZShjYWxsYmFja3MpLCBvcmlnaW4sIDAsIGRhdGFEaXIsIG1heGltdW1T
aXplKTsKIH0KIAordm9pZCBXZWJJREJGYWN0b3J5SW1wbDo6c2V0UXVvdGEoY29uc3QgV2ViU2Vj
dXJpdHlPcmlnaW4mIG9yaWdpbiwgbG9uZyBsb25nIG1heGltdW1TaXplLCBib29sIHBlcnNpc3Rl
bnQpCit7CisgICAgbV9pZGJGYWN0b3J5QmFja2VuZC0+c2V0UXVvdGEob3JpZ2luLCBtYXhpbXVt
U2l6ZSwgcGVyc2lzdGVudCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYg
Ly8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJJREJGYWN0b3J5SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSURCRmFjdG9yeUltcGwuaAppbmRleCA5ZWQ2ZTNmZmQ1YTRmNWIxMWVjZTU5Nzg2MTYw
YThjYWY4OGFkOTNiLi41ZTQxNjZkZWY2ZmVkOTA0Mjc3MzA5OWY2YmU0NmUxZDExOTQyMmMxIDEw
MDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJGYWN0b3J5SW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkZhY3RvcnlJbXBsLmgKQEAg
LTQyLDcgKzQyLDkgQEAgcHVibGljOgogICAgIFdlYklEQkZhY3RvcnlJbXBsKCk7CiAgICAgdmly
dHVhbCB+V2ViSURCRmFjdG9yeUltcGwoKTsKIAotICAgIHZpcnR1YWwgdm9pZCBvcGVuKGNvbnN0
IFdlYlN0cmluZyYgbmFtZSwgV2ViSURCQ2FsbGJhY2tzKiwgY29uc3QgV2ViU2VjdXJpdHlPcmln
aW4mLCBXZWJGcmFtZSosIGNvbnN0IFdlYlN0cmluZyYgZGF0YURpciwgdW5zaWduZWQgbG9uZyBs
b25nIG1heGltdW1TaXplKTsKKyAgICB2aXJ0dWFsIHZvaWQgb3Blbihjb25zdCBXZWJTdHJpbmcm
IG5hbWUsIFdlYklEQkNhbGxiYWNrcyosIGNvbnN0IFdlYlNlY3VyaXR5T3JpZ2luJiwgV2ViRnJh
bWUqLCBjb25zdCBXZWJTdHJpbmcmIGRhdGFEaXIsIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWZhdWx0
TWF4aW11bVNpemUpOworCisgICAgdmlydHVhbCB2b2lkIHNldFF1b3RhKGNvbnN0IFdlYlNlY3Vy
aXR5T3JpZ2luJiwgbG9uZyBsb25nIG1heGltdW1TaXplLCBib29sIHBlcnNpc3RlbnQpOwogCiBw
cml2YXRlOgogICAgIFdURjo6UmVmUHRyPFdlYkNvcmU6OklEQkZhY3RvcnlCYWNrZW5kSW50ZXJm
YWNlPiBtX2lkYkZhY3RvcnlCYWNrZW5kOwo=
</data>
<flag name="review"
          id="74180"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="74189"
          type_id="3"
          status="-"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>