<?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>170747</bug_id>
          
          <creation_ts>2017-04-11 13:55:27 -0700</creation_ts>
          <short_desc>Link preload HTMLPreloadScanner support</short_desc>
          <delta_ts>2017-05-03 14:55:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Yoav Weiss">yoav</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1296540</commentid>
    <comment_count>0</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-04-11 13:55:27 -0700</bug_when>
    <thetext>Link preload HTMLPreloadScanner support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296556</commentid>
    <comment_count>1</comment_count>
      <attachid>306853</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-04-11 14:37:14 -0700</bug_when>
    <thetext>Created attachment 306853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1296562</commentid>
    <comment_count>2</comment_count>
      <attachid>306857</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-04-11 14:57:10 -0700</bug_when>
    <thetext>Created attachment 306857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303650</commentid>
    <comment_count>3</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-05-02 05:45:37 -0700</bug_when>
    <thetext>Friendly ping :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303668</commentid>
    <comment_count>4</comment_count>
      <attachid>306857</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-05-02 08:00:16 -0700</bug_when>
    <thetext>Comment on attachment 306857
Patch

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

&gt; Source/WebCore/html/parser/HTMLPreloadScanner.cpp:149
&gt; +        std::optional&lt;CachedResource::Type&gt; type = resourceType();

Use auto maybe?

&gt; LayoutTests/http/tests/preload/preloadscanner_download_resources.html:7
&gt; +    shouldBeTrue(&quot;internals.isPreloaded(&apos;../resources/dummy.js&apos;);&quot;);

Can you exit early if window.intrrnals is undefined?

&gt; LayoutTests/http/tests/preload/preloadscanner_download_resources.html:8
&gt; +    shouldBeTrue(&quot;internals.isPreloaded(&apos;../resources/dummy.css&apos;);&quot;);

Exit with a proper message..,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303970</commentid>
    <comment_count>5</comment_count>
      <attachid>308891</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-05-03 00:44:44 -0700</bug_when>
    <thetext>Created attachment 308891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303971</commentid>
    <comment_count>6</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-05-03 00:46:21 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #4)
&gt; Comment on attachment 306857 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=306857&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/parser/HTMLPreloadScanner.cpp:149
&gt; &gt; +        std::optional&lt;CachedResource::Type&gt; type = resourceType();
&gt; 
&gt; Use auto maybe?

done
&gt; 
&gt; &gt; LayoutTests/http/tests/preload/preloadscanner_download_resources.html:7
&gt; &gt; +    shouldBeTrue(&quot;internals.isPreloaded(&apos;../resources/dummy.js&apos;);&quot;);
&gt; 
&gt; Can you exit early if window.intrrnals is undefined?

done
&gt; 
&gt; &gt; LayoutTests/http/tests/preload/preloadscanner_download_resources.html:8
&gt; &gt; +    shouldBeTrue(&quot;internals.isPreloaded(&apos;../resources/dummy.css&apos;);&quot;);
&gt; 
&gt; Exit with a proper message..,

Not sure what you mean, as `shouldBeTrue` has no parameter for a more meaningful message. Can you elaborate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304232</commentid>
    <comment_count>7</comment_count>
      <attachid>308949</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-05-03 14:07:03 -0700</bug_when>
    <thetext>Created attachment 308949
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304235</commentid>
    <comment_count>8</comment_count>
      <attachid>308949</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2017-05-03 14:13:59 -0700</bug_when>
    <thetext>Comment on attachment 308949
Patch

Added a failure message when internals is not available. Thanks for reviewing! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304270</commentid>
    <comment_count>9</comment_count>
      <attachid>308949</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-03 14:55:29 -0700</bug_when>
    <thetext>Comment on attachment 308949
Patch

Clearing flags on attachment: 308949

Committed r216143: &lt;http://trac.webkit.org/changeset/216143&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304271</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-03 14:55:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306853</attachid>
            <date>2017-04-11 14:37:14 -0700</date>
            <delta_ts>2017-04-11 14:57:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170747-20170411233712.patch</filename>
            <type>text/plain</type>
            <size>9691</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2IxODAxMzA0YzY5OTI3
