<?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>109754</bug_id>
          
          <creation_ts>2013-02-13 15:06:07 -0800</creation_ts>
          <short_desc>Factor TokenPreloadScanner out of HTMLPreloadScanner</short_desc>
          <delta_ts>2013-02-13 16:58:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>106127</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>832396</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-13 15:06:07 -0800</bug_when>
    <thetext>Factor HTMLTokenScanner out of HTMLPreloadScanner</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832399</commentid>
    <comment_count>1</comment_count>
      <attachid>188193</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-13 15:08:44 -0800</bug_when>
    <thetext>Created attachment 188193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832410</commentid>
    <comment_count>2</comment_count>
      <attachid>188193</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-13 15:29:53 -0800</bug_when>
    <thetext>Comment on attachment 188193
Patch

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

I think HTMLTokenScanner is decepitvely unrelated to preloading, but this is a good factoring. :)  the preload scanner clearly needed a bath.

&gt; Source/WebCore/html/parser/HTMLPreloadScanner.cpp:350
&gt; +    // Note: m_token is only used from this function and for the main thread.
&gt; +    // All other functions are passed a token.

This is unrelated now?

&gt; Source/WebCore/html/parser/HTMLPreloadScanner.h:44
&gt; +    explicit HTMLTokenScanner(const KURL&amp; documentURL);

It feels like a TokenPreloadScanner, since it still has something to do with preloading.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832428</commentid>
    <comment_count>3</comment_count>
      <attachid>188193</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-13 15:44:10 -0800</bug_when>
    <thetext>Comment on attachment 188193
Patch

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

&gt;&gt; Source/WebCore/html/parser/HTMLPreloadScanner.cpp:350
&gt;&gt; +    // All other functions are passed a token.
&gt; 
&gt; This is unrelated now?

Yeah.  I&apos;ll remove the comment.

&gt;&gt; Source/WebCore/html/parser/HTMLPreloadScanner.h:44
&gt;&gt; +    explicit HTMLTokenScanner(const KURL&amp; documentURL);
&gt; 
&gt; It feels like a TokenPreloadScanner, since it still has something to do with preloading.

Yes!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832442</commentid>
    <comment_count>4</comment_count>
      <attachid>188205</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-13 15:53:40 -0800</bug_when>
    <thetext>Created attachment 188205
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832535</commentid>
    <comment_count>5</comment_count>
      <attachid>188205</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 16:58:26 -0800</bug_when>
    <thetext>Comment on attachment 188205
Patch for landing

Clearing flags on attachment: 188205

Committed r142822: &lt;http://trac.webkit.org/changeset/142822&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832536</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 16:58:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188193</attachid>
            <date>2013-02-13 15:08:44 -0800</date>
            <delta_ts>2013-02-13 15:53:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109754-20130213150512.patch</filename>
            <type>text/plain</type>
            <size>9484</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjE0N2ViYjg4YmJjM2Fi
