<?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>164629</bug_id>
          
          <creation_ts>2016-11-10 21:08:50 -0800</creation_ts>
          <short_desc>RenderObject::flowThreadState should follow containing block instead of parent.</short_desc>
          <delta_ts>2016-11-12 19:12:04 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>hyatt</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1250148</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2016-11-10 21:08:50 -0800</bug_when>
    <thetext>Column boxes act as the containing block for their content. That is, column boxes behave like block-level, table cell, and inline-block boxes as per CSS 2.1, section 10.1, item 2 [CSS21]. However, column boxes do not establish containing blocks for elements with ‘position: fixed’ or ‘position: absolute’.
https://www.w3.org/TR/css3-multicol/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250149</commentid>
    <comment_count>1</comment_count>
      <attachid>294469</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-11-10 21:11:26 -0800</bug_when>
    <thetext>Created attachment 294469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250150</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2016-11-10 21:11:48 -0800</bug_when>
    <thetext>^^WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250239</commentid>
    <comment_count>3</comment_count>
      <attachid>294497</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-11-11 08:20:08 -0800</bug_when>
    <thetext>Created attachment 294497
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250593</commentid>
    <comment_count>4</comment_count>
      <attachid>294590</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-11-11 20:47:09 -0800</bug_when>
    <thetext>Created attachment 294590
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250681</commentid>
    <comment_count>5</comment_count>
      <attachid>294590</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-12 10:39:31 -0800</bug_when>
    <thetext>Comment on attachment 294590
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        try to handle this seemingly defective state gracefully (that is flag indicates &quot;inside the flow thread&quot; state,

&quot;that is flag indicates&quot;: hard to parse. Do you mean &quot;that is, the flag indicates&quot;, or &quot;that the flag indicates&quot;?

&gt; Source/WebCore/rendering/RenderElement.cpp:2198
&gt; +    for (auto&amp; descendant : descendantsOfType&lt;RenderObject&gt;(*this))

Is there a more elegant way to say descendantsOfType&lt;RenderObject&gt; (i.e. all descendants)?

&gt; Source/WebCore/rendering/RenderElement.cpp:2199
&gt; +        descendant.setFlowThreadState(RenderObject::computedFlowThreadState(descendant));

Why can&apos;t setFlowThreadState() contain the code for (or call) computedFlowThreadState(), since you always pass the same renderer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250714</commentid>
    <comment_count>6</comment_count>
      <attachid>294629</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-11-12 14:03:41 -0800</bug_when>
    <thetext>Created attachment 294629
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250715</commentid>
    <comment_count>7</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2016-11-12 14:04:59 -0800</bug_when>
    <thetext>&gt; &gt; Source/WebCore/rendering/RenderElement.cpp:2199
&gt; &gt; +        descendant.setFlowThreadState(RenderObject::computedFlowThreadState(descendant));
&gt; 
&gt; Why can&apos;t setFlowThreadState() contain the code for (or call)
&gt; computedFlowThreadState(), since you always pass the same renderer?
setFlowThreadState() has many callsites where we just pass an enum value in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250765</commentid>
    <comment_count>8</comment_count>
      <attachid>294629</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-12 19:11:59 -0800</bug_when>
    <thetext>Comment on attachment 294629
Patch

Clearing flags on attachment: 294629

Committed r208661: &lt;http://trac.webkit.org/changeset/208661&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250766</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-12 19:12:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294469</attachid>
            <date>2016-11-10 21:11:26 -0800</date>
            <delta_ts>2016-11-11 08:20:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164629-20161110210713.patch</filename>
            <type>text/plain</type>
            <size>6607</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjJkOTgwZmFhMzRmZDc1
YTliY2Y2MDljMGZkNDhjZTdkMWRkYmE0YS4uYzM5ZWFlMzlmYThmNjcyOWFlYzFjMzQzM2U0ZjBk
YTgwMDQ2YTY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2LTExLTEwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuZGVyT2JqZWN0OjpmbG93
VGhyZWFkU3RhdGUgc2hvdWxkIGZvbGxvdyBjb250YWluaW5nIGJsb2NrIGluc3RlYWQgb2YgcGFy
ZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0
NjI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQ
IHBhdGNoLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrOjpzdHlsZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6cmVzZXRGbG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cyk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aW5z
ZXJ0Q2hpbGRJbnRlcm5hbCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFkanVzdEZsb3dUaHJlYWRTdGF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmluaXRpYWxpemVGbG93VGhyZWFkU3Rh
dGVPbkluc2VydGlvbik6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorCiAyMDE2LTExLTEwICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjA3MTgyKTogW2lPU10gQ3Jhc2ggYmVjYXVz
ZSBvZiBwYXNzaW5nIGZyZWVkIENGRGljdGlvbmFyeVJlZiB0byBDRyB3aGVuIGRlY29kaW5nIGEg
c3ViLXNhbXBsZWQgbGFyZ2UgaW1hZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCmluZGV4IDE2NzE5YTYxYWRlYmJhZjZhNTBjMTgyNGVjODA0ZTIyMjg2MmViMTguLjBi
NWMyOTJmN2M5ZWU2NjA5ZGY2YjAzNzYwNjlkZmU5YmM3N2ZmNzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIlJl
bmRlckNoaWxkSXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJDb21iaW5lVGV4dC5oIgogI2lu
Y2x1ZGUgIlJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5oIgorI2luY2x1ZGUgIlJlbmRlckRl
c2NlbmRhbnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlckZsZXhpYmxlQm94LmgiCiAjaW5j
bHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIKQEAgLTQy
OSw2ICs0MzAsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZl
cmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eQogICAgIGJvb2wgZmxvd1RocmVh
ZENvbnRhaW5pbmdCbG9ja0ludmFsaWRhdGVkID0gZmFsc2U7CiAgICAgaWYgKG9sZFN0eWxlICYm
IG9sZFN0eWxlLT5wb3NpdGlvbigpICE9IG5ld1N0eWxlLnBvc2l0aW9uKCkpIHsKICAgICAgICAg
aW52YWxpZGF0ZUZsb3dUaHJlYWRDb250YWluaW5nQmxvY2tJbmNsdWRpbmdEZXNjZW5kYW50cygp
OworICAgICAgICBpZiAocGFyZW50KCkpCisgICAgICAgICAgICByZXNldEZsb3dUaHJlYWRTdGF0
ZUluY2x1ZGluZ0Rlc2NlbmRhbnRzKCk7CiAgICAgICAgIGZsb3dUaHJlYWRDb250YWluaW5nQmxv
Y2tJbnZhbGlkYXRlZCA9IHRydWU7CiAgICAgfQogCkBAIC00MzYsNiArNDM5LDkgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJl
bmRlclN0eWxlKiBvbGRTdHkKIAogICAgIGlmIChoYWRUcmFuc2Zvcm0gIT0gaGFzVHJhbnNmb3Jt
KCkgJiYgIWZsb3dUaHJlYWRDb250YWluaW5nQmxvY2tJbnZhbGlkYXRlZCkKICAgICAgICAgaW52
YWxpZGF0ZUZsb3dUaHJlYWRDb250YWluaW5nQmxvY2tJbmNsdWRpbmdEZXNjZW5kYW50cygpOwor
ICAgICAgICBpZiAocGFyZW50KCkpCisgICAgICAgICAgICByZXNldEZsb3dUaHJlYWRTdGF0ZUlu
Y2x1ZGluZ0Rlc2NlbmRhbnRzKCk7CisgICAgfQogCiAgICAgaWYgKCFpc0Fub255bW91c0Jsb2Nr
KCkpIHsKICAgICAgICAgLy8gRW5zdXJlIHRoYXQgYWxsIG9mIG91ciBjb250aW51YXRpb24gYmxv
Y2tzIHBpY2sgdXAgdGhlIG5ldyBzdHlsZS4KQEAgLTMzNzcsNiArMzM4MywxNiBAQCBSZW5kZXJG
bG93VGhyZWFkKiBSZW5kZXJCbG9jazo6bG9jYXRlRmxvd1RocmVhZENvbnRhaW5pbmdCbG9jaygp
IGNvbnN0CiAgICAgcmV0dXJuIHJhcmVEYXRhLT5tX2Zsb3dUaHJlYWRDb250YWluaW5nQmxvY2su
dmFsdWUoKTsKIH0KIAordm9pZCBSZW5kZXJCbG9jazo6cmVzZXRGbG93VGhyZWFkU3RhdGVJbmNs
dWRpbmdEZXNjZW5kYW50cygpCit7CisgICAgaWYgKGZsb3dUaHJlYWRTdGF0ZSgpID09IE5vdElu
c2lkZUZsb3dUaHJlYWQpCisgICAgICAgIHJldHVybjsKKworICAgIGFkanVzdEZsb3dUaHJlYWRT
dGF0ZSgpOworICAgIGZvciAoYXV0byYgZGVzY2VuZGFudCA6IGRlc2NlbmRhbnRzT2ZUeXBlPFJl
bmRlckVsZW1lbnQ+KCp0aGlzKSkKKyAgICAgICAgZGVzY2VuZGFudC5hZGp1c3RGbG93VGhyZWFk
U3RhdGUoKTsKK30KKwogdm9pZCBSZW5kZXJCbG9jazo6aW52YWxpZGF0ZUZsb3dUaHJlYWRDb250
YWluaW5nQmxvY2tJbmNsdWRpbmdEZXNjZW5kYW50cygpCiB7CiAgICAgaWYgKGZsb3dUaHJlYWRT
dGF0ZSgpID09IE5vdEluc2lkZUZsb3dUaHJlYWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5oCmluZGV4IDlhNWZhZWM1Y2MyNGY2NmU1NGZjYmQ1NzNkMjZiNmYxZTJhZmU0ODcu
LjAzZWEyMWNhMTY2NGZlOTNiNGU0NTliYTdmMmFiMGNiYjM3NjAwNzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0zMDgsNiArMzA4LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0Q2FjaGVkRmxvd1RocmVhZENvbnRhaW5pbmdCbG9ja05lZWRzVXBkYXRlKCk7CiAg
ICAgdmlydHVhbCBib29sIGNhY2hlZEZsb3dUaHJlYWRDb250YWluaW5nQmxvY2tOZWVkc1VwZGF0
ZSgpIGNvbnN0OwogICAgIHZvaWQgaW52YWxpZGF0ZUZsb3dUaHJlYWRDb250YWluaW5nQmxvY2tJ
bmNsdWRpbmdEZXNjZW5kYW50cygpOworICAgIHZvaWQgcmVzZXRGbG93VGhyZWFkU3RhdGVJbmNs
dWRpbmdEZXNjZW5kYW50cygpOwogCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyRmxvd1RocmVhZCog
bG9jYXRlRmxvd1RocmVhZENvbnRhaW5pbmdCbG9jaygpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IGIxMjcyMjc4OTQzZTRl
MzBlOTlhZDE2YzU4MTJkOGMyYTYyY2I0NjAuLmFmMzEwOWJiMzBjYjc2ZjdlNjQ5NTJlMWE1YjNi
NDI0ZTk3NWIyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHAKQEAgLTU1Myw3ICs1NTMsNyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50
ZXJuYWwoUmVuZGVyT2JqZWN0KiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZQogICAgICAgICBt
X2xhc3RDaGlsZCA9IG5ld0NoaWxkOwogICAgIH0KIAotICAgIG5ld0NoaWxkLT5pbml0aWFsaXpl
Rmxvd1RocmVhZFN0YXRlT25JbnNlcnRpb24oKTsKKyAgICBuZXdDaGlsZC0+YWRqdXN0Rmxvd1Ro
cmVhZFN0YXRlKCk7CiAgICAgaWYgKCFkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpIHsKICAgICAg
ICAgaWYgKG5vdGlmeUNoaWxkcmVuID09IE5vdGlmeUNoaWxkcmVuKQogICAgICAgICAgICAgbmV3
Q2hpbGQtPmluc2VydGVkSW50b1RyZWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKaW5kZXggZWM5YzU1NWMyMGZlOTFjMzgwNDMzMTRmMzlhMDg3Njk5NjM4NDU1
Yy4uMTNlNGYzYmVkN2I0NjUyMTc2NWI1MmMxNWRhMzM2ZmI3MTk2MjYzNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTE3NywxOCArMTc3LDI3IEBAIHZv
aWQgUmVuZGVyT2JqZWN0OjpzZXRGbG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cyhG
bG93VGhyZWFkU3RhdGUgc3RhdGUpCiAgICAgfQogfQogCi12b2lkIFJlbmRlck9iamVjdDo6aW5p
dGlhbGl6ZUZsb3dUaHJlYWRTdGF0ZU9uSW5zZXJ0aW9uKCkKK3ZvaWQgUmVuZGVyT2JqZWN0Ojph
ZGp1c3RGbG93VGhyZWFkU3RhdGUoKQogewogICAgIEFTU0VSVChwYXJlbnQoKSk7CiAKLSAgICBp
ZiAoZmxvd1RocmVhZFN0YXRlKCkgPT0gcGFyZW50KCktPmZsb3dUaHJlYWRTdGF0ZSgpKQotICAg
ICAgICByZXR1cm47Ci0KICAgICAvLyBBIFJlbmRlckZsb3dUaHJlYWQgaXMgYWx3YXlzIGNvbnNp
ZGVyZWQgdG8gYmUgaW5zaWRlIGl0c2VsZiwgc28gaXQgbmV2ZXIgaGFzIHRvIGNoYW5nZSBpdHMg
c3RhdGUgaW4gcmVzcG9uc2UgdG8gcGFyZW50IGNoYW5nZXMuCiAgICAgaWYgKGlzUmVuZGVyRmxv
d1RocmVhZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBzZXRGbG93VGhyZWFkU3RhdGVJbmNs
dWRpbmdEZXNjZW5kYW50cyhwYXJlbnQoKS0+Zmxvd1RocmVhZFN0YXRlKCkpOworICAgIGF1dG8g
aW5oZXJpdGVkRmxvd1N0YXRlID0gTm90SW5zaWRlRmxvd1RocmVhZDsKKyAgICBpZiAoaXM8UmVu
ZGVyVGV4dD4oKnRoaXMpKQorICAgICAgICBpbmhlcml0ZWRGbG93U3RhdGUgPSBwYXJlbnQoKS0+
Zmxvd1RocmVhZFN0YXRlKCk7CisgICAgZWxzZSBpZiAoYXV0byogY29udGFpbmluZ0Jsb2NrID0g
dGhpcy0+Y29udGFpbmluZ0Jsb2NrKCkpCisgICAgICAgIGluaGVyaXRlZEZsb3dTdGF0ZSA9IGNv
bnRhaW5pbmdCbG9jay0+Zmxvd1RocmVhZFN0YXRlKCk7CisgICAgZWxzZSB7CisgICAgICAgIC8v
IFNwbGl0dGluZyBsaW5lcyBvciBkb2luZyBjb250aW51YXRpb24sIHNvIGp1c3Qga2VlcCB3aGF0
IHdlIGFscmVhZHkgaGF2ZS4KKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChmbG93
VGhyZWFkU3RhdGUoKSA9PSBpbmhlcml0ZWRGbG93U3RhdGUpCisgICAgICAgIHJldHVybjsKKyAg
ICBzZXRGbG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cyhpbmhlcml0ZWRGbG93U3Rh
dGUpOwogfQogCiB2b2lkIFJlbmRlck9iamVjdDo6cmVzZXRGbG93VGhyZWFkU3RhdGVPblJlbW92
YWwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDg1M2RjYTY4
ODU1NjUzM2M5MjVjNWQ3N2Y3YzQzMTBlZjg1MTNmYTkuLjA0NTYyMjllMTk1NDRhOTc4MGY2Zjhh
MTViMjM1NzYyZWVmMzM0ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKQEAgLTgxOCw3ICs4MTgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBSZW5kZXJGbG93
VGhyZWFkKiBsb2NhdGVGbG93VGhyZWFkQ29udGFpbmluZ0Jsb2NrKCkgY29uc3Q7CiAgICAgc3Rh
dGljIHZvaWQgY2FsY3VsYXRlQm9yZGVyU3R5bGVDb2xvcihjb25zdCBFQm9yZGVyU3R5bGUmLCBj
b25zdCBCb3hTaWRlJiwgQ29sb3ImKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZUZsb3dUaHJlYWRT
dGF0ZU9uSW5zZXJ0aW9uKCk7CisgICAgdm9pZCBhZGp1c3RGbG93VGhyZWFkU3RhdGUoKTsKICAg
ICB2b2lkIHJlc2V0Rmxvd1RocmVhZFN0YXRlT25SZW1vdmFsKCk7CiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294497</attachid>
            <date>2016-11-11 08:20:08 -0800</date>
            <delta_ts>2016-11-11 20:47:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164629-20161111081554.patch</filename>
            <type>text/plain</type>
            <size>6629</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjJkOTgwZmFhMzRmZDc1
YTliY2Y2MDljMGZkNDhjZTdkMWRkYmE0YS4uYzM5ZWFlMzlmYThmNjcyOWFlYzFjMzQzM2U0ZjBk
YTgwMDQ2YTY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE2LTExLTEwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuZGVyT2JqZWN0OjpmbG93
VGhyZWFkU3RhdGUgc2hvdWxkIGZvbGxvdyBjb250YWluaW5nIGJsb2NrIGluc3RlYWQgb2YgcGFy
ZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0
NjI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQ
IHBhdGNoLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrOjpzdHlsZURpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6cmVzZXRGbG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cyk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6aW5z
ZXJ0Q2hpbGRJbnRlcm5hbCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmFkanVzdEZsb3dUaHJlYWRTdGF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmluaXRpYWxpemVGbG93VGhyZWFkU3Rh
dGVPbkluc2VydGlvbik6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOgorCiAyMDE2LTExLTEwICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjA3MTgyKTogW2lPU10gQ3Jhc2ggYmVjYXVz
ZSBvZiBwYXNzaW5nIGZyZWVkIENGRGljdGlvbmFyeVJlZiB0byBDRyB3aGVuIGRlY29kaW5nIGEg
c3ViLXNhbXBsZWQgbGFyZ2UgaW1hZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCmluZGV4IDE2NzE5YTYxYWRlYmJhZjZhNTBjMTgyNGVjODA0ZTIyMjg2MmViMTguLjgy
ODNjZjY1YTkzMjk4MTYxMDc1ZDBlOTNiOTE0MmYwM2VhMTg4NWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIlJl
bmRlckNoaWxkSXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJDb21iaW5lVGV4dC5oIgogI2lu
Y2x1ZGUgIlJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5oIgorI2luY2x1ZGUgIlJlbmRlckRl
c2NlbmRhbnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlckZsZXhpYmxlQm94LmgiCiAjaW5j
bHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVySXRlcmF0b3IuaCIKQEAgLTQy
OSwxMyArNDMwLDE2IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlm
ZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5CiAgICAgYm9vbCBmbG93VGhy
ZWFkQ29udGFpbmluZ0Jsb2NrSW52YWxpZGF0ZWQgPSBmYWxzZTsKICAgICBpZiAob2xkU3R5bGUg
JiYgb2xkU3R5bGUtPnBvc2l0aW9uKCkgIT0gbmV3U3R5bGUucG9zaXRpb24oKSkgewogICAgICAg
ICBpbnZhbGlkYXRlRmxvd1RocmVhZENvbnRhaW5pbmdCbG9ja0luY2x1ZGluZ0Rlc2NlbmRhbnRz
KCk7CisgICAgICAgIHJlc2V0Rmxvd1RocmVhZFN0YXRlSW5jbHVkaW5nRGVzY2VuZGFudHMoKTsK
ICAgICAgICAgZmxvd1RocmVhZENvbnRhaW5pbmdCbG9ja0ludmFsaWRhdGVkID0gdHJ1ZTsKICAg
ICB9CiAKICAgICBSZW5kZXJCb3g6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKIAot
ICAgIGlmIChoYWRUcmFuc2Zvcm0gIT0gaGFzVHJhbnNmb3JtKCkgJiYgIWZsb3dUaHJlYWRDb250
YWluaW5nQmxvY2tJbnZhbGlkYXRlZCkKKyAgICBpZiAoaGFkVHJhbnNmb3JtICE9IGhhc1RyYW5z
Zm9ybSgpICYmICFmbG93VGhyZWFkQ29udGFpbmluZ0Jsb2NrSW52YWxpZGF0ZWQpIHsKICAgICAg
ICAgaW52YWxpZGF0ZUZsb3dUaHJlYWRDb250YWluaW5nQmxvY2tJbmNsdWRpbmdEZXNjZW5kYW50
cygpOworICAgICAgICByZXNldEZsb3dUaHJlYWRTdGF0ZUluY2x1ZGluZ0Rlc2NlbmRhbnRzKCk7
CisgICAgfQogCiAgICAgaWYgKCFpc0Fub255bW91c0Jsb2NrKCkpIHsKICAgICAgICAgLy8gRW5z
dXJlIHRoYXQgYWxsIG9mIG91ciBjb250aW51YXRpb24gYmxvY2tzIHBpY2sgdXAgdGhlIG5ldyBz
dHlsZS4KQEAgLTMzNzcsNiArMzM4MSwxNiBAQCBSZW5kZXJGbG93VGhyZWFkKiBSZW5kZXJCbG9j
azo6bG9jYXRlRmxvd1RocmVhZENvbnRhaW5pbmdCbG9jaygpIGNvbnN0CiAgICAgcmV0dXJuIHJh
cmVEYXRhLT5tX2Zsb3dUaHJlYWRDb250YWluaW5nQmxvY2sudmFsdWUoKTsKIH0KIAordm9pZCBS
ZW5kZXJCbG9jazo6cmVzZXRGbG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cygpCit7
CisgICAgaWYgKGZsb3dUaHJlYWRTdGF0ZSgpID09IE5vdEluc2lkZUZsb3dUaHJlYWQpCisgICAg
ICAgIHJldHVybjsKKworICAgIGFkanVzdEZsb3dUaHJlYWRTdGF0ZSgpOworICAgIGZvciAoYXV0
byYgZGVzY2VuZGFudCA6IGRlc2NlbmRhbnRzT2ZUeXBlPFJlbmRlckVsZW1lbnQ+KCp0aGlzKSkK
KyAgICAgICAgZGVzY2VuZGFudC5hZGp1c3RGbG93VGhyZWFkU3RhdGUoKTsKK30KKwogdm9pZCBS
ZW5kZXJCbG9jazo6aW52YWxpZGF0ZUZsb3dUaHJlYWRDb250YWluaW5nQmxvY2tJbmNsdWRpbmdE
ZXNjZW5kYW50cygpCiB7CiAgICAgaWYgKGZsb3dUaHJlYWRTdGF0ZSgpID09IE5vdEluc2lkZUZs
b3dUaHJlYWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDlhNWZh
ZWM1Y2MyNGY2NmU1NGZjYmQ1NzNkMjZiNmYxZTJhZmU0ODcuLjAzZWEyMWNhMTY2NGZlOTNiNGU0
NTliYTdmMmFiMGNiYjM3NjAwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oCkBAIC0zMDgsNiArMzA4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q2FjaGVkRmxvd1Ro
cmVhZENvbnRhaW5pbmdCbG9ja05lZWRzVXBkYXRlKCk7CiAgICAgdmlydHVhbCBib29sIGNhY2hl
ZEZsb3dUaHJlYWRDb250YWluaW5nQmxvY2tOZWVkc1VwZGF0ZSgpIGNvbnN0OwogICAgIHZvaWQg
aW52YWxpZGF0ZUZsb3dUaHJlYWRDb250YWluaW5nQmxvY2tJbmNsdWRpbmdEZXNjZW5kYW50cygp
OworICAgIHZvaWQgcmVzZXRGbG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cygpOwog
CiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyRmxvd1RocmVhZCogbG9jYXRlRmxvd1RocmVhZENvbnRh
aW5pbmdCbG9jaygpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuY3BwCmluZGV4IGIxMjcyMjc4OTQzZTRlMzBlOTlhZDE2YzU4MTJkOGMyYTYy
Y2I0NjAuLmFmMzEwOWJiMzBjYjc2ZjdlNjQ5NTJlMWE1YjNiNDI0ZTk3NWIyNjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTU1Myw3ICs1NTMsNyBA
QCB2b2lkIFJlbmRlckVsZW1lbnQ6Omluc2VydENoaWxkSW50ZXJuYWwoUmVuZGVyT2JqZWN0KiBu
ZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZQogICAgICAgICBtX2xhc3RDaGlsZCA9IG5ld0NoaWxk
OwogICAgIH0KIAotICAgIG5ld0NoaWxkLT5pbml0aWFsaXplRmxvd1RocmVhZFN0YXRlT25JbnNl
cnRpb24oKTsKKyAgICBuZXdDaGlsZC0+YWRqdXN0Rmxvd1RocmVhZFN0YXRlKCk7CiAgICAgaWYg
KCFkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkpIHsKICAgICAgICAgaWYgKG5vdGlmeUNoaWxkcmVu
ID09IE5vdGlmeUNoaWxkcmVuKQogICAgICAgICAgICAgbmV3Q2hpbGQtPmluc2VydGVkSW50b1Ry
ZWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZWM5
YzU1NWMyMGZlOTFjMzgwNDMzMTRmMzlhMDg3Njk5NjM4NDU1Yy4uODAxODQ4MDM0YmYxZGMxMDNm
NDk3ZWNmYmFhYmY0ZmIwYmNmMTQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKQEAgLTE3NywxOCArMTc3LDI4IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXRG
bG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cyhGbG93VGhyZWFkU3RhdGUgc3RhdGUp
CiAgICAgfQogfQogCi12b2lkIFJlbmRlck9iamVjdDo6aW5pdGlhbGl6ZUZsb3dUaHJlYWRTdGF0
ZU9uSW5zZXJ0aW9uKCkKK3ZvaWQgUmVuZGVyT2JqZWN0OjphZGp1c3RGbG93VGhyZWFkU3RhdGUo
KQogewotICAgIEFTU0VSVChwYXJlbnQoKSk7Ci0KLSAgICBpZiAoZmxvd1RocmVhZFN0YXRlKCkg
PT0gcGFyZW50KCktPmZsb3dUaHJlYWRTdGF0ZSgpKQotICAgICAgICByZXR1cm47Ci0KICAgICAv
LyBBIFJlbmRlckZsb3dUaHJlYWQgaXMgYWx3YXlzIGNvbnNpZGVyZWQgdG8gYmUgaW5zaWRlIGl0
c2VsZiwgc28gaXQgbmV2ZXIgaGFzIHRvIGNoYW5nZSBpdHMgc3RhdGUgaW4gcmVzcG9uc2UgdG8g
cGFyZW50IGNoYW5nZXMuCiAgICAgaWYgKGlzUmVuZGVyRmxvd1RocmVhZCgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBzZXRGbG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cyhwYXJl
bnQoKS0+Zmxvd1RocmVhZFN0YXRlKCkpOworICAgIGlmICghcGFyZW50KCkpCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBhdXRvIGluaGVyaXRlZEZsb3dTdGF0ZSA9IE5vdEluc2lkZUZsb3dU
aHJlYWQ7CisgICAgaWYgKGlzPFJlbmRlclRleHQ+KCp0aGlzKSkKKyAgICAgICAgaW5oZXJpdGVk
Rmxvd1N0YXRlID0gcGFyZW50KCktPmZsb3dUaHJlYWRTdGF0ZSgpOworICAgIGVsc2UgaWYgKGF1
dG8qIGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNvbnRhaW5pbmdCbG9jaygpKQorICAgICAgICBp
bmhlcml0ZWRGbG93U3RhdGUgPSBjb250YWluaW5nQmxvY2stPmZsb3dUaHJlYWRTdGF0ZSgpOwor
ICAgIGVsc2UgeworICAgICAgICAvLyBTcGxpdHRpbmcgbGluZXMgb3IgZG9pbmcgY29udGludWF0
aW9uLCBzbyBqdXN0IGtlZXAgd2hhdCB3ZSBhbHJlYWR5IGhhdmUuCisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAoZmxvd1RocmVhZFN0YXRlKCkgPT0gaW5oZXJpdGVkRmxvd1N0YXRl
KQorICAgICAgICByZXR1cm47CisgICAgc2V0Rmxvd1RocmVhZFN0YXRlSW5jbHVkaW5nRGVzY2Vu
ZGFudHMoaW5oZXJpdGVkRmxvd1N0YXRlKTsKIH0KIAogdm9pZCBSZW5kZXJPYmplY3Q6OnJlc2V0
Rmxvd1RocmVhZFN0YXRlT25SZW1vdmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaAppbmRleCA4NTNkY2E2ODg1NTY1MzNjOTI1YzVkNzdmN2M0MzEwZWY4NTEzZmE5Li4w
NDU2MjI5ZTE5NTQ0YTk3ODBmNmY4YTE1YjIzNTc2MmVlZjMzNDgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC04MTgsNyArODE4LDcgQEAgcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgUmVuZGVyRmxvd1RocmVhZCogbG9jYXRlRmxvd1RocmVhZENvbnRhaW5pbmdC
bG9jaygpIGNvbnN0OwogICAgIHN0YXRpYyB2b2lkIGNhbGN1bGF0ZUJvcmRlclN0eWxlQ29sb3Io
Y29uc3QgRUJvcmRlclN0eWxlJiwgY29uc3QgQm94U2lkZSYsIENvbG9yJik7CiAKLSAgICB2b2lk
IGluaXRpYWxpemVGbG93VGhyZWFkU3RhdGVPbkluc2VydGlvbigpOworICAgIHZvaWQgYWRqdXN0
Rmxvd1RocmVhZFN0YXRlKCk7CiAgICAgdm9pZCByZXNldEZsb3dUaHJlYWRTdGF0ZU9uUmVtb3Zh
bCgpOwogCiBwcml2YXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294590</attachid>
            <date>2016-11-11 20:47:09 -0800</date>
            <delta_ts>2016-11-12 12:05:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164629-20161111204254.patch</filename>
            <type>text/plain</type>
            <size>7803</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGFmMzFiYzAxN2Y2MTM2
NmMxN2IxZmIxYjNhNjI0NWQwNTBkN2ViNS4uMGU4ZDUyOTk3YjFlYzUxZjM1ZWU4YmI1ZWM1MTEx
YmRhNTU0NzgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE2LTExLTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuZGVyT2JqZWN0OjpmbG93
VGhyZWFkU3RhdGUgc2hvdWxkIGZvbGxvdyBjb250YWluaW5nIGJsb2NrIGluc3RlYWQgb2YgcGFy
ZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0
NjI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3Vy
cmVudGx5IGV2ZXJ5IGRlc2NlbmRhbnQgb2YgYSByZWdpb24vbXVsdGljb2x1bW4gY29udGFpbmVy
IGlzIGNvbnNpZGVyZWQgdG8gYmUgcGFydCBvZiB0aGUKKyAgICAgICAgZmxvd3RocmVhZCBpbmNs
dWRpbmcgb3V0LW9mLWZsb3cgcmVuZGVyZXJzLiBUaGV5IGFsbCBoYXZlIHRoZSBJbnNpZGVGbG93
VGhyZWFkIGZsYWcgc2V0LgorICAgICAgICBIb3dldmVyIHNpbmNlIG91dC1vZi1mbG93IHJlbmRl
cmVycyBhcmUgbm90IHJlYWxseSBwYXJ0IG9mIHRoZSBmbG93dGhyZWFkIGxheW91dCBjb250ZXh0
LAorICAgICAgICB3aGVuZXZlciB0aGUgbGF5b3V0IGNvZGUgYWN0dWFsbHkgY2hlY2tzIGZvciB0
aGVpciBmbG93dGhyZWFkIGNvbnRhaW5lcnMsIHdlIHJldHVybiBudWxscHRyIGFuZAorICAgICAg
ICB0cnkgdG8gaGFuZGxlIHRoaXMgc2VlbWluZ2x5IGRlZmVjdGl2ZSBzdGF0ZSBncmFjZWZ1bGx5
ICh0aGF0IGlzIGZsYWcgaW5kaWNhdGVzICJpbnNpZGUgdGhlIGZsb3cgdGhyZWFkIiBzdGF0ZSwK
KyAgICAgICAgYnV0IHRoZXJlJ3Mgbm8gZmxvdyB0cmVhZCBjb250YWluZXIpLgorIAorICAgICAg
ICBUaGlzIHBhdGNoIGZpeGVzIHRoaXMgY29uZnVzZWQgc3RhdGUgYnkgc2V0dGluZyB0aGUgUmVu
ZGVyT2JqZWN0OjpmbG93VGhyZWFkU3RhdGUgZmxhZyBiYXNlZCBvbgorICAgICAgICB0aGUgY29u
dGFpbmluZyBibG9jaydzIHN0YXRlIGluc3RlYWQgb2YgdGhlIHBhcmVudCdzLgorCisgICAgICAg
IE5vdCB0ZXN0YWJsZSwgc2luY2Ugd2Ugc2VlbSB0byBtYW5hZ2Ugb3V0LW9mLWZsb3cgZWxlbWVu
dHMganVzdCBmaW5lIGV2ZW4KKyAgICAgICAgd2hlbiB0aGV5IGhhdmUgdGhlIEluc2lkZUZsb3dU
aHJlYWQgZmxhZyBzZXQuIAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpzdHlsZURpZENoYW5nZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RWxlbWVudDo6c2V0U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6YWRq
dXN0Rmxvd1RocmVhZFN0YXRlSW5jbHVkaW5nRGVzY2VuZGFudHMpOiBUaGlzIGlzIGFuIGl0ZXJh
dGl2ZSBERlMgcHJlLW9yZGVyIHRyYXZlcnNhbCBzbworICAgICAgICB3ZSBzZXQgdGhlIGZsb3cg
c3RhdGUgZmlyc3Qgb24gY29udGFpbmVycy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpjb21wdXRlZEZsb3dUaHJlYWRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmluaXRpYWxpemVGbG93VGhyZWFkU3RhdGVPbkluc2Vy
dGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorCiAyMDE2LTExLTEx
ICBEYXZlIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgUGFyc2VyXSBB
ZGQgc3VwcG9ydCBmb3IgcGF0aHMgYXMgYmFzaWMgc2hhcGVzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggMzA2ZTQ3YWRjNWJkZTQ5NGY1ZTU1YzgyNmNkZTBk
YWVkNDhjZDkwYS4uMmJkN2Q0ODg2MzY0Y2QxZTQ5OThmYWI4ODYzMTEzYzY4YmFiNjgxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC00MjYsOCArNDI2LDEw
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZm
LCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5CiAgICAgYm9vbCBoYWRUcmFuc2Zvcm0gPSBoYXNU
cmFuc2Zvcm0oKTsKICAgICBSZW5kZXJCb3g6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxl
KTsKIAotICAgIGlmIChoYWRUcmFuc2Zvcm0gIT0gaGFzVHJhbnNmb3JtKCkpCisgICAgaWYgKGhh
ZFRyYW5zZm9ybSAhPSBoYXNUcmFuc2Zvcm0oKSkgewogICAgICAgICByZXNldEZsb3dUaHJlYWRD
b250YWluaW5nQmxvY2tBbmRDaGlsZEluZm9JbmNsdWRpbmdEZXNjZW5kYW50cygpOworICAgICAg
ICBhZGp1c3RGbG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cygpOworICAgIH0KIAog
ICAgIGF1dG8mIG5ld1N0eWxlID0gc3R5bGUoKTsKICAgICBpZiAoIWlzQW5vbnltb3VzQmxvY2so
KSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IDk5
ZmRjZWNmMGNmMWEyY2UxN2U0N2NiYzM2M2M5NGUzMjgxNzdjMWQuLmQ3OGE3MDkzMTExMWU4ZDUy
ZWM0YjgzN2IwM2E5MDBkMTJkZjE5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJSZW5kZXJDaGlsZEl0
ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyQ291bnRlci5oIgogI2luY2x1ZGUgIlJlbmRlckRl
cHJlY2F0ZWRGbGV4aWJsZUJveC5oIgorI2luY2x1ZGUgIlJlbmRlckRlc2NlbmRhbnRJdGVyYXRv
ci5oIgogI2luY2x1ZGUgIlJlbmRlckZsZXhpYmxlQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVySW1h
Z2UuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5oIgpAQCAtNDEx
LDggKzQxMiwxMSBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnNldFN0eWxlKFJlbmRlclN0eWxlJiYg
c3R5bGUsIFN0eWxlRGlmZmVyZW5jZSBtaW5pbWFsU3R5bGVEaQogCiAgICAgLy8gTWFrZSBzdXJl
IHdlIGludmFsaWRhdGUgdGhlIGNvbnRhaW5pbmcgYmxvY2sgY2FjaGUgZm9yIGZsb3dzIHdoZW4g
dGhlIGNvbnRpYW5pbmcgYmxvY2sgY29udGV4dCBjaGFuZ2VzCiAgICAgLy8gc28gdGhhdCBzdHls
ZURpZENoYW5nZSBjYW4gc2FmZWx5IHVzZSBSZW5kZXJCbG9jazo6bG9jYXRlRmxvd1RocmVhZENv
bnRhaW5pbmdCbG9jaygpCi0gICAgaWYgKGlzPFJlbmRlckJsb2NrPigqdGhpcykgJiYgb2xkU3R5
bGUucG9zaXRpb24oKSAhPSBtX3N0eWxlLnBvc2l0aW9uKCkpCi0gICAgICAgIGRvd25jYXN0PFJl
bmRlckJsb2NrPigqdGhpcykucmVzZXRGbG93VGhyZWFkQ29udGFpbmluZ0Jsb2NrQW5kQ2hpbGRJ
bmZvSW5jbHVkaW5nRGVzY2VuZGFudHMoKTsKKyAgICBpZiAob2xkU3R5bGUucG9zaXRpb24oKSAh
PSBtX3N0eWxlLnBvc2l0aW9uKCkpIHsKKyAgICAgICAgaWYgKGlzPFJlbmRlckJsb2NrPigqdGhp
cykpCisgICAgICAgICAgICBkb3duY2FzdDxSZW5kZXJCbG9jaz4oKnRoaXMpLnJlc2V0Rmxvd1Ro
cmVhZENvbnRhaW5pbmdCbG9ja0FuZENoaWxkSW5mb0luY2x1ZGluZ0Rlc2NlbmRhbnRzKCk7Cisg
ICAgICAgIGFkanVzdEZsb3dUaHJlYWRTdGF0ZUluY2x1ZGluZ0Rlc2NlbmRhbnRzKCk7CisgICAg
fQogCiAgICAgc3R5bGVEaWRDaGFuZ2UoZGlmZiwgJm9sZFN0eWxlKTsKIApAQCAtMjE4NSw2ICsy
MTg5LDE2IEBAIFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uRW51bSBSZW5kZXJFbGVtZW50OjpzaG91
bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIChmcmFtZSgpLnNl
dHRpbmdzKCkuc2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb24oKSAmJiBpczxIVE1MSW1hZ2VF
bGVtZW50PihlbGVtZW50KCkpKSA/IFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uIDogRG9Ob3RSZXNw
ZWN0SW1hZ2VPcmllbnRhdGlvbjsKIH0KIAordm9pZCBSZW5kZXJFbGVtZW50OjphZGp1c3RGbG93
VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cygpCit7CisgICAgaWYgKGZsb3dUaHJlYWRT
dGF0ZSgpID09IE5vdEluc2lkZUZsb3dUaHJlYWQpCisgICAgICAgIHJldHVybjsKKworICAgIHNl
dEZsb3dUaHJlYWRTdGF0ZShSZW5kZXJPYmplY3Q6OmNvbXB1dGVkRmxvd1RocmVhZFN0YXRlKCp0
aGlzKSk7CisgICAgZm9yIChhdXRvJiBkZXNjZW5kYW50IDogZGVzY2VuZGFudHNPZlR5cGU8UmVu
ZGVyT2JqZWN0PigqdGhpcykpCisgICAgICAgIGRlc2NlbmRhbnQuc2V0Rmxvd1RocmVhZFN0YXRl
KFJlbmRlck9iamVjdDo6Y29tcHV0ZWRGbG93VGhyZWFkU3RhdGUoZGVzY2VuZGFudCkpOworfQor
CiB2b2lkIFJlbmRlckVsZW1lbnQ6OnJlbW92ZUZyb21SZW5kZXJGbG93VGhyZWFkKCkKIHsKICAg
ICBBU1NFUlQoZmxvd1RocmVhZFN0YXRlKCkgIT0gTm90SW5zaWRlRmxvd1RocmVhZCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCAzODJjMTFkMGQ0NTdiOTZl
NWU2MTE2NjA1NmU5NDVjYzg3MmNiMDExLi43ZGY0ZTA0YTllNGQ4ZDEyNWNmZWQ4MGQ4NjMzOGVh
OGVmMjkzMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAg
LTI4MSw2ICsyODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCB1cGRhdGVPdXRsaW5lQXV0b0Fu
Y2VzdG9yKGJvb2wgaGFzT3V0bGluZUF1dG8pOwogCiAgICAgdm9pZCByZW1vdmVGcm9tUmVuZGVy
Rmxvd1RocmVhZEluY2x1ZGluZ0Rlc2NlbmRhbnRzKGJvb2wgc2hvdWxkVXBkYXRlU3RhdGUpOwor
ICAgIHZvaWQgYWRqdXN0Rmxvd1RocmVhZFN0YXRlSW5jbHVkaW5nRGVzY2VuZGFudHMoKTsKIAog
cHJpdmF0ZToKICAgICBSZW5kZXJFbGVtZW50KENvbnRhaW5lck5vZGUmLCBSZW5kZXJTdHlsZSYm
LCBCYXNlVHlwZUZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKaW5kZXggZWM5YzU1NWMyMGZlOTFjMzgwNDMzMTRmMzlhMDg3Njk5NjM4NDU1Yy4uMGJjYjVk
MmU5NTg1NmI3Y2VlZmQwNWNlZjY4MzdmODI4NDk4N2U0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTE3NywxOCArMTc3LDM2IEBAIHZvaWQgUmVuZGVy
T2JqZWN0OjpzZXRGbG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cyhGbG93VGhyZWFk
U3RhdGUgc3RhdGUpCiAgICAgfQogfQogCitSZW5kZXJPYmplY3Q6OkZsb3dUaHJlYWRTdGF0ZSBS
ZW5kZXJPYmplY3Q6OmNvbXB1dGVkRmxvd1RocmVhZFN0YXRlKGNvbnN0IFJlbmRlck9iamVjdCYg
cmVuZGVyZXIpCit7CisgICAgaWYgKCFyZW5kZXJlci5wYXJlbnQoKSkKKyAgICAgICAgcmV0dXJu
IHJlbmRlcmVyLmZsb3dUaHJlYWRTdGF0ZSgpOworCisgICAgYXV0byBpbmhlcml0ZWRGbG93U3Rh
dGUgPSBSZW5kZXJPYmplY3Q6Ok5vdEluc2lkZUZsb3dUaHJlYWQ7CisgICAgaWYgKGlzPFJlbmRl
clRleHQ+KHJlbmRlcmVyKSkKKyAgICAgICAgaW5oZXJpdGVkRmxvd1N0YXRlID0gcmVuZGVyZXIu
cGFyZW50KCktPmZsb3dUaHJlYWRTdGF0ZSgpOworICAgIGVsc2UgaWYgKGF1dG8qIGNvbnRhaW5p
bmdCbG9jayA9IHJlbmRlcmVyLmNvbnRhaW5pbmdCbG9jaygpKQorICAgICAgICBpbmhlcml0ZWRG
bG93U3RhdGUgPSBjb250YWluaW5nQmxvY2stPmZsb3dUaHJlYWRTdGF0ZSgpOworICAgIGVsc2Ug
eworICAgICAgICAvLyBTcGxpdHRpbmcgbGluZXMgb3IgZG9pbmcgY29udGludWF0aW9uLCBzbyBq
dXN0IGtlZXAgdGhlIGN1cnJlbnQgc3RhdGUuCisgICAgICAgIGluaGVyaXRlZEZsb3dTdGF0ZSA9
IHJlbmRlcmVyLmZsb3dUaHJlYWRTdGF0ZSgpOworICAgIH0KKyAgICByZXR1cm4gaW5oZXJpdGVk
Rmxvd1N0YXRlOworfQorCiB2b2lkIFJlbmRlck9iamVjdDo6aW5pdGlhbGl6ZUZsb3dUaHJlYWRT
dGF0ZU9uSW5zZXJ0aW9uKCkKIHsKICAgICBBU1NFUlQocGFyZW50KCkpOwogCi0gICAgaWYgKGZs
b3dUaHJlYWRTdGF0ZSgpID09IHBhcmVudCgpLT5mbG93VGhyZWFkU3RhdGUoKSkKLSAgICAgICAg
cmV0dXJuOwotCiAgICAgLy8gQSBSZW5kZXJGbG93VGhyZWFkIGlzIGFsd2F5cyBjb25zaWRlcmVk
IHRvIGJlIGluc2lkZSBpdHNlbGYsIHNvIGl0IG5ldmVyIGhhcyB0byBjaGFuZ2UgaXRzIHN0YXRl
IGluIHJlc3BvbnNlIHRvIHBhcmVudCBjaGFuZ2VzLgogICAgIGlmIChpc1JlbmRlckZsb3dUaHJl
YWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgc2V0Rmxvd1RocmVhZFN0YXRlSW5jbHVkaW5n
RGVzY2VuZGFudHMocGFyZW50KCktPmZsb3dUaHJlYWRTdGF0ZSgpKTsKKyAgICBhdXRvIGNvbXB1
dGVkU3RhdGUgPSBjb21wdXRlZEZsb3dUaHJlYWRTdGF0ZSgqdGhpcyk7CisgICAgaWYgKGZsb3dU
aHJlYWRTdGF0ZSgpID09IGNvbXB1dGVkU3RhdGUpCisgICAgICAgIHJldHVybjsKKworICAgIHNl
dEZsb3dUaHJlYWRTdGF0ZUluY2x1ZGluZ0Rlc2NlbmRhbnRzKGNvbXB1dGVkU3RhdGUpOwogfQog
CiB2b2lkIFJlbmRlck9iamVjdDo6cmVzZXRGbG93VGhyZWFkU3RhdGVPblJlbW92YWwoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDg1M2RjYTY4ODU1NjUzM2M5
MjVjNWQ3N2Y3YzQzMTBlZjg1MTNmYTkuLjI2NDc1MDljM2ZiOGUyY2QxMGJkOGIwMTFkZTIzNDI3
MTY4NjBkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTgy
MCw2ICs4MjAsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIGluaXRpYWxpemVGbG93VGhyZWFk
U3RhdGVPbkluc2VydGlvbigpOwogICAgIHZvaWQgcmVzZXRGbG93VGhyZWFkU3RhdGVPblJlbW92
YWwoKTsKKyAgICBzdGF0aWMgRmxvd1RocmVhZFN0YXRlIGNvbXB1dGVkRmxvd1RocmVhZFN0YXRl
KGNvbnN0IFJlbmRlck9iamVjdCYpOwogCiBwcml2YXRlOgogI2lmbmRlZiBOREVCVUcK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294629</attachid>
            <date>2016-11-12 14:03:41 -0800</date>
            <delta_ts>2016-11-12 19:11:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164629-20161112135925.patch</filename>
            <type>text/plain</type>
            <size>7844</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGFmMzFiYzAxN2Y2MTM2
NmMxN2IxZmIxYjNhNjI0NWQwNTBkN2ViNS4uNWM4OGE3NTk0M2NjMTI1NGI1MmU1NjRjYzkwMzNh
YjRlMTU3ODRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE2LTExLTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuZGVyT2JqZWN0OjpmbG93
VGhyZWFkU3RhdGUgc2hvdWxkIGZvbGxvdyBjb250YWluaW5nIGJsb2NrIGluc3RlYWQgb2YgcGFy
ZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0
NjI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3Vy
cmVudGx5IGV2ZXJ5IGRlc2NlbmRhbnQgb2YgYSByZWdpb24vbXVsdGljb2x1bW4gY29udGFpbmVy
IGlzIGNvbnNpZGVyZWQgdG8gYmUgcGFydCBvZiB0aGUKKyAgICAgICAgZmxvd3RocmVhZCBpbmNs
dWRpbmcgb3V0LW9mLWZsb3cgcmVuZGVyZXJzLiBUaGV5IGFsbCBoYXZlIHRoZSBJbnNpZGVGbG93
VGhyZWFkIGZsYWcgc2V0LgorICAgICAgICBIb3dldmVyIHNpbmNlIG91dC1vZi1mbG93IHJlbmRl
cmVycyBhcmUgbm90IHJlYWxseSBwYXJ0IG9mIHRoZSBmbG93dGhyZWFkIGxheW91dCBjb250ZXh0
LAorICAgICAgICB3aGVuZXZlciB0aGUgbGF5b3V0IGNvZGUgYWN0dWFsbHkgY2hlY2tzIGZvciB0
aGVpciBmbG93dGhyZWFkIGNvbnRhaW5lcnMsIHdlIHJldHVybiBudWxscHRyIGFuZAorICAgICAg
ICB0cnkgdG8gaGFuZGxlIHRoaXMgc2VlbWluZ2x5IGRlZmVjdGl2ZSBzdGF0ZSBncmFjZWZ1bGx5
ICh0aGF0IGlzLCBmbGFnIGluZGljYXRlcyAiaW5zaWRlIHRoZSBmbG93IHRocmVhZCIgc3RhdGUs
CisgICAgICAgIGJ1dCB0aGVyZSdzIG5vIGZsb3cgdHJlYWQgY29udGFpbmVyKS4KKyAKKyAgICAg
ICAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGNvbmZ1c2VkIHN0YXRlIGJ5IHNldHRpbmcgdGhlIFJl
bmRlck9iamVjdDo6Zmxvd1RocmVhZFN0YXRlIGZsYWcgYmFzZWQgb24KKyAgICAgICAgdGhlIGNv
bnRhaW5pbmcgYmxvY2sncyBzdGF0ZSBpbnN0ZWFkIG9mIHRoZSBwYXJlbnQncy4KKworICAgICAg
ICBOb3QgdGVzdGFibGUsIHNpbmNlIHdlIHNlZW0gdG8gbWFuYWdlIG91dC1vZi1mbG93IGVsZW1l
bnRzIGp1c3QgZmluZSBldmVuCisgICAgICAgIHdoZW4gdGhleSBoYXZlIHRoZSBJbnNpZGVGbG93
VGhyZWFkIGZsYWcgc2V0LiAKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6c3R5bGVEaWRDaGFuZ2UpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OnNldFN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6OmFk
anVzdEZsb3dUaHJlYWRTdGF0ZUluY2x1ZGluZ0Rlc2NlbmRhbnRzKTogVGhpcyBpcyBhbiBpdGVy
YXRpdmUgREZTIHByZS1vcmRlciB0cmF2ZXJzYWwgc28KKyAgICAgICAgd2Ugc2V0IHRoZSBmbG93
IHN0YXRlIGZpcnN0IG9uIGNvbnRhaW5lcnMuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck9iamVjdDo6Y29tcHV0ZWRGbG93VGhyZWFkU3RhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppbml0aWFsaXplRmxvd1RocmVhZFN0YXRlT25JbnNl
cnRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKwogMjAxNi0xMS0x
MSAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFBhcnNlcl0g
QWRkIHN1cHBvcnQgZm9yIHBhdGhzIGFzIGJhc2ljIHNoYXBlcy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDMwNmU0N2FkYzViZGU0OTRmNWU1NWM4MjZjZGUw
ZGFlZDQ4Y2Q5MGEuLjVkZWQzODhkM2M3MDQwNWY1NGJkMDY3Y2RmMDMxZTM0NDIyZDE0YzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtNDI3LDcgKzQyNyw3
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZm
LCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5CiAgICAgUmVuZGVyQm94OjpzdHlsZURpZENoYW5n
ZShkaWZmLCBvbGRTdHlsZSk7CiAKICAgICBpZiAoaGFkVHJhbnNmb3JtICE9IGhhc1RyYW5zZm9y
bSgpKQotICAgICAgICByZXNldEZsb3dUaHJlYWRDb250YWluaW5nQmxvY2tBbmRDaGlsZEluZm9J
bmNsdWRpbmdEZXNjZW5kYW50cygpOworICAgICAgICBhZGp1c3RGbG93VGhyZWFkU3RhdGVPbkNv
bnRhaW5pbmdCbG9ja0NoYW5nZUlmTmVlZGVkKCk7CiAKICAgICBhdXRvJiBuZXdTdHlsZSA9IHN0
eWxlKCk7CiAgICAgaWYgKCFpc0Fub255bW91c0Jsb2NrKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCA5OWZkY2VjZjBjZjFhMmNlMTdlNDdjYmMz
NjNjOTRlMzI4MTc3YzFkLi42ZmI1ODI3MTE3NmE0ZWNhM2UwODRkZDQ3YzgyOTdlMWJhNmRmMGU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC00Niw2
ICs0Niw3IEBACiAjaW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJl
bmRlckNvdW50ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guaCIK
KyNpbmNsdWRlICJSZW5kZXJEZXNjZW5kYW50SXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJG
bGV4aWJsZUJveC5oIgogI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVy
SW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaCIKQEAgLTQxMSw4ICs0MTIsOCBAQCB2b2lkIFJlbmRl
ckVsZW1lbnQ6OnNldFN0eWxlKFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlRGlmZmVyZW5jZSBt
aW5pbWFsU3R5bGVEaQogCiAgICAgLy8gTWFrZSBzdXJlIHdlIGludmFsaWRhdGUgdGhlIGNvbnRh
aW5pbmcgYmxvY2sgY2FjaGUgZm9yIGZsb3dzIHdoZW4gdGhlIGNvbnRpYW5pbmcgYmxvY2sgY29u
dGV4dCBjaGFuZ2VzCiAgICAgLy8gc28gdGhhdCBzdHlsZURpZENoYW5nZSBjYW4gc2FmZWx5IHVz
ZSBSZW5kZXJCbG9jazo6bG9jYXRlRmxvd1RocmVhZENvbnRhaW5pbmdCbG9jaygpCi0gICAgaWYg
KGlzPFJlbmRlckJsb2NrPigqdGhpcykgJiYgb2xkU3R5bGUucG9zaXRpb24oKSAhPSBtX3N0eWxl
LnBvc2l0aW9uKCkpCi0gICAgICAgIGRvd25jYXN0PFJlbmRlckJsb2NrPigqdGhpcykucmVzZXRG
bG93VGhyZWFkQ29udGFpbmluZ0Jsb2NrQW5kQ2hpbGRJbmZvSW5jbHVkaW5nRGVzY2VuZGFudHMo
KTsKKyAgICBpZiAob2xkU3R5bGUucG9zaXRpb24oKSAhPSBtX3N0eWxlLnBvc2l0aW9uKCkpCisg
ICAgICAgIGFkanVzdEZsb3dUaHJlYWRTdGF0ZU9uQ29udGFpbmluZ0Jsb2NrQ2hhbmdlSWZOZWVk
ZWQoKTsKIAogICAgIHN0eWxlRGlkQ2hhbmdlKGRpZmYsICZvbGRTdHlsZSk7CiAKQEAgLTIxODUs
NiArMjE4NiwyMSBAQCBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVudW0gUmVuZGVyRWxlbWVudDo6
c2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb24oKSBjb25zdAogICAgIHJldHVybiAoZnJhbWUo
KS5zZXR0aW5ncygpLnNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uKCkgJiYgaXM8SFRNTElt
YWdlRWxlbWVudD4oZWxlbWVudCgpKSkgPyBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiA6IERvTm90
UmVzcGVjdEltYWdlT3JpZW50YXRpb247CiB9CiAKK3ZvaWQgUmVuZGVyRWxlbWVudDo6YWRqdXN0
Rmxvd1RocmVhZFN0YXRlT25Db250YWluaW5nQmxvY2tDaGFuZ2VJZk5lZWRlZCgpCit7CisgICAg
aWYgKGZsb3dUaHJlYWRTdGF0ZSgpID09IE5vdEluc2lkZUZsb3dUaHJlYWQpCisgICAgICAgIHJl
dHVybjsKKworICAgIC8vIEludmFsaWRhdGUgdGhlIGNvbnRhaW5pbmcgYmxvY2sgY2FjaGVzLgor
ICAgIGlmIChpczxSZW5kZXJCbG9jaz4oKnRoaXMpKQorICAgICAgICBkb3duY2FzdDxSZW5kZXJC
bG9jaz4oKnRoaXMpLnJlc2V0Rmxvd1RocmVhZENvbnRhaW5pbmdCbG9ja0FuZENoaWxkSW5mb0lu
Y2x1ZGluZ0Rlc2NlbmRhbnRzKCk7CisgICAgCisgICAgLy8gQWRqdXN0IHRoZSBmbG93IHRyZWFk
IHN0YXRlIG9uIHRoZSBzdWJ0cmVlLgorICAgIHNldEZsb3dUaHJlYWRTdGF0ZShSZW5kZXJPYmpl
Y3Q6OmNvbXB1dGVkRmxvd1RocmVhZFN0YXRlKCp0aGlzKSk7CisgICAgZm9yIChhdXRvJiBkZXNj
ZW5kYW50IDogZGVzY2VuZGFudHNPZlR5cGU8UmVuZGVyT2JqZWN0PigqdGhpcykpCisgICAgICAg
IGRlc2NlbmRhbnQuc2V0Rmxvd1RocmVhZFN0YXRlKFJlbmRlck9iamVjdDo6Y29tcHV0ZWRGbG93
VGhyZWFkU3RhdGUoZGVzY2VuZGFudCkpOworfQorCiB2b2lkIFJlbmRlckVsZW1lbnQ6OnJlbW92
ZUZyb21SZW5kZXJGbG93VGhyZWFkKCkKIHsKICAgICBBU1NFUlQoZmxvd1RocmVhZFN0YXRlKCkg
IT0gTm90SW5zaWRlRmxvd1RocmVhZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuaAppbmRleCAzODJjMTFkMGQ0NTdiOTZlNWU2MTE2NjA1NmU5NDVjYzg3MmNiMDExLi44
OGU2Njg4NzliNjBmNjAxYmQ1NTljZDU2YTIyMjc3N2EwMTM0MmEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTI4MSw2ICsyODEsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgdm9pZCB1cGRhdGVPdXRsaW5lQXV0b0FuY2VzdG9yKGJvb2wgaGFzT3V0bGluZUF1dG8p
OwogCiAgICAgdm9pZCByZW1vdmVGcm9tUmVuZGVyRmxvd1RocmVhZEluY2x1ZGluZ0Rlc2NlbmRh
bnRzKGJvb2wgc2hvdWxkVXBkYXRlU3RhdGUpOworICAgIHZvaWQgYWRqdXN0Rmxvd1RocmVhZFN0
YXRlT25Db250YWluaW5nQmxvY2tDaGFuZ2VJZk5lZWRlZCgpOwogCiBwcml2YXRlOgogICAgIFJl
bmRlckVsZW1lbnQoQ29udGFpbmVyTm9kZSYsIFJlbmRlclN0eWxlJiYsIEJhc2VUeXBlRmxhZ3Mp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBlYzljNTU1
YzIwZmU5MWMzODA0MzMxNGYzOWEwODc2OTk2Mzg0NTVjLi4wYmNiNWQyZTk1ODU2YjdjZWVmZDA1
Y2VmNjgzN2Y4Mjg0OTg3ZTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcApAQCAtMTc3LDE4ICsxNzcsMzYgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnNldEZsb3dU
aHJlYWRTdGF0ZUluY2x1ZGluZ0Rlc2NlbmRhbnRzKEZsb3dUaHJlYWRTdGF0ZSBzdGF0ZSkKICAg
ICB9CiB9CiAKK1JlbmRlck9iamVjdDo6Rmxvd1RocmVhZFN0YXRlIFJlbmRlck9iamVjdDo6Y29t
cHV0ZWRGbG93VGhyZWFkU3RhdGUoY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAg
ICBpZiAoIXJlbmRlcmVyLnBhcmVudCgpKQorICAgICAgICByZXR1cm4gcmVuZGVyZXIuZmxvd1Ro
cmVhZFN0YXRlKCk7CisKKyAgICBhdXRvIGluaGVyaXRlZEZsb3dTdGF0ZSA9IFJlbmRlck9iamVj
dDo6Tm90SW5zaWRlRmxvd1RocmVhZDsKKyAgICBpZiAoaXM8UmVuZGVyVGV4dD4ocmVuZGVyZXIp
KQorICAgICAgICBpbmhlcml0ZWRGbG93U3RhdGUgPSByZW5kZXJlci5wYXJlbnQoKS0+Zmxvd1Ro
cmVhZFN0YXRlKCk7CisgICAgZWxzZSBpZiAoYXV0byogY29udGFpbmluZ0Jsb2NrID0gcmVuZGVy
ZXIuY29udGFpbmluZ0Jsb2NrKCkpCisgICAgICAgIGluaGVyaXRlZEZsb3dTdGF0ZSA9IGNvbnRh
aW5pbmdCbG9jay0+Zmxvd1RocmVhZFN0YXRlKCk7CisgICAgZWxzZSB7CisgICAgICAgIC8vIFNw
bGl0dGluZyBsaW5lcyBvciBkb2luZyBjb250aW51YXRpb24sIHNvIGp1c3Qga2VlcCB0aGUgY3Vy
cmVudCBzdGF0ZS4KKyAgICAgICAgaW5oZXJpdGVkRmxvd1N0YXRlID0gcmVuZGVyZXIuZmxvd1Ro
cmVhZFN0YXRlKCk7CisgICAgfQorICAgIHJldHVybiBpbmhlcml0ZWRGbG93U3RhdGU7Cit9CisK
IHZvaWQgUmVuZGVyT2JqZWN0Ojppbml0aWFsaXplRmxvd1RocmVhZFN0YXRlT25JbnNlcnRpb24o
KQogewogICAgIEFTU0VSVChwYXJlbnQoKSk7CiAKLSAgICBpZiAoZmxvd1RocmVhZFN0YXRlKCkg
PT0gcGFyZW50KCktPmZsb3dUaHJlYWRTdGF0ZSgpKQotICAgICAgICByZXR1cm47Ci0KICAgICAv
LyBBIFJlbmRlckZsb3dUaHJlYWQgaXMgYWx3YXlzIGNvbnNpZGVyZWQgdG8gYmUgaW5zaWRlIGl0
c2VsZiwgc28gaXQgbmV2ZXIgaGFzIHRvIGNoYW5nZSBpdHMgc3RhdGUgaW4gcmVzcG9uc2UgdG8g
cGFyZW50IGNoYW5nZXMuCiAgICAgaWYgKGlzUmVuZGVyRmxvd1RocmVhZCgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBzZXRGbG93VGhyZWFkU3RhdGVJbmNsdWRpbmdEZXNjZW5kYW50cyhwYXJl
bnQoKS0+Zmxvd1RocmVhZFN0YXRlKCkpOworICAgIGF1dG8gY29tcHV0ZWRTdGF0ZSA9IGNvbXB1
dGVkRmxvd1RocmVhZFN0YXRlKCp0aGlzKTsKKyAgICBpZiAoZmxvd1RocmVhZFN0YXRlKCkgPT0g
Y29tcHV0ZWRTdGF0ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc2V0Rmxvd1RocmVhZFN0YXRl
SW5jbHVkaW5nRGVzY2VuZGFudHMoY29tcHV0ZWRTdGF0ZSk7CiB9CiAKIHZvaWQgUmVuZGVyT2Jq
ZWN0OjpyZXNldEZsb3dUaHJlYWRTdGF0ZU9uUmVtb3ZhbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggODUzZGNhNjg4NTU2NTMzYzkyNWM1ZDc3ZjdjNDMxMGVm
ODUxM2ZhOS4uMjY0NzUwOWMzZmI4ZTJjZDEwYmQ4YjAxMWRlMjM0MjcxNjg2MGQ4ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtODIwLDYgKzgyMCw3IEBAIHBy
b3RlY3RlZDoKIAogICAgIHZvaWQgaW5pdGlhbGl6ZUZsb3dUaHJlYWRTdGF0ZU9uSW5zZXJ0aW9u
KCk7CiAgICAgdm9pZCByZXNldEZsb3dUaHJlYWRTdGF0ZU9uUmVtb3ZhbCgpOworICAgIHN0YXRp
YyBGbG93VGhyZWFkU3RhdGUgY29tcHV0ZWRGbG93VGhyZWFkU3RhdGUoY29uc3QgUmVuZGVyT2Jq
ZWN0Jik7CiAKIHByaXZhdGU6CiAjaWZuZGVmIE5ERUJVRwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>