MmEzMWVlNDZlNTMyMjliYjkzYmI4YzliNS4uMTcxMDVhNGQ1NDMzODM5ZjBlMjM4ZjliYzNlNDQ2
NGJhYzU2Y2RiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE3LTA0LTExICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgogCisgICAgICAgIExpbmsgcHJlbG9hZCBIVE1MUHJlbG9h
ZFNjYW5uZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcwNzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9wcmVsb2FkL3ByZWxvYWRzY2FubmVyX2Rvd25sb2Fk
X3Jlc291cmNlcy5odG1sCisKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdT
Y2FubmVyOjpTdGFydFRhZ1NjYW5uZXIpOiBJbml0aWFsaXplIGxpbmsgcHJlbG9hZCBmbGFnLgor
ICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpj
cmVhdGVQcmVsb2FkUmVxdWVzdCk6IENyZWF0ZSBhIHJlcXVlc3Qgb25seSBpZiB0aGUgdHlwZSBp
cyBrbm93biAoc28gaWdub3JlCisgICAgICAgIHByZWxvYWRzIHdpdGggdW5rbm93biB0eXBlKS4K
KyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcjo6
cHJvY2Vzc0F0dHJpYnV0ZSk6IEFkZCBoYW5kbGluZyBmb3IgbGluayBwcmVsb2FkIGFuZCB0aGUg
YGFzYCBhdHRyaWJ1dGUuCisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpT
dGFydFRhZ1NjYW5uZXI6OnJlbEF0dHJpYnV0ZUlzU3R5bGVTaGVldCk6IEdldCBMaW5rUmVsQXR0
cmlidXRlIGFzIGlucHV0LgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6
U3RhcnRUYWdTY2FubmVyOjpyZXNvdXJjZVR5cGUpOiBSZXR1cm4gYW4gc3RkOjpvcHRpb25hbCwg
aW4gY2FzZSB0aGUgcHJlbG9hZCB0eXBlIGlzIHVua25vd24uCisgICAgICAgIChXZWJDb3JlOjpU
b2tlblByZWxvYWRTY2FubmVyOjpTdGFydFRhZ1NjYW5uZXI6OnNob3VsZFByZWxvYWQpOiBSZXR1
cm4gdHJ1ZSBmb3IgdGhlIGxpbmsgcHJlbG9hZCBjYXNlLgorCisyMDE3LTA0LTExICBZb2F2IFdl
aXNzICA8eW9hdkB5b2F2LndzPgorCiAgICAgICAgIFtsaW5rIHByZWxvYWRdIERvdWJsZSBkb3du
bG9hZHMgb2YgcHJlbG9hZGVkIGNvbnRlbnQgd2hlbiBpdCdzIGluIE1lbW9yeUNhY2hlCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzAxMjIKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKaW5k
ZXggMjAyMmJkMmJmNjI0NTE4YjI2Mjk1MjBkMGE5NDc2Njk1ZmI0OTQ1My4uY2ZhOWFjMGM4MGUz
MzhiN2RjODMxYWQzYWM4MTcwZjBmNzkwNGEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5j
bHVkZSAiSFRNTFNyY3NldFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbml6ZXIuaCIKICNp
bmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgorI2luY2x1ZGUgIkxpbmtMb2FkZXIuaCIKICNpbmNs
dWRlICJMaW5rUmVsQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVk
ZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgpAQCAtMTAwLDYgKzEwMSw3IEBAIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBTdGFydFRhZ1NjYW5uZXIoVGFnSWQgdGFnSWQsIGZsb2F0IGRldmljZVNjYWxl
RmFjdG9yID0gMS4wKQogICAgICAgICA6IG1fdGFnSWQodGFnSWQpCiAgICAgICAgICwgbV9saW5r
SXNTdHlsZVNoZWV0KGZhbHNlKQorICAgICAgICAsIG1fbGlua0lzUHJlbG9hZChmYWxzZSkKICAg
ICAgICAgLCBtX21ldGFJc1ZpZXdwb3J0KGZhbHNlKQogICAgICAgICAsIG1faW5wdXRJc0ltYWdl
KGZhbHNlKQogICAgICAgICAsIG1fZGV2aWNlU2NhbGVGYWN0b3IoZGV2aWNlU2NhbGVGYWN0b3Ip
CkBAIC0xNDQsNyArMTQ2LDEwIEBAIHB1YmxpYzoKICAgICAgICAgaWYgKCFzaG91bGRQcmVsb2Fk
KCkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgICAgICBhdXRvIHJlcXVlc3Qg
PSBzdGQ6Om1ha2VfdW5pcXVlPFByZWxvYWRSZXF1ZXN0Pihpbml0aWF0b3JGb3IobV90YWdJZCks
IG1fdXJsVG9Mb2FkLCBwcmVkaWN0ZWRCYXNlVVJMLCByZXNvdXJjZVR5cGUoKSwgbV9tZWRpYUF0
dHJpYnV0ZSwgbV9tb2R1bGVTY3JpcHQpOworICAgICAgICBzdGQ6Om9wdGlvbmFsPENhY2hlZFJl
c291cmNlOjpUeXBlPiB0eXBlID0gcmVzb3VyY2VUeXBlKCk7CisgICAgICAgIGlmICghdHlwZSkK
KyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBhdXRvIHJlcXVlc3QgPSBzdGQ6
Om1ha2VfdW5pcXVlPFByZWxvYWRSZXF1ZXN0Pihpbml0aWF0b3JGb3IobV90YWdJZCksIG1fdXJs
VG9Mb2FkLCBwcmVkaWN0ZWRCYXNlVVJMLCB0eXBlLnZhbHVlKCksIG1fbWVkaWFBdHRyaWJ1dGUs
IG1fbW9kdWxlU2NyaXB0KTsKICAgICAgICAgcmVxdWVzdC0+c2V0Q3Jvc3NPcmlnaW5Nb2RlKG1f
Y3Jvc3NPcmlnaW5Nb2RlKTsKICAgICAgICAgcmVxdWVzdC0+c2V0Tm9uY2UobV9ub25jZUF0dHJp
YnV0ZSk7CiAKQEAgLTIyMCw5ICsyMjUsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBUYWdJ
ZDo6TGluazoKICAgICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBocmVmQXR0cikp
CiAgICAgICAgICAgICAgICAgc2V0VXJsVG9Mb2FkKGF0dHJpYnV0ZVZhbHVlKTsKLSAgICAgICAg
ICAgIGVsc2UgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIHJlbEF0dHIpKQotICAgICAgICAgICAg
ICAgIG1fbGlua0lzU3R5bGVTaGVldCA9IHJlbEF0dHJpYnV0ZUlzU3R5bGVTaGVldChhdHRyaWJ1
dGVWYWx1ZSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBtZWRp
YUF0dHIpKQorICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgcmVsQXR0
cikpIHsKKyAgICAgICAgICAgICAgICBMaW5rUmVsQXR0cmlidXRlIHBhcnNlZEF0dHJpYnV0ZSB7
IGF0dHJpYnV0ZVZhbHVlIH07CisgICAgICAgICAgICAgICAgbV9saW5rSXNTdHlsZVNoZWV0ID0g
cmVsQXR0cmlidXRlSXNTdHlsZVNoZWV0KHBhcnNlZEF0dHJpYnV0ZSk7CisgICAgICAgICAgICAg
ICAgbV9saW5rSXNQcmVsb2FkID0gcGFyc2VkQXR0cmlidXRlLmlzTGlua1ByZWxvYWQ7CisgICAg
ICAgICAgICB9IGVsc2UgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIG1lZGlhQXR0cikpCiAgICAg
ICAgICAgICAgICAgbV9tZWRpYUF0dHJpYnV0ZSA9IGF0dHJpYnV0ZVZhbHVlOwogICAgICAgICAg
ICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgY2hhcnNldEF0dHIpKQogICAgICAgICAg
ICAgICAgIG1fY2hhcnNldCA9IGF0dHJpYnV0ZVZhbHVlOwpAQCAtMjMwLDYgKzIzNyw4IEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICAgICAgbV9jcm9zc09yaWdpbk1vZGUgPSBzdHJpcExlYWRpbmdB
bmRUcmFpbGluZ0hUTUxTcGFjZXMoYXR0cmlidXRlVmFsdWUpOwogICAgICAgICAgICAgZWxzZSBp
ZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgbm9uY2VBdHRyKSkKICAgICAgICAgICAgICAgICBtX25v
bmNlQXR0cmlidXRlID0gYXR0cmlidXRlVmFsdWU7CisgICAgICAgICAgICBlbHNlIGlmIChtYXRj
aChhdHRyaWJ1dGVOYW1lLCBhc0F0dHIpKQorICAgICAgICAgICAgICAgIG1fYXNBdHRyaWJ1dGUg
PSBhdHRyaWJ1dGVWYWx1ZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFRhZ0lk
OjpJbnB1dDoKICAgICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBzcmNBdHRyKSkK
QEAgLTI1Miw5ICsyNjEsOCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgfQogCi0gICAgc3Rh
dGljIGJvb2wgcmVsQXR0cmlidXRlSXNTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgYXR0cmlidXRl
VmFsdWUpCisgICAgc3RhdGljIGJvb2wgcmVsQXR0cmlidXRlSXNTdHlsZVNoZWV0KGNvbnN0IExp
bmtSZWxBdHRyaWJ1dGUmIHBhcnNlZEF0dHJpYnV0ZSkKICAgICB7Ci0gICAgICAgIExpbmtSZWxB
dHRyaWJ1dGUgcGFyc2VkQXR0cmlidXRlIHsgYXR0cmlidXRlVmFsdWUgfTsKICAgICAgICAgcmV0
dXJuIHBhcnNlZEF0dHJpYnV0ZS5pc1N0eWxlU2hlZXQgJiYgIXBhcnNlZEF0dHJpYnV0ZS5pc0Fs
dGVybmF0ZSAmJiAhcGFyc2VkQXR0cmlidXRlLmljb25UeXBlICYmICFwYXJzZWRBdHRyaWJ1dGUu
aXNETlNQcmVmZXRjaDsKICAgICB9CiAKQEAgLTI3NSw3ICsyODMsNyBAQCBwcml2YXRlOgogICAg
ICAgICByZXR1cm4gbV9jaGFyc2V0OwogICAgIH0KIAotICAgIENhY2hlZFJlc291cmNlOjpUeXBl
IHJlc291cmNlVHlwZSgpIGNvbnN0CisgICAgc3RkOjpvcHRpb25hbDxDYWNoZWRSZXNvdXJjZTo6
VHlwZT4gcmVzb3VyY2VUeXBlKCkgY29uc3QKICAgICB7CiAgICAgICAgIHN3aXRjaCAobV90YWdJ
ZCkgewogICAgICAgICBjYXNlIFRhZ0lkOjpTY3JpcHQ6CkBAIC0yODYsOCArMjk0LDExIEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICBBU1NFUlQobV90YWdJZCAhPSBUYWdJZDo6SW5wdXQgfHwgbV9p
bnB1dElzSW1hZ2UpOwogICAgICAgICAgICAgcmV0dXJuIENhY2hlZFJlc291cmNlOjpJbWFnZVJl
c291cmNlOwogICAgICAgICBjYXNlIFRhZ0lkOjpMaW5rOgotICAgICAgICAgICAgQVNTRVJUKG1f
bGlua0lzU3R5bGVTaGVldCk7Ci0gICAgICAgICAgICByZXR1cm4gQ2FjaGVkUmVzb3VyY2U6OkNT
U1N0eWxlU2hlZXQ7CisgICAgICAgICAgICBpZiAobV9saW5rSXNTdHlsZVNoZWV0KQorICAgICAg
ICAgICAgICAgIHJldHVybiBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldDsKKyAgICAgICAg
ICAgIGlmIChtX2xpbmtJc1ByZWxvYWQpCisgICAgICAgICAgICAgICAgcmV0dXJuIExpbmtMb2Fk
ZXI6OnJlc291cmNlVHlwZUZyb21Bc0F0dHJpYnV0ZShtX2FzQXR0cmlidXRlKTsKKyAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIFRhZ0lkOjpNZXRhOgogICAgICAgICBjYXNlIFRhZ0lk
OjpVbmtub3duOgogICAgICAgICBjYXNlIFRhZ0lkOjpTdHlsZToKQEAgLTMwOCw3ICszMTksNyBA
QCBwcml2YXRlOgogICAgICAgICBpZiAocHJvdG9jb2xJcyhtX3VybFRvTG9hZCwgImRhdGEiKSB8
fCBwcm90b2NvbElzKG1fdXJsVG9Mb2FkLCAiYWJvdXQiKSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKIAotICAgICAgICBpZiAobV90YWdJZCA9PSBUYWdJZDo6TGluayAmJiAhbV9saW5rSXNT
dHlsZVNoZWV0KQorICAgICAgICBpZiAobV90YWdJZCA9PSBUYWdJZDo6TGluayAmJiAhbV9saW5r
SXNTdHlsZVNoZWV0ICYmICFtX2xpbmtJc1ByZWxvYWQpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAKICAgICAgICAgaWYgKG1fdGFnSWQgPT0gVGFnSWQ6OklucHV0ICYmICFtX2lucHV0SXNJ
bWFnZSkKQEAgLTMyNSw5ICszMzYsMTEgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9jaGFyc2V0
OwogICAgIFN0cmluZyBtX2Nyb3NzT3JpZ2luTW9kZTsKICAgICBib29sIG1fbGlua0lzU3R5bGVT
aGVldDsKKyAgICBib29sIG1fbGlua0lzUHJlbG9hZDsKICAgICBTdHJpbmcgbV9tZWRpYUF0dHJp
YnV0ZTsKICAgICBTdHJpbmcgbV9ub25jZUF0dHJpYnV0ZTsKICAgICBTdHJpbmcgbV9tZXRhQ29u
dGVudDsKKyAgICBTdHJpbmcgbV9hc0F0dHJpYnV0ZTsKICAgICBib29sIG1fbWV0YUlzVmlld3Bv
cnQ7CiAgICAgYm9vbCBtX2lucHV0SXNJbWFnZTsKICAgICBmbG9hdCBtX2RldmljZVNjYWxlRmFj
dG9yOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDNkMTdkMThmOTMwZjk5NGEwM2JlM2ZkYTNmYjc2NGU2YzM4YjA0YTkuLmE5
YzFlMjYwZjZmY2U1YjE2MzgzZTcyMTIwYjAxYzZjMDlhNDBjNDUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwx
NSBAQAogMjAxNy0wNC0xMSAgWW9hdiBXZWlzcyAgPHlvYXZAeW9hdi53cz4KIAorICAgICAgICBM
aW5rIHByZWxvYWQgSFRNTFByZWxvYWRTY2FubmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDc0NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL3ByZWxv
YWRzY2FubmVyX2Rvd25sb2FkX3Jlc291cmNlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9wcmVsb2Fkc2Nhbm5lcl9kb3dubG9hZF9yZXNvdXJjZXMu
aHRtbDogQWRkZWQuCisKKzIwMTctMDQtMTEgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisK
ICAgICAgICAgW2xpbmsgcHJlbG9hZF0gRG91YmxlIGRvd25sb2FkcyBvZiBwcmVsb2FkZWQgY29u
dGVudCB3aGVuIGl0J3MgaW4gTWVtb3J5Q2FjaGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDEyMgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRfcmVzb3VyY2VzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9wcmVsb2Fkc2Nhbm5lcl9k
b3dubG9hZF9yZXNvdXJjZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0MmY0MDExNTJmNTA5
ZDdjNWU2MTlmMTcwNzc4OTNiZGI4MWE3MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRfcmVzb3VyY2VzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitQQVNTIGludGVybmFscy5pc1ByZWxvYWRlZCgn
Li4vcmVzb3VyY2VzL2R1bW15LmpzJyk7IGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmlzUHJlbG9h
ZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkuY3NzJyk7IGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmlz
UHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvc3F1YXJlLnBuZycpOyBpcyB0cnVlCitQQVNTIGludGVy
bmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL0FoZW0udHRmJyk7IGlzIHRydWUKK1BBU1Mg
aW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvdGVzdC5tcDQnKTsgaXMgdHJ1ZQor
UEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3NlY3VyaXR5L3Jlc291cmNlcy9jYXB0aW9u
cy52dHQnKTsgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNl
cy9kdW1teS54bWw/YmFkdmFsdWUnKTsgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmlzUHJlbG9h
ZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkueG1sJyk7IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRfcmVzb3VyY2VzLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxv
YWRfcmVzb3VyY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVlNGFmYzE0M2YwZTE1NTllMjk5OGIyYTdh
YTZkZDdhODNiMjg3MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cHJlbG9hZC9wcmVsb2Fkc2Nhbm5lcl9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbApAQCAtMCwwICsx
LDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3Jlc291cmNlcy9zbG93LXNjcmlwdC5wbD9kZWxheT04MDAiPjwvc2NyaXB0PgorPHNjcmlwdD4K
KyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJj
ZXMvZHVtbXkuanMnKTsiKTsKKyAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRl
ZCgnLi4vcmVzb3VyY2VzL2R1bW15LmNzcycpOyIpOworICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJu
YWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvc3F1YXJlLnBuZycpOyIpOworICAgIHNob3Vs
ZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvQWhlbS50dGYnKTsi
KTsKKyAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2Vz
L3Rlc3QubXA0Jyk7Iik7CisgICAgc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQo
Jy4uL3NlY3VyaXR5L3Jlc291cmNlcy9jYXB0aW9ucy52dHQnKTsiKTsKKyAgICBzaG91bGRCZUZh
bHNlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS54bWw/YmFkdmFs
dWUnKTsiKTsKKyAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVz
b3VyY2VzL2R1bW15LnhtbCcpOyIpOworICAgIGRvY3VtZW50LndyaXRlKCI8ISIgKyAiLS0iKTsK
Kzwvc2NyaXB0PgorPGxpbmsgcmVsPXByZWxvYWQgaHJlZj0iLi4vcmVzb3VyY2VzL2R1bW15Lmpz
IiBhcz1zY3JpcHQ+Cis8bGluayByZWw9cHJlbG9hZCBocmVmPSIuLi9yZXNvdXJjZXMvZHVtbXku
Y3NzIiBhcz1zdHlsZT4KKzxsaW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9zcXVh
cmUucG5nIiBhcz1pbWFnZT4KKzxsaW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9B
aGVtLnR0ZiIgYXM9Zm9udCBjcm9zc29yaWdpbj4KKzxsaW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4u
L3Jlc291cmNlcy90ZXN0Lm1wNCIgYXM9bWVkaWE+Cis8bGluayByZWw9cHJlbG9hZCBocmVmPSIu
Li9zZWN1cml0eS9yZXNvdXJjZXMvY2FwdGlvbnMudnR0IiBhcz10cmFjaz4KKzxsaW5rIHJlbD1w
cmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9kdW1teS54bWw/YmFkdmFsdWUiIGFzPWZvb2Jhcnht
bHRoaW5nPgorPGxpbmsgcmVsPXByZWxvYWQgaHJlZj0iLi4vcmVzb3VyY2VzL2R1bW15LnhtbCI+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306857</attachid>
            <date>2017-04-11 14:57:10 -0700</date>
            <delta_ts>2017-05-03 00:44:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170747-20170411235708.patch</filename>
            <type>text/plain</type>
            <size>11488</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2IxODAxMzA0YzY5OTI3