NWQ0ZGU4YTM5Y2FkNmNkMTYzOWIxMGM2NC4uZTVkYzA0NDRkNjE2OTJhNzQxMWZlZDk0MDg1NTE5
ZTc1ZTFmYzQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM5IEBACiAyMDEzLTAyLTEzICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgRmFjdG9yIEhUTUxUb2tlblNj
YW5uZXIgb3V0IG9mIEhUTUxQcmVsb2FkU2Nhbm5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NzU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBqdXN0IGEgbWVjaGFuaWNhbCBz
ZXBhcmF0aW9uIG9mIHRoZSBwZXItdG9rZW4gInNjYW5uaW5nIgorICAgICAgICBsb2dpYyBmcm9t
IEhUTUxQcmVsb2FkU2Nhbm5lciBpbnRvIGEgc2VwYXJhdGUgY2xhc3MuCisgICAgICAgIEhUTUxQ
cmVsb2FkU2Nhbm5lcidzIGpvYiBpcyBub3cgdG8ga2VlcCB0cmFjayBvZiB0aGUgaW5wdXQgc3Ry
ZWFtIGFuZAorICAgICAgICB0byBwdW1wIHRoZSB0b2tlbml6ZXIuCisKKyAgICAgICAgVGhpcyBm
YWN0b3JpemF0aW9uIGNsYXNzIHdpbGwgbGV0IHVzIHVzZSBIVE1MVG9rZW5TY2FubmVyIG9uIHRo
ZQorICAgICAgICBiYWNrZ3JvdW5kIHRocmVhZCAob25jZSB3ZSBmaW5pc2ggbWFraW5nIGl0IHRo
cmVhZC1zYWZlKS4gSW4gYSBmb2xsb3cKKyAgICAgICAgdXAgcGF0Y2gsIEknbGwgbW92ZSBIVE1M
VG9rZW5TY2FubmVyIHRvIGl0cyBvd24gZmlsZS4KKworICAgICAgICAqIGh0bWwvcGFyc2VyL0hU
TUxQcmVsb2FkU2Nhbm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5TY2FubmVy
OjpIVE1MVG9rZW5TY2FubmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlblNjYW5uZXI6
On5IVE1MVG9rZW5TY2FubmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlblNjYW5uZXI6
OnByb2Nlc3NQb3NzaWJsZVRlbXBsYXRlVGFnKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tl
blNjYW5uZXI6OnByb2Nlc3NQb3NzaWJsZVN0eWxlVGFnKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUb2tlblNjYW5uZXI6OnByb2Nlc3NQb3NzaWJsZUJhc2VUYWcpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFRva2VuU2Nhbm5lcjo6c2Nhbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUHJlbG9h
ZFNjYW5uZXI6OkhUTUxQcmVsb2FkU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxQcmVsb2FkU2Nhbm5lcjo6fkhUTUxQcmVsb2FkU2Nhbm5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MUHJlbG9hZFNjYW5uZXI6OmFwcGVuZFRvRW5kKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxQcmVsb2FkU2Nhbm5lcjo6c2Nhbik6CisgICAgICAgICogaHRtbC9w
YXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmg6CisgICAgICAgIChIVE1MVG9rZW5TY2FubmVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlblNjYW5uZXI6OnNldFByZWRpY3RlZEJhc2VFbGVt
ZW50VVJMKToKKyAgICAgICAgKEhUTUxQcmVsb2FkU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3Jl
KToKKworMjAxMy0wMi0xMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCiAgICAg
ICAgIFN0YXJ0VGFnU2Nhbm5lciBzaG91bGQgYmUgdGhyZWFkLXNhZmUKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTc1MAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAppbmRleCBkOWY3N2Iy
ODgzMzc2MmQwMDFmMDVmOWNiMzA1YjAwZWEyZTdiNzgxLi45MDgwY2UwYjY2NTA1NWU0ZGQ0M2M3
YmVmNzQwMDg3OGYxOGViYWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKQEAgLTIyOCw0NCArMjI4LDIxIEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBtX2lucHV0SXNJbWFnZTsKIH07CiAKLUhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFBy
ZWxvYWRTY2FubmVyKGNvbnN0IEhUTUxQYXJzZXJPcHRpb25zJiBvcHRpb25zLCBjb25zdCBLVVJM
JiBkb2N1bWVudFVSTCkKLSAgICA6IG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShv
cHRpb25zKSkKK0hUTUxUb2tlblNjYW5uZXI6OkhUTUxUb2tlblNjYW5uZXIoY29uc3QgS1VSTCYg
ZG9jdW1lbnRVUkwpCisgICAgOiBtX2RvY3VtZW50VVJMKGRvY3VtZW50VVJMKQogICAgICwgbV9p
blN0eWxlKGZhbHNlKQotICAgICwgbV9kb2N1bWVudFVSTChkb2N1bWVudFVSTCkKICNpZiBFTkFC
TEUoVEVNUExBVEVfRUxFTUVOVCkKICAgICAsIG1fdGVtcGxhdGVDb3VudCgwKQogI2VuZGlmCiB7
CiB9CiAKLXZvaWQgSFRNTFByZWxvYWRTY2FubmVyOjphcHBlbmRUb0VuZChjb25zdCBTZWdtZW50
ZWRTdHJpbmcmIHNvdXJjZSkKLXsKLSAgICBtX3NvdXJjZS5hcHBlbmQoc291cmNlKTsKLX0KLQot
Ly8gVGhpcyBmdW5jdGlvbiBleGlzdHMgZm9yIGNvbnZlbmllbmNlIG9uIHRoZSBtYWluIHRocmVh
ZCBhbmQgaXMgbm90IHVzZWQgYnkgdGhlIGJhY2tncm91bmQtdGhyZWFkIHByZWxvYWQgc2Nhbm5l
ci4KLXZvaWQgSFRNTFByZWxvYWRTY2FubmVyOjpzY2FuKEhUTUxSZXNvdXJjZVByZWxvYWRlciog
cHJlbG9hZGVyLCBjb25zdCBLVVJMJiBzdGFydGluZ0Jhc2VFbGVtZW50VVJMKQorSFRNTFRva2Vu
U2Nhbm5lcjo6fkhUTUxUb2tlblNjYW5uZXIoKQogewotICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7IC8vIEhUTUxUb2tlbml6ZXI6OnVwZGF0ZVN0YXRlRm9yIG9ubHkgd29ya3Mgb24gdGhlIG1h
aW4gdGhyZWFkLgotICAgIC8vIFdoZW4gd2Ugc3RhcnQgc2Nhbm5pbmcsIG91ciBiZXN0IHByZWRp
Y3Rpb24gb2YgdGhlIGJhc2VFbGVtZW50VVJMIGlzIHRoZSByZWFsIG9uZSEKLSAgICBpZiAoIXN0
YXJ0aW5nQmFzZUVsZW1lbnRVUkwuaXNFbXB0eSgpKQotICAgICAgICBtX3ByZWRpY3RlZEJhc2VF
bGVtZW50VVJMID0gc3RhcnRpbmdCYXNlRWxlbWVudFVSTDsKLQotICAgIFZlY3RvcjxPd25QdHI8
UHJlbG9hZFJlcXVlc3Q+ID4gcmVxdWVzdHM7Ci0gICAgLy8gTm90ZTogbV90b2tlbiBpcyBvbmx5
IHVzZWQgZnJvbSB0aGlzIGZ1bmN0aW9uIGFuZCBmb3IgdGhlIG1haW4gdGhyZWFkLgotICAgIC8v
IEFsbCBvdGhlciBmdW5jdGlvbnMgYXJlIHBhc3NlZCBhIHRva2VuLgotICAgIHdoaWxlIChtX3Rv
a2VuaXplci0+bmV4dFRva2VuKG1fc291cmNlLCBtX3Rva2VuKSkgewotICAgICAgICBpZiAoaXNT
dGFydFRhZyhtX3Rva2VuKSkKLSAgICAgICAgICAgIG1fdG9rZW5pemVyLT51cGRhdGVTdGF0ZUZv
cihBdG9taWNTdHJpbmcobV90b2tlbi5uYW1lKCkpKTsKLSAgICAgICAgcHJvY2Vzc1Rva2VuKG1f
dG9rZW4sIHJlcXVlc3RzKTsKLSAgICAgICAgbV90b2tlbi5jbGVhcigpOwotICAgIH0KLSAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHJlcXVlc3RzLnNpemUoKTsgaSsrKQotICAgICAgICBwcmVs
b2FkZXItPnByZWxvYWQocmVxdWVzdHNbaV0ucmVsZWFzZSgpKTsKIH0KIAogI2lmIEVOQUJMRShU
RU1QTEFURV9FTEVNRU5UKQotYm9vbCBIVE1MUHJlbG9hZFNjYW5uZXI6OnByb2Nlc3NQb3NzaWJs
ZVRlbXBsYXRlVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgY29uc3QgSFRNTFRva2Vu
JiB0b2tlbikKK2Jvb2wgSFRNTFRva2VuU2Nhbm5lcjo6cHJvY2Vzc1Bvc3NpYmxlVGVtcGxhdGVU
YWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lLCBjb25zdCBIVE1MVG9rZW4mIHRva2VuKQog
ewogICAgIGlmIChpc1N0YXJ0T3JFbmRUYWcodG9rZW4pICYmIHRhZ05hbWUgPT0gdGVtcGxhdGVU
YWcpIHsKICAgICAgICAgaWYgKGlzU3RhcnRUYWcodG9rZW4pKQpAQCAtMjc5LDcgKzI1Niw3IEBA
IGJvb2wgSFRNTFByZWxvYWRTY2FubmVyOjpwcm9jZXNzUG9zc2libGVUZW1wbGF0ZVRhZyhjb25z
dCBBdG9taWNTdHJpbmcmIHRhZ05hbWUsCiB9CiAjZW5kaWYKIAotYm9vbCBIVE1MUHJlbG9hZFNj
YW5uZXI6OnByb2Nlc3NQb3NzaWJsZVN0eWxlVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFt
ZSwgY29uc3QgSFRNTFRva2VuJiB0b2tlbikKK2Jvb2wgSFRNTFRva2VuU2Nhbm5lcjo6cHJvY2Vz
c1Bvc3NpYmxlU3R5bGVUYWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lLCBjb25zdCBIVE1M
VG9rZW4mIHRva2VuKQogewogICAgIEFTU0VSVChpc1N0YXJ0T3JFbmRUYWcodG9rZW4pKTsKICAg
ICBpZiAodGFnTmFtZSAhPSBzdHlsZVRhZykKQEAgLTI5Myw3ICsyNzAsNyBAQCBib29sIEhUTUxQ
cmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Bvc3NpYmxlU3R5bGVUYWcoY29uc3QgQXRvbWljU3RyaW5n
JiB0YWdOYW1lLCBjbwogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIEhUTUxQcmVsb2FkU2Nh
bm5lcjo6cHJvY2Vzc1Bvc3NpYmxlQmFzZVRhZyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUs
IGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCitib29sIEhUTUxUb2tlblNjYW5uZXI6OnByb2Nlc3NQ
b3NzaWJsZUJhc2VUYWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lLCBjb25zdCBIVE1MVG9r
ZW4mIHRva2VuKQogewogICAgIEFTU0VSVChpc1N0YXJ0VGFnKHRva2VuKSk7CiAgICAgaWYgKHRh
Z05hbWUgIT0gYmFzZVRhZykKQEAgLTMxNCw3ICsyOTEsNyBAQCBib29sIEhUTUxQcmVsb2FkU2Nh
bm5lcjo6cHJvY2Vzc1Bvc3NpYmxlQmFzZVRhZyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUs
IGNvbgogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIEhUTUxQcmVsb2FkU2Nhbm5lcjo6cHJv
Y2Vzc1Rva2VuKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4sIFZlY3RvcjxPd25QdHI8UHJlbG9hZFJl
cXVlc3Q+ID4mIHJlcXVlc3RzKQordm9pZCBIVE1MVG9rZW5TY2FubmVyOjpzY2FuKGNvbnN0IEhU
TUxUb2tlbiYgdG9rZW4sIFZlY3RvcjxPd25QdHI8UHJlbG9hZFJlcXVlc3Q+ID4mIHJlcXVlc3Rz
KQogewogICAgIC8vIDxzdHlsZT4gaXMgdGhlIG9ubHkgcGxhY2Ugd2Ugc2VhcmNoIGZvciB1cmxz
IGluIG5vbi1zdGFydC9lbmQtdGFnIHRva2Vucy4KICAgICBpZiAobV9pblN0eWxlKSB7CkBAIC0z
MjMsNiArMzAwLDcgQEAgdm9pZCBIVE1MUHJlbG9hZFNjYW5uZXI6OnByb2Nlc3NUb2tlbihjb25z
dCBIVE1MVG9rZW4mIHRva2VuLCBWZWN0b3I8T3duUHRyPFByZWwKICAgICAgICAgY29uc3QgSFRN
TFRva2VuOjpEYXRhVmVjdG9yJiBjaGFyYWN0ZXJzID0gdG9rZW4uY2hhcmFjdGVycygpOwogICAg
ICAgICByZXR1cm4gbV9jc3NTY2FubmVyLnNjYW4oY2hhcmFjdGVycy5iZWdpbigpLCBjaGFyYWN0
ZXJzLmVuZCgpLCByZXF1ZXN0cyk7CiAgICAgfQorCiAgICAgaWYgKCFpc1N0YXJ0T3JFbmRUYWco
dG9rZW4pKQogICAgICAgICByZXR1cm47CiAKQEAgLTM0NSw0ICszMjMsMzkgQEAgdm9pZCBIVE1M
UHJlbG9hZFNjYW5uZXI6OnByb2Nlc3NUb2tlbihjb25zdCBIVE1MVG9rZW4mIHRva2VuLCBWZWN0
b3I8T3duUHRyPFByZWwKICAgICAgICAgcmVxdWVzdHMuYXBwZW5kKHJlcXVlc3QucmVsZWFzZSgp
KTsKIH0KIAorSFRNTFByZWxvYWRTY2FubmVyOjpIVE1MUHJlbG9hZFNjYW5uZXIoY29uc3QgSFRN
TFBhcnNlck9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IEtVUkwmIGRvY3VtZW50VVJMKQorICAgIDog
bV9zY2FubmVyKGRvY3VtZW50VVJMKQorICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6
Y3JlYXRlKG9wdGlvbnMpKQoreworfQorCitIVE1MUHJlbG9hZFNjYW5uZXI6On5IVE1MUHJlbG9h
ZFNjYW5uZXIoKQoreworfQorCit2b2lkIEhUTUxQcmVsb2FkU2Nhbm5lcjo6YXBwZW5kVG9FbmQo
Y29uc3QgU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UpCit7CisgICAgbV9zb3VyY2UuYXBwZW5kKHNv
dXJjZSk7Cit9CisKK3ZvaWQgSFRNTFByZWxvYWRTY2FubmVyOjpzY2FuKEhUTUxSZXNvdXJjZVBy
ZWxvYWRlciogcHJlbG9hZGVyLCBjb25zdCBLVVJMJiBzdGFydGluZ0Jhc2VFbGVtZW50VVJMKQor
eworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7IC8vIEhUTUxUb2tlbml6ZXI6OnVwZGF0ZVN0
YXRlRm9yIG9ubHkgd29ya3Mgb24gdGhlIG1haW4gdGhyZWFkLgorICAgIC8vIFdoZW4gd2Ugc3Rh
cnQgc2Nhbm5pbmcsIG91ciBiZXN0IHByZWRpY3Rpb24gb2YgdGhlIGJhc2VFbGVtZW50VVJMIGlz
IHRoZSByZWFsIG9uZSEKKyAgICBpZiAoIXN0YXJ0aW5nQmFzZUVsZW1lbnRVUkwuaXNFbXB0eSgp
KQorICAgICAgICBtX3NjYW5uZXIuc2V0UHJlZGljdGVkQmFzZUVsZW1lbnRVUkwoc3RhcnRpbmdC
YXNlRWxlbWVudFVSTCk7CisKKyAgICBWZWN0b3I8T3duUHRyPFByZWxvYWRSZXF1ZXN0PiA+IHJl
cXVlc3RzOworICAgIC8vIE5vdGU6IG1fdG9rZW4gaXMgb25seSB1c2VkIGZyb20gdGhpcyBmdW5j
dGlvbiBhbmQgZm9yIHRoZSBtYWluIHRocmVhZC4KKyAgICAvLyBBbGwgb3RoZXIgZnVuY3Rpb25z
IGFyZSBwYXNzZWQgYSB0b2tlbi4KKyAgICB3aGlsZSAobV90b2tlbml6ZXItPm5leHRUb2tlbiht
X3NvdXJjZSwgbV90b2tlbikpIHsKKyAgICAgICAgaWYgKGlzU3RhcnRUYWcobV90b2tlbikpCisg
ICAgICAgICAgICBtX3Rva2VuaXplci0+dXBkYXRlU3RhdGVGb3IoQXRvbWljU3RyaW5nKG1fdG9r
ZW4ubmFtZSgpKSk7CisgICAgICAgIG1fc2Nhbm5lci5zY2FuKG1fdG9rZW4sIHJlcXVlc3RzKTsK
KyAgICAgICAgbV90b2tlbi5jbGVhcigpOworICAgIH0KKyAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHJlcXVlc3RzLnNpemUoKTsgaSsrKQorICAgICAgICBwcmVsb2FkZXItPnByZWxvYWQocmVx
dWVzdHNbaV0ucmVsZWFzZSgpKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAppbmRleCA5MGZmMWM1MDM0NTAzMzAwOWJkMzE5NGMx
MTUwMjgyOTQ4NWM1ZThkLi4yYzMxNmFlNzJhNjFlMDRmNzJiYjIwOWI5NTQxYTAxNmM0ODFjOWI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIu
aApAQCAtMzgsMTggKzM4LDE3IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6
ZXI7CiBjbGFzcyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7
Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFByZWxvYWRTY2FubmVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitjbGFzcyBIVE1MVG9rZW5TY2FubmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIVE1MVG9rZW5TY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6Ci0gICAgLy8gSFRNTFByZWxvYWRTY2FubmVyIGludGVudGlvbmFsbHkgZG9lcyBub3Qg
aGF2ZSBhIHBvaW50ZXIgdG8gRG9jdW1lbnQuCi0gICAgSFRNTFByZWxvYWRTY2FubmVyKGNvbnN0
IEhUTUxQYXJzZXJPcHRpb25zJiwgY29uc3QgS1VSTCYgZG9jdW1lbnRVUkwpOworICAgIGV4cGxp
Y2l0IEhUTUxUb2tlblNjYW5uZXIoY29uc3QgS1VSTCYgZG9jdW1lbnRVUkwpOworICAgIH5IVE1M
VG9rZW5TY2FubmVyKCk7CiAKLSAgICB2b2lkIGFwcGVuZFRvRW5kKGNvbnN0IFNlZ21lbnRlZFN0
cmluZyYpOwotICAgIHZvaWQgc2NhbihIVE1MUmVzb3VyY2VQcmVsb2FkZXIqLCBjb25zdCBLVVJM
JiBkb2N1bWVudEJhc2VFbGVtZW50VVJMKTsKKyAgICB2b2lkIHNjYW4oY29uc3QgSFRNTFRva2Vu
JiwgVmVjdG9yPE93blB0cjxQcmVsb2FkUmVxdWVzdD4gPiYgcmVxdWVzdHMpOwogCi1wcml2YXRl
OgotICAgIHZvaWQgcHJvY2Vzc1Rva2VuKGNvbnN0IEhUTUxUb2tlbiYsIFZlY3RvcjxPd25QdHI8
UHJlbG9hZFJlcXVlc3Q+ID4mIHJlcXVlc3RzKTsKKyAgICB2b2lkIHNldFByZWRpY3RlZEJhc2VF
bGVtZW50VVJMKGNvbnN0IEtVUkwmIHVybCkgeyBtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMID0g
dXJsOyB9CiAKK3ByaXZhdGU6CiAgICAgYm9vbCBwcm9jZXNzU3R5bGVDaGFyYWN0ZXJzKGNvbnN0
IEhUTUxUb2tlbiYpOwogCiAjaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCkBAIC01OSwxOSAr
NTgsMzIgQEAgcHJpdmF0ZToKICAgICBib29sIHByb2Nlc3NQb3NzaWJsZVN0eWxlVGFnKGNvbnN0
IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgY29uc3QgSFRNTFRva2VuJik7CiAgICAgYm9vbCBwcm9j
ZXNzUG9zc2libGVCYXNlVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgY29uc3QgSFRN
TFRva2VuJik7CiAKLSAgICBTZWdtZW50ZWRTdHJpbmcgbV9zb3VyY2U7CiAgICAgQ1NTUHJlbG9h
ZFNjYW5uZXIgbV9jc3NTY2FubmVyOwotICAgIEhUTUxUb2tlbiBtX3Rva2VuOwotICAgIE93blB0
cjxIVE1MVG9rZW5pemVyPiBtX3Rva2VuaXplcjsKLSAgICBib29sIG1faW5TdHlsZTsKICAgICBL
VVJMIG1fZG9jdW1lbnRVUkw7CiAgICAgS1VSTCBtX3ByZWRpY3RlZEJhc2VFbGVtZW50VVJMOwor
ICAgIGJvb2wgbV9pblN0eWxlOwogCiAjaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCiAgICAg
c2l6ZV90IG1fdGVtcGxhdGVDb3VudDsKICNlbmRpZgogfTsKIAorY2xhc3MgSFRNTFByZWxvYWRT
Y2FubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUHJlbG9hZFNjYW5uZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBIVE1MUHJlbG9hZFNjYW5uZXIo
Y29uc3QgSFRNTFBhcnNlck9wdGlvbnMmLCBjb25zdCBLVVJMJiBkb2N1bWVudFVSTCk7CisgICAg
fkhUTUxQcmVsb2FkU2Nhbm5lcigpOworCisgICAgdm9pZCBhcHBlbmRUb0VuZChjb25zdCBTZWdt
ZW50ZWRTdHJpbmcmKTsKKyAgICB2b2lkIHNjYW4oSFRNTFJlc291cmNlUHJlbG9hZGVyKiwgY29u
c3QgS1VSTCYgZG9jdW1lbnRCYXNlRWxlbWVudFVSTCk7CisKK3ByaXZhdGU6CisgICAgSFRNTFRv
a2VuU2Nhbm5lciBtX3NjYW5uZXI7CisgICAgU2VnbWVudGVkU3RyaW5nIG1fc291cmNlOworICAg
IEhUTUxUb2tlbiBtX3Rva2VuOworICAgIE93blB0cjxIVE1MVG9rZW5pemVyPiBtX3Rva2VuaXpl
cjsKK307CisKIH0KIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188205</attachid>
            <date>2013-02-13 15:53:40 -0800</date>
            <delta_ts>2013-02-13 16:58:26 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-109754-20130213155009.patch</filename>
            <type>text/plain</type>
            <size>9023</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0MjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAyLTEzICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRmFjdG9yIEhUTUxUb2tlblNjYW5u
ZXIgb3V0IG9mIEhUTUxQcmVsb2FkU2Nhbm5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NzU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBT
ZWlkZWwuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBqdXN0IGEgbWVjaGFuaWNhbCBzZXBhcmF0
aW9uIG9mIHRoZSBwZXItdG9rZW4gInNjYW5uaW5nIgorICAgICAgICBsb2dpYyBmcm9tIEhUTUxQ
cmVsb2FkU2Nhbm5lciBpbnRvIGEgc2VwYXJhdGUgY2xhc3MuCisgICAgICAgIEhUTUxQcmVsb2Fk
U2Nhbm5lcidzIGpvYiBpcyBub3cgdG8ga2VlcCB0cmFjayBvZiB0aGUgaW5wdXQgc3RyZWFtIGFu
ZAorICAgICAgICB0byBwdW1wIHRoZSB0b2tlbml6ZXIuCisKKyAgICAgICAgVGhpcyBmYWN0b3Jp
emF0aW9uIGNsYXNzIHdpbGwgbGV0IHVzIHVzZSBIVE1MVG9rZW5TY2FubmVyIG9uIHRoZQorICAg
ICAgICBiYWNrZ3JvdW5kIHRocmVhZCAob25jZSB3ZSBmaW5pc2ggbWFraW5nIGl0IHRocmVhZC1z
YWZlKS4gSW4gYSBmb2xsb3cKKyAgICAgICAgdXAgcGF0Y2gsIEknbGwgbW92ZSBIVE1MVG9rZW5T
Y2FubmVyIHRvIGl0cyBvd24gZmlsZS4KKworICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQcmVs
b2FkU2Nhbm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5TY2FubmVyOjpIVE1M
VG9rZW5TY2FubmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlblNjYW5uZXI6On5IVE1M
VG9rZW5TY2FubmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlblNjYW5uZXI6OnByb2Nl
c3NQb3NzaWJsZVRlbXBsYXRlVGFnKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlblNjYW5u
ZXI6OnByb2Nlc3NQb3NzaWJsZVN0eWxlVGFnKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tl
blNjYW5uZXI6OnByb2Nlc3NQb3NzaWJsZUJhc2VUYWcpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRva2VuU2Nhbm5lcjo6c2Nhbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUHJlbG9hZFNjYW5u
ZXI6OkhUTUxQcmVsb2FkU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxQcmVsb2FkU2Nhbm5lcjo6fkhUTUxQcmVsb2FkU2Nhbm5lcik6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MUHJlbG9hZFNjYW5uZXI6OmFwcGVuZFRvRW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxQcmVsb2FkU2Nhbm5lcjo6c2Nhbik6CisgICAgICAgICogaHRtbC9wYXJzZXIv
SFRNTFByZWxvYWRTY2FubmVyLmg6CisgICAgICAgIChIVE1MVG9rZW5TY2FubmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxUb2tlblNjYW5uZXI6OnNldFByZWRpY3RlZEJhc2VFbGVtZW50VVJM
KToKKyAgICAgICAgKEhUTUxQcmVsb2FkU2Nhbm5lcik6CisgICAgICAgIChXZWJDb3JlKToKKwog
MjAxMy0wMi0xMyAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEFTU0VSVElPTiBGQUlMRUQ6ICFvYmplY3QgfHwgb2JqZWN0LT5pc0JveCgpLCBCYWQgY2Fz
dCBpbiBSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAJKHJldmlzaW9uIDE0
MjgxNikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE5MSw0NCArMTkxLDIxIEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2lucHV0SXNJbWFnZTsKIH07CiAKLUhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRT
Y2FubmVyKGNvbnN0IEhUTUxQYXJzZXJPcHRpb25zJiBvcHRpb25zLCBjb25zdCBLVVJMJiBkb2N1
bWVudFVSTCkKLSAgICA6IG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShvcHRpb25z
KSkKK1Rva2VuUHJlbG9hZFNjYW5uZXI6OlRva2VuUHJlbG9hZFNjYW5uZXIoY29uc3QgS1VSTCYg
ZG9jdW1lbnRVUkwpCisgICAgOiBtX2RvY3VtZW50VVJMKGRvY3VtZW50VVJMKQogICAgICwgbV9p
blN0eWxlKGZhbHNlKQotICAgICwgbV9kb2N1bWVudFVSTChkb2N1bWVudFVSTCkKICNpZiBFTkFC
TEUoVEVNUExBVEVfRUxFTUVOVCkKICAgICAsIG1fdGVtcGxhdGVDb3VudCgwKQogI2VuZGlmCiB7
CiB9CiAKLXZvaWQgSFRNTFByZWxvYWRTY2FubmVyOjphcHBlbmRUb0VuZChjb25zdCBTZWdtZW50
ZWRTdHJpbmcmIHNvdXJjZSkKK1Rva2VuUHJlbG9hZFNjYW5uZXI6On5Ub2tlblByZWxvYWRTY2Fu
bmVyKCkKIHsKLSAgICBtX3NvdXJjZS5hcHBlbmQoc291cmNlKTsKLX0KLQotLy8gVGhpcyBmdW5j
dGlvbiBleGlzdHMgZm9yIGNvbnZlbmllbmNlIG9uIHRoZSBtYWluIHRocmVhZCBhbmQgaXMgbm90
IHVzZWQgYnkgdGhlIGJhY2tncm91bmQtdGhyZWFkIHByZWxvYWQgc2Nhbm5lci4KLXZvaWQgSFRN
TFByZWxvYWRTY2FubmVyOjpzY2FuKEhUTUxSZXNvdXJjZVByZWxvYWRlciogcHJlbG9hZGVyLCBj
b25zdCBLVVJMJiBzdGFydGluZ0Jhc2VFbGVtZW50VVJMKQotewotICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7IC8vIEhUTUxUb2tlbml6ZXI6OnVwZGF0ZVN0YXRlRm9yIG9ubHkgd29ya3Mgb24g
dGhlIG1haW4gdGhyZWFkLgotICAgIC8vIFdoZW4gd2Ugc3RhcnQgc2Nhbm5pbmcsIG91ciBiZXN0
IHByZWRpY3Rpb24gb2YgdGhlIGJhc2VFbGVtZW50VVJMIGlzIHRoZSByZWFsIG9uZSEKLSAgICBp
ZiAoIXN0YXJ0aW5nQmFzZUVsZW1lbnRVUkwuaXNFbXB0eSgpKQotICAgICAgICBtX3ByZWRpY3Rl
ZEJhc2VFbGVtZW50VVJMID0gc3RhcnRpbmdCYXNlRWxlbWVudFVSTDsKLQotICAgIFZlY3RvcjxP
d25QdHI8UHJlbG9hZFJlcXVlc3Q+ID4gcmVxdWVzdHM7Ci0gICAgLy8gTm90ZTogbV90b2tlbiBp
cyBvbmx5IHVzZWQgZnJvbSB0aGlzIGZ1bmN0aW9uIGFuZCBmb3IgdGhlIG1haW4gdGhyZWFkLgot
ICAgIC8vIEFsbCBvdGhlciBmdW5jdGlvbnMgYXJlIHBhc3NlZCBhIHRva2VuLgotICAgIHdoaWxl
IChtX3Rva2VuaXplci0+bmV4dFRva2VuKG1fc291cmNlLCBtX3Rva2VuKSkgewotICAgICAgICBp
ZiAoaXNTdGFydFRhZyhtX3Rva2VuKSkKLSAgICAgICAgICAgIG1fdG9rZW5pemVyLT51cGRhdGVT
dGF0ZUZvcihBdG9taWNTdHJpbmcobV90b2tlbi5uYW1lKCkpKTsKLSAgICAgICAgcHJvY2Vzc1Rv
a2VuKG1fdG9rZW4sIHJlcXVlc3RzKTsKLSAgICAgICAgbV90b2tlbi5jbGVhcigpOwotICAgIH0K
LSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJlcXVlc3RzLnNpemUoKTsgaSsrKQotICAgICAg
ICBwcmVsb2FkZXItPnByZWxvYWQocmVxdWVzdHNbaV0ucmVsZWFzZSgpKTsKIH0KIAogI2lmIEVO
QUJMRShURU1QTEFURV9FTEVNRU5UKQotYm9vbCBIVE1MUHJlbG9hZFNjYW5uZXI6OnByb2Nlc3NQ
b3NzaWJsZVRlbXBsYXRlVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgY29uc3QgSFRN
TFRva2VuJiB0b2tlbikKK2Jvb2wgVG9rZW5QcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Bvc3NpYmxl
VGVtcGxhdGVUYWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lLCBjb25zdCBIVE1MVG9rZW4m
IHRva2VuKQogewogICAgIGlmIChpc1N0YXJ0T3JFbmRUYWcodG9rZW4pICYmIHRhZ05hbWUgPT0g
dGVtcGxhdGVUYWcpIHsKICAgICAgICAgaWYgKGlzU3RhcnRUYWcodG9rZW4pKQpAQCAtMjQyLDcg
KzIxOSw3IEBAIGJvb2wgSFRNTFByZWxvYWRTY2FubmVyOjpwcm9jZXNzUG9zc2libGUKIH0KICNl
bmRpZgogCi1ib29sIEhUTUxQcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Bvc3NpYmxlU3R5bGVUYWco
Y29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lLCBjb25zdCBIVE1MVG9rZW4mIHRva2VuKQorYm9v
bCBUb2tlblByZWxvYWRTY2FubmVyOjpwcm9jZXNzUG9zc2libGVTdHlsZVRhZyhjb25zdCBBdG9t
aWNTdHJpbmcmIHRhZ05hbWUsIGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4pCiB7CiAgICAgQVNTRVJU
KGlzU3RhcnRPckVuZFRhZyh0b2tlbikpOwogICAgIGlmICh0YWdOYW1lICE9IHN0eWxlVGFnKQpA
QCAtMjU2LDcgKzIzMyw3IEBAIGJvb2wgSFRNTFByZWxvYWRTY2FubmVyOjpwcm9jZXNzUG9zc2li
bGUKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBIVE1MUHJlbG9hZFNjYW5uZXI6OnByb2Nl
c3NQb3NzaWJsZUJhc2VUYWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lLCBjb25zdCBIVE1M
VG9rZW4mIHRva2VuKQorYm9vbCBUb2tlblByZWxvYWRTY2FubmVyOjpwcm9jZXNzUG9zc2libGVC
YXNlVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSwgY29uc3QgSFRNTFRva2VuJiB0b2tl
bikKIHsKICAgICBBU1NFUlQoaXNTdGFydFRhZyh0b2tlbikpOwogICAgIGlmICh0YWdOYW1lICE9
IGJhc2VUYWcpCkBAIC0yNzcsNyArMjU0LDcgQEAgYm9vbCBIVE1MUHJlbG9hZFNjYW5uZXI6OnBy
b2Nlc3NQb3NzaWJsZQogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIEhUTUxQcmVsb2FkU2Nh
bm5lcjo6cHJvY2Vzc1Rva2VuKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4sIFZlY3RvcjxPd25QdHI8
UHJlbG9hZFJlcXVlc3Q+ID4mIHJlcXVlc3RzKQordm9pZCBUb2tlblByZWxvYWRTY2FubmVyOjpz
Y2FuKGNvbnN0IEhUTUxUb2tlbiYgdG9rZW4sIFZlY3RvcjxPd25QdHI8UHJlbG9hZFJlcXVlc3Q+
ID4mIHJlcXVlc3RzKQogewogICAgIC8vIDxzdHlsZT4gaXMgdGhlIG9ubHkgcGxhY2Ugd2Ugc2Vh
cmNoIGZvciB1cmxzIGluIG5vbi1zdGFydC9lbmQtdGFnIHRva2Vucy4KICAgICBpZiAobV9pblN0
eWxlKSB7CkBAIC0yODYsNiArMjYzLDcgQEAgdm9pZCBIVE1MUHJlbG9hZFNjYW5uZXI6OnByb2Nl
c3NUb2tlbihjbwogICAgICAgICBjb25zdCBIVE1MVG9rZW46OkRhdGFWZWN0b3ImIGNoYXJhY3Rl
cnMgPSB0b2tlbi5jaGFyYWN0ZXJzKCk7CiAgICAgICAgIHJldHVybiBtX2Nzc1NjYW5uZXIuc2Nh
bihjaGFyYWN0ZXJzLmJlZ2luKCksIGNoYXJhY3RlcnMuZW5kKCksIHJlcXVlc3RzKTsKICAgICB9
CisKICAgICBpZiAoIWlzU3RhcnRPckVuZFRhZyh0b2tlbikpCiAgICAgICAgIHJldHVybjsKIApA
QCAtMzA3LDQgKzI4NSwzOCBAQCB2b2lkIEhUTUxQcmVsb2FkU2Nhbm5lcjo6cHJvY2Vzc1Rva2Vu
KGNvCiAgICAgICAgIHJlcXVlc3RzLmFwcGVuZChyZXF1ZXN0LnJlbGVhc2UoKSk7CiB9CiAKK0hU
TUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRTY2FubmVyKGNvbnN0IEhUTUxQYXJzZXJPcHRp
b25zJiBvcHRpb25zLCBjb25zdCBLVVJMJiBkb2N1bWVudFVSTCkKKyAgICA6IG1fc2Nhbm5lcihk
b2N1bWVudFVSTCkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShvcHRp
b25zKSkKK3sKK30KKworSFRNTFByZWxvYWRTY2FubmVyOjp+SFRNTFByZWxvYWRTY2FubmVyKCkK
K3sKK30KKwordm9pZCBIVE1MUHJlbG9hZFNjYW5uZXI6OmFwcGVuZFRvRW5kKGNvbnN0IFNlZ21l
bnRlZFN0cmluZyYgc291cmNlKQoreworICAgIG1fc291cmNlLmFwcGVuZChzb3VyY2UpOworfQor
Cit2b2lkIEhUTUxQcmVsb2FkU2Nhbm5lcjo6c2NhbihIVE1MUmVzb3VyY2VQcmVsb2FkZXIqIHBy
ZWxvYWRlciwgY29uc3QgS1VSTCYgc3RhcnRpbmdCYXNlRWxlbWVudFVSTCkKK3sKKyAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOyAvLyBIVE1MVG9rZW5pemVyOjp1cGRhdGVTdGF0ZUZvciBvbmx5
IHdvcmtzIG9uIHRoZSBtYWluIHRocmVhZC4KKworICAgIC8vIFdoZW4gd2Ugc3RhcnQgc2Nhbm5p
bmcsIG91ciBiZXN0IHByZWRpY3Rpb24gb2YgdGhlIGJhc2VFbGVtZW50VVJMIGlzIHRoZSByZWFs
IG9uZSEKKyAgICBpZiAoIXN0YXJ0aW5nQmFzZUVsZW1lbnRVUkwuaXNFbXB0eSgpKQorICAgICAg
ICBtX3NjYW5uZXIuc2V0UHJlZGljdGVkQmFzZUVsZW1lbnRVUkwoc3RhcnRpbmdCYXNlRWxlbWVu
dFVSTCk7CisKKyAgICBWZWN0b3I8T3duUHRyPFByZWxvYWRSZXF1ZXN0PiA+IHJlcXVlc3RzOwor
ICAgIHdoaWxlIChtX3Rva2VuaXplci0+bmV4dFRva2VuKG1fc291cmNlLCBtX3Rva2VuKSkgewor
ICAgICAgICBpZiAoaXNTdGFydFRhZyhtX3Rva2VuKSkKKyAgICAgICAgICAgIG1fdG9rZW5pemVy
LT51cGRhdGVTdGF0ZUZvcihBdG9taWNTdHJpbmcobV90b2tlbi5uYW1lKCkpKTsKKyAgICAgICAg
bV9zY2FubmVyLnNjYW4obV90b2tlbiwgcmVxdWVzdHMpOworICAgICAgICBtX3Rva2VuLmNsZWFy
KCk7CisgICAgfQorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVxdWVzdHMuc2l6ZSgpOyBp
KyspCisgICAgICAgIHByZWxvYWRlci0+cHJlbG9hZChyZXF1ZXN0c1tpXS5yZWxlYXNlKCkpOwor
fQorCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaAkocmV2aXNpb24gMTQyODE2KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFByZWxvYWRTY2FubmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDE4ICszOCwxNyBA
QCBjbGFzcyBIVE1MVG9rZW47CiBjbGFzcyBIVE1MVG9rZW5pemVyOwogY2xhc3MgU2VnbWVudGVk
U3RyaW5nOwogCi1jbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgewotICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworY2xh
c3MgVG9rZW5QcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVG9rZW5Q
cmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIC8v
IEhUTUxQcmVsb2FkU2Nhbm5lciBpbnRlbnRpb25hbGx5IGRvZXMgbm90IGhhdmUgYSBwb2ludGVy
IHRvIERvY3VtZW50LgotICAgIEhUTUxQcmVsb2FkU2Nhbm5lcihjb25zdCBIVE1MUGFyc2VyT3B0
aW9ucyYsIGNvbnN0IEtVUkwmIGRvY3VtZW50VVJMKTsKKyAgICBleHBsaWNpdCBUb2tlblByZWxv
YWRTY2FubmVyKGNvbnN0IEtVUkwmIGRvY3VtZW50VVJMKTsKKyAgICB+VG9rZW5QcmVsb2FkU2Nh
bm5lcigpOwogCi0gICAgdm9pZCBhcHBlbmRUb0VuZChjb25zdCBTZWdtZW50ZWRTdHJpbmcmKTsK
LSAgICB2b2lkIHNjYW4oSFRNTFJlc291cmNlUHJlbG9hZGVyKiwgY29uc3QgS1VSTCYgZG9jdW1l
bnRCYXNlRWxlbWVudFVSTCk7CisgICAgdm9pZCBzY2FuKGNvbnN0IEhUTUxUb2tlbiYsIFZlY3Rv
cjxPd25QdHI8UHJlbG9hZFJlcXVlc3Q+ID4mIHJlcXVlc3RzKTsKIAotcHJpdmF0ZToKLSAgICB2
b2lkIHByb2Nlc3NUb2tlbihjb25zdCBIVE1MVG9rZW4mLCBWZWN0b3I8T3duUHRyPFByZWxvYWRS
ZXF1ZXN0PiA+JiByZXF1ZXN0cyk7CisgICAgdm9pZCBzZXRQcmVkaWN0ZWRCYXNlRWxlbWVudFVS
TChjb25zdCBLVVJMJiB1cmwpIHsgbV9wcmVkaWN0ZWRCYXNlRWxlbWVudFVSTCA9IHVybDsgfQog
Citwcml2YXRlOgogICAgIGJvb2wgcHJvY2Vzc1N0eWxlQ2hhcmFjdGVycyhjb25zdCBIVE1MVG9r
ZW4mKTsKIAogI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQpAQCAtNTksMTkgKzU4LDMyIEBA
IHByaXZhdGU6CiAgICAgYm9vbCBwcm9jZXNzUG9zc2libGVTdHlsZVRhZyhjb25zdCBBdG9taWNT
dHJpbmcmIHRhZ05hbWUsIGNvbnN0IEhUTUxUb2tlbiYpOwogICAgIGJvb2wgcHJvY2Vzc1Bvc3Np
YmxlQmFzZVRhZyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUsIGNvbnN0IEhUTUxUb2tlbiYp
OwogCi0gICAgU2VnbWVudGVkU3RyaW5nIG1fc291cmNlOwogICAgIENTU1ByZWxvYWRTY2FubmVy
IG1fY3NzU2Nhbm5lcjsKLSAgICBIVE1MVG9rZW4gbV90b2tlbjsKLSAgICBPd25QdHI8SFRNTFRv
a2VuaXplcj4gbV90b2tlbml6ZXI7Ci0gICAgYm9vbCBtX2luU3R5bGU7CiAgICAgS1VSTCBtX2Rv
Y3VtZW50VVJMOwogICAgIEtVUkwgbV9wcmVkaWN0ZWRCYXNlRWxlbWVudFVSTDsKKyAgICBib29s
IG1faW5TdHlsZTsKIAogI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQogICAgIHNpemVfdCBt
X3RlbXBsYXRlQ291bnQ7CiAjZW5kaWYKIH07CiAKK2NsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFByZWxvYWRTY2FubmVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgSFRNTFByZWxvYWRTY2FubmVyKGNvbnN0IEhU
TUxQYXJzZXJPcHRpb25zJiwgY29uc3QgS1VSTCYgZG9jdW1lbnRVUkwpOworICAgIH5IVE1MUHJl
bG9hZFNjYW5uZXIoKTsKKworICAgIHZvaWQgYXBwZW5kVG9FbmQoY29uc3QgU2VnbWVudGVkU3Ry
aW5nJik7CisgICAgdm9pZCBzY2FuKEhUTUxSZXNvdXJjZVByZWxvYWRlciosIGNvbnN0IEtVUkwm
IGRvY3VtZW50QmFzZUVsZW1lbnRVUkwpOworCitwcml2YXRlOgorICAgIFRva2VuUHJlbG9hZFNj
YW5uZXIgbV9zY2FubmVyOworICAgIFNlZ21lbnRlZFN0cmluZyBtX3NvdXJjZTsKKyAgICBIVE1M
VG9rZW4gbV90b2tlbjsKKyAgICBPd25QdHI8SFRNTFRva2VuaXplcj4gbV90b2tlbml6ZXI7Cit9
OworCiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>