MmEzMWVlNDZlNTMyMjliYjkzYmI4YzliNS4uMjdjODBmODg3NjIwYjk0MzhlNTk0N2Y4NTM2M2M3
MWI5MzcwNmE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDE3LTA0LTExICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgogCisgICAgICAgIExpbmsgcHJlbG9hZCBIVE1MUHJlbG9h
ZFNjYW5uZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcwNzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9wcmVsb2FkL3ByZWxvYWRzY2FubmVyX2Rvd25sb2Fk
X3Jlc291cmNlcy5odG1sCisKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdT
Y2FubmVyOjpTdGFydFRhZ1NjYW5uZXIpOiBJbml0aWFsaXplIGxpbmsgcHJlbG9hZCBmbGFnLgor
ICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpj
cmVhdGVQcmVsb2FkUmVxdWVzdCk6IENyZWF0ZSBhIHJlcXVlc3Qgb25seSBpZiB0aGUgdHlwZSBp
cyBrbm93biAoc28gaWdub3JlCisgICAgICAgIHByZWxvYWRzIHdpdGggdW5rbm93biB0eXBlKS4K
KyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcjo6
cHJvY2Vzc0F0dHJpYnV0ZSk6IEFkZCBoYW5kbGluZyBmb3IgbGluayBwcmVsb2FkIGFuZCB0aGUg
YGFzYCBhdHRyaWJ1dGUuCisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpT
dGFydFRhZ1NjYW5uZXI6OnJlbEF0dHJpYnV0ZUlzU3R5bGVTaGVldCk6IEdldCBMaW5rUmVsQXR0
cmlidXRlIGFzIGlucHV0LgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6
U3RhcnRUYWdTY2FubmVyOjpyZXNvdXJjZVR5cGUpOiBSZXR1cm4gYW4gc3RkOjpvcHRpb25hbCwg
aW4gY2FzZSB0aGUgcHJlbG9hZCB0eXBlIGlzIHVua25vd24uCisgICAgICAgIChXZWJDb3JlOjpU
b2tlblByZWxvYWRTY2FubmVyOjpTdGFydFRhZ1NjYW5uZXI6OnNob3VsZFByZWxvYWQpOiBSZXR1
cm4gdHJ1ZSBmb3IgdGhlIGxpbmsgcHJlbG9hZCBjYXNlLgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZUxvYWRlcjo6cHJlbG9hZCk6IFJldHVybiB0aGUgcmVzb3VyY2UgcmF0aGVyIHRoYW4gYSBu
dWxscHRyIGlmIGl0J3MgYWxyZWFkeSBpbiBtX3ByZWxvYWRzLgorCisyMDE3LTA0LTExICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCiAgICAgICAgIFtsaW5rIHByZWxvYWRdIERvdWJsZSBk
b3dubG9hZHMgb2YgcHJlbG9hZGVkIGNvbnRlbnQgd2hlbiBpdCdzIGluIE1lbW9yeUNhY2hlCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzAxMjIKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAK
aW5kZXggMjAyMmJkMmJmNjI0NTE4YjI2Mjk1MjBkMGE5NDc2Njk1ZmI0OTQ1My4uY2ZhOWFjMGM4
MGUzMzhiN2RjODMxYWQzYWM4MTcwZjBmNzkwNGEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSAiSFRNTFNyY3NldFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbml6ZXIuaCIK
ICNpbmNsdWRlICJJbnB1dFR5cGVOYW1lcy5oIgorI2luY2x1ZGUgIkxpbmtMb2FkZXIuaCIKICNp
bmNsdWRlICJMaW5rUmVsQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5j
bHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgpAQCAtMTAwLDYgKzEwMSw3IEBAIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBTdGFydFRhZ1NjYW5uZXIoVGFnSWQgdGFnSWQsIGZsb2F0IGRldmljZVNj
YWxlRmFjdG9yID0gMS4wKQogICAgICAgICA6IG1fdGFnSWQodGFnSWQpCiAgICAgICAgICwgbV9s
aW5rSXNTdHlsZVNoZWV0KGZhbHNlKQorICAgICAgICAsIG1fbGlua0lzUHJlbG9hZChmYWxzZSkK
ICAgICAgICAgLCBtX21ldGFJc1ZpZXdwb3J0KGZhbHNlKQogICAgICAgICAsIG1faW5wdXRJc0lt
YWdlKGZhbHNlKQogICAgICAgICAsIG1fZGV2aWNlU2NhbGVGYWN0b3IoZGV2aWNlU2NhbGVGYWN0
b3IpCkBAIC0xNDQsNyArMTQ2LDEwIEBAIHB1YmxpYzoKICAgICAgICAgaWYgKCFzaG91bGRQcmVs
b2FkKCkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgICAgICBhdXRvIHJlcXVl
c3QgPSBzdGQ6Om1ha2VfdW5pcXVlPFByZWxvYWRSZXF1ZXN0Pihpbml0aWF0b3JGb3IobV90YWdJ
ZCksIG1fdXJsVG9Mb2FkLCBwcmVkaWN0ZWRCYXNlVVJMLCByZXNvdXJjZVR5cGUoKSwgbV9tZWRp
YUF0dHJpYnV0ZSwgbV9tb2R1bGVTY3JpcHQpOworICAgICAgICBzdGQ6Om9wdGlvbmFsPENhY2hl
ZFJlc291cmNlOjpUeXBlPiB0eXBlID0gcmVzb3VyY2VUeXBlKCk7CisgICAgICAgIGlmICghdHlw
ZSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBhdXRvIHJlcXVlc3QgPSBz
dGQ6Om1ha2VfdW5pcXVlPFByZWxvYWRSZXF1ZXN0Pihpbml0aWF0b3JGb3IobV90YWdJZCksIG1f
dXJsVG9Mb2FkLCBwcmVkaWN0ZWRCYXNlVVJMLCB0eXBlLnZhbHVlKCksIG1fbWVkaWFBdHRyaWJ1
dGUsIG1fbW9kdWxlU2NyaXB0KTsKICAgICAgICAgcmVxdWVzdC0+c2V0Q3Jvc3NPcmlnaW5Nb2Rl
KG1fY3Jvc3NPcmlnaW5Nb2RlKTsKICAgICAgICAgcmVxdWVzdC0+c2V0Tm9uY2UobV9ub25jZUF0
dHJpYnV0ZSk7CiAKQEAgLTIyMCw5ICsyMjUsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBU
YWdJZDo6TGluazoKICAgICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBocmVmQXR0
cikpCiAgICAgICAgICAgICAgICAgc2V0VXJsVG9Mb2FkKGF0dHJpYnV0ZVZhbHVlKTsKLSAgICAg
ICAgICAgIGVsc2UgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIHJlbEF0dHIpKQotICAgICAgICAg
ICAgICAgIG1fbGlua0lzU3R5bGVTaGVldCA9IHJlbEF0dHJpYnV0ZUlzU3R5bGVTaGVldChhdHRy
aWJ1dGVWYWx1ZSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBt
ZWRpYUF0dHIpKQorICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgcmVs
QXR0cikpIHsKKyAgICAgICAgICAgICAgICBMaW5rUmVsQXR0cmlidXRlIHBhcnNlZEF0dHJpYnV0
ZSB7IGF0dHJpYnV0ZVZhbHVlIH07CisgICAgICAgICAgICAgICAgbV9saW5rSXNTdHlsZVNoZWV0
ID0gcmVsQXR0cmlidXRlSXNTdHlsZVNoZWV0KHBhcnNlZEF0dHJpYnV0ZSk7CisgICAgICAgICAg
ICAgICAgbV9saW5rSXNQcmVsb2FkID0gcGFyc2VkQXR0cmlidXRlLmlzTGlua1ByZWxvYWQ7Cisg
ICAgICAgICAgICB9IGVsc2UgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIG1lZGlhQXR0cikpCiAg
ICAgICAgICAgICAgICAgbV9tZWRpYUF0dHJpYnV0ZSA9IGF0dHJpYnV0ZVZhbHVlOwogICAgICAg
ICAgICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgY2hhcnNldEF0dHIpKQogICAgICAg
ICAgICAgICAgIG1fY2hhcnNldCA9IGF0dHJpYnV0ZVZhbHVlOwpAQCAtMjMwLDYgKzIzNyw4IEBA
IHByaXZhdGU6CiAgICAgICAgICAgICAgICAgbV9jcm9zc09yaWdpbk1vZGUgPSBzdHJpcExlYWRp
bmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMoYXR0cmlidXRlVmFsdWUpOwogICAgICAgICAgICAgZWxz
ZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgbm9uY2VBdHRyKSkKICAgICAgICAgICAgICAgICBt
X25vbmNlQXR0cmlidXRlID0gYXR0cmlidXRlVmFsdWU7CisgICAgICAgICAgICBlbHNlIGlmICht
YXRjaChhdHRyaWJ1dGVOYW1lLCBhc0F0dHIpKQorICAgICAgICAgICAgICAgIG1fYXNBdHRyaWJ1
dGUgPSBhdHRyaWJ1dGVWYWx1ZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFRh
Z0lkOjpJbnB1dDoKICAgICAgICAgICAgIGlmIChtYXRjaChhdHRyaWJ1dGVOYW1lLCBzcmNBdHRy
KSkKQEAgLTI1Miw5ICsyNjEsOCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgfQogCi0gICAg
c3RhdGljIGJvb2wgcmVsQXR0cmlidXRlSXNTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgYXR0cmli
dXRlVmFsdWUpCisgICAgc3RhdGljIGJvb2wgcmVsQXR0cmlidXRlSXNTdHlsZVNoZWV0KGNvbnN0
IExpbmtSZWxBdHRyaWJ1dGUmIHBhcnNlZEF0dHJpYnV0ZSkKICAgICB7Ci0gICAgICAgIExpbmtS
ZWxBdHRyaWJ1dGUgcGFyc2VkQXR0cmlidXRlIHsgYXR0cmlidXRlVmFsdWUgfTsKICAgICAgICAg
cmV0dXJuIHBhcnNlZEF0dHJpYnV0ZS5pc1N0eWxlU2hlZXQgJiYgIXBhcnNlZEF0dHJpYnV0ZS5p
c0FsdGVybmF0ZSAmJiAhcGFyc2VkQXR0cmlidXRlLmljb25UeXBlICYmICFwYXJzZWRBdHRyaWJ1
dGUuaXNETlNQcmVmZXRjaDsKICAgICB9CiAKQEAgLTI3NSw3ICsyODMsNyBAQCBwcml2YXRlOgog
ICAgICAgICByZXR1cm4gbV9jaGFyc2V0OwogICAgIH0KIAotICAgIENhY2hlZFJlc291cmNlOjpU
eXBlIHJlc291cmNlVHlwZSgpIGNvbnN0CisgICAgc3RkOjpvcHRpb25hbDxDYWNoZWRSZXNvdXJj
ZTo6VHlwZT4gcmVzb3VyY2VUeXBlKCkgY29uc3QKICAgICB7CiAgICAgICAgIHN3aXRjaCAobV90
YWdJZCkgewogICAgICAgICBjYXNlIFRhZ0lkOjpTY3JpcHQ6CkBAIC0yODYsOCArMjk0LDExIEBA
IHByaXZhdGU6CiAgICAgICAgICAgICBBU1NFUlQobV90YWdJZCAhPSBUYWdJZDo6SW5wdXQgfHwg
bV9pbnB1dElzSW1hZ2UpOwogICAgICAgICAgICAgcmV0dXJuIENhY2hlZFJlc291cmNlOjpJbWFn
ZVJlc291cmNlOwogICAgICAgICBjYXNlIFRhZ0lkOjpMaW5rOgotICAgICAgICAgICAgQVNTRVJU
KG1fbGlua0lzU3R5bGVTaGVldCk7Ci0gICAgICAgICAgICByZXR1cm4gQ2FjaGVkUmVzb3VyY2U6
OkNTU1N0eWxlU2hlZXQ7CisgICAgICAgICAgICBpZiAobV9saW5rSXNTdHlsZVNoZWV0KQorICAg
ICAgICAgICAgICAgIHJldHVybiBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldDsKKyAgICAg
ICAgICAgIGlmIChtX2xpbmtJc1ByZWxvYWQpCisgICAgICAgICAgICAgICAgcmV0dXJuIExpbmtM
b2FkZXI6OnJlc291cmNlVHlwZUZyb21Bc0F0dHJpYnV0ZShtX2FzQXR0cmlidXRlKTsKKyAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFRhZ0lkOjpNZXRhOgogICAgICAgICBjYXNlIFRh
Z0lkOjpVbmtub3duOgogICAgICAgICBjYXNlIFRhZ0lkOjpTdHlsZToKQEAgLTMwOCw3ICszMTks
NyBAQCBwcml2YXRlOgogICAgICAgICBpZiAocHJvdG9jb2xJcyhtX3VybFRvTG9hZCwgImRhdGEi
KSB8fCBwcm90b2NvbElzKG1fdXJsVG9Mb2FkLCAiYWJvdXQiKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgICAgICBpZiAobV90YWdJZCA9PSBUYWdJZDo6TGluayAmJiAhbV9saW5r
SXNTdHlsZVNoZWV0KQorICAgICAgICBpZiAobV90YWdJZCA9PSBUYWdJZDo6TGluayAmJiAhbV9s
aW5rSXNTdHlsZVNoZWV0ICYmICFtX2xpbmtJc1ByZWxvYWQpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICAgICAgaWYgKG1fdGFnSWQgPT0gVGFnSWQ6OklucHV0ICYmICFtX2lucHV0
SXNJbWFnZSkKQEAgLTMyNSw5ICszMzYsMTEgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9jaGFy
c2V0OwogICAgIFN0cmluZyBtX2Nyb3NzT3JpZ2luTW9kZTsKICAgICBib29sIG1fbGlua0lzU3R5
bGVTaGVldDsKKyAgICBib29sIG1fbGlua0lzUHJlbG9hZDsKICAgICBTdHJpbmcgbV9tZWRpYUF0
dHJpYnV0ZTsKICAgICBTdHJpbmcgbV9ub25jZUF0dHJpYnV0ZTsKICAgICBTdHJpbmcgbV9tZXRh
Q29udGVudDsKKyAgICBTdHJpbmcgbV9hc0F0dHJpYnV0ZTsKICAgICBib29sIG1fbWV0YUlzVmll
d3BvcnQ7CiAgICAgYm9vbCBtX2lucHV0SXNJbWFnZTsKICAgICBmbG9hdCBtX2RldmljZVNjYWxl
RmFjdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggYzE5OWQyNmI0ZjExMGU2ZGVjZjViNDI1ZjAwZDQzNjM0NmE2
ZDhmMy4uNjQ1NzJhNDY3NGM1OWYzNGUwMDA1NDE3ZTBhMDdlY2JhMjJjMTVlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC0xMjIwLDE3ICsxMjIwLDE2IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291
cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cHJlbG9hZChDYWNoZWRSZXNvdXJjCiAgICAgICAg
IHJlcXVlc3Quc2V0Q2hhcnNldChtX2RvY3VtZW50LT5jaGFyc2V0KCkpOwogCiAgICAgQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHJlc291cmNlID0gcmVxdWVzdFJlc291cmNl
KHR5cGUsIFdURk1vdmUocmVxdWVzdCksIEZvclByZWxvYWQ6Olllcyk7Ci0gICAgaWYgKCFyZXNv
dXJjZSB8fCAobV9wcmVsb2FkcyAmJiBtX3ByZWxvYWRzLT5jb250YWlucyhyZXNvdXJjZS5nZXQo
KSkpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAvLyBGb250cyBuZWVkIHNwZWNpYWwg
dHJlYXRtZW50IHNpbmNlIGp1c3QgY3JlYXRpbmcgdGhlIHJlc291cmNlIGRvZXNuJ3QgdHJpZ2dl
ciBhIGxvYWQuCi0gICAgaWYgKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZSkK
LSAgICAgICAgZG93bmNhc3Q8Q2FjaGVkRm9udD4ocmVzb3VyY2UuZ2V0KCkpLT5iZWdpbkxvYWRJ
Zk5lZWRlZCgqdGhpcyk7Ci0gICAgcmVzb3VyY2UtPmluY3JlYXNlUHJlbG9hZENvdW50KCk7Ci0K
LSAgICBpZiAoIW1fcHJlbG9hZHMpCi0gICAgICAgIG1fcHJlbG9hZHMgPSBzdGQ6Om1ha2VfdW5p
cXVlPExpc3RIYXNoU2V0PENhY2hlZFJlc291cmNlKj4+KCk7Ci0gICAgbV9wcmVsb2Fkcy0+YWRk
KHJlc291cmNlLmdldCgpKTsKLQorICAgIGlmIChyZXNvdXJjZSAmJiAoIW1fcHJlbG9hZHMgfHwg
IW1fcHJlbG9hZHMtPmNvbnRhaW5zKHJlc291cmNlLmdldCgpKSkpIHsKKyAgICAgICAgLy8gRm9u
dHMgbmVlZCBzcGVjaWFsIHRyZWF0bWVudCBzaW5jZSBqdXN0IGNyZWF0aW5nIHRoZSByZXNvdXJj
ZSBkb2Vzbid0IHRyaWdnZXIgYSBsb2FkLgorICAgICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNv
dXJjZTo6Rm9udFJlc291cmNlKQorICAgICAgICAgICAgZG93bmNhc3Q8Q2FjaGVkRm9udD4ocmVz
b3VyY2UuZ2V0KCkpLT5iZWdpbkxvYWRJZk5lZWRlZCgqdGhpcyk7CisgICAgICAgIHJlc291cmNl
LT5pbmNyZWFzZVByZWxvYWRDb3VudCgpOworCisgICAgICAgIGlmICghbV9wcmVsb2FkcykKKyAg
ICAgICAgICAgIG1fcHJlbG9hZHMgPSBzdGQ6Om1ha2VfdW5pcXVlPExpc3RIYXNoU2V0PENhY2hl
ZFJlc291cmNlKj4+KCk7CisgICAgICAgIG1fcHJlbG9hZHMtPmFkZChyZXNvdXJjZS5nZXQoKSk7
CisgICAgfQogICAgIHJldHVybiByZXNvdXJjZTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNkMTdkMThmOTMwZjk5
NGEwM2JlM2ZkYTNmYjc2NGU2YzM4YjA0YTkuLmE5YzFlMjYwZjZmY2U1YjE2MzgzZTcyMTIwYjAx
YzZjMDlhNDBjNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBAQAogMjAxNy0wNC0xMSAgWW9hdiBXZWlz
cyAgPHlvYXZAeW9hdi53cz4KIAorICAgICAgICBMaW5rIHByZWxvYWQgSFRNTFByZWxvYWRTY2Fu
bmVyIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3MDc0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL3ByZWxvYWRzY2FubmVyX2Rvd25sb2FkX3Jlc291cmNl
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9wcmVs
b2Fkc2Nhbm5lcl9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbDogQWRkZWQuCisKKzIwMTctMDQtMTEg
IFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKICAgICAgICAgW2xpbmsgcHJlbG9hZF0gRG91
YmxlIGRvd25sb2FkcyBvZiBwcmVsb2FkZWQgY29udGVudCB3aGVuIGl0J3MgaW4gTWVtb3J5Q2Fj
aGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDEy
MgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNj
YW5uZXJfZG93bmxvYWRfcmVzb3VyY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcHJlbG9hZC9wcmVsb2Fkc2Nhbm5lcl9kb3dubG9hZF9yZXNvdXJjZXMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk0MmY0MDExNTJmNTA5ZDdjNWU2MTlmMTcwNzc4OTNiZGI4MWE3MjkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9h
ZHNjYW5uZXJfZG93bmxvYWRfcmVzb3VyY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBA
CitQQVNTIGludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15LmpzJyk7IGlz
IHRydWUKK1BBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkuY3Nz
Jyk7IGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvc3F1
YXJlLnBuZycpOyBpcyB0cnVlCitQQVNTIGludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3Vy
Y2VzL0FoZW0udHRmJyk7IGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9y
ZXNvdXJjZXMvdGVzdC5tcDQnKTsgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQo
Jy4uL3NlY3VyaXR5L3Jlc291cmNlcy9jYXB0aW9ucy52dHQnKTsgaXMgdHJ1ZQorUEFTUyBpbnRl
cm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS54bWw/YmFkdmFsdWUnKTsgaXMg
ZmFsc2UKK1BBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkueG1s
Jyk7IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9h
ZHNjYW5uZXJfZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjVlNGFmYzE0M2YwZTE1NTllMjk5OGIyYTdhYTZkZDdhODNiMjg3MQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9wcmVsb2Fkc2Nhbm5lcl9kb3du
bG9hZF9yZXNvdXJjZXMuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291cmNlcy9zbG93LXNjcmlwdC5wbD9k
ZWxheT04MDAiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHNob3VsZEJlVHJ1ZSgiaW50
ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkuanMnKTsiKTsKKyAgICBzaG91
bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15LmNzcycp
OyIpOworICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJj
ZXMvc3F1YXJlLnBuZycpOyIpOworICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJlbG9h
ZGVkKCcuLi9yZXNvdXJjZXMvQWhlbS50dGYnKTsiKTsKKyAgICBzaG91bGRCZVRydWUoImludGVy
bmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL3Rlc3QubXA0Jyk7Iik7CisgICAgc2hvdWxk
QmVUcnVlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3NlY3VyaXR5L3Jlc291cmNlcy9jYXB0
aW9ucy52dHQnKTsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQo
Jy4uL3Jlc291cmNlcy9kdW1teS54bWw/YmFkdmFsdWUnKTsiKTsKKyAgICBzaG91bGRCZVRydWUo
ImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15LnhtbCcpOyIpOworICAg
IGRvY3VtZW50LndyaXRlKCI8ISIgKyAiLS0iKTsKKzwvc2NyaXB0PgorPGxpbmsgcmVsPXByZWxv
YWQgaHJlZj0iLi4vcmVzb3VyY2VzL2R1bW15LmpzIiBhcz1zY3JpcHQ+Cis8bGluayByZWw9cHJl
bG9hZCBocmVmPSIuLi9yZXNvdXJjZXMvZHVtbXkuY3NzIiBhcz1zdHlsZT4KKzxsaW5rIHJlbD1w
cmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9zcXVhcmUucG5nIiBhcz1pbWFnZT4KKzxsaW5rIHJl
bD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9BaGVtLnR0ZiIgYXM9Zm9udCBjcm9zc29yaWdp
bj4KKzxsaW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy90ZXN0Lm1wNCIgYXM9bWVk
aWE+Cis8bGluayByZWw9cHJlbG9hZCBocmVmPSIuLi9zZWN1cml0eS9yZXNvdXJjZXMvY2FwdGlv
bnMudnR0IiBhcz10cmFjaz4KKzxsaW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9k
dW1teS54bWw/YmFkdmFsdWUiIGFzPWZvb2JhcnhtbHRoaW5nPgorPGxpbmsgcmVsPXByZWxvYWQg
aHJlZj0iLi4vcmVzb3VyY2VzL2R1bW15LnhtbCI+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308891</attachid>
            <date>2017-05-03 00:44:44 -0700</date>
            <delta_ts>2017-05-03 14:06:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170747-20170503094442.patch</filename>
            <type>text/plain</type>
            <size>11605</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjJiZmQyOTA1OTNiYzUz
ODM5MWQyNjlmMzFiMmI1ZTVjNGM4MTM2Mi4uNjg5ZWZkNTlkY2NmMTNlMTlmZDJiMDJiMGZlODFj
ZDgwYjVmZTExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3LTA1LTAzICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIExpbmsgcHJlbG9hZCBIVE1MUHJlbG9h
ZFNjYW5uZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcwNzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKwor
ICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRf
cmVzb3VyY2VzLmh0bWwKKworICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpTdGFydFRhZ1Nj
YW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcik6IEluaXRpYWxpemUgbGluayBwcmVsb2FkIGZsYWcuCisg
ICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpTdGFydFRhZ1NjYW5uZXI6OmNy
ZWF0ZVByZWxvYWRSZXF1ZXN0KTogQ3JlYXRlIGEgcmVxdWVzdCBvbmx5IGlmIHRoZSB0eXBlIGlz
IGtub3duIChzbyBpZ25vcmUKKyAgICAgICAgcHJlbG9hZHMgd2l0aCB1bmtub3duIHR5cGUpLgor
ICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpw
cm9jZXNzQXR0cmlidXRlKTogQWRkIGhhbmRsaW5nIGZvciBsaW5rIHByZWxvYWQgYW5kIHRoZSBg
YXNgIGF0dHJpYnV0ZS4KKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6OlN0
YXJ0VGFnU2Nhbm5lcjo6cmVsQXR0cmlidXRlSXNTdHlsZVNoZWV0KTogR2V0IExpbmtSZWxBdHRy
aWJ1dGUgYXMgaW5wdXQuCisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpT
dGFydFRhZ1NjYW5uZXI6OnJlc291cmNlVHlwZSk6IFJldHVybiBhbiBzdGQ6Om9wdGlvbmFsLCBp
biBjYXNlIHRoZSBwcmVsb2FkIHR5cGUgaXMgdW5rbm93bi4KKyAgICAgICAgKFdlYkNvcmU6OlRv
a2VuUHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcjo6c2hvdWxkUHJlbG9hZCk6IFJldHVy
biB0cnVlIGZvciB0aGUgbGluayBwcmVsb2FkIGNhc2UuCisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjpwcmVsb2FkKTogUmV0dXJuIHRoZSByZXNvdXJjZSByYXRoZXIgdGhhbiBhIG51
bGxwdHIgaWYgaXQncyBhbHJlYWR5IGluIG1fcHJlbG9hZHMuCisKIDIwMTctMDUtMDIgIFphbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBEZWZlciBBWCBjYWNoZSB1cGRh
dGUgd2hlbiB0ZXh0IGNvbnRlbnQgY2hhbmdlcyB1bnRpbCBhZnRlciBsYXlvdXQgaXMgZmluaXNo
ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNj
YW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVy
LmNwcAppbmRleCAyMDIyYmQyYmY2MjQ1MThiMjYyOTUyMGQwYTk0NzY2OTVmYjQ5NDUzLi45MTk2
OGRjMTBlZTA3NDZhMzE1Mjc0Nzc4ZmYyMjU1ZTNiZTkwYmI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAKICNpbmNsdWRlICJIVE1MU3Jjc2V0UGFyc2VyLmgiCiAjaW5jbHVkZSAiSFRNTFRva2VuaXpl
ci5oIgogI2luY2x1ZGUgIklucHV0VHlwZU5hbWVzLmgiCisjaW5jbHVkZSAiTGlua0xvYWRlci5o
IgogI2luY2x1ZGUgIkxpbmtSZWxBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIK
ICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCkBAIC0xMDAsNiArMTAxLDcgQEAgcHVi
bGljOgogICAgIGV4cGxpY2l0IFN0YXJ0VGFnU2Nhbm5lcihUYWdJZCB0YWdJZCwgZmxvYXQgZGV2
aWNlU2NhbGVGYWN0b3IgPSAxLjApCiAgICAgICAgIDogbV90YWdJZCh0YWdJZCkKICAgICAgICAg
LCBtX2xpbmtJc1N0eWxlU2hlZXQoZmFsc2UpCisgICAgICAgICwgbV9saW5rSXNQcmVsb2FkKGZh
bHNlKQogICAgICAgICAsIG1fbWV0YUlzVmlld3BvcnQoZmFsc2UpCiAgICAgICAgICwgbV9pbnB1
dElzSW1hZ2UoZmFsc2UpCiAgICAgICAgICwgbV9kZXZpY2VTY2FsZUZhY3RvcihkZXZpY2VTY2Fs
ZUZhY3RvcikKQEAgLTE0NCw3ICsxNDYsMTAgQEAgcHVibGljOgogICAgICAgICBpZiAoIXNob3Vs
ZFByZWxvYWQoKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgICAgIGF1dG8g
cmVxdWVzdCA9IHN0ZDo6bWFrZV91bmlxdWU8UHJlbG9hZFJlcXVlc3Q+KGluaXRpYXRvckZvciht
X3RhZ0lkKSwgbV91cmxUb0xvYWQsIHByZWRpY3RlZEJhc2VVUkwsIHJlc291cmNlVHlwZSgpLCBt
X21lZGlhQXR0cmlidXRlLCBtX21vZHVsZVNjcmlwdCk7CisgICAgICAgIGF1dG8gdHlwZSA9IHJl
c291cmNlVHlwZSgpOworICAgICAgICBpZiAoIXR5cGUpCisgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICAgICAgYXV0byByZXF1ZXN0ID0gc3RkOjptYWtlX3VuaXF1ZTxQcmVsb2FkUmVx
dWVzdD4oaW5pdGlhdG9yRm9yKG1fdGFnSWQpLCBtX3VybFRvTG9hZCwgcHJlZGljdGVkQmFzZVVS
TCwgdHlwZS52YWx1ZSgpLCBtX21lZGlhQXR0cmlidXRlLCBtX21vZHVsZVNjcmlwdCk7CiAgICAg
ICAgIHJlcXVlc3QtPnNldENyb3NzT3JpZ2luTW9kZShtX2Nyb3NzT3JpZ2luTW9kZSk7CiAgICAg
ICAgIHJlcXVlc3QtPnNldE5vbmNlKG1fbm9uY2VBdHRyaWJ1dGUpOwogCkBAIC0yMjAsOSArMjI1
LDExIEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgVGFnSWQ6Okxpbms6CiAgICAgICAgICAgICBp
ZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgaHJlZkF0dHIpKQogICAgICAgICAgICAgICAgIHNldFVy
bFRvTG9hZChhdHRyaWJ1dGVWYWx1ZSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChtYXRjaChhdHRy
aWJ1dGVOYW1lLCByZWxBdHRyKSkKLSAgICAgICAgICAgICAgICBtX2xpbmtJc1N0eWxlU2hlZXQg
PSByZWxBdHRyaWJ1dGVJc1N0eWxlU2hlZXQoYXR0cmlidXRlVmFsdWUpOwotICAgICAgICAgICAg
ZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgbWVkaWFBdHRyKSkKKyAgICAgICAgICAgIGVs
c2UgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIHJlbEF0dHIpKSB7CisgICAgICAgICAgICAgICAg
TGlua1JlbEF0dHJpYnV0ZSBwYXJzZWRBdHRyaWJ1dGUgeyBhdHRyaWJ1dGVWYWx1ZSB9OworICAg
ICAgICAgICAgICAgIG1fbGlua0lzU3R5bGVTaGVldCA9IHJlbEF0dHJpYnV0ZUlzU3R5bGVTaGVl
dChwYXJzZWRBdHRyaWJ1dGUpOworICAgICAgICAgICAgICAgIG1fbGlua0lzUHJlbG9hZCA9IHBh
cnNlZEF0dHJpYnV0ZS5pc0xpbmtQcmVsb2FkOworICAgICAgICAgICAgfSBlbHNlIGlmIChtYXRj
aChhdHRyaWJ1dGVOYW1lLCBtZWRpYUF0dHIpKQogICAgICAgICAgICAgICAgIG1fbWVkaWFBdHRy
aWJ1dGUgPSBhdHRyaWJ1dGVWYWx1ZTsKICAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoKGF0dHJp
YnV0ZU5hbWUsIGNoYXJzZXRBdHRyKSkKICAgICAgICAgICAgICAgICBtX2NoYXJzZXQgPSBhdHRy
aWJ1dGVWYWx1ZTsKQEAgLTIzMCw2ICsyMzcsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAg
IG1fY3Jvc3NPcmlnaW5Nb2RlID0gc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGF0
dHJpYnV0ZVZhbHVlKTsKICAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUs
IG5vbmNlQXR0cikpCiAgICAgICAgICAgICAgICAgbV9ub25jZUF0dHJpYnV0ZSA9IGF0dHJpYnV0
ZVZhbHVlOworICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgYXNBdHRy
KSkKKyAgICAgICAgICAgICAgICBtX2FzQXR0cmlidXRlID0gYXR0cmlidXRlVmFsdWU7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBUYWdJZDo6SW5wdXQ6CiAgICAgICAgICAgICBp
ZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgc3JjQXR0cikpCkBAIC0yNTIsOSArMjYxLDggQEAgcHJp
dmF0ZToKICAgICAgICAgfQogICAgIH0KIAotICAgIHN0YXRpYyBib29sIHJlbEF0dHJpYnV0ZUlz
U3R5bGVTaGVldChjb25zdCBTdHJpbmcmIGF0dHJpYnV0ZVZhbHVlKQorICAgIHN0YXRpYyBib29s
IHJlbEF0dHJpYnV0ZUlzU3R5bGVTaGVldChjb25zdCBMaW5rUmVsQXR0cmlidXRlJiBwYXJzZWRB
dHRyaWJ1dGUpCiAgICAgewotICAgICAgICBMaW5rUmVsQXR0cmlidXRlIHBhcnNlZEF0dHJpYnV0
ZSB7IGF0dHJpYnV0ZVZhbHVlIH07CiAgICAgICAgIHJldHVybiBwYXJzZWRBdHRyaWJ1dGUuaXNT
dHlsZVNoZWV0ICYmICFwYXJzZWRBdHRyaWJ1dGUuaXNBbHRlcm5hdGUgJiYgIXBhcnNlZEF0dHJp
YnV0ZS5pY29uVHlwZSAmJiAhcGFyc2VkQXR0cmlidXRlLmlzRE5TUHJlZmV0Y2g7CiAgICAgfQog
CkBAIC0yNzUsNyArMjgzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG1fY2hhcnNldDsK
ICAgICB9CiAKLSAgICBDYWNoZWRSZXNvdXJjZTo6VHlwZSByZXNvdXJjZVR5cGUoKSBjb25zdAor
ICAgIHN0ZDo6b3B0aW9uYWw8Q2FjaGVkUmVzb3VyY2U6OlR5cGU+IHJlc291cmNlVHlwZSgpIGNv
bnN0CiAgICAgewogICAgICAgICBzd2l0Y2ggKG1fdGFnSWQpIHsKICAgICAgICAgY2FzZSBUYWdJ
ZDo6U2NyaXB0OgpAQCAtMjg2LDggKzI5NCwxMSBAQCBwcml2YXRlOgogICAgICAgICAgICAgQVNT
RVJUKG1fdGFnSWQgIT0gVGFnSWQ6OklucHV0IHx8IG1faW5wdXRJc0ltYWdlKTsKICAgICAgICAg
ICAgIHJldHVybiBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZTsKICAgICAgICAgY2FzZSBU
YWdJZDo6TGluazoKLSAgICAgICAgICAgIEFTU0VSVChtX2xpbmtJc1N0eWxlU2hlZXQpOwotICAg
ICAgICAgICAgcmV0dXJuIENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0OworICAgICAgICAg
ICAgaWYgKG1fbGlua0lzU3R5bGVTaGVldCkKKyAgICAgICAgICAgICAgICByZXR1cm4gQ2FjaGVk
UmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQ7CisgICAgICAgICAgICBpZiAobV9saW5rSXNQcmVsb2Fk
KQorICAgICAgICAgICAgICAgIHJldHVybiBMaW5rTG9hZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNB
dHRyaWJ1dGUobV9hc0F0dHJpYnV0ZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBUYWdJZDo6TWV0YToKICAgICAgICAgY2FzZSBUYWdJZDo6VW5rbm93bjoKICAgICAgICAgY2Fz
ZSBUYWdJZDo6U3R5bGU6CkBAIC0zMDgsNyArMzE5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgaWYg
KHByb3RvY29sSXMobV91cmxUb0xvYWQsICJkYXRhIikgfHwgcHJvdG9jb2xJcyhtX3VybFRvTG9h
ZCwgImFib3V0IikpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgaWYgKG1f
dGFnSWQgPT0gVGFnSWQ6OkxpbmsgJiYgIW1fbGlua0lzU3R5bGVTaGVldCkKKyAgICAgICAgaWYg
KG1fdGFnSWQgPT0gVGFnSWQ6OkxpbmsgJiYgIW1fbGlua0lzU3R5bGVTaGVldCAmJiAhbV9saW5r
SXNQcmVsb2FkKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGlmIChtX3Rh
Z0lkID09IFRhZ0lkOjpJbnB1dCAmJiAhbV9pbnB1dElzSW1hZ2UpCkBAIC0zMjUsOSArMzM2LDEx
IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fY2hhcnNldDsKICAgICBTdHJpbmcgbV9jcm9zc09y
aWdpbk1vZGU7CiAgICAgYm9vbCBtX2xpbmtJc1N0eWxlU2hlZXQ7CisgICAgYm9vbCBtX2xpbmtJ
c1ByZWxvYWQ7CiAgICAgU3RyaW5nIG1fbWVkaWFBdHRyaWJ1dGU7CiAgICAgU3RyaW5nIG1fbm9u
Y2VBdHRyaWJ1dGU7CiAgICAgU3RyaW5nIG1fbWV0YUNvbnRlbnQ7CisgICAgU3RyaW5nIG1fYXNB
dHRyaWJ1dGU7CiAgICAgYm9vbCBtX21ldGFJc1ZpZXdwb3J0OwogICAgIGJvb2wgbV9pbnB1dElz
SW1hZ2U7CiAgICAgZmxvYXQgbV9kZXZpY2VTY2FsZUZhY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGY1NGQw
NDFmN2QxZTYxOGI2YjYzNzk0MWYwZWYwMjU4YWU1MDExYzEuLjFhNTA4NmZmNTEzYzM4OWNjMmM1
MzgzNzdiMmY5MzM1N2I5OGM0NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMTIyMiwxNyArMTIyMiwxNiBAQCBD
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnByZWxvYWQoQ2FjaGVkUmVzb3VyYwogICAgICAgICByZXF1ZXN0LnNldENoYXJzZXQobV9kb2N1
bWVudC0+Y2hhcnNldCgpKTsKIAogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291
cmNlPiByZXNvdXJjZSA9IHJlcXVlc3RSZXNvdXJjZSh0eXBlLCBXVEZNb3ZlKHJlcXVlc3QpLCBG
b3JQcmVsb2FkOjpZZXMpOwotICAgIGlmICghcmVzb3VyY2UgfHwgKG1fcHJlbG9hZHMgJiYgbV9w
cmVsb2Fkcy0+Y29udGFpbnMocmVzb3VyY2UuZ2V0KCkpKSkKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0gICAgLy8gRm9udHMgbmVlZCBzcGVjaWFsIHRyZWF0bWVudCBzaW5jZSBqdXN0IGNyZWF0
aW5nIHRoZSByZXNvdXJjZSBkb2Vzbid0IHRyaWdnZXIgYSBsb2FkLgotICAgIGlmICh0eXBlID09
IENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2UpCi0gICAgICAgIGRvd25jYXN0PENhY2hlZEZv
bnQ+KHJlc291cmNlLmdldCgpKS0+YmVnaW5Mb2FkSWZOZWVkZWQoKnRoaXMpOwotICAgIHJlc291
cmNlLT5pbmNyZWFzZVByZWxvYWRDb3VudCgpOwotCi0gICAgaWYgKCFtX3ByZWxvYWRzKQotICAg
ICAgICBtX3ByZWxvYWRzID0gc3RkOjptYWtlX3VuaXF1ZTxMaXN0SGFzaFNldDxDYWNoZWRSZXNv
dXJjZSo+PigpOwotICAgIG1fcHJlbG9hZHMtPmFkZChyZXNvdXJjZS5nZXQoKSk7Ci0KKyAgICBp
ZiAocmVzb3VyY2UgJiYgKCFtX3ByZWxvYWRzIHx8ICFtX3ByZWxvYWRzLT5jb250YWlucyhyZXNv
dXJjZS5nZXQoKSkpKSB7CisgICAgICAgIC8vIEZvbnRzIG5lZWQgc3BlY2lhbCB0cmVhdG1lbnQg
c2luY2UganVzdCBjcmVhdGluZyB0aGUgcmVzb3VyY2UgZG9lc24ndCB0cmlnZ2VyIGEgbG9hZC4K
KyAgICAgICAgaWYgKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZSkKKyAgICAg
ICAgICAgIGRvd25jYXN0PENhY2hlZEZvbnQ+KHJlc291cmNlLmdldCgpKS0+YmVnaW5Mb2FkSWZO
ZWVkZWQoKnRoaXMpOworICAgICAgICByZXNvdXJjZS0+aW5jcmVhc2VQcmVsb2FkQ291bnQoKTsK
KworICAgICAgICBpZiAoIW1fcHJlbG9hZHMpCisgICAgICAgICAgICBtX3ByZWxvYWRzID0gc3Rk
OjptYWtlX3VuaXF1ZTxMaXN0SGFzaFNldDxDYWNoZWRSZXNvdXJjZSo+PigpOworICAgICAgICBt
X3ByZWxvYWRzLT5hZGQocmVzb3VyY2UuZ2V0KCkpOworICAgIH0KICAgICByZXR1cm4gcmVzb3Vy
Y2U7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBkY2E4NjQ3ZmQwZmJjOTkzNGIxZjIwODlmYTk0MmVlMmNmY2EzNDgw
Li41ZjY4NzYzYzU0YTNjNjI5MDM0MmUxOWE2Mjk3YWViZTg0NWIzNWY4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTctMDUtMDMgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAg
ICAgTGluayBwcmVsb2FkIEhUTUxQcmVsb2FkU2Nhbm5lciBzdXBwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA3NDcKKworICAgICAgICBSZXZp
ZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL3By
ZWxvYWRzY2FubmVyX2Rvd25sb2FkX3Jlc291cmNlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9wcmVsb2Fkc2Nhbm5lcl9kb3dubG9hZF9yZXNvdXJj
ZXMuaHRtbDogQWRkZWQuCisKIDIwMTctMDUtMDIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBEZWZlciBBWCBjYWNoZSB1cGRhdGUgd2hlbiB0ZXh0IGNvbnRlbnQg
Y2hhbmdlcyB1bnRpbCBhZnRlciBsYXlvdXQgaXMgZmluaXNoZWQuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRfcmVzb3Vy
Y2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9wcmVsb2Fk
c2Nhbm5lcl9kb3dubG9hZF9yZXNvdXJjZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0MmY0
MDExNTJmNTA5ZDdjNWU2MTlmMTcwNzc4OTNiZGI4MWE3MjkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRfcmVz
b3VyY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitQQVNTIGludGVybmFscy5pc1By
ZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15LmpzJyk7IGlzIHRydWUKK1BBU1MgaW50ZXJuYWxz
LmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkuY3NzJyk7IGlzIHRydWUKK1BBU1MgaW50
ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvc3F1YXJlLnBuZycpOyBpcyB0cnVlCitQ
QVNTIGludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL0FoZW0udHRmJyk7IGlzIHRy
dWUKK1BBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvdGVzdC5tcDQnKTsg
aXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3NlY3VyaXR5L3Jlc291cmNl
cy9jYXB0aW9ucy52dHQnKTsgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4u
L3Jlc291cmNlcy9kdW1teS54bWw/YmFkdmFsdWUnKTsgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxz
LmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkueG1sJyk7IGlzIHRydWUKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRfcmVz
b3VyY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5u
ZXJfZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjkyYTEzMzhiYmMwYjNkYjM5
M2RiZDc5MjFlZjIwZTI0NzI1ZmM4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJlbG9hZC9wcmVsb2Fkc2Nhbm5lcl9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbApA
QCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iaHR0cDovLzEyNy4w
LjAuMTo4MDAwL3Jlc291cmNlcy9zbG93LXNjcmlwdC5wbD9kZWxheT04MDAiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworICAgIChmdW5jdGlvbiAoKSB7CisgICAgICAgICBpZiAoIXdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICAgICAgICAgIGNvbnNvbGUubG9nKCJUaGlzIHRlc3QgbmVlZHMgdG8g
YmUgcnVuIGFzIGEgTGF5b3V0VGVzdCwgc2luY2UgaXQgcmVsaWVzIG9uIHRoZSBgaW50ZXJuYWxz
YCBpbnRlcmZhY2UuIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAg
c2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS5q
cycpOyIpOworICAgICAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4v
cmVzb3VyY2VzL2R1bW15LmNzcycpOyIpOworICAgICAgICBzaG91bGRCZVRydWUoImludGVybmFs
cy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL3NxdWFyZS5wbmcnKTsiKTsKKyAgICAgICAgc2hv
dWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9BaGVtLnR0Zicp
OyIpOworICAgICAgICBzaG91bGRCZVRydWUoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVz
b3VyY2VzL3Rlc3QubXA0Jyk7Iik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlz
UHJlbG9hZGVkKCcuLi9zZWN1cml0eS9yZXNvdXJjZXMvY2FwdGlvbnMudnR0Jyk7Iik7CisgICAg
ICAgIHNob3VsZEJlRmFsc2UoImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1
bW15LnhtbD9iYWR2YWx1ZScpOyIpOworICAgICAgICBzaG91bGRCZVRydWUoImludGVybmFscy5p
c1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15LnhtbCcpOyIpOworICAgICAgICBkb2N1bWVu
dC53cml0ZSgiPCEiICsgIi0tIik7CisgICAgfSkoKTsKKzwvc2NyaXB0PgorPGxpbmsgcmVsPXBy
ZWxvYWQgaHJlZj0iLi4vcmVzb3VyY2VzL2R1bW15LmpzIiBhcz1zY3JpcHQ+Cis8bGluayByZWw9
cHJlbG9hZCBocmVmPSIuLi9yZXNvdXJjZXMvZHVtbXkuY3NzIiBhcz1zdHlsZT4KKzxsaW5rIHJl
bD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9zcXVhcmUucG5nIiBhcz1pbWFnZT4KKzxsaW5r
IHJlbD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9BaGVtLnR0ZiIgYXM9Zm9udCBjcm9zc29y
aWdpbj4KKzxsaW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy90ZXN0Lm1wNCIgYXM9
bWVkaWE+Cis8bGluayByZWw9cHJlbG9hZCBocmVmPSIuLi9zZWN1cml0eS9yZXNvdXJjZXMvY2Fw
dGlvbnMudnR0IiBhcz10cmFjaz4KKzxsaW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNl
cy9kdW1teS54bWw/YmFkdmFsdWUiIGFzPWZvb2JhcnhtbHRoaW5nPgorPGxpbmsgcmVsPXByZWxv
YWQgaHJlZj0iLi4vcmVzb3VyY2VzL2R1bW15LnhtbCI+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308949</attachid>
            <date>2017-05-03 14:07:03 -0700</date>
            <delta_ts>2017-05-03 14:55:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170747-20170503230702.patch</filename>
            <type>text/plain</type>
            <size>11675</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjJiZmQyOTA1OTNiYzUz
ODM5MWQyNjlmMzFiMmI1ZTVjNGM4MTM2Mi4uNjg5ZWZkNTlkY2NmMTNlMTlmZDJiMDJiMGZlODFj
ZDgwYjVmZTExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3LTA1LTAzICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIExpbmsgcHJlbG9hZCBIVE1MUHJlbG9h
ZFNjYW5uZXIgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcwNzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKwor
ICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRf
cmVzb3VyY2VzLmh0bWwKKworICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpTdGFydFRhZ1Nj
YW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcik6IEluaXRpYWxpemUgbGluayBwcmVsb2FkIGZsYWcuCisg
ICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpTdGFydFRhZ1NjYW5uZXI6OmNy
ZWF0ZVByZWxvYWRSZXF1ZXN0KTogQ3JlYXRlIGEgcmVxdWVzdCBvbmx5IGlmIHRoZSB0eXBlIGlz
IGtub3duIChzbyBpZ25vcmUKKyAgICAgICAgcHJlbG9hZHMgd2l0aCB1bmtub3duIHR5cGUpLgor
ICAgICAgICAoV2ViQ29yZTo6VG9rZW5QcmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpw
cm9jZXNzQXR0cmlidXRlKTogQWRkIGhhbmRsaW5nIGZvciBsaW5rIHByZWxvYWQgYW5kIHRoZSBg
YXNgIGF0dHJpYnV0ZS4KKyAgICAgICAgKFdlYkNvcmU6OlRva2VuUHJlbG9hZFNjYW5uZXI6OlN0
YXJ0VGFnU2Nhbm5lcjo6cmVsQXR0cmlidXRlSXNTdHlsZVNoZWV0KTogR2V0IExpbmtSZWxBdHRy
aWJ1dGUgYXMgaW5wdXQuCisgICAgICAgIChXZWJDb3JlOjpUb2tlblByZWxvYWRTY2FubmVyOjpT
dGFydFRhZ1NjYW5uZXI6OnJlc291cmNlVHlwZSk6IFJldHVybiBhbiBzdGQ6Om9wdGlvbmFsLCBp
biBjYXNlIHRoZSBwcmVsb2FkIHR5cGUgaXMgdW5rbm93bi4KKyAgICAgICAgKFdlYkNvcmU6OlRv
a2VuUHJlbG9hZFNjYW5uZXI6OlN0YXJ0VGFnU2Nhbm5lcjo6c2hvdWxkUHJlbG9hZCk6IFJldHVy
biB0cnVlIGZvciB0aGUgbGluayBwcmVsb2FkIGNhc2UuCisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjpwcmVsb2FkKTogUmV0dXJuIHRoZSByZXNvdXJjZSByYXRoZXIgdGhhbiBhIG51
bGxwdHIgaWYgaXQncyBhbHJlYWR5IGluIG1fcHJlbG9hZHMuCisKIDIwMTctMDUtMDIgIFphbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBEZWZlciBBWCBjYWNoZSB1cGRh
dGUgd2hlbiB0ZXh0IGNvbnRlbnQgY2hhbmdlcyB1bnRpbCBhZnRlciBsYXlvdXQgaXMgZmluaXNo
ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNj
YW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVy
LmNwcAppbmRleCAyMDIyYmQyYmY2MjQ1MThiMjYyOTUyMGQwYTk0NzY2OTVmYjQ5NDUzLi45MTk2
OGRjMTBlZTA3NDZhMzE1Mjc0Nzc4ZmYyMjU1ZTNiZTkwYmI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAKICNpbmNsdWRlICJIVE1MU3Jjc2V0UGFyc2VyLmgiCiAjaW5jbHVkZSAiSFRNTFRva2VuaXpl
ci5oIgogI2luY2x1ZGUgIklucHV0VHlwZU5hbWVzLmgiCisjaW5jbHVkZSAiTGlua0xvYWRlci5o
IgogI2luY2x1ZGUgIkxpbmtSZWxBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIK
ICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCkBAIC0xMDAsNiArMTAxLDcgQEAgcHVi
bGljOgogICAgIGV4cGxpY2l0IFN0YXJ0VGFnU2Nhbm5lcihUYWdJZCB0YWdJZCwgZmxvYXQgZGV2
aWNlU2NhbGVGYWN0b3IgPSAxLjApCiAgICAgICAgIDogbV90YWdJZCh0YWdJZCkKICAgICAgICAg
LCBtX2xpbmtJc1N0eWxlU2hlZXQoZmFsc2UpCisgICAgICAgICwgbV9saW5rSXNQcmVsb2FkKGZh
bHNlKQogICAgICAgICAsIG1fbWV0YUlzVmlld3BvcnQoZmFsc2UpCiAgICAgICAgICwgbV9pbnB1
dElzSW1hZ2UoZmFsc2UpCiAgICAgICAgICwgbV9kZXZpY2VTY2FsZUZhY3RvcihkZXZpY2VTY2Fs
ZUZhY3RvcikKQEAgLTE0NCw3ICsxNDYsMTAgQEAgcHVibGljOgogICAgICAgICBpZiAoIXNob3Vs
ZFByZWxvYWQoKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgICAgIGF1dG8g
cmVxdWVzdCA9IHN0ZDo6bWFrZV91bmlxdWU8UHJlbG9hZFJlcXVlc3Q+KGluaXRpYXRvckZvciht
X3RhZ0lkKSwgbV91cmxUb0xvYWQsIHByZWRpY3RlZEJhc2VVUkwsIHJlc291cmNlVHlwZSgpLCBt
X21lZGlhQXR0cmlidXRlLCBtX21vZHVsZVNjcmlwdCk7CisgICAgICAgIGF1dG8gdHlwZSA9IHJl
c291cmNlVHlwZSgpOworICAgICAgICBpZiAoIXR5cGUpCisgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICAgICAgYXV0byByZXF1ZXN0ID0gc3RkOjptYWtlX3VuaXF1ZTxQcmVsb2FkUmVx
dWVzdD4oaW5pdGlhdG9yRm9yKG1fdGFnSWQpLCBtX3VybFRvTG9hZCwgcHJlZGljdGVkQmFzZVVS
TCwgdHlwZS52YWx1ZSgpLCBtX21lZGlhQXR0cmlidXRlLCBtX21vZHVsZVNjcmlwdCk7CiAgICAg
ICAgIHJlcXVlc3QtPnNldENyb3NzT3JpZ2luTW9kZShtX2Nyb3NzT3JpZ2luTW9kZSk7CiAgICAg
ICAgIHJlcXVlc3QtPnNldE5vbmNlKG1fbm9uY2VBdHRyaWJ1dGUpOwogCkBAIC0yMjAsOSArMjI1
LDExIEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgVGFnSWQ6Okxpbms6CiAgICAgICAgICAgICBp
ZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgaHJlZkF0dHIpKQogICAgICAgICAgICAgICAgIHNldFVy
bFRvTG9hZChhdHRyaWJ1dGVWYWx1ZSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChtYXRjaChhdHRy
aWJ1dGVOYW1lLCByZWxBdHRyKSkKLSAgICAgICAgICAgICAgICBtX2xpbmtJc1N0eWxlU2hlZXQg
PSByZWxBdHRyaWJ1dGVJc1N0eWxlU2hlZXQoYXR0cmlidXRlVmFsdWUpOwotICAgICAgICAgICAg
ZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgbWVkaWFBdHRyKSkKKyAgICAgICAgICAgIGVs
c2UgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUsIHJlbEF0dHIpKSB7CisgICAgICAgICAgICAgICAg
TGlua1JlbEF0dHJpYnV0ZSBwYXJzZWRBdHRyaWJ1dGUgeyBhdHRyaWJ1dGVWYWx1ZSB9OworICAg
ICAgICAgICAgICAgIG1fbGlua0lzU3R5bGVTaGVldCA9IHJlbEF0dHJpYnV0ZUlzU3R5bGVTaGVl
dChwYXJzZWRBdHRyaWJ1dGUpOworICAgICAgICAgICAgICAgIG1fbGlua0lzUHJlbG9hZCA9IHBh
cnNlZEF0dHJpYnV0ZS5pc0xpbmtQcmVsb2FkOworICAgICAgICAgICAgfSBlbHNlIGlmIChtYXRj
aChhdHRyaWJ1dGVOYW1lLCBtZWRpYUF0dHIpKQogICAgICAgICAgICAgICAgIG1fbWVkaWFBdHRy
aWJ1dGUgPSBhdHRyaWJ1dGVWYWx1ZTsKICAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoKGF0dHJp
YnV0ZU5hbWUsIGNoYXJzZXRBdHRyKSkKICAgICAgICAgICAgICAgICBtX2NoYXJzZXQgPSBhdHRy
aWJ1dGVWYWx1ZTsKQEAgLTIzMCw2ICsyMzcsOCBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAg
IG1fY3Jvc3NPcmlnaW5Nb2RlID0gc3RyaXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGF0
dHJpYnV0ZVZhbHVlKTsKICAgICAgICAgICAgIGVsc2UgaWYgKG1hdGNoKGF0dHJpYnV0ZU5hbWUs
IG5vbmNlQXR0cikpCiAgICAgICAgICAgICAgICAgbV9ub25jZUF0dHJpYnV0ZSA9IGF0dHJpYnV0
ZVZhbHVlOworICAgICAgICAgICAgZWxzZSBpZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgYXNBdHRy
KSkKKyAgICAgICAgICAgICAgICBtX2FzQXR0cmlidXRlID0gYXR0cmlidXRlVmFsdWU7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBUYWdJZDo6SW5wdXQ6CiAgICAgICAgICAgICBp
ZiAobWF0Y2goYXR0cmlidXRlTmFtZSwgc3JjQXR0cikpCkBAIC0yNTIsOSArMjYxLDggQEAgcHJp
dmF0ZToKICAgICAgICAgfQogICAgIH0KIAotICAgIHN0YXRpYyBib29sIHJlbEF0dHJpYnV0ZUlz
U3R5bGVTaGVldChjb25zdCBTdHJpbmcmIGF0dHJpYnV0ZVZhbHVlKQorICAgIHN0YXRpYyBib29s
IHJlbEF0dHJpYnV0ZUlzU3R5bGVTaGVldChjb25zdCBMaW5rUmVsQXR0cmlidXRlJiBwYXJzZWRB
dHRyaWJ1dGUpCiAgICAgewotICAgICAgICBMaW5rUmVsQXR0cmlidXRlIHBhcnNlZEF0dHJpYnV0
ZSB7IGF0dHJpYnV0ZVZhbHVlIH07CiAgICAgICAgIHJldHVybiBwYXJzZWRBdHRyaWJ1dGUuaXNT
dHlsZVNoZWV0ICYmICFwYXJzZWRBdHRyaWJ1dGUuaXNBbHRlcm5hdGUgJiYgIXBhcnNlZEF0dHJp
YnV0ZS5pY29uVHlwZSAmJiAhcGFyc2VkQXR0cmlidXRlLmlzRE5TUHJlZmV0Y2g7CiAgICAgfQog
CkBAIC0yNzUsNyArMjgzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG1fY2hhcnNldDsK
ICAgICB9CiAKLSAgICBDYWNoZWRSZXNvdXJjZTo6VHlwZSByZXNvdXJjZVR5cGUoKSBjb25zdAor
ICAgIHN0ZDo6b3B0aW9uYWw8Q2FjaGVkUmVzb3VyY2U6OlR5cGU+IHJlc291cmNlVHlwZSgpIGNv
bnN0CiAgICAgewogICAgICAgICBzd2l0Y2ggKG1fdGFnSWQpIHsKICAgICAgICAgY2FzZSBUYWdJ
ZDo6U2NyaXB0OgpAQCAtMjg2LDggKzI5NCwxMSBAQCBwcml2YXRlOgogICAgICAgICAgICAgQVNT
RVJUKG1fdGFnSWQgIT0gVGFnSWQ6OklucHV0IHx8IG1faW5wdXRJc0ltYWdlKTsKICAgICAgICAg
ICAgIHJldHVybiBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZTsKICAgICAgICAgY2FzZSBU
YWdJZDo6TGluazoKLSAgICAgICAgICAgIEFTU0VSVChtX2xpbmtJc1N0eWxlU2hlZXQpOwotICAg
ICAgICAgICAgcmV0dXJuIENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0OworICAgICAgICAg
ICAgaWYgKG1fbGlua0lzU3R5bGVTaGVldCkKKyAgICAgICAgICAgICAgICByZXR1cm4gQ2FjaGVk
UmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQ7CisgICAgICAgICAgICBpZiAobV9saW5rSXNQcmVsb2Fk
KQorICAgICAgICAgICAgICAgIHJldHVybiBMaW5rTG9hZGVyOjpyZXNvdXJjZVR5cGVGcm9tQXNB
dHRyaWJ1dGUobV9hc0F0dHJpYnV0ZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBUYWdJZDo6TWV0YToKICAgICAgICAgY2FzZSBUYWdJZDo6VW5rbm93bjoKICAgICAgICAgY2Fz
ZSBUYWdJZDo6U3R5bGU6CkBAIC0zMDgsNyArMzE5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgaWYg
KHByb3RvY29sSXMobV91cmxUb0xvYWQsICJkYXRhIikgfHwgcHJvdG9jb2xJcyhtX3VybFRvTG9h
ZCwgImFib3V0IikpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgaWYgKG1f
dGFnSWQgPT0gVGFnSWQ6OkxpbmsgJiYgIW1fbGlua0lzU3R5bGVTaGVldCkKKyAgICAgICAgaWYg
KG1fdGFnSWQgPT0gVGFnSWQ6OkxpbmsgJiYgIW1fbGlua0lzU3R5bGVTaGVldCAmJiAhbV9saW5r
SXNQcmVsb2FkKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGlmIChtX3Rh
Z0lkID09IFRhZ0lkOjpJbnB1dCAmJiAhbV9pbnB1dElzSW1hZ2UpCkBAIC0zMjUsOSArMzM2LDEx
IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fY2hhcnNldDsKICAgICBTdHJpbmcgbV9jcm9zc09y
aWdpbk1vZGU7CiAgICAgYm9vbCBtX2xpbmtJc1N0eWxlU2hlZXQ7CisgICAgYm9vbCBtX2xpbmtJ
c1ByZWxvYWQ7CiAgICAgU3RyaW5nIG1fbWVkaWFBdHRyaWJ1dGU7CiAgICAgU3RyaW5nIG1fbm9u
Y2VBdHRyaWJ1dGU7CiAgICAgU3RyaW5nIG1fbWV0YUNvbnRlbnQ7CisgICAgU3RyaW5nIG1fYXNB
dHRyaWJ1dGU7CiAgICAgYm9vbCBtX21ldGFJc1ZpZXdwb3J0OwogICAgIGJvb2wgbV9pbnB1dElz
SW1hZ2U7CiAgICAgZmxvYXQgbV9kZXZpY2VTY2FsZUZhY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGY1NGQw
NDFmN2QxZTYxOGI2YjYzNzk0MWYwZWYwMjU4YWU1MDExYzEuLjFhNTA4NmZmNTEzYzM4OWNjMmM1
MzgzNzdiMmY5MzM1N2I5OGM0NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMTIyMiwxNyArMTIyMiwxNiBAQCBD
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnByZWxvYWQoQ2FjaGVkUmVzb3VyYwogICAgICAgICByZXF1ZXN0LnNldENoYXJzZXQobV9kb2N1
bWVudC0+Y2hhcnNldCgpKTsKIAogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291
cmNlPiByZXNvdXJjZSA9IHJlcXVlc3RSZXNvdXJjZSh0eXBlLCBXVEZNb3ZlKHJlcXVlc3QpLCBG
b3JQcmVsb2FkOjpZZXMpOwotICAgIGlmICghcmVzb3VyY2UgfHwgKG1fcHJlbG9hZHMgJiYgbV9w
cmVsb2Fkcy0+Y29udGFpbnMocmVzb3VyY2UuZ2V0KCkpKSkKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0gICAgLy8gRm9udHMgbmVlZCBzcGVjaWFsIHRyZWF0bWVudCBzaW5jZSBqdXN0IGNyZWF0
aW5nIHRoZSByZXNvdXJjZSBkb2Vzbid0IHRyaWdnZXIgYSBsb2FkLgotICAgIGlmICh0eXBlID09
IENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2UpCi0gICAgICAgIGRvd25jYXN0PENhY2hlZEZv
bnQ+KHJlc291cmNlLmdldCgpKS0+YmVnaW5Mb2FkSWZOZWVkZWQoKnRoaXMpOwotICAgIHJlc291
cmNlLT5pbmNyZWFzZVByZWxvYWRDb3VudCgpOwotCi0gICAgaWYgKCFtX3ByZWxvYWRzKQotICAg
ICAgICBtX3ByZWxvYWRzID0gc3RkOjptYWtlX3VuaXF1ZTxMaXN0SGFzaFNldDxDYWNoZWRSZXNv
dXJjZSo+PigpOwotICAgIG1fcHJlbG9hZHMtPmFkZChyZXNvdXJjZS5nZXQoKSk7Ci0KKyAgICBp
ZiAocmVzb3VyY2UgJiYgKCFtX3ByZWxvYWRzIHx8ICFtX3ByZWxvYWRzLT5jb250YWlucyhyZXNv
dXJjZS5nZXQoKSkpKSB7CisgICAgICAgIC8vIEZvbnRzIG5lZWQgc3BlY2lhbCB0cmVhdG1lbnQg
c2luY2UganVzdCBjcmVhdGluZyB0aGUgcmVzb3VyY2UgZG9lc24ndCB0cmlnZ2VyIGEgbG9hZC4K
KyAgICAgICAgaWYgKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZSkKKyAgICAg
ICAgICAgIGRvd25jYXN0PENhY2hlZEZvbnQ+KHJlc291cmNlLmdldCgpKS0+YmVnaW5Mb2FkSWZO
ZWVkZWQoKnRoaXMpOworICAgICAgICByZXNvdXJjZS0+aW5jcmVhc2VQcmVsb2FkQ291bnQoKTsK
KworICAgICAgICBpZiAoIW1fcHJlbG9hZHMpCisgICAgICAgICAgICBtX3ByZWxvYWRzID0gc3Rk
OjptYWtlX3VuaXF1ZTxMaXN0SGFzaFNldDxDYWNoZWRSZXNvdXJjZSo+PigpOworICAgICAgICBt
X3ByZWxvYWRzLT5hZGQocmVzb3VyY2UuZ2V0KCkpOworICAgIH0KICAgICByZXR1cm4gcmVzb3Vy
Y2U7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBkY2E4NjQ3ZmQwZmJjOTkzNGIxZjIwODlmYTk0MmVlMmNmY2EzNDgw
Li41ZjY4NzYzYzU0YTNjNjI5MDM0MmUxOWE2Mjk3YWViZTg0NWIzNWY4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTctMDUtMDMgIFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAg
ICAgTGluayBwcmVsb2FkIEhUTUxQcmVsb2FkU2Nhbm5lciBzdXBwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA3NDcKKworICAgICAgICBSZXZp
ZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgICogaHR0cC90ZXN0cy9wcmVsb2FkL3By
ZWxvYWRzY2FubmVyX2Rvd25sb2FkX3Jlc291cmNlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcHJlbG9hZC9wcmVsb2Fkc2Nhbm5lcl9kb3dubG9hZF9yZXNvdXJj
ZXMuaHRtbDogQWRkZWQuCisKIDIwMTctMDUtMDIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBEZWZlciBBWCBjYWNoZSB1cGRhdGUgd2hlbiB0ZXh0IGNvbnRlbnQg
Y2hhbmdlcyB1bnRpbCBhZnRlciBsYXlvdXQgaXMgZmluaXNoZWQuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRfcmVzb3Vy
Y2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJlbG9hZC9wcmVsb2Fk
c2Nhbm5lcl9kb3dubG9hZF9yZXNvdXJjZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0MmY0
MDExNTJmNTA5ZDdjNWU2MTlmMTcwNzc4OTNiZGI4MWE3MjkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRfcmVz
b3VyY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitQQVNTIGludGVybmFscy5pc1By
ZWxvYWRlZCgnLi4vcmVzb3VyY2VzL2R1bW15LmpzJyk7IGlzIHRydWUKK1BBU1MgaW50ZXJuYWxz
LmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkuY3NzJyk7IGlzIHRydWUKK1BBU1MgaW50
ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvc3F1YXJlLnBuZycpOyBpcyB0cnVlCitQ
QVNTIGludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vcmVzb3VyY2VzL0FoZW0udHRmJyk7IGlzIHRy
dWUKK1BBU1MgaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvdGVzdC5tcDQnKTsg
aXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3NlY3VyaXR5L3Jlc291cmNl
cy9jYXB0aW9ucy52dHQnKTsgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4u
L3Jlc291cmNlcy9kdW1teS54bWw/YmFkdmFsdWUnKTsgaXMgZmFsc2UKK1BBU1MgaW50ZXJuYWxz
LmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJjZXMvZHVtbXkueG1sJyk7IGlzIHRydWUKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5uZXJfZG93bmxvYWRfcmVz
b3VyY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByZWxvYWQvcHJlbG9hZHNjYW5u
ZXJfZG93bmxvYWRfcmVzb3VyY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJmYjUyZWQ4YTFlMjJkNWQ5
NjlmYjZiYzA1ZmI0NGUyZDE1ZGY4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcHJlbG9hZC9wcmVsb2Fkc2Nhbm5lcl9kb3dubG9hZF9yZXNvdXJjZXMuaHRtbApA
QCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iaHR0cDovLzEyNy4w
LjAuMTo4MDAwL3Jlc291cmNlcy9zbG93LXNjcmlwdC5wbD9kZWxheT04MDAiPjwvc2NyaXB0Pgor
PGRpdiBpZD1yZXN1bHQ+PC9kaXY+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgKGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgIGlmICghd2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9ICJUaGlzIHRlc3QgbmVlZHMgdG8g
YmUgcnVuIGluIHRoZSBUZXN0UnVubmVyIGVudmlyb25tZW50LCBzaW5jZSBpdCByZWxpZXMgb24g
dGhlIGBpbnRlcm5hbHNgIGludGVyZmFjZS4iOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNv
dXJjZXMvZHVtbXkuanMnKTsiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNQ
cmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS5jc3MnKTsiKTsKKyAgICAgICAgc2hvdWxkQmVU
cnVlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9zcXVhcmUucG5nJyk7Iik7
CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJlbG9hZGVkKCcuLi9yZXNvdXJj
ZXMvQWhlbS50dGYnKTsiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNQcmVs
b2FkZWQoJy4uL3Jlc291cmNlcy90ZXN0Lm1wNCcpOyIpOworICAgICAgICBzaG91bGRCZVRydWUo
ImludGVybmFscy5pc1ByZWxvYWRlZCgnLi4vc2VjdXJpdHkvcmVzb3VyY2VzL2NhcHRpb25zLnZ0
dCcpOyIpOworICAgICAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4u
L3Jlc291cmNlcy9kdW1teS54bWw/YmFkdmFsdWUnKTsiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVl
KCJpbnRlcm5hbHMuaXNQcmVsb2FkZWQoJy4uL3Jlc291cmNlcy9kdW1teS54bWwnKTsiKTsKKyAg
ICAgICAgZG9jdW1lbnQud3JpdGUoIjwhIiArICItLSIpOworICAgIH0pKCk7Cis8L3NjcmlwdD4K
KzxsaW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9kdW1teS5qcyIgYXM9c2NyaXB0
PgorPGxpbmsgcmVsPXByZWxvYWQgaHJlZj0iLi4vcmVzb3VyY2VzL2R1bW15LmNzcyIgYXM9c3R5
bGU+Cis8bGluayByZWw9cHJlbG9hZCBocmVmPSIuLi9yZXNvdXJjZXMvc3F1YXJlLnBuZyIgYXM9
aW1hZ2U+Cis8bGluayByZWw9cHJlbG9hZCBocmVmPSIuLi9yZXNvdXJjZXMvQWhlbS50dGYiIGFz
PWZvbnQgY3Jvc3NvcmlnaW4+Cis8bGluayByZWw9cHJlbG9hZCBocmVmPSIuLi9yZXNvdXJjZXMv
dGVzdC5tcDQiIGFzPW1lZGlhPgorPGxpbmsgcmVsPXByZWxvYWQgaHJlZj0iLi4vc2VjdXJpdHkv
cmVzb3VyY2VzL2NhcHRpb25zLnZ0dCIgYXM9dHJhY2s+Cis8bGluayByZWw9cHJlbG9hZCBocmVm
PSIuLi9yZXNvdXJjZXMvZHVtbXkueG1sP2JhZHZhbHVlIiBhcz1mb29iYXJ4bWx0aGluZz4KKzxs
aW5rIHJlbD1wcmVsb2FkIGhyZWY9Ii4uL3Jlc291cmNlcy9kdW1teS54bWwiPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>