<?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>199349</bug_id>
          
          <creation_ts>2019-06-30 10:08:01 -0700</creation_ts>
          <short_desc>Tapping on the bottom part of youtube video behaves as if controls were visible</short_desc>
          <delta_ts>2019-07-04 22:51:26 -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>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>InRadar</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>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1549080</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-06-30 10:08:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/51955744&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549081</commentid>
    <comment_count>1</comment_count>
      <attachid>373192</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-06-30 10:13:52 -0700</bug_when>
    <thetext>Created attachment 373192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549089</commentid>
    <comment_count>2</comment_count>
      <attachid>373192</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-06-30 12:54:40 -0700</bug_when>
    <thetext>Comment on attachment 373192
Patch

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

Looks good. Is this ready for review?

&gt; Source/WebCore/page/ios/ContentChangeObserver.cpp:84
&gt; +    for (auto* parent = node.parentNode(); parent &amp;&amp; i &lt; 3; parent = parent-&gt;parentNode(), ++i) {

What is magic about the grandparent node? Should this be encoded as a constant explaining it’s importance?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549091</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-06-30 12:59:53 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #2)
&gt; Comment on attachment 373192 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=373192&amp;action=review
&gt; 
&gt; Looks good. Is this ready for review?
Almost.

&gt; 
&gt; &gt; Source/WebCore/page/ios/ContentChangeObserver.cpp:84
&gt; &gt; +    for (auto* parent = node.parentNode(); parent &amp;&amp; i &lt; 3; parent = parent-&gt;parentNode(), ++i) {
&gt; 
&gt; What is magic about the grandparent node? Should this be encoded as a
&gt; constant explaining it’s importance?
Will explain it in the final patch. Opacity behaves different in the context of hittesting than display: none or visibility: hidden.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549124</commentid>
    <comment_count>4</comment_count>
      <attachid>373202</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-06-30 20:04:57 -0700</bug_when>
    <thetext>Created attachment 373202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549132</commentid>
    <comment_count>5</comment_count>
      <attachid>373207</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-06-30 20:30:28 -0700</bug_when>
    <thetext>Created attachment 373207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549133</commentid>
    <comment_count>6</comment_count>
      <attachid>373208</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-06-30 20:36:57 -0700</bug_when>
    <thetext>Created attachment 373208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549256</commentid>
    <comment_count>7</comment_count>
      <attachid>373208</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-07-01 10:51:41 -0700</bug_when>
    <thetext>Comment on attachment 373208
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Synthetic click event should not be dispatched to a node that is initially hidden and becomes visible by the touchStart event.

Quality &quot;hidden&quot; here as including opacity:0. Also say that we&apos;re deliberately choose a different behavior from macOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549267</commentid>
    <comment_count>8</comment_count>
      <attachid>373247</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-07-01 12:13:05 -0700</bug_when>
    <thetext>Created attachment 373247
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549274</commentid>
    <comment_count>9</comment_count>
      <attachid>373247</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-01 12:57:45 -0700</bug_when>
    <thetext>Comment on attachment 373247
Patch

Clearing flags on attachment: 373247

Committed r247015: &lt;https://trac.webkit.org/changeset/247015&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549275</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-01 12:57:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549276</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-01 12:58:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/52477135&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550296</commentid>
    <comment_count>12</comment_count>
      <attachid>373247</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-07-04 22:51:09 -0700</bug_when>
    <thetext>Comment on attachment 373247
Patch

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

&gt; Source/WebCore/page/ios/ContentChangeObserver.cpp:85
&gt; +    constexpr static unsigned numberOfAncestorsToCheckForOpacity = 4;

The static is absolutely unnecessary here. constexpr static == constexpr unless the compiler is a piece of nonsensical garbage 😃. In my opinion I would remove the static.

&gt; Source/WebCore/page/ios/ContentChangeObserver.cpp:86
&gt; +    unsigned i = 0;

In my opinion, it is more idiomatic to define this **in*** the for loop ()s &lt;— also scopes it!

&gt; Source/WebCore/page/ios/ContentChangeObserver.cpp:88
&gt; +        if (!parent-&gt;renderStyle() || !parent-&gt;renderStyle()-&gt;opacity())

Use C++17 if init-statement? 🤷‍♂️

(My line of thinking...dumb compiler will do two calls instead of hoisting the load and doing one for renderStyle(); init-statement is unambiguous what to do...)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373192</attachid>
            <date>2019-06-30 10:13:52 -0700</date>
            <delta_ts>2019-06-30 20:04:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199349-20190630101351.patch</filename>
            <type>text/plain</type>
            <size>7255</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA0ZjU5ODI5OWUxMTQ4
MmY1ZDFiMzEyOGUyYmNlZWJjNDJhYjE5Mi4uY2VlN2VkODQ5Mjc2YTc3M2Q3OTJiYTg2NWRmMGVm
ZWI2ZDhhMjFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTA2LTMwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVGFwcGluZyBvbiB0aGUgYm90
dG9tIHBhcnQgb2YgeW91dHViZSB2aWRlbyBiZWhhdmVzIGFzIGlmIGNvbnRyb2xzIHdlcmUgdmlz
aWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5
MzQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MTk1NTc0ND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXSVAuCisKKyAgICAgICAgKiBwYWdlL2lv
cy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENo
YW5nZU9ic2VydmVyOjppc0NvbnNpZGVyZWRIaWRkZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudENoYW5nZU9ic2VydmVyOjpkaWRBZGRUcmFuc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkRmluaXNoVHJhbnNpdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OlN0eWxlQ2hhbmdlU2NvcGU6On5TdHlsZUNo
YW5nZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OmlzQ29uc2lkZXJlZEhpZGRlbik6IERlbGV0
ZWQuCisgICAgICAgICogcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmg6CisKIDIwMTkt
MDYtMjUgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIEFkZCB1c2VyIGFnZW50IHF1aXJrIGZvciBiYW5rb2ZhbWVyaWNhLmNvbQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCA0YzhmZWUzZmJiOWMwZGRhZTI1MTdhOWY1NjA5ZWM3N2RmMWE4NDUxLi43ZGY0ZDJlMWE3MWVl
OTE3YjAwMGY5YTliZTMxNzNkMmE2YjcyYzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisy
MDE5LTA2LTMwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVGFw
cGluZyBvbiB0aGUgYm90dG9tIHBhcnQgb2YgeW91dHViZSB2aWRlbyBiZWhhdmVzIGFzIGlmIGNv
bnRyb2xzIHdlcmUgdmlzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk5MzQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MTk1NTc0ND4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aGFuZGxlVG91Y2hFdmVu
dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmhhbmRsZVN5bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
Y29tcGxldGVQZW5kaW5nU3ludGhldGljQ2xpY2tGb3JDb250ZW50Q2hhbmdlT2JzZXJ2ZXIpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRpY0NsaWNrKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6cG90ZW50aWFsVGFwQXRQb3NpdGlvbik6CisKIDIwMTktMDYt
MjUgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IEZ1bGx5IHJlbmFtZSBXZWJLaXRHVEsrIC0+IFdlYktpdEdUSyBldmVyeXdoZXJlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcAppbmRleCA4
MDNjNDU5OWZkNjg4ZmViYWFlNDA5YmE0MjFlZjJhNTNhNmVhMGMyLi43ODA4NTY0NjFhYjQwMjlm
ZDNkNDljYmRmYzQwNzA1ZGYyOTJhMWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
aW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAKQEAgLTQzLDEyICs0MywxMiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtRGVsYXlGb3JUaW1lcnMg
eyA0MDBfbXMgfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1heGltdW1EZWxheUZvclRyYW5zaXRp
b25zIHsgMzAwX21zIH07CiAKLXN0YXRpYyBib29sIGlzQ29uc2lkZXJlZEhpZGRlbihjb25zdCBF
bGVtZW50JiBlbGVtZW50KQorYm9vbCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzQ29uc2lkZXJl
ZEhpZGRlbihjb25zdCBOb2RlJiBub2RlKQogewotICAgIGlmICghZWxlbWVudC5yZW5kZXJTdHls
ZSgpKQorICAgIGlmICghbm9kZS5yZW5kZXJTdHlsZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
IAotICAgIGF1dG8mIHN0eWxlID0gKmVsZW1lbnQucmVuZGVyU3R5bGUoKTsKKyAgICBhdXRvJiBz
dHlsZSA9ICpub2RlLnJlbmRlclN0eWxlKCk7CiAgICAgaWYgKHN0eWxlLmRpc3BsYXkoKSA9PSBE
aXNwbGF5VHlwZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTgwLDYgKzgwLDM1
IEBAIHN0YXRpYyBib29sIGlzQ29uc2lkZXJlZEhpZGRlbihjb25zdCBFbGVtZW50JiBlbGVtZW50
KQogICAgIGlmIChtYXhIZWlnaHQuaXNGaXhlZCgpICYmICFtYXhIZWlnaHQudmFsdWUoKSkKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICB1bnNpZ25lZCBpID0gMDsKKyAgICBmb3IgKGF1dG8q
IHBhcmVudCA9IG5vZGUucGFyZW50Tm9kZSgpOyBwYXJlbnQgJiYgaSA8IDM7IHBhcmVudCA9IHBh
cmVudC0+cGFyZW50Tm9kZSgpLCArK2kpIHsKKyAgICAgICAgaWYgKCFwYXJlbnQtPnJlbmRlclN0
eWxlKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgYXV0byYgc3R5bGUgPSAq
cGFyZW50LT5yZW5kZXJTdHlsZSgpOworICAgICAgICBpZiAoc3R5bGUub3BhY2l0eSgpID09IDEp
CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgLy8gUGFyZW50IGlzIGhpZGRlbi4KKyAg
ICAgICAgaWYgKCFzdHlsZS5vcGFjaXR5KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgLy8gQ2hlY2tpbmcgcGxheWluZyBhbmltYXRpb25zIHRvIHNlZSBpZiBwYXJlbnQgaXMg
Z2V0dGluZyB2aXNpYmxlLgorICAgICAgICBhdXRvIGlzQW5pbWF0aW5nT3BhY2l0eSA9IFsmXShh
dXRvJiBhbmltYXRpb24pIHsKKyAgICAgICAgICAgIHJldHVybiBhbmltYXRpb24ucHJvcGVydHko
KSA9PSBDU1NQcm9wZXJ0eU9wYWNpdHkgfHwgYW5pbWF0aW9uLnBsYXlTdGF0ZSgpID09IEFuaW1h
dGlvblBsYXlTdGF0ZTo6UGxheWluZzsKKyAgICAgICAgfTsKKyAgICAgICAgLy8gQW5pbWF0aW9u
cy4KKyAgICAgICAgaWYgKGF1dG8qIGFuaW1hdGlvbnMgPSBzdHlsZS5hbmltYXRpb25zKCkpIHsK
KyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhbmltYXRpb25zLT5zaXplKCk7
ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChpc0FuaW1hdGluZ09wYWNpdHkoYW5pbWF0aW9u
cy0+YW5pbWF0aW9uKGkpKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgLy8gVHJhbnNpdGlvbnMuCisgICAgICAgIGlm
IChhdXRvKiB0cmFuc2l0aW9ucyA9IHN0eWxlLnRyYW5zaXRpb25zKCkpIHsKKyAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0cmFuc2l0aW9ucy0+c2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoaXNBbmltYXRpbmdPcGFjaXR5KHRyYW5zaXRpb25zLT5hbmltYXRp
b24oaSkpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmgKaW5kZXggMWVmNjRjMmIzNDNl
ODlhZTc2ODE5YTBlMmQ2OTA1ZDc5MThmODQ2MS4uNmViNjc0MGRmNjcyM2RlOGMwNTM0NDkwNzFh
NDNjYzVhOGE0YWQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVu
dENoYW5nZU9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENo
YW5nZU9ic2VydmVyLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzdGFydENvbnRlbnRPYnNlcnZhdGlvbkZvckR1cmF0aW9uKFNlY29uZHMgZHVy
YXRpb24pOwogICAgIFdLQ29udGVudENoYW5nZSBvYnNlcnZlZENvbnRlbnRDaGFuZ2UoKSBjb25z
dCB7IHJldHVybiBtX29ic2VydmVkQ29udGVudFN0YXRlOyB9CisgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIGJvb2wgaXNDb25zaWRlcmVkSGlkZGVuKGNvbnN0IE5vZGUmKTsKIAogICAgIHZvaWQg
ZGlkSW5zdGFsbERPTVRpbWVyKGNvbnN0IERPTVRpbWVyJiwgU2Vjb25kcyB0aW1lb3V0LCBib29s
IHNpbmdsZVNob3QpOwogICAgIHZvaWQgZGlkUmVtb3ZlRE9NVGltZXIoY29uc3QgRE9NVGltZXIm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBkNTQy
M2JiYjNjNWZkZjgzMmE2NThjMjg2OTBiNGE2Mzk5YzlmMzE1Li45Y2UwNDNjYTc2MGVlNjNkMjU2
MDMwY2VhZDQ2MWE5YmRmZTYwOWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCkBAIC0xODIxLDYgKzE4MjEsNyBAQCBwcml2YXRlOgogICAgIFNlbGVjdGlv
bkFuY2hvciBtX3NlbGVjdGlvbkFuY2hvciB7IFN0YXJ0IH07CiAKICAgICBSZWZQdHI8V2ViQ29y
ZTo6Tm9kZT4gbV9wb3RlbnRpYWxUYXBOb2RlOworICAgIGJvb2wgbV9wb3RlbnRpYWxUYXBOb2Rl
SXNDb25zaWRlcmVkSGlkZGVuIHsgZmFsc2UgfTsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1f
cG90ZW50aWFsVGFwTG9jYXRpb247CiAgICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
PiBtX3BvdGVudGlhbFRhcFNlY3VyaXR5T3JpZ2luOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDA0NGUxMWYwMTc4NzY5
MDFjODFkMzkxMjRiZjY4ZmRlMzhlMWNmYTAuLjY1MjI4NDQ2Y2VlNDNiZTY2Y2JiNzMzNWE3OThm
ZjEwYzQ5ODgyZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tCkBAIC02NzUsNiArNjc1LDExIEBAIHZvaWQgV2ViUGFnZTo6aGFu
ZGxlU3ludGhldGljQ2xpY2soTm9kZSYgbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25zdCBXZWJD
b3JlOjpGCiAgICAgaWYgKG1faXNDbG9zZWQpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmICgm
bm9kZVJlc3BvbmRpbmdUb0NsaWNrID09IG1fcG90ZW50aWFsVGFwTm9kZS5nZXQoKSAmJiBtX3Bv
dGVudGlhbFRhcE5vZGVJc0NvbnNpZGVyZWRIaWRkZW4pIHsKKyAgICAgICAgTE9HKENvbnRlbnRP
YnNlcnZhdGlvbiwgImhhbmRsZVN5bnRoZXRpY0NsaWNrOiB0YXJnZXQgbm9kZSBpcyBjb25zaWRl
cmVkIGhpZGRlbiAtPiBob3Zlci4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGF1
dG8mIGNvbnRlbnRDaGFuZ2VPYnNlcnZlciA9IHJlc3BvbmRpbmdEb2N1bWVudC5jb250ZW50Q2hh
bmdlT2JzZXJ2ZXIoKTsKICAgICBhdXRvIG9ic2VydmVkQ29udGVudENoYW5nZSA9IGNvbnRlbnRD
aGFuZ2VPYnNlcnZlci5vYnNlcnZlZENvbnRlbnRDaGFuZ2UoKTsKICAgICBhdXRvIHRhcmdldE5v
ZGVUcmlnZ2Vyc0NsaWNrID0gbm9kZUFsd2F5c1RyaWdnZXJzQ2xpY2sobm9kZVJlc3BvbmRpbmdU
b0NsaWNrKTsKQEAgLTEwMzAsNiArMTAzNSw3IEBAIHZvaWQgV2ViUGFnZTo6aGFuZGxlU3R5bHVz
U2luZ2xlVGFwQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQsIHVpbnQ2CiB2
b2lkIFdlYlBhZ2U6OnBvdGVudGlhbFRhcEF0UG9zaXRpb24odWludDY0X3QgcmVxdWVzdElELCBj
b25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBwb3NpdGlvbiwgYm9vbCBzaG91bGRSZXF1ZXN0TWFn
bmlmaWNhdGlvbkluZm9ybWF0aW9uKQogewogICAgIG1fcG90ZW50aWFsVGFwTm9kZSA9IG1fcGFn
ZS0+bWFpbkZyYW1lKCkubm9kZVJlc3BvbmRpbmdUb0NsaWNrRXZlbnRzKHBvc2l0aW9uLCBtX3Bv
dGVudGlhbFRhcExvY2F0aW9uLCBtX3BvdGVudGlhbFRhcFNlY3VyaXR5T3JpZ2luLmdldCgpKTsK
KyAgICBtX3BvdGVudGlhbFRhcE5vZGVJc0NvbnNpZGVyZWRIaWRkZW4gPSAhbV9wb3RlbnRpYWxU
YXBOb2RlIHx8IENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6aXNDb25zaWRlcmVkSGlkZGVuKCptX3Bv
dGVudGlhbFRhcE5vZGUpOwogCiAgICAgaWYgKHNob3VsZFJlcXVlc3RNYWduaWZpY2F0aW9uSW5m
b3JtYXRpb24gJiYgbV9wb3RlbnRpYWxUYXBOb2RlICYmIG1fdmlld0dlc3R1cmVHZW9tZXRyeUNv
bGxlY3RvcikgewogICAgICAgICAvLyBGSVhNRTogQ291bGQgdGhpcyBiZSBjb21iaW5lZCBpbnRv
IHRhcCBoaWdobGlnaHQ/Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373202</attachid>
            <date>2019-06-30 20:04:57 -0700</date>
            <delta_ts>2019-06-30 20:30:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199349-20190630200455.patch</filename>
            <type>text/plain</type>
            <size>12756</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA0ZjU5ODI5OWUxMTQ4
MmY1ZDFiMzEyOGUyYmNlZWJjNDJhYjE5Mi4uMGIwZmNkNTExZDM3YjdlM2U3YWIzMGVhYmI2NDVh
MGVhYzkwZDYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTA2LTMwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVGFwcGluZyBvbiB0aGUgYm90
dG9tIHBhcnQgb2YgeW91dHViZSB2aWRlbyBiZWhhdmVzIGFzIGlmIGNvbnRyb2xzIHdlcmUgdmlz
aWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5
MzQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MTk1NTc0ND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTeW50aGV0aWMgY2xpY2sgZXZlbnQgc2hv
dWxkIG5vdCBiZSBkaXNwYXRjaGVkIHRvIGEgbm9kZSB0aGF0IGlzIGluaXRpYWxseSBoaWRkZW4g
YW5kIGJlY29tZXMgdmlzaWJsZSBieSB0aGUgdG91Y2hTdGFydCBldmVudC4KKworICAgICAgICBU
ZXN0OiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNo
YW5nZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi5odG1sCisKKyAgICAg
ICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZWZhdWx0RXZlbnRI
YW5kbGVyKToKKyAgICAgICAgKiBwYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjppc0NvbnNpZGVyZWRIaWRk
ZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpyZXNldCk6Cisg
ICAgICAgIChXZWJDb3JlOjppc0NvbnNpZGVyZWRIaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAq
IHBhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudENoYW5nZU9ic2VydmVyOjpzZXRIaWRkZW5Ub3VjaFRhcmdldCk6CisgICAgICAgIChXZWJD
b3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlc2V0SGlkZGVuVG91Y2hUYXJnZXQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpoaWRkZW5Ub3VjaFRhcmdldCBj
b25zdCk6CisKIDIwMTktMDYtMjUgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIEFkZCB1c2VyIGFnZW50IHF1aXJrIGZvciBiYW5rb2ZhbWVyaWNh
LmNvbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCA0YzhmZWUzZmJiOWMwZGRhZTI1MTdhOWY1NjA5ZWM3N2RmMWE4NDUx
Li43ZGY0ZDJlMWE3MWVlOTE3YjAwMGY5YTliZTMxNzNkMmE2YjcyYzlmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDE5LTA2LTMwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CisKKyAgICAgICAgVGFwcGluZyBvbiB0aGUgYm90dG9tIHBhcnQgb2YgeW91dHViZSB2aWRlbyBi
ZWhhdmVzIGFzIGlmIGNvbnRyb2xzIHdlcmUgdmlzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MzQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81MTk1NTc0ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZVN5bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6Y29tcGxldGVQZW5kaW5nU3ludGhldGljQ2xpY2tGb3JDb250ZW50Q2hh
bmdlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRp
Y0NsaWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cG90ZW50aWFsVGFwQXRQb3NpdGlv
bik6CisKIDIwMTktMDYtMjUgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIEZ1bGx5IHJlbmFtZSBXZWJLaXRHVEsrIC0+IFdlYktpdEdUSyBldmVy
eXdoZXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggZmFlMThhOTVkOGJhMWFjMmY1N2EyZDIyYTQ3ZGVi
OGMwYWUzY2NkZS4uYzk3MTI1NGQwM2VlZjFmN2E1MzNmYWM5MDRlYTQ2OTlkZjY3YTVlOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNvbW1vblZNLmgiCiAj
aW5jbHVkZSAiQ29tcG9zZWRUcmVlQW5jZXN0b3JJdGVyYXRvci5oIgogI2luY2x1ZGUgIkNvbnRh
aW5lck5vZGVBbGdvcml0aG1zLmgiCisjaW5jbHVkZSAiQ29udGVudENoYW5nZU9ic2VydmVyLmgi
CiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93
LmgiCiAjaW5jbHVkZSAiRGF0YVRyYW5zZmVyLmgiCkBAIC0yNDUyLDYgKzI0NTMsMTUgQEAgdm9p
ZCBOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50JiBldmVudCkKICAgICAgICAgICAgICAg
ICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkuZGVmYXVsdFdoZWVsRXZlbnRIYW5kbGVyKHN0YXJ0Tm9k
ZSwgZG93bmNhc3Q8V2hlZWxFdmVudD4oZXZlbnQpKTsKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRT
KSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIH0gZWxzZSBpZiAoaXM8VG91Y2hFdmVudD4o
ZXZlbnQpICYmIGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZShkb2N1bWVudCgp
LCBldmVudFR5cGUpKSB7CisgICAgICAgIC8vIENhcHR1cmUgdGhlIHRhcmdldCBub2RlJ3Mgdmlz
aWJpbGl0eSBzdGF0ZSBiZWZvcmUgZGlzcGF0Y2hpbmcgdG91Y2hTdGFydC4KKyAgICAgICAgaWYg
KGlzPEVsZW1lbnQ+KCp0aGlzKSAmJiBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoc3Rh
cnRFdmVudCkgeworICAgICAgICAgICAgYXV0byYgY29udGVudENoYW5nZU9ic2VydmVyID0gZG9j
dW1lbnQoKS5jb250ZW50Q2hhbmdlT2JzZXJ2ZXIoKTsgCisgICAgICAgICAgICBpZiAoQ29udGVu
dENoYW5nZU9ic2VydmVyOjppc0NvbnNpZGVyZWRIaWRkZW4oKnRoaXMpKQorICAgICAgICAgICAg
ICAgIGNvbnRlbnRDaGFuZ2VPYnNlcnZlci5zZXRIaWRkZW5Ub3VjaFRhcmdldChkb3duY2FzdDxF
bGVtZW50PigqdGhpcykpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGNvbnRl
bnRDaGFuZ2VPYnNlcnZlci5yZXNldEhpZGRlblRvdWNoVGFyZ2V0KCk7CisgICAgICAgIH0KKwog
ICAgICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKICAgICAg
ICAgd2hpbGUgKHJlbmRlcmVyICYmICghaXM8UmVuZGVyQm94PigqcmVuZGVyZXIpIHx8ICFkb3du
Y2FzdDxSZW5kZXJCb3g+KCpyZW5kZXJlcikuY2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVB
cmVhKCkpKQogICAgICAgICAgICAgcmVuZGVyZXIgPSByZW5kZXJlci0+cGFyZW50KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcAppbmRl
eCA4MDNjNDU5OWZkNjg4ZmViYWFlNDA5YmE0MjFlZjJhNTNhNmVhMGMyLi4wODk5NzNjYzI2MWJi
YjE5ODM3ZmE1Mjc2ZGFiOWNkMDU5ZGI4Y2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAKQEAgLTQzLDEyICs0MywxMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtRGVsYXlGb3JUaW1l
cnMgeyA0MDBfbXMgfTsKIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1heGltdW1EZWxheUZvclRyYW5z
aXRpb25zIHsgMzAwX21zIH07CiAKLXN0YXRpYyBib29sIGlzQ29uc2lkZXJlZEhpZGRlbihjb25z
dCBFbGVtZW50JiBlbGVtZW50KQorYm9vbCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzQ29uc2lk
ZXJlZEhpZGRlbihjb25zdCBOb2RlJiBub2RlKQogewotICAgIGlmICghZWxlbWVudC5yZW5kZXJT
dHlsZSgpKQorICAgIGlmICghbm9kZS5yZW5kZXJTdHlsZSgpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKIAotICAgIGF1dG8mIHN0eWxlID0gKmVsZW1lbnQucmVuZGVyU3R5bGUoKTsKKyAgICBhdXRv
JiBzdHlsZSA9ICpub2RlLnJlbmRlclN0eWxlKCk7CiAgICAgaWYgKHN0eWxlLmRpc3BsYXkoKSA9
PSBEaXNwbGF5VHlwZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKQEAgLTgwLDYgKzgw
LDE0IEBAIHN0YXRpYyBib29sIGlzQ29uc2lkZXJlZEhpZGRlbihjb25zdCBFbGVtZW50JiBlbGVt
ZW50KQogICAgIGlmIChtYXhIZWlnaHQuaXNGaXhlZCgpICYmICFtYXhIZWlnaHQudmFsdWUoKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICAvLyBTcGVjaWFsIGNhc2Ugb3BhY2l0eSwgYmVj
YXVzZSBhIGRlc2NlbmRhbnQgd2l0aCBub24temVybyBvcGFjaXR5IHNob3VsZCBzdGlsbCBiZSBj
b25zaWRlcmVkIGhpZGRlbiB3aGVuIG9uZSBvZiBpdHMgYW5jZXRvcnMgaGFzIG9wYWNpdHk6IDA7
CisgICAgLy8gWW91VHViZS5jb20gaGFzIHRoaXMgc2V0dXAgd2l0aCB0aGUgYm90dG9tIGNvbnRy
b2wgYmFyLgorICAgIGNvbnN0ZXhwciBzdGF0aWMgdW5zaWduZWQgbnVtYmVyT2ZBbmNlc3RvcnNU
b0NoZWNrRm9yT3BhY2l0eSA9IDQ7CisgICAgdW5zaWduZWQgaSA9IDA7CisgICAgZm9yIChhdXRv
KiBwYXJlbnQgPSBub2RlLnBhcmVudE5vZGUoKTsgcGFyZW50ICYmIGkgPCBudW1iZXJPZkFuY2Vz
dG9yc1RvQ2hlY2tGb3JPcGFjaXR5OyBwYXJlbnQgPSBwYXJlbnQtPnBhcmVudE5vZGUoKSwgKytp
KSB7CisgICAgICAgIGlmICghcGFyZW50LT5yZW5kZXJTdHlsZSgpIHx8ICFwYXJlbnQtPnJlbmRl
clN0eWxlKCktPm9wYWNpdHkoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTMyNCw2ICszMzIsNyBAQCB2b2lkIENvbnRlbnRDaGFu
Z2VPYnNlcnZlcjo6cmVzZXQoKQogCiAgICAgbV9jb250ZW50T2JzZXJ2YXRpb25UaW1lci5zdG9w
KCk7CiAgICAgbV9lbGVtZW50c1dpdGhEZXN0cm95ZWRWaXNpYmxlUmVuZGVyZXIuY2xlYXIoKTsK
KyAgICByZXNldEhpZGRlblRvdWNoVGFyZ2V0KCk7CiB9CiAKIHZvaWQgQ29udGVudENoYW5nZU9i
c2VydmVyOjpkaWRTdXNwZW5kQWN0aXZlRE9NT2JqZWN0cygpCkBAIC01NzksNiArNTg4LDcgQEAg
Q29udGVudENoYW5nZU9ic2VydmVyOjpNb3VzZU1vdmVkU2NvcGU6Ok1vdXNlTW92ZWRTY29wZShE
b2N1bWVudCYgZG9jdW1lbnQpCiBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6Ok1vdXNlTW92ZWRTY29w
ZTo6fk1vdXNlTW92ZWRTY29wZSgpCiB7CiAgICAgbV9jb250ZW50Q2hhbmdlT2JzZXJ2ZXIubW91
c2VNb3ZlZERpZEZpbmlzaCgpOworICAgIG1fY29udGVudENoYW5nZU9ic2VydmVyLnJlc2V0SGlk
ZGVuVG91Y2hUYXJnZXQoKTsKIH0KIAogQ29udGVudENoYW5nZU9ic2VydmVyOjpTdHlsZVJlY2Fs
Y1Njb3BlOjpTdHlsZVJlY2FsY1Njb3BlKERvY3VtZW50JiBkb2N1bWVudCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmgKaW5kZXggMWVmNjRjMmIz
NDNlODlhZTc2ODE5YTBlMmQ2OTA1ZDc5MThmODQ2MS4uMzJkYTQwN2U2ZDQzZTE3Y2UyNDI3YWFi
NmQ2OTI1MGU3YzMwMjZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29u
dGVudENoYW5nZU9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVu
dENoYW5nZU9ic2VydmVyLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJXS0NvbnRlbnRP
YnNlcnZhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1Nl
Y29uZHMuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTQ4LDYgKzQ5LDcgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
dGFydENvbnRlbnRPYnNlcnZhdGlvbkZvckR1cmF0aW9uKFNlY29uZHMgZHVyYXRpb24pOwogICAg
IFdLQ29udGVudENoYW5nZSBvYnNlcnZlZENvbnRlbnRDaGFuZ2UoKSBjb25zdCB7IHJldHVybiBt
X29ic2VydmVkQ29udGVudFN0YXRlOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wg
aXNDb25zaWRlcmVkSGlkZGVuKGNvbnN0IE5vZGUmKTsKIAogICAgIHZvaWQgZGlkSW5zdGFsbERP
TVRpbWVyKGNvbnN0IERPTVRpbWVyJiwgU2Vjb25kcyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3Qp
OwogICAgIHZvaWQgZGlkUmVtb3ZlRE9NVGltZXIoY29uc3QgRE9NVGltZXImKTsKQEAgLTY1LDYg
KzY3LDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgd2lsbERlc3Ryb3lSZW5kZXJlcihjb25zdCBF
bGVtZW50Jik7CiAKKyAgICB2b2lkIHNldEhpZGRlblRvdWNoVGFyZ2V0KEVsZW1lbnQmIHRhcmdl
dEVsZW1lbnQpIHsgbV9oaWRkZW5Ub3VjaFRhcmdldEVsZW1lbnQgPSBtYWtlV2Vha1B0cih0YXJn
ZXRFbGVtZW50KTsgfQorICAgIHZvaWQgcmVzZXRIaWRkZW5Ub3VjaFRhcmdldCgpIHsgbV9oaWRk
ZW5Ub3VjaFRhcmdldEVsZW1lbnQgPSB7IH07IH0KKyAgICBFbGVtZW50KiBoaWRkZW5Ub3VjaFRh
cmdldCgpIGNvbnN0IHsgcmV0dXJuIG1faGlkZGVuVG91Y2hUYXJnZXRFbGVtZW50LmdldCgpOyB9
CisKICAgICBjbGFzcyBTdHlsZUNoYW5nZVNjb3BlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIFN0
eWxlQ2hhbmdlU2NvcGUoRG9jdW1lbnQmLCBjb25zdCBFbGVtZW50Jik7CkBAIC0yMDQsNiArMjEw
LDcgQEAgcHJpdmF0ZToKICAgICBIYXNoU2V0PGNvbnN0IEVsZW1lbnQqPiBtX2VsZW1lbnRzV2l0
aFRyYW5zaXRpb247CiAgICAgSGFzaFNldDxjb25zdCBFbGVtZW50Kj4gbV9lbGVtZW50c1dpdGhE
ZXN0cm95ZWRWaXNpYmxlUmVuZGVyZXI7CiAgICAgV0tDb250ZW50Q2hhbmdlIG1fb2JzZXJ2ZWRD
b250ZW50U3RhdGUgeyBXS0NvbnRlbnROb0NoYW5nZSB9OworICAgIFdlYWtQdHI8RWxlbWVudD4g
bV9oaWRkZW5Ub3VjaFRhcmdldEVsZW1lbnQ7CiAgICAgYm9vbCBtX3RvdWNoRXZlbnRJc0JlaW5n
RGlzcGF0Y2hlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzV2FpdGluZ0ZvclN0eWxlUmVjYWxj
IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJbk9ic2VydmVkU3R5bGVSZWNhbGMgeyBmYWxzZSB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlP
Uy5tbQppbmRleCAwNDRlMTFmMDE3ODc2OTAxYzgxZDM5MTI0YmY2OGZkZTM4ZTFjZmEwLi4wNTVm
MjkyOTc1OThjMjExN2ZmNzNkMmVkN2YyZmExN2Q1NzQ3NGE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtNjY0LDE4ICs2
NjQsMjMgQEAgdm9pZCBXZWJQYWdlOjpoYW5kbGVTeW50aGV0aWNDbGljayhOb2RlJiBub2RlUmVz
cG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdlYkNvcmU6OkYKICAgICB9CiAKICAgICBhdXRvJiByZXNw
b25kaW5nRG9jdW1lbnQgPSBub2RlUmVzcG9uZGluZ1RvQ2xpY2suZG9jdW1lbnQoKTsKKyAgICBh
dXRvJiBjb250ZW50Q2hhbmdlT2JzZXJ2ZXIgPSByZXNwb25kaW5nRG9jdW1lbnQuY29udGVudENo
YW5nZU9ic2VydmVyKCk7CisgICAgYXV0byB0YXJnZXROb2RlaXNDb25zaWRlcmVkSGlkZGVuID0g
Y29udGVudENoYW5nZU9ic2VydmVyLmhpZGRlblRvdWNoVGFyZ2V0KCkgPT0gJm5vZGVSZXNwb25k
aW5nVG9DbGljayB8fCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzQ29uc2lkZXJlZEhpZGRlbihu
b2RlUmVzcG9uZGluZ1RvQ2xpY2spOwogICAgIHsKICAgICAgICAgTE9HX1dJVEhfU1RSRUFNKENv
bnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8ICJoYW5kbGVTeW50aGV0aWNDbGljazogbm9kZSgi
IDw8ICZub2RlUmVzcG9uZGluZ1RvQ2xpY2sgPDwgIikgIiA8PCBsb2NhdGlvbik7CiAgICAgICAg
IENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6TW91c2VNb3ZlZFNjb3BlIG9ic2VydmluZ1Njb3BlKHJl
c3BvbmRpbmdEb2N1bWVudCk7CiAgICAgICAgIGF1dG8mIG1haW5GcmFtZSA9IG1fcGFnZS0+bWFp
bkZyYW1lKCk7CiAgICAgICAgIGRpc3BhdGNoU3ludGhldGljTW91c2VNb3ZlKG1haW5GcmFtZSwg
bG9jYXRpb24sIG1vZGlmaWVycywgcG9pbnRlcklkKTsKICAgICAgICAgbWFpbkZyYW1lLmRvY3Vt
ZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKKyAgICAgICAgaWYgKG1faXNDbG9zZWQpCisg
ICAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKG1faXNDbG9zZWQpCisgICAgaWYg
KHRhcmdldE5vZGVpc0NvbnNpZGVyZWRIaWRkZW4pIHsKKyAgICAgICAgTE9HKENvbnRlbnRPYnNl
cnZhdGlvbiwgImhhbmRsZVN5bnRoZXRpY0NsaWNrOiB0YXJnZXQgbm9kZSBpcyBjb25zaWRlcmVk
IGhpZGRlbiAtPiBob3Zlci4iKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIGF1dG8m
IGNvbnRlbnRDaGFuZ2VPYnNlcnZlciA9IHJlc3BvbmRpbmdEb2N1bWVudC5jb250ZW50Q2hhbmdl
T2JzZXJ2ZXIoKTsKICAgICBhdXRvIG9ic2VydmVkQ29udGVudENoYW5nZSA9IGNvbnRlbnRDaGFu
Z2VPYnNlcnZlci5vYnNlcnZlZENvbnRlbnRDaGFuZ2UoKTsKICAgICBhdXRvIHRhcmdldE5vZGVU
cmlnZ2Vyc0NsaWNrID0gbm9kZUFsd2F5c1RyaWdnZXJzQ2xpY2sobm9kZVJlc3BvbmRpbmdUb0Ns
aWNrKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDgxYTQ4NTUzOGNiOTg1MThlYmI4NTczYzAxZWI4ZmQ1YTIxNTJlNzku
LjgzMWM1ZWQ1MTEyZDM2Nzg4Mjc1ZDA4ZmNkYzUyYjBmYWU2MzJkOGMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxOS0wNi0zMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFRhcHBpbmcgb24gdGhlIGJvdHRvbSBwYXJ0IG9mIHlvdXR1YmUgdmlkZW8gYmVoYXZl
cyBhcyBpZiBjb250cm9scyB3ZXJlIHZpc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTM0OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTE5
NTU3NDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNoYW5n
ZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9u
L29wYWNpdHktY2hhbmdlLWhhcHBlbnMtb24tdG91Y2hzdGFydC13aXRoLXRyYW5zaXRpb24yLmh0
bWw6IEFkZGVkLgorCiAyMDE5LTA2LTI1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlp
QHNvbnkuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9u
L29wYWNpdHktY2hhbmdlLWhhcHBlbnMtb24tdG91Y2hzdGFydC13aXRoLXRyYW5zaXRpb24yLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9i
c2VydmF0aW9uL29wYWNpdHktY2hhbmdlLWhhcHBlbnMtb24tdG91Y2hzdGFydC13aXRoLXRyYW5z
aXRpb24yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmRiNGM5NDA4YTZjMDMxMmRkMGUyZDQ4
NWMwMWI4MzVlN2NmOTNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vb3BhY2l0eS1jaGFuZ2UtaGFwcGVucy1v
bi10b3VjaHN0YXJ0LXdpdGgtdHJhbnNpdGlvbjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBA
QAorUEFTUyBpZiAnY2xpY2tlZCcgdGV4dCBpcyBub3Qgc2hvd24gYmVsb3cuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9u
L29wYWNpdHktY2hhbmdlLWhhcHBlbnMtb24tdG91Y2hzdGFydC13aXRoLXRyYW5zaXRpb24yLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlv
bi9vcGFjaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJlMzlkNDk4YmQ0MTJlY2RiOWZkYjMyZWM2MGY0MjU3ODEzYmRkNTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29u
dGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQtd2l0
aC10cmFuc2l0aW9uMi5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPHRpdGxlPlRoaXMgdGVzdHMgdGhlIGNhc2Ugd2hlbiB0aGUgdG91Y2ggdGFy
Z2V0IGlzIGluaXRpYWxseSBoaWRkZW4uPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li8uLi9yZXNvdXJjZXMvYmFzaWMtZ2VzdHVyZXMuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorI3Rh
cHRoaXMgeworICAgIG9wYWNpdHk6IDA7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDog
NDAwcHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47CisgICAgdHJhbnNpdGlvbjogb3Bh
Y2l0eSAyMG1zIGVhc2Utb3V0IDEwbXM7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2FzeW5jIGZ1
bmN0aW9uIHRlc3QoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCAhdGVzdFJ1bm5l
ci5ydW5VSVNjcmlwdCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q29udGVudENoYW5nZU9ic2VydmVyRW5h
YmxlZCh0cnVlKTsKKworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgbGV0IHJlY3QgPSB0YXB0aGlzLmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpOworICAgIGxldCB4ID0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDI7Cisg
ICAgbGV0IHkgPSByZWN0LnRvcCArIHJlY3QuaGVpZ2h0IC8gMjsKKworICAgIGF3YWl0IHRhcEF0
UG9pbnQoeCwgeSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgp
Ij4KKzxidXR0b24gaWQ9dGFwdGhpcz48L2J1dHRvbj4KKzxkaXY+UEFTUyBpZiAnY2xpY2tlZCcg
dGV4dCBpcyBub3Qgc2hvd24gYmVsb3cuPC9kaXY+Cis8cHJlIGlkPXJlc3VsdD48L3ByZT4KKzxz
Y3JpcHQ+Cit0YXB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBmdW5jdGlvbigg
ZXZlbnQgKSB7CisgICAgdGFwdGhpcy5zdHlsZS5vcGFjaXR5ID0gIjEiOworICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgc2V0VGltZW91dCgidGVzdFJ1bm5lci5ub3RpZnlEb25l
KCkiLCAyNTApOworfSwgZmFsc2UpOworCit0YXB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgZnVuY3Rpb24oIGV2ZW50ICkgeyAgIAorICAgIHJlc3VsdC5pbm5lckhUTUwgPSAiY2xpY2tl
ZCI7Cit9LCBmYWxzZSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373207</attachid>
            <date>2019-06-30 20:30:28 -0700</date>
            <delta_ts>2019-06-30 20:36:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199349-20190630203025.patch</filename>
            <type>text/plain</type>
            <size>12788</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA0ZjU5ODI5OWUxMTQ4
MmY1ZDFiMzEyOGUyYmNlZWJjNDJhYjE5Mi4uMGIwZmNkNTExZDM3YjdlM2U3YWIzMGVhYmI2NDVh
MGVhYzkwZDYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTA2LTMwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVGFwcGluZyBvbiB0aGUgYm90
dG9tIHBhcnQgb2YgeW91dHViZSB2aWRlbyBiZWhhdmVzIGFzIGlmIGNvbnRyb2xzIHdlcmUgdmlz
aWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5
MzQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MTk1NTc0ND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTeW50aGV0aWMgY2xpY2sgZXZlbnQgc2hv
dWxkIG5vdCBiZSBkaXNwYXRjaGVkIHRvIGEgbm9kZSB0aGF0IGlzIGluaXRpYWxseSBoaWRkZW4g
YW5kIGJlY29tZXMgdmlzaWJsZSBieSB0aGUgdG91Y2hTdGFydCBldmVudC4KKworICAgICAgICBU
ZXN0OiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNo
YW5nZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi5odG1sCisKKyAgICAg
ICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZWZhdWx0RXZlbnRI
YW5kbGVyKToKKyAgICAgICAgKiBwYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjppc0NvbnNpZGVyZWRIaWRk
ZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpyZXNldCk6Cisg
ICAgICAgIChXZWJDb3JlOjppc0NvbnNpZGVyZWRIaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAq
IHBhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudENoYW5nZU9ic2VydmVyOjpzZXRIaWRkZW5Ub3VjaFRhcmdldCk6CisgICAgICAgIChXZWJD
b3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlc2V0SGlkZGVuVG91Y2hUYXJnZXQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpoaWRkZW5Ub3VjaFRhcmdldCBj
b25zdCk6CisKIDIwMTktMDYtMjUgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIEFkZCB1c2VyIGFnZW50IHF1aXJrIGZvciBiYW5rb2ZhbWVyaWNh
LmNvbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCA0YzhmZWUzZmJiOWMwZGRhZTI1MTdhOWY1NjA5ZWM3N2RmMWE4NDUx
Li43ZGY0ZDJlMWE3MWVlOTE3YjAwMGY5YTliZTMxNzNkMmE2YjcyYzlmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDE5LTA2LTMwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CisKKyAgICAgICAgVGFwcGluZyBvbiB0aGUgYm90dG9tIHBhcnQgb2YgeW91dHViZSB2aWRlbyBi
ZWhhdmVzIGFzIGlmIGNvbnRyb2xzIHdlcmUgdmlzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MzQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81MTk1NTc0ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZVN5bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6Y29tcGxldGVQZW5kaW5nU3ludGhldGljQ2xpY2tGb3JDb250ZW50Q2hh
bmdlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRp
Y0NsaWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cG90ZW50aWFsVGFwQXRQb3NpdGlv
bik6CisKIDIwMTktMDYtMjUgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIEZ1bGx5IHJlbmFtZSBXZWJLaXRHVEsrIC0+IFdlYktpdEdUSyBldmVy
eXdoZXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggZmFlMThhOTVkOGJhMWFjMmY1N2EyZDIyYTQ3ZGVi
OGMwYWUzY2NkZS4uNDdiNmI2ZmYwNDYwZjYxNmQ0M2MxZGQ5NWQ5M2RjYmQ3YjY4MTE0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmNwcApAQCAtMzIsNiArMzIsOSBAQAogI2luY2x1ZGUgIkNvbW1vblZNLmgiCiAj
aW5jbHVkZSAiQ29tcG9zZWRUcmVlQW5jZXN0b3JJdGVyYXRvci5oIgogI2luY2x1ZGUgIkNvbnRh
aW5lck5vZGVBbGdvcml0aG1zLmgiCitQTEFURk9STShJT1NfRkFNSUxZKQorI2luY2x1ZGUgIkNv
bnRlbnRDaGFuZ2VPYnNlcnZlci5oIgorI2VuZGlmCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250
cm9sbGVyLmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRGF0YVRyYW5zZmVy
LmgiCkBAIC0yNDUyLDYgKzI0NTUsMTUgQEAgdm9pZCBOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVy
KEV2ZW50JiBldmVudCkKICAgICAgICAgICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkuZGVm
YXVsdFdoZWVsRXZlbnRIYW5kbGVyKHN0YXJ0Tm9kZSwgZG93bmNhc3Q8V2hlZWxFdmVudD4oZXZl
bnQpKTsKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIH0gZWxzZSBpZiAoaXM8VG91Y2hFdmVudD4oZXZlbnQpICYmIGV2ZW50TmFtZXMoKS5pc1Rv
dWNoUmVsYXRlZEV2ZW50VHlwZShkb2N1bWVudCgpLCBldmVudFR5cGUpKSB7CisgICAgICAgIC8v
IENhcHR1cmUgdGhlIHRhcmdldCBub2RlJ3MgdmlzaWJpbGl0eSBzdGF0ZSBiZWZvcmUgZGlzcGF0
Y2hpbmcgdG91Y2hTdGFydC4KKyAgICAgICAgaWYgKGlzPEVsZW1lbnQ+KCp0aGlzKSAmJiBldmVu
dFR5cGUgPT0gZXZlbnROYW1lcygpLnRvdWNoc3RhcnRFdmVudCkgeworICAgICAgICAgICAgYXV0
byYgY29udGVudENoYW5nZU9ic2VydmVyID0gZG9jdW1lbnQoKS5jb250ZW50Q2hhbmdlT2JzZXJ2
ZXIoKTsgCisgICAgICAgICAgICBpZiAoQ29udGVudENoYW5nZU9ic2VydmVyOjppc0NvbnNpZGVy
ZWRIaWRkZW4oKnRoaXMpKQorICAgICAgICAgICAgICAgIGNvbnRlbnRDaGFuZ2VPYnNlcnZlci5z
ZXRIaWRkZW5Ub3VjaFRhcmdldChkb3duY2FzdDxFbGVtZW50PigqdGhpcykpOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIGNvbnRlbnRDaGFuZ2VPYnNlcnZlci5yZXNldEhpZGRl
blRvdWNoVGFyZ2V0KCk7CisgICAgICAgIH0KKwogICAgICAgICBSZW5kZXJPYmplY3QqIHJlbmRl
cmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKICAgICAgICAgd2hpbGUgKHJlbmRlcmVyICYmICghaXM8
UmVuZGVyQm94PigqcmVuZGVyZXIpIHx8ICFkb3duY2FzdDxSZW5kZXJCb3g+KCpyZW5kZXJlciku
Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhKCkpKQogICAgICAgICAgICAgcmVuZGVy
ZXIgPSByZW5kZXJlci0+cGFyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3Mv
Q29udGVudENoYW5nZU9ic2VydmVyLmNwcAppbmRleCA4MDNjNDU5OWZkNjg4ZmViYWFlNDA5YmE0
MjFlZjJhNTNhNmVhMGMyLi4wODk5NzNjYzI2MWJiYjE5ODM3ZmE1Mjc2ZGFiOWNkMDU5ZGI4Y2Rk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZl
ci5jcHAKQEAgLTQzLDEyICs0MywxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29u
c3QgU2Vjb25kcyBtYXhpbXVtRGVsYXlGb3JUaW1lcnMgeyA0MDBfbXMgfTsKIHN0YXRpYyBjb25z
dCBTZWNvbmRzIG1heGltdW1EZWxheUZvclRyYW5zaXRpb25zIHsgMzAwX21zIH07CiAKLXN0YXRp
YyBib29sIGlzQ29uc2lkZXJlZEhpZGRlbihjb25zdCBFbGVtZW50JiBlbGVtZW50KQorYm9vbCBD
b250ZW50Q2hhbmdlT2JzZXJ2ZXI6OmlzQ29uc2lkZXJlZEhpZGRlbihjb25zdCBOb2RlJiBub2Rl
KQogewotICAgIGlmICghZWxlbWVudC5yZW5kZXJTdHlsZSgpKQorICAgIGlmICghbm9kZS5yZW5k
ZXJTdHlsZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGF1dG8mIHN0eWxlID0gKmVs
ZW1lbnQucmVuZGVyU3R5bGUoKTsKKyAgICBhdXRvJiBzdHlsZSA9ICpub2RlLnJlbmRlclN0eWxl
KCk7CiAgICAgaWYgKHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6Tm9uZSkKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAKQEAgLTgwLDYgKzgwLDE0IEBAIHN0YXRpYyBib29sIGlzQ29uc2lk
ZXJlZEhpZGRlbihjb25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgIGlmIChtYXhIZWlnaHQuaXNG
aXhlZCgpICYmICFtYXhIZWlnaHQudmFsdWUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAg
ICAvLyBTcGVjaWFsIGNhc2Ugb3BhY2l0eSwgYmVjYXVzZSBhIGRlc2NlbmRhbnQgd2l0aCBub24t
emVybyBvcGFjaXR5IHNob3VsZCBzdGlsbCBiZSBjb25zaWRlcmVkIGhpZGRlbiB3aGVuIG9uZSBv
ZiBpdHMgYW5jZXRvcnMgaGFzIG9wYWNpdHk6IDA7CisgICAgLy8gWW91VHViZS5jb20gaGFzIHRo
aXMgc2V0dXAgd2l0aCB0aGUgYm90dG9tIGNvbnRyb2wgYmFyLgorICAgIGNvbnN0ZXhwciBzdGF0
aWMgdW5zaWduZWQgbnVtYmVyT2ZBbmNlc3RvcnNUb0NoZWNrRm9yT3BhY2l0eSA9IDQ7CisgICAg
dW5zaWduZWQgaSA9IDA7CisgICAgZm9yIChhdXRvKiBwYXJlbnQgPSBub2RlLnBhcmVudE5vZGUo
KTsgcGFyZW50ICYmIGkgPCBudW1iZXJPZkFuY2VzdG9yc1RvQ2hlY2tGb3JPcGFjaXR5OyBwYXJl
bnQgPSBwYXJlbnQtPnBhcmVudE5vZGUoKSwgKytpKSB7CisgICAgICAgIGlmICghcGFyZW50LT5y
ZW5kZXJTdHlsZSgpIHx8ICFwYXJlbnQtPnJlbmRlclN0eWxlKCktPm9wYWNpdHkoKSkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTMy
NCw2ICszMzIsNyBAQCB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6cmVzZXQoKQogCiAgICAg
bV9jb250ZW50T2JzZXJ2YXRpb25UaW1lci5zdG9wKCk7CiAgICAgbV9lbGVtZW50c1dpdGhEZXN0
cm95ZWRWaXNpYmxlUmVuZGVyZXIuY2xlYXIoKTsKKyAgICByZXNldEhpZGRlblRvdWNoVGFyZ2V0
KCk7CiB9CiAKIHZvaWQgQ29udGVudENoYW5nZU9ic2VydmVyOjpkaWRTdXNwZW5kQWN0aXZlRE9N
T2JqZWN0cygpCkBAIC01NzksNiArNTg4LDcgQEAgQ29udGVudENoYW5nZU9ic2VydmVyOjpNb3Vz
ZU1vdmVkU2NvcGU6Ok1vdXNlTW92ZWRTY29wZShEb2N1bWVudCYgZG9jdW1lbnQpCiBDb250ZW50
Q2hhbmdlT2JzZXJ2ZXI6Ok1vdXNlTW92ZWRTY29wZTo6fk1vdXNlTW92ZWRTY29wZSgpCiB7CiAg
ICAgbV9jb250ZW50Q2hhbmdlT2JzZXJ2ZXIubW91c2VNb3ZlZERpZEZpbmlzaCgpOworICAgIG1f
Y29udGVudENoYW5nZU9ic2VydmVyLnJlc2V0SGlkZGVuVG91Y2hUYXJnZXQoKTsKIH0KIAogQ29u
dGVudENoYW5nZU9ic2VydmVyOjpTdHlsZVJlY2FsY1Njb3BlOjpTdHlsZVJlY2FsY1Njb3BlKERv
Y3VtZW50JiBkb2N1bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0Nv
bnRlbnRDaGFuZ2VPYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENo
YW5nZU9ic2VydmVyLmgKaW5kZXggMWVmNjRjMmIzNDNlODlhZTc2ODE5YTBlMmQ2OTA1ZDc5MThm
ODQ2MS4uMzJkYTQwN2U2ZDQzZTE3Y2UyNDI3YWFiNmQ2OTI1MGU3YzMwMjZkNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmgKQEAgLTM1LDYg
KzM1LDcgQEAKICNpbmNsdWRlICJXS0NvbnRlbnRPYnNlcnZhdGlvbi5oIgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KKyNpbmNsdWRlIDx3dGYvV2Vh
a1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ4LDYgKzQ5LDcgQEAgcHVibGlj
OgogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydENvbnRlbnRPYnNlcnZhdGlvbkZvckR1
cmF0aW9uKFNlY29uZHMgZHVyYXRpb24pOwogICAgIFdLQ29udGVudENoYW5nZSBvYnNlcnZlZENv
bnRlbnRDaGFuZ2UoKSBjb25zdCB7IHJldHVybiBtX29ic2VydmVkQ29udGVudFN0YXRlOyB9Cisg
ICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGJvb2wgaXNDb25zaWRlcmVkSGlkZGVuKGNvbnN0IE5v
ZGUmKTsKIAogICAgIHZvaWQgZGlkSW5zdGFsbERPTVRpbWVyKGNvbnN0IERPTVRpbWVyJiwgU2Vj
b25kcyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpOwogICAgIHZvaWQgZGlkUmVtb3ZlRE9NVGlt
ZXIoY29uc3QgRE9NVGltZXImKTsKQEAgLTY1LDYgKzY3LDEwIEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgd2lsbERlc3Ryb3lSZW5kZXJlcihjb25zdCBFbGVtZW50Jik7CiAKKyAgICB2b2lkIHNldEhp
ZGRlblRvdWNoVGFyZ2V0KEVsZW1lbnQmIHRhcmdldEVsZW1lbnQpIHsgbV9oaWRkZW5Ub3VjaFRh
cmdldEVsZW1lbnQgPSBtYWtlV2Vha1B0cih0YXJnZXRFbGVtZW50KTsgfQorICAgIHZvaWQgcmVz
ZXRIaWRkZW5Ub3VjaFRhcmdldCgpIHsgbV9oaWRkZW5Ub3VjaFRhcmdldEVsZW1lbnQgPSB7IH07
IH0KKyAgICBFbGVtZW50KiBoaWRkZW5Ub3VjaFRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1faGlk
ZGVuVG91Y2hUYXJnZXRFbGVtZW50LmdldCgpOyB9CisKICAgICBjbGFzcyBTdHlsZUNoYW5nZVNj
b3BlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIFN0eWxlQ2hhbmdlU2NvcGUoRG9jdW1lbnQmLCBj
b25zdCBFbGVtZW50Jik7CkBAIC0yMDQsNiArMjEwLDcgQEAgcHJpdmF0ZToKICAgICBIYXNoU2V0
PGNvbnN0IEVsZW1lbnQqPiBtX2VsZW1lbnRzV2l0aFRyYW5zaXRpb247CiAgICAgSGFzaFNldDxj
b25zdCBFbGVtZW50Kj4gbV9lbGVtZW50c1dpdGhEZXN0cm95ZWRWaXNpYmxlUmVuZGVyZXI7CiAg
ICAgV0tDb250ZW50Q2hhbmdlIG1fb2JzZXJ2ZWRDb250ZW50U3RhdGUgeyBXS0NvbnRlbnROb0No
YW5nZSB9OworICAgIFdlYWtQdHI8RWxlbWVudD4gbV9oaWRkZW5Ub3VjaFRhcmdldEVsZW1lbnQ7
CiAgICAgYm9vbCBtX3RvdWNoRXZlbnRJc0JlaW5nRGlzcGF0Y2hlZCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX2lzV2FpdGluZ0ZvclN0eWxlUmVjYWxjIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJ
bk9ic2VydmVkU3R5bGVSZWNhbGMgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCAwNDRlMTFmMDE3ODc2OTAx
YzgxZDM5MTI0YmY2OGZkZTM4ZTFjZmEwLi4wNTVmMjkyOTc1OThjMjExN2ZmNzNkMmVkN2YyZmEx
N2Q1NzQ3NGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQpAQCAtNjY0LDE4ICs2NjQsMjMgQEAgdm9pZCBXZWJQYWdlOjpoYW5k
bGVTeW50aGV0aWNDbGljayhOb2RlJiBub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdlYkNv
cmU6OkYKICAgICB9CiAKICAgICBhdXRvJiByZXNwb25kaW5nRG9jdW1lbnQgPSBub2RlUmVzcG9u
ZGluZ1RvQ2xpY2suZG9jdW1lbnQoKTsKKyAgICBhdXRvJiBjb250ZW50Q2hhbmdlT2JzZXJ2ZXIg
PSByZXNwb25kaW5nRG9jdW1lbnQuY29udGVudENoYW5nZU9ic2VydmVyKCk7CisgICAgYXV0byB0
YXJnZXROb2RlaXNDb25zaWRlcmVkSGlkZGVuID0gY29udGVudENoYW5nZU9ic2VydmVyLmhpZGRl
blRvdWNoVGFyZ2V0KCkgPT0gJm5vZGVSZXNwb25kaW5nVG9DbGljayB8fCBDb250ZW50Q2hhbmdl
T2JzZXJ2ZXI6OmlzQ29uc2lkZXJlZEhpZGRlbihub2RlUmVzcG9uZGluZ1RvQ2xpY2spOwogICAg
IHsKICAgICAgICAgTE9HX1dJVEhfU1RSRUFNKENvbnRlbnRPYnNlcnZhdGlvbiwgc3RyZWFtIDw8
ICJoYW5kbGVTeW50aGV0aWNDbGljazogbm9kZSgiIDw8ICZub2RlUmVzcG9uZGluZ1RvQ2xpY2sg
PDwgIikgIiA8PCBsb2NhdGlvbik7CiAgICAgICAgIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6TW91
c2VNb3ZlZFNjb3BlIG9ic2VydmluZ1Njb3BlKHJlc3BvbmRpbmdEb2N1bWVudCk7CiAgICAgICAg
IGF1dG8mIG1haW5GcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7CiAgICAgICAgIGRpc3BhdGNo
U3ludGhldGljTW91c2VNb3ZlKG1haW5GcmFtZSwgbG9jYXRpb24sIG1vZGlmaWVycywgcG9pbnRl
cklkKTsKICAgICAgICAgbWFpbkZyYW1lLmRvY3VtZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQo
KTsKKyAgICAgICAgaWYgKG1faXNDbG9zZWQpCisgICAgICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgaWYgKG1faXNDbG9zZWQpCisgICAgaWYgKHRhcmdldE5vZGVpc0NvbnNpZGVyZWRIaWRk
ZW4pIHsKKyAgICAgICAgTE9HKENvbnRlbnRPYnNlcnZhdGlvbiwgImhhbmRsZVN5bnRoZXRpY0Ns
aWNrOiB0YXJnZXQgbm9kZSBpcyBjb25zaWRlcmVkIGhpZGRlbiAtPiBob3Zlci4iKTsKICAgICAg
ICAgcmV0dXJuOworICAgIH0KIAotICAgIGF1dG8mIGNvbnRlbnRDaGFuZ2VPYnNlcnZlciA9IHJl
c3BvbmRpbmdEb2N1bWVudC5jb250ZW50Q2hhbmdlT2JzZXJ2ZXIoKTsKICAgICBhdXRvIG9ic2Vy
dmVkQ29udGVudENoYW5nZSA9IGNvbnRlbnRDaGFuZ2VPYnNlcnZlci5vYnNlcnZlZENvbnRlbnRD
aGFuZ2UoKTsKICAgICBhdXRvIHRhcmdldE5vZGVUcmlnZ2Vyc0NsaWNrID0gbm9kZUFsd2F5c1Ry
aWdnZXJzQ2xpY2sobm9kZVJlc3BvbmRpbmdUb0NsaWNrKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgxYTQ4NTUzOGNi
OTg1MThlYmI4NTczYzAxZWI4ZmQ1YTIxNTJlNzkuLjgzMWM1ZWQ1MTEyZDM2Nzg4Mjc1ZDA4ZmNk
YzUyYjBmYWU2MzJkOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wNi0zMCAgWmFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFRhcHBpbmcgb24gdGhlIGJvdHRv
bSBwYXJ0IG9mIHlvdXR1YmUgdmlkZW8gYmVoYXZlcyBhcyBpZiBjb250cm9scyB3ZXJlIHZpc2li
bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTM0
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTE5NTU3NDQ+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvY29u
dGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQtd2l0
aC10cmFuc2l0aW9uMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL29wYWNpdHktY2hhbmdlLWhhcHBlbnMtb24t
dG91Y2hzdGFydC13aXRoLXRyYW5zaXRpb24yLmh0bWw6IEFkZGVkLgorCiAyMDE5LTA2LTI1ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgdGVzdCBnYXJkZW5pbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL29wYWNpdHktY2hhbmdlLWhhcHBlbnMtb24t
dG91Y2hzdGFydC13aXRoLXRyYW5zaXRpb24yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL29wYWNpdHktY2hhbmdlLWhh
cHBlbnMtb24tdG91Y2hzdGFydC13aXRoLXRyYW5zaXRpb24yLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hMzVmMmM4Y2Y0MTBmOGRhN2I1Y2E3YTA1NGZkZDJhNWY3Nzg2NWMwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2
YXRpb24vb3BhY2l0eS1jaGFuZ2UtaGFwcGVucy1vbi10b3VjaHN0YXJ0LXdpdGgtdHJhbnNpdGlv
bjItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIGlmICdjbGlja2VkJyB0ZXh0
IGlzIG5vdCBzaG93biBiZWxvdy4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvdG91Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vb3BhY2l0eS1jaGFuZ2UtaGFwcGVucy1v
bi10b3VjaHN0YXJ0LXdpdGgtdHJhbnNpdGlvbjIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL29wYWNpdHktY2hhbmdlLWhhcHBlbnMt
b24tdG91Y2hzdGFydC13aXRoLXRyYW5zaXRpb24yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmUzOWQ0OThi
ZDQxMmVjZGI5ZmRiMzJlYzYwZjQyNTc4MTNiZGQ1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL29wYWNpdHkt
Y2hhbmdlLWhhcHBlbnMtb24tdG91Y2hzdGFydC13aXRoLXRyYW5zaXRpb24yLmh0bWwKQEAgLTAs
MCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0
ZXN0cyB0aGUgY2FzZSB3aGVuIHRoZSB0b3VjaCB0YXJnZXQgaXMgaW5pdGlhbGx5IGhpZGRlbi48
L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0
dXJlcy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisjdGFwdGhpcyB7CisgICAgb3BhY2l0eTogMDsK
KyAgICB3aWR0aDogNDAwcHg7CisgICAgaGVpZ2h0OiA0MDBweDsKKyAgICBib3JkZXI6IDFweCBz
b2xpZCBncmVlbjsKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwbXMgZWFzZS1vdXQgMTBtczsK
K30KKzwvc3R5bGU+Cis8c2NyaXB0PgorYXN5bmMgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICBpZiAo
IXdpbmRvdy50ZXN0UnVubmVyIHx8ICF0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KQorICAgICAgICBy
ZXR1cm47CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRDb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKHRydWUpOworCisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAg
ICBsZXQgcmVjdCA9IHRhcHRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgbGV0IHgg
PSByZWN0LmxlZnQgKyByZWN0LndpZHRoIC8gMjsKKyAgICBsZXQgeSA9IHJlY3QudG9wICsgcmVj
dC5oZWlnaHQgLyAyOworCisgICAgYXdhaXQgdGFwQXRQb2ludCh4LCB5KTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGJ1dHRvbiBpZD10YXB0aGlzPjwv
YnV0dG9uPgorPGRpdj5QQVNTIGlmICdjbGlja2VkJyB0ZXh0IGlzIG5vdCBzaG93biBiZWxvdy48
L2Rpdj4KKzxwcmUgaWQ9cmVzdWx0PjwvcHJlPgorPHNjcmlwdD4KK3RhcHRoaXMuYWRkRXZlbnRM
aXN0ZW5lcigidG91Y2hzdGFydCIsIGZ1bmN0aW9uKCBldmVudCApIHsKKyAgICB0YXB0aGlzLnN0
eWxlLm9wYWNpdHkgPSAiMSI7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBz
ZXRUaW1lb3V0KCJ0ZXN0UnVubmVyLm5vdGlmeURvbmUoKSIsIDI1MCk7Cit9LCBmYWxzZSk7CisK
K3RhcHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiggZXZlbnQgKSB7ICAg
CisgICAgcmVzdWx0LmlubmVySFRNTCA9ICJjbGlja2VkIjsKK30sIGZhbHNlKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373208</attachid>
            <date>2019-06-30 20:36:57 -0700</date>
            <delta_ts>2019-07-01 12:13:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199349-20190630203655.patch</filename>
            <type>text/plain</type>
            <size>12792</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA0ZjU5ODI5OWUxMTQ4
MmY1ZDFiMzEyOGUyYmNlZWJjNDJhYjE5Mi4uMGIwZmNkNTExZDM3YjdlM2U3YWIzMGVhYmI2NDVh
MGVhYzkwZDYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTA2LTMwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgVGFwcGluZyBvbiB0aGUgYm90
dG9tIHBhcnQgb2YgeW91dHViZSB2aWRlbyBiZWhhdmVzIGFzIGlmIGNvbnRyb2xzIHdlcmUgdmlz
aWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5
MzQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MTk1NTc0ND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTeW50aGV0aWMgY2xpY2sgZXZlbnQgc2hv
dWxkIG5vdCBiZSBkaXNwYXRjaGVkIHRvIGEgbm9kZSB0aGF0IGlzIGluaXRpYWxseSBoaWRkZW4g
YW5kIGJlY29tZXMgdmlzaWJsZSBieSB0aGUgdG91Y2hTdGFydCBldmVudC4KKworICAgICAgICBU
ZXN0OiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNo
YW5nZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi5odG1sCisKKyAgICAg
ICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZWZhdWx0RXZlbnRI
YW5kbGVyKToKKyAgICAgICAgKiBwYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjppc0NvbnNpZGVyZWRIaWRk
ZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpyZXNldCk6Cisg
ICAgICAgIChXZWJDb3JlOjppc0NvbnNpZGVyZWRIaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAq
IHBhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudENoYW5nZU9ic2VydmVyOjpzZXRIaWRkZW5Ub3VjaFRhcmdldCk6CisgICAgICAgIChXZWJD
b3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlc2V0SGlkZGVuVG91Y2hUYXJnZXQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpoaWRkZW5Ub3VjaFRhcmdldCBj
b25zdCk6CisKIDIwMTktMDYtMjUgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2Fs
aWEuY29tPgogCiAgICAgICAgIEFkZCB1c2VyIGFnZW50IHF1aXJrIGZvciBiYW5rb2ZhbWVyaWNh
LmNvbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCA0YzhmZWUzZmJiOWMwZGRhZTI1MTdhOWY1NjA5ZWM3N2RmMWE4NDUx
Li43ZGY0ZDJlMWE3MWVlOTE3YjAwMGY5YTliZTMxNzNkMmE2YjcyYzlmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDE5LTA2LTMwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CisKKyAgICAgICAgVGFwcGluZyBvbiB0aGUgYm90dG9tIHBhcnQgb2YgeW91dHViZSB2aWRlbyBi
ZWhhdmVzIGFzIGlmIGNvbnRyb2xzIHdlcmUgdmlzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MzQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81MTk1NTc0ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZVN5bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6Y29tcGxldGVQZW5kaW5nU3ludGhldGljQ2xpY2tGb3JDb250ZW50Q2hh
bmdlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRp
Y0NsaWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cG90ZW50aWFsVGFwQXRQb3NpdGlv
bik6CisKIDIwMTktMDYtMjUgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIEZ1bGx5IHJlbmFtZSBXZWJLaXRHVEsrIC0+IFdlYktpdEdUSyBldmVy
eXdoZXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggZmFlMThhOTVkOGJhMWFjMmY1N2EyZDIyYTQ3ZGVi
OGMwYWUzY2NkZS4uNjUzNDM3OGEyMmYxMzI0ZWIwZTE5NDEzOGNjODRlMzQ1MGRjNmE0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmNwcApAQCAtMzIsNiArMzIsOSBAQAogI2luY2x1ZGUgIkNvbW1vblZNLmgiCiAj
aW5jbHVkZSAiQ29tcG9zZWRUcmVlQW5jZXN0b3JJdGVyYXRvci5oIgogI2luY2x1ZGUgIkNvbnRh
aW5lck5vZGVBbGdvcml0aG1zLmgiCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpbmNsdWRl
ICJDb250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCIKKyNlbmRpZgogI2luY2x1ZGUgIkNvbnRleHRNZW51
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRhdGFUcmFu
c2Zlci5oIgpAQCAtMjQ1Miw2ICsyNDU1LDE1IEBAIHZvaWQgTm9kZTo6ZGVmYXVsdEV2ZW50SGFu
ZGxlcihFdmVudCYgZXZlbnQpCiAgICAgICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigp
LmRlZmF1bHRXaGVlbEV2ZW50SGFuZGxlcihzdGFydE5vZGUsIGRvd25jYXN0PFdoZWVsRXZlbnQ+
KGV2ZW50KSk7CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICAgICB9IGVsc2UgaWYgKGlzPFRvdWNoRXZlbnQ+KGV2ZW50KSAmJiBldmVudE5hbWVzKCku
aXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoZG9jdW1lbnQoKSwgZXZlbnRUeXBlKSkgeworICAgICAg
ICAvLyBDYXB0dXJlIHRoZSB0YXJnZXQgbm9kZSdzIHZpc2liaWxpdHkgc3RhdGUgYmVmb3JlIGRp
c3BhdGNoaW5nIHRvdWNoU3RhcnQuCisgICAgICAgIGlmIChpczxFbGVtZW50PigqdGhpcykgJiYg
ZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS50b3VjaHN0YXJ0RXZlbnQpIHsKKyAgICAgICAgICAg
IGF1dG8mIGNvbnRlbnRDaGFuZ2VPYnNlcnZlciA9IGRvY3VtZW50KCkuY29udGVudENoYW5nZU9i
c2VydmVyKCk7IAorICAgICAgICAgICAgaWYgKENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6aXNDb25z
aWRlcmVkSGlkZGVuKCp0aGlzKSkKKyAgICAgICAgICAgICAgICBjb250ZW50Q2hhbmdlT2JzZXJ2
ZXIuc2V0SGlkZGVuVG91Y2hUYXJnZXQoZG93bmNhc3Q8RWxlbWVudD4oKnRoaXMpKTsKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjb250ZW50Q2hhbmdlT2JzZXJ2ZXIucmVzZXRI
aWRkZW5Ub3VjaFRhcmdldCgpOworICAgICAgICB9CisKICAgICAgICAgUmVuZGVyT2JqZWN0KiBy
ZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgICAgIHdoaWxlIChyZW5kZXJlciAmJiAo
IWlzPFJlbmRlckJveD4oKnJlbmRlcmVyKSB8fCAhZG93bmNhc3Q8UmVuZGVyQm94PigqcmVuZGVy
ZXIpLmNhbkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSgpKSkKICAgICAgICAgICAgIHJl
bmRlcmVyID0gcmVuZGVyZXItPnBhcmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
aW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAKaW5kZXggODAzYzQ1OTlmZDY4OGZlYmFhZTQw
OWJhNDIxZWYyYTUzYTZlYTBjMi4uMDg5OTczY2MyNjFiYmIxOTgzN2ZhNTI3NmRhYjljZDA1OWRi
OGNkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9i
c2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2Jz
ZXJ2ZXIuY3BwCkBAIC00MywxMiArNDMsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGlj
IGNvbnN0IFNlY29uZHMgbWF4aW11bURlbGF5Rm9yVGltZXJzIHsgNDAwX21zIH07CiBzdGF0aWMg
Y29uc3QgU2Vjb25kcyBtYXhpbXVtRGVsYXlGb3JUcmFuc2l0aW9ucyB7IDMwMF9tcyB9OwogCi1z
dGF0aWMgYm9vbCBpc0NvbnNpZGVyZWRIaWRkZW4oY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK2Jv
b2wgQ29udGVudENoYW5nZU9ic2VydmVyOjppc0NvbnNpZGVyZWRIaWRkZW4oY29uc3QgTm9kZSYg
bm9kZSkKIHsKLSAgICBpZiAoIWVsZW1lbnQucmVuZGVyU3R5bGUoKSkKKyAgICBpZiAoIW5vZGUu
cmVuZGVyU3R5bGUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBhdXRvJiBzdHlsZSA9
ICplbGVtZW50LnJlbmRlclN0eWxlKCk7CisgICAgYXV0byYgc3R5bGUgPSAqbm9kZS5yZW5kZXJT
dHlsZSgpOwogICAgIGlmIChzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCkBAIC04MCw2ICs4MCwxNCBAQCBzdGF0aWMgYm9vbCBpc0Nv
bnNpZGVyZWRIaWRkZW4oY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICBpZiAobWF4SGVpZ2h0
LmlzRml4ZWQoKSAmJiAhbWF4SGVpZ2h0LnZhbHVlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwog
CisgICAgLy8gU3BlY2lhbCBjYXNlIG9wYWNpdHksIGJlY2F1c2UgYSBkZXNjZW5kYW50IHdpdGgg
bm9uLXplcm8gb3BhY2l0eSBzaG91bGQgc3RpbGwgYmUgY29uc2lkZXJlZCBoaWRkZW4gd2hlbiBv
bmUgb2YgaXRzIGFuY2V0b3JzIGhhcyBvcGFjaXR5OiAwOworICAgIC8vIFlvdVR1YmUuY29tIGhh
cyB0aGlzIHNldHVwIHdpdGggdGhlIGJvdHRvbSBjb250cm9sIGJhci4KKyAgICBjb25zdGV4cHIg
c3RhdGljIHVuc2lnbmVkIG51bWJlck9mQW5jZXN0b3JzVG9DaGVja0Zvck9wYWNpdHkgPSA0Owor
ICAgIHVuc2lnbmVkIGkgPSAwOworICAgIGZvciAoYXV0byogcGFyZW50ID0gbm9kZS5wYXJlbnRO
b2RlKCk7IHBhcmVudCAmJiBpIDwgbnVtYmVyT2ZBbmNlc3RvcnNUb0NoZWNrRm9yT3BhY2l0eTsg
cGFyZW50ID0gcGFyZW50LT5wYXJlbnROb2RlKCksICsraSkgeworICAgICAgICBpZiAoIXBhcmVu
dC0+cmVuZGVyU3R5bGUoKSB8fCAhcGFyZW50LT5yZW5kZXJTdHlsZSgpLT5vcGFjaXR5KCkpCisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBA
IC0zMjQsNiArMzMyLDcgQEAgdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlc2V0KCkKIAog
ICAgIG1fY29udGVudE9ic2VydmF0aW9uVGltZXIuc3RvcCgpOwogICAgIG1fZWxlbWVudHNXaXRo
RGVzdHJveWVkVmlzaWJsZVJlbmRlcmVyLmNsZWFyKCk7CisgICAgcmVzZXRIaWRkZW5Ub3VjaFRh
cmdldCgpOwogfQogCiB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkU3VzcGVuZEFjdGl2
ZURPTU9iamVjdHMoKQpAQCAtNTc5LDYgKzU4OCw3IEBAIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6
TW91c2VNb3ZlZFNjb3BlOjpNb3VzZU1vdmVkU2NvcGUoRG9jdW1lbnQmIGRvY3VtZW50KQogQ29u
dGVudENoYW5nZU9ic2VydmVyOjpNb3VzZU1vdmVkU2NvcGU6On5Nb3VzZU1vdmVkU2NvcGUoKQog
ewogICAgIG1fY29udGVudENoYW5nZU9ic2VydmVyLm1vdXNlTW92ZWREaWRGaW5pc2goKTsKKyAg
ICBtX2NvbnRlbnRDaGFuZ2VPYnNlcnZlci5yZXNldEhpZGRlblRvdWNoVGFyZ2V0KCk7CiB9CiAK
IENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6U3R5bGVSZWNhbGNTY29wZTo6U3R5bGVSZWNhbGNTY29w
ZShEb2N1bWVudCYgZG9jdW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lv
cy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRl
bnRDaGFuZ2VPYnNlcnZlci5oCmluZGV4IDFlZjY0YzJiMzQzZTg5YWU3NjgxOWEwZTJkNjkwNWQ3
OTE4Zjg0NjEuLjMyZGE0MDdlNmQ0M2UxN2NlMjQyN2FhYjZkNjkyNTBlN2MzMDI2ZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCkBAIC0z
NSw2ICszNSw3IEBACiAjaW5jbHVkZSAiV0tDb250ZW50T2JzZXJ2YXRpb24uaCIKICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CisjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00OCw2ICs0OSw3IEBAIHB1
YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RhcnRDb250ZW50T2JzZXJ2YXRpb25G
b3JEdXJhdGlvbihTZWNvbmRzIGR1cmF0aW9uKTsKICAgICBXS0NvbnRlbnRDaGFuZ2Ugb2JzZXJ2
ZWRDb250ZW50Q2hhbmdlKCkgY29uc3QgeyByZXR1cm4gbV9vYnNlcnZlZENvbnRlbnRTdGF0ZTsg
fQorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGlzQ29uc2lkZXJlZEhpZGRlbihjb25z
dCBOb2RlJik7CiAKICAgICB2b2lkIGRpZEluc3RhbGxET01UaW1lcihjb25zdCBET01UaW1lciYs
IFNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICB2b2lkIGRpZFJlbW92ZURP
TVRpbWVyKGNvbnN0IERPTVRpbWVyJik7CkBAIC02NSw2ICs2NywxMCBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIHdpbGxEZXN0cm95UmVuZGVyZXIoY29uc3QgRWxlbWVudCYpOwogCisgICAgdm9pZCBz
ZXRIaWRkZW5Ub3VjaFRhcmdldChFbGVtZW50JiB0YXJnZXRFbGVtZW50KSB7IG1faGlkZGVuVG91
Y2hUYXJnZXRFbGVtZW50ID0gbWFrZVdlYWtQdHIodGFyZ2V0RWxlbWVudCk7IH0KKyAgICB2b2lk
IHJlc2V0SGlkZGVuVG91Y2hUYXJnZXQoKSB7IG1faGlkZGVuVG91Y2hUYXJnZXRFbGVtZW50ID0g
eyB9OyB9CisgICAgRWxlbWVudCogaGlkZGVuVG91Y2hUYXJnZXQoKSBjb25zdCB7IHJldHVybiBt
X2hpZGRlblRvdWNoVGFyZ2V0RWxlbWVudC5nZXQoKTsgfQorCiAgICAgY2xhc3MgU3R5bGVDaGFu
Z2VTY29wZSB7CiAgICAgcHVibGljOgogICAgICAgICBTdHlsZUNoYW5nZVNjb3BlKERvY3VtZW50
JiwgY29uc3QgRWxlbWVudCYpOwpAQCAtMjA0LDYgKzIxMCw3IEBAIHByaXZhdGU6CiAgICAgSGFz
aFNldDxjb25zdCBFbGVtZW50Kj4gbV9lbGVtZW50c1dpdGhUcmFuc2l0aW9uOwogICAgIEhhc2hT
ZXQ8Y29uc3QgRWxlbWVudCo+IG1fZWxlbWVudHNXaXRoRGVzdHJveWVkVmlzaWJsZVJlbmRlcmVy
OwogICAgIFdLQ29udGVudENoYW5nZSBtX29ic2VydmVkQ29udGVudFN0YXRlIHsgV0tDb250ZW50
Tm9DaGFuZ2UgfTsKKyAgICBXZWFrUHRyPEVsZW1lbnQ+IG1faGlkZGVuVG91Y2hUYXJnZXRFbGVt
ZW50OwogICAgIGJvb2wgbV90b3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9pc1dhaXRpbmdGb3JTdHlsZVJlY2FsYyB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2lzSW5PYnNlcnZlZFN0eWxlUmVjYWxjIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggMDQ0ZTExZjAxNzg3
NjkwMWM4MWQzOTEyNGJmNjhmZGUzOGUxY2ZhMC4uMDU1ZjI5Mjk3NTk4YzIxMTdmZjczZDJlZDdm
MmZhMTdkNTc0NzRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTY2NCwxOCArNjY0LDIzIEBAIHZvaWQgV2ViUGFnZTo6
aGFuZGxlU3ludGhldGljQ2xpY2soTm9kZSYgbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25zdCBX
ZWJDb3JlOjpGCiAgICAgfQogCiAgICAgYXV0byYgcmVzcG9uZGluZ0RvY3VtZW50ID0gbm9kZVJl
c3BvbmRpbmdUb0NsaWNrLmRvY3VtZW50KCk7CisgICAgYXV0byYgY29udGVudENoYW5nZU9ic2Vy
dmVyID0gcmVzcG9uZGluZ0RvY3VtZW50LmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigpOworICAgIGF1
dG8gdGFyZ2V0Tm9kZWlzQ29uc2lkZXJlZEhpZGRlbiA9IGNvbnRlbnRDaGFuZ2VPYnNlcnZlci5o
aWRkZW5Ub3VjaFRhcmdldCgpID09ICZub2RlUmVzcG9uZGluZ1RvQ2xpY2sgfHwgQ29udGVudENo
YW5nZU9ic2VydmVyOjppc0NvbnNpZGVyZWRIaWRkZW4obm9kZVJlc3BvbmRpbmdUb0NsaWNrKTsK
ICAgICB7CiAgICAgICAgIExPR19XSVRIX1NUUkVBTShDb250ZW50T2JzZXJ2YXRpb24sIHN0cmVh
bSA8PCAiaGFuZGxlU3ludGhldGljQ2xpY2s6IG5vZGUoIiA8PCAmbm9kZVJlc3BvbmRpbmdUb0Ns
aWNrIDw8ICIpICIgPDwgbG9jYXRpb24pOwogICAgICAgICBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6
Ok1vdXNlTW92ZWRTY29wZSBvYnNlcnZpbmdTY29wZShyZXNwb25kaW5nRG9jdW1lbnQpOwogICAg
ICAgICBhdXRvJiBtYWluRnJhbWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOwogICAgICAgICBkaXNw
YXRjaFN5bnRoZXRpY01vdXNlTW92ZShtYWluRnJhbWUsIGxvY2F0aW9uLCBtb2RpZmllcnMsIHBv
aW50ZXJJZCk7CiAgICAgICAgIG1haW5GcmFtZS5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVl
ZGVkKCk7CisgICAgICAgIGlmIChtX2lzQ2xvc2VkKQorICAgICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIGlmIChtX2lzQ2xvc2VkKQorICAgIGlmICh0YXJnZXROb2RlaXNDb25zaWRlcmVk
SGlkZGVuKSB7CisgICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJoYW5kbGVTeW50aGV0
aWNDbGljazogdGFyZ2V0IG5vZGUgaXMgY29uc2lkZXJlZCBoaWRkZW4gLT4gaG92ZXIuIik7CiAg
ICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBhdXRvJiBjb250ZW50Q2hhbmdlT2JzZXJ2ZXIg
PSByZXNwb25kaW5nRG9jdW1lbnQuY29udGVudENoYW5nZU9ic2VydmVyKCk7CiAgICAgYXV0byBv
YnNlcnZlZENvbnRlbnRDaGFuZ2UgPSBjb250ZW50Q2hhbmdlT2JzZXJ2ZXIub2JzZXJ2ZWRDb250
ZW50Q2hhbmdlKCk7CiAgICAgYXV0byB0YXJnZXROb2RlVHJpZ2dlcnNDbGljayA9IG5vZGVBbHdh
eXNUcmlnZ2Vyc0NsaWNrKG5vZGVSZXNwb25kaW5nVG9DbGljayk7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MWE0ODU1
MzhjYjk4NTE4ZWJiODU3M2MwMWViOGZkNWEyMTUyZTc5Li44MzFjNWVkNTExMmQzNjc4ODI3NWQw
OGZjZGM1MmIwZmFlNjMyZDhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDYtMzAgIFph
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBUYXBwaW5nIG9uIHRoZSBi
b3R0b20gcGFydCBvZiB5b3V0dWJlIHZpZGVvIGJlaGF2ZXMgYXMgaWYgY29udHJvbHMgd2VyZSB2
aXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTkzNDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUxOTU1NzQ0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvaW9z
L2NvbnRlbnQtb2JzZXJ2YXRpb24vb3BhY2l0eS1jaGFuZ2UtaGFwcGVucy1vbi10b3VjaHN0YXJ0
LXdpdGgtdHJhbnNpdGlvbjItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2
ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNoYW5nZS1oYXBwZW5z
LW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi5odG1sOiBBZGRlZC4KKwogMjAxOS0wNi0y
NSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNoYW5nZS1oYXBwZW5z
LW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNoYW5n
ZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTM1ZjJjOGNmNDEwZjhkYTdiNWNhN2EwNTRmZGQyYTVmNzc4NjVjMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9i
c2VydmF0aW9uL29wYWNpdHktY2hhbmdlLWhhcHBlbnMtb24tdG91Y2hzdGFydC13aXRoLXRyYW5z
aXRpb24yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBpZiAnY2xpY2tlZCcg
dGV4dCBpcyBub3Qgc2hvd24gYmVsb3cuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL29wYWNpdHktY2hhbmdlLWhhcHBl
bnMtb24tdG91Y2hzdGFydC13aXRoLXRyYW5zaXRpb24yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNoYW5nZS1oYXBw
ZW5zLW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlMzlk
NDk4YmQ0MTJlY2RiOWZkYjMyZWM2MGY0MjU3ODEzYmRkNTIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFj
aXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi5odG1sCkBA
IC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
dXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRo
aXMgdGVzdHMgdGhlIGNhc2Ugd2hlbiB0aGUgdG91Y2ggdGFyZ2V0IGlzIGluaXRpYWxseSBoaWRk
ZW4uPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvYmFzaWMt
Z2VzdHVyZXMuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorI3RhcHRoaXMgeworICAgIG9wYWNpdHk6
IDA7CisgICAgd2lkdGg6IDQwMHB4OworICAgIGhlaWdodDogNDAwcHg7CisgICAgYm9yZGVyOiAx
cHggc29saWQgZ3JlZW47CisgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMG1zIGVhc2Utb3V0IDEw
bXM7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2FzeW5jIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAg
aWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCAhdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkKKyAgICAg
ICAgcmV0dXJuOworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0Q29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZCh0cnVlKTsKKworICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
CisgICAgbGV0IHJlY3QgPSB0YXB0aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgIGxl
dCB4ID0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDI7CisgICAgbGV0IHkgPSByZWN0LnRvcCAr
IHJlY3QuaGVpZ2h0IC8gMjsKKworICAgIGF3YWl0IHRhcEF0UG9pbnQoeCwgeSk7Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxidXR0b24gaWQ9dGFwdGhp
cz48L2J1dHRvbj4KKzxkaXY+UEFTUyBpZiAnY2xpY2tlZCcgdGV4dCBpcyBub3Qgc2hvd24gYmVs
b3cuPC9kaXY+Cis8cHJlIGlkPXJlc3VsdD48L3ByZT4KKzxzY3JpcHQ+Cit0YXB0aGlzLmFkZEV2
ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBmdW5jdGlvbiggZXZlbnQgKSB7CisgICAgdGFwdGhp
cy5zdHlsZS5vcGFjaXR5ID0gIjEiOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgc2V0VGltZW91dCgidGVzdFJ1bm5lci5ub3RpZnlEb25lKCkiLCAyNTApOworfSwgZmFsc2Up
OworCit0YXB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oIGV2ZW50ICkg
eyAgIAorICAgIHJlc3VsdC5pbm5lckhUTUwgPSAiY2xpY2tlZCI7Cit9LCBmYWxzZSk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373247</attachid>
            <date>2019-07-01 12:13:05 -0700</date>
            <delta_ts>2019-07-01 12:57:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199349-20190701121304.patch</filename>
            <type>text/plain</type>
            <size>13059</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmIzNmI0ODc3Yjg0ODZi
OTUzMTdlNTFkODA3ODhmZGEwNzZhNjUzMy4uODZlMWUyZWIwZGFjYWUwOTRjZGE3ZDZmZTAzOTZh
ZDEyMGZiNGY5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA3LTAxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW2lQYWRPU10gVGFwcGluZyBv
biB0aGUgYm90dG9tIHBhcnQgb2YgeW91dHViZSB2aWRlbyBiZWhhdmVzIGFzIGlmIGNvbnRyb2xz
IHdlcmUgdmlzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk5MzQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81MTk1NTc0ND4KKworICAgICAg
ICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgU3ludGhldGljIGNsaWNrIGV2
ZW50IHNob3VsZCBub3QgYmUgZGlzcGF0Y2hlZCB0byBhIG5vZGUgdGhhdCBpcyBpbml0aWFsbHkg
aGlkZGVuIChieSBvcGFjaXR5OiAwKSBhbmQgYmVjb21lcyB2aXNpYmxlIGJ5IHRoZSB0b3VjaFN0
YXJ0IGV2ZW50LgorICAgICAgICBXaGlsZSB0aGlzIGJlaGF2ZXMgZGlmZmVyZW50IGZyb20gbWFj
T1Mgd2hlcmUgb3BhY2l0eTogMDsgY29udGVudCBpcyAiY2xpY2thYmxlIiwgaXQgaW1wb3ZlcyB1
c2FiaWxpdHkgb24gY2VydGFpbiBzaXRlcyBsaWtlIFlvdVR1YmUuY29tLiAKKworICAgICAgICBU
ZXN0OiBmYXN0L2V2ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNo
YW5nZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi5odG1sCisKKyAgICAg
ICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZWZhdWx0RXZlbnRI
YW5kbGVyKToKKyAgICAgICAgKiBwYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjppc0NvbnNpZGVyZWRIaWRk
ZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpyZXNldCk6Cisg
ICAgICAgIChXZWJDb3JlOjppc0NvbnNpZGVyZWRIaWRkZW4pOiBEZWxldGVkLgorICAgICAgICAq
IHBhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudENoYW5nZU9ic2VydmVyOjpzZXRIaWRkZW5Ub3VjaFRhcmdldCk6CisgICAgICAgIChXZWJD
b3JlOjpDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlc2V0SGlkZGVuVG91Y2hUYXJnZXQpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudENoYW5nZU9ic2VydmVyOjpoaWRkZW5Ub3VjaFRhcmdldCBj
b25zdCk6CisKIDIwMTktMDctMDEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgaU9TOiBSRUdSRVNTSU9OKGFzeW5jIHNjcm9sbCk6IENhcmV0IGRvZXNu
J3Qgc2Nyb2xsIHdoZW4gc2Nyb2xsaW5nIHRleHRhcmVhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM0YTlhY2M3MTMx
NmVhYzIwZTExYmU3NGEyODM5OTc5MmQ5NDFlYjUuLjBlNmNjOWU2ZjhlNGRiMDQ0YzNkYWM0MGQw
OWEzOWJiY2QwNDA5ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMDctMDEgIFph
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBUYXBwaW5nIG9uIHRoZSBi
b3R0b20gcGFydCBvZiB5b3V0dWJlIHZpZGVvIGJlaGF2ZXMgYXMgaWYgY29udHJvbHMgd2VyZSB2
aXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTkzNDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUxOTU1NzQ0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aGFuZGxlVG91Y2hFdmVudCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZVN5
bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y29tcGxldGVQZW5kaW5n
U3ludGhldGljQ2xpY2tGb3JDb250ZW50Q2hhbmdlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6cG90ZW50aWFsVGFwQXRQb3NpdGlvbik6CisKIDIwMTktMDctMDEgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgaU9TOiBSRUdSRVNTSU9OKGFz
eW5jIHNjcm9sbCk6IENhcmV0IGRvZXNuJ3Qgc2Nyb2xsIHdoZW4gc2Nyb2xsaW5nIHRleHRhcmVh
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5jcHAKaW5kZXggZmFlMThhOTVkOGJhMWFjMmY1N2EyZDIyYTQ3ZGViOGMwYWUz
Y2NkZS4uNjUzNDM3OGEyMmYxMzI0ZWIwZTE5NDEzOGNjODRlMzQ1MGRjNmE0ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcApAQCAtMzIsNiArMzIsOSBAQAogI2luY2x1ZGUgIkNvbW1vblZNLmgiCiAjaW5jbHVk
ZSAiQ29tcG9zZWRUcmVlQW5jZXN0b3JJdGVyYXRvci5oIgogI2luY2x1ZGUgIkNvbnRhaW5lck5v
ZGVBbGdvcml0aG1zLmgiCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpbmNsdWRlICJDb250
ZW50Q2hhbmdlT2JzZXJ2ZXIuaCIKKyNlbmRpZgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q29udHJv
bGxlci5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRhdGFUcmFuc2Zlci5o
IgpAQCAtMjQ1Miw2ICsyNDU1LDE1IEBAIHZvaWQgTm9kZTo6ZGVmYXVsdEV2ZW50SGFuZGxlcihF
dmVudCYgZXZlbnQpCiAgICAgICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLmRlZmF1
bHRXaGVlbEV2ZW50SGFuZGxlcihzdGFydE5vZGUsIGRvd25jYXN0PFdoZWVsRXZlbnQ+KGV2ZW50
KSk7CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAg
ICB9IGVsc2UgaWYgKGlzPFRvdWNoRXZlbnQ+KGV2ZW50KSAmJiBldmVudE5hbWVzKCkuaXNUb3Vj
aFJlbGF0ZWRFdmVudFR5cGUoZG9jdW1lbnQoKSwgZXZlbnRUeXBlKSkgeworICAgICAgICAvLyBD
YXB0dXJlIHRoZSB0YXJnZXQgbm9kZSdzIHZpc2liaWxpdHkgc3RhdGUgYmVmb3JlIGRpc3BhdGNo
aW5nIHRvdWNoU3RhcnQuCisgICAgICAgIGlmIChpczxFbGVtZW50PigqdGhpcykgJiYgZXZlbnRU
eXBlID09IGV2ZW50TmFtZXMoKS50b3VjaHN0YXJ0RXZlbnQpIHsKKyAgICAgICAgICAgIGF1dG8m
IGNvbnRlbnRDaGFuZ2VPYnNlcnZlciA9IGRvY3VtZW50KCkuY29udGVudENoYW5nZU9ic2VydmVy
KCk7IAorICAgICAgICAgICAgaWYgKENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6aXNDb25zaWRlcmVk
SGlkZGVuKCp0aGlzKSkKKyAgICAgICAgICAgICAgICBjb250ZW50Q2hhbmdlT2JzZXJ2ZXIuc2V0
SGlkZGVuVG91Y2hUYXJnZXQoZG93bmNhc3Q8RWxlbWVudD4oKnRoaXMpKTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBjb250ZW50Q2hhbmdlT2JzZXJ2ZXIucmVzZXRIaWRkZW5U
b3VjaFRhcmdldCgpOworICAgICAgICB9CisKICAgICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJl
ciA9IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgICAgIHdoaWxlIChyZW5kZXJlciAmJiAoIWlzPFJl
bmRlckJveD4oKnJlbmRlcmVyKSB8fCAhZG93bmNhc3Q8UmVuZGVyQm94PigqcmVuZGVyZXIpLmNh
bkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSgpKSkKICAgICAgICAgICAgIHJlbmRlcmVy
ID0gcmVuZGVyZXItPnBhcmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9p
b3MvQ29udGVudENoYW5nZU9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0Nv
bnRlbnRDaGFuZ2VPYnNlcnZlci5jcHAKaW5kZXggODAzYzQ1OTlmZDY4OGZlYmFhZTQwOWJhNDIx
ZWYyYTUzYTZlYTBjMi4uMDg5OTczY2MyNjFiYmIxOTgzN2ZhNTI3NmRhYjljZDA1OWRiOGNkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9pb3MvQ29udGVudENoYW5nZU9ic2VydmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250ZW50Q2hhbmdlT2JzZXJ2ZXIu
Y3BwCkBAIC00MywxMiArNDMsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0
IFNlY29uZHMgbWF4aW11bURlbGF5Rm9yVGltZXJzIHsgNDAwX21zIH07CiBzdGF0aWMgY29uc3Qg
U2Vjb25kcyBtYXhpbXVtRGVsYXlGb3JUcmFuc2l0aW9ucyB7IDMwMF9tcyB9OwogCi1zdGF0aWMg
Ym9vbCBpc0NvbnNpZGVyZWRIaWRkZW4oY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK2Jvb2wgQ29u
dGVudENoYW5nZU9ic2VydmVyOjppc0NvbnNpZGVyZWRIaWRkZW4oY29uc3QgTm9kZSYgbm9kZSkK
IHsKLSAgICBpZiAoIWVsZW1lbnQucmVuZGVyU3R5bGUoKSkKKyAgICBpZiAoIW5vZGUucmVuZGVy
U3R5bGUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBhdXRvJiBzdHlsZSA9ICplbGVt
ZW50LnJlbmRlclN0eWxlKCk7CisgICAgYXV0byYgc3R5bGUgPSAqbm9kZS5yZW5kZXJTdHlsZSgp
OwogICAgIGlmIChzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6Ok5vbmUpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCkBAIC04MCw2ICs4MCwxNCBAQCBzdGF0aWMgYm9vbCBpc0NvbnNpZGVy
ZWRIaWRkZW4oY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICBpZiAobWF4SGVpZ2h0LmlzRml4
ZWQoKSAmJiAhbWF4SGVpZ2h0LnZhbHVlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCisgICAg
Ly8gU3BlY2lhbCBjYXNlIG9wYWNpdHksIGJlY2F1c2UgYSBkZXNjZW5kYW50IHdpdGggbm9uLXpl
cm8gb3BhY2l0eSBzaG91bGQgc3RpbGwgYmUgY29uc2lkZXJlZCBoaWRkZW4gd2hlbiBvbmUgb2Yg
aXRzIGFuY2V0b3JzIGhhcyBvcGFjaXR5OiAwOworICAgIC8vIFlvdVR1YmUuY29tIGhhcyB0aGlz
IHNldHVwIHdpdGggdGhlIGJvdHRvbSBjb250cm9sIGJhci4KKyAgICBjb25zdGV4cHIgc3RhdGlj
IHVuc2lnbmVkIG51bWJlck9mQW5jZXN0b3JzVG9DaGVja0Zvck9wYWNpdHkgPSA0OworICAgIHVu
c2lnbmVkIGkgPSAwOworICAgIGZvciAoYXV0byogcGFyZW50ID0gbm9kZS5wYXJlbnROb2RlKCk7
IHBhcmVudCAmJiBpIDwgbnVtYmVyT2ZBbmNlc3RvcnNUb0NoZWNrRm9yT3BhY2l0eTsgcGFyZW50
ID0gcGFyZW50LT5wYXJlbnROb2RlKCksICsraSkgeworICAgICAgICBpZiAoIXBhcmVudC0+cmVu
ZGVyU3R5bGUoKSB8fCAhcGFyZW50LT5yZW5kZXJTdHlsZSgpLT5vcGFjaXR5KCkpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC0zMjQs
NiArMzMyLDcgQEAgdm9pZCBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6OnJlc2V0KCkKIAogICAgIG1f
Y29udGVudE9ic2VydmF0aW9uVGltZXIuc3RvcCgpOwogICAgIG1fZWxlbWVudHNXaXRoRGVzdHJv
eWVkVmlzaWJsZVJlbmRlcmVyLmNsZWFyKCk7CisgICAgcmVzZXRIaWRkZW5Ub3VjaFRhcmdldCgp
OwogfQogCiB2b2lkIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6ZGlkU3VzcGVuZEFjdGl2ZURPTU9i
amVjdHMoKQpAQCAtNTc5LDYgKzU4OCw3IEBAIENvbnRlbnRDaGFuZ2VPYnNlcnZlcjo6TW91c2VN
b3ZlZFNjb3BlOjpNb3VzZU1vdmVkU2NvcGUoRG9jdW1lbnQmIGRvY3VtZW50KQogQ29udGVudENo
YW5nZU9ic2VydmVyOjpNb3VzZU1vdmVkU2NvcGU6On5Nb3VzZU1vdmVkU2NvcGUoKQogewogICAg
IG1fY29udGVudENoYW5nZU9ic2VydmVyLm1vdXNlTW92ZWREaWRGaW5pc2goKTsKKyAgICBtX2Nv
bnRlbnRDaGFuZ2VPYnNlcnZlci5yZXNldEhpZGRlblRvdWNoVGFyZ2V0KCk7CiB9CiAKIENvbnRl
bnRDaGFuZ2VPYnNlcnZlcjo6U3R5bGVSZWNhbGNTY29wZTo6U3R5bGVSZWNhbGNTY29wZShEb2N1
bWVudCYgZG9jdW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9Db250
ZW50Q2hhbmdlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFu
Z2VPYnNlcnZlci5oCmluZGV4IDFlZjY0YzJiMzQzZTg5YWU3NjgxOWEwZTJkNjkwNWQ3OTE4Zjg0
NjEuLjMyZGE0MDdlNmQ0M2UxN2NlMjQyN2FhYjZkNjkyNTBlN2MzMDI2ZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0NvbnRlbnRDaGFuZ2VPYnNlcnZlci5oCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiV0tDb250ZW50T2JzZXJ2YXRpb24uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00OCw2ICs0OSw3IEBAIHB1YmxpYzoK
IAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RhcnRDb250ZW50T2JzZXJ2YXRpb25Gb3JEdXJh
dGlvbihTZWNvbmRzIGR1cmF0aW9uKTsKICAgICBXS0NvbnRlbnRDaGFuZ2Ugb2JzZXJ2ZWRDb250
ZW50Q2hhbmdlKCkgY29uc3QgeyByZXR1cm4gbV9vYnNlcnZlZENvbnRlbnRTdGF0ZTsgfQorICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGlzQ29uc2lkZXJlZEhpZGRlbihjb25zdCBOb2Rl
Jik7CiAKICAgICB2b2lkIGRpZEluc3RhbGxET01UaW1lcihjb25zdCBET01UaW1lciYsIFNlY29u
ZHMgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICB2b2lkIGRpZFJlbW92ZURPTVRpbWVy
KGNvbnN0IERPTVRpbWVyJik7CkBAIC02NSw2ICs2NywxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IHdpbGxEZXN0cm95UmVuZGVyZXIoY29uc3QgRWxlbWVudCYpOwogCisgICAgdm9pZCBzZXRIaWRk
ZW5Ub3VjaFRhcmdldChFbGVtZW50JiB0YXJnZXRFbGVtZW50KSB7IG1faGlkZGVuVG91Y2hUYXJn
ZXRFbGVtZW50ID0gbWFrZVdlYWtQdHIodGFyZ2V0RWxlbWVudCk7IH0KKyAgICB2b2lkIHJlc2V0
SGlkZGVuVG91Y2hUYXJnZXQoKSB7IG1faGlkZGVuVG91Y2hUYXJnZXRFbGVtZW50ID0geyB9OyB9
CisgICAgRWxlbWVudCogaGlkZGVuVG91Y2hUYXJnZXQoKSBjb25zdCB7IHJldHVybiBtX2hpZGRl
blRvdWNoVGFyZ2V0RWxlbWVudC5nZXQoKTsgfQorCiAgICAgY2xhc3MgU3R5bGVDaGFuZ2VTY29w
ZSB7CiAgICAgcHVibGljOgogICAgICAgICBTdHlsZUNoYW5nZVNjb3BlKERvY3VtZW50JiwgY29u
c3QgRWxlbWVudCYpOwpAQCAtMjA0LDYgKzIxMCw3IEBAIHByaXZhdGU6CiAgICAgSGFzaFNldDxj
b25zdCBFbGVtZW50Kj4gbV9lbGVtZW50c1dpdGhUcmFuc2l0aW9uOwogICAgIEhhc2hTZXQ8Y29u
c3QgRWxlbWVudCo+IG1fZWxlbWVudHNXaXRoRGVzdHJveWVkVmlzaWJsZVJlbmRlcmVyOwogICAg
IFdLQ29udGVudENoYW5nZSBtX29ic2VydmVkQ29udGVudFN0YXRlIHsgV0tDb250ZW50Tm9DaGFu
Z2UgfTsKKyAgICBXZWFrUHRyPEVsZW1lbnQ+IG1faGlkZGVuVG91Y2hUYXJnZXRFbGVtZW50Owog
ICAgIGJvb2wgbV90b3VjaEV2ZW50SXNCZWluZ0Rpc3BhdGNoZWQgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9pc1dhaXRpbmdGb3JTdHlsZVJlY2FsYyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSW5P
YnNlcnZlZFN0eWxlUmVjYWxjIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggZTMzMmU5YjZmYmEzMDM1ZjI5
NjA2YjQwODJiYzNlYjk5NTM2M2FkMC4uYTEzOGY0NTdhYTQzMTMzN2I2ZjcwY2IzYjQyM2Y4OGU5
ZDcxYmIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0KQEAgLTY2NCwxOCArNjY0LDIzIEBAIHZvaWQgV2ViUGFnZTo6aGFuZGxl
U3ludGhldGljQ2xpY2soTm9kZSYgbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25zdCBXZWJDb3Jl
OjpGCiAgICAgfQogCiAgICAgYXV0byYgcmVzcG9uZGluZ0RvY3VtZW50ID0gbm9kZVJlc3BvbmRp
bmdUb0NsaWNrLmRvY3VtZW50KCk7CisgICAgYXV0byYgY29udGVudENoYW5nZU9ic2VydmVyID0g
cmVzcG9uZGluZ0RvY3VtZW50LmNvbnRlbnRDaGFuZ2VPYnNlcnZlcigpOworICAgIGF1dG8gdGFy
Z2V0Tm9kZWlzQ29uc2lkZXJlZEhpZGRlbiA9IGNvbnRlbnRDaGFuZ2VPYnNlcnZlci5oaWRkZW5U
b3VjaFRhcmdldCgpID09ICZub2RlUmVzcG9uZGluZ1RvQ2xpY2sgfHwgQ29udGVudENoYW5nZU9i
c2VydmVyOjppc0NvbnNpZGVyZWRIaWRkZW4obm9kZVJlc3BvbmRpbmdUb0NsaWNrKTsKICAgICB7
CiAgICAgICAgIExPR19XSVRIX1NUUkVBTShDb250ZW50T2JzZXJ2YXRpb24sIHN0cmVhbSA8PCAi
aGFuZGxlU3ludGhldGljQ2xpY2s6IG5vZGUoIiA8PCAmbm9kZVJlc3BvbmRpbmdUb0NsaWNrIDw8
ICIpICIgPDwgbG9jYXRpb24pOwogICAgICAgICBDb250ZW50Q2hhbmdlT2JzZXJ2ZXI6Ok1vdXNl
TW92ZWRTY29wZSBvYnNlcnZpbmdTY29wZShyZXNwb25kaW5nRG9jdW1lbnQpOwogICAgICAgICBh
dXRvJiBtYWluRnJhbWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOwogICAgICAgICBkaXNwYXRjaFN5
bnRoZXRpY01vdXNlTW92ZShtYWluRnJhbWUsIGxvY2F0aW9uLCBtb2RpZmllcnMsIHBvaW50ZXJJ
ZCk7CiAgICAgICAgIG1haW5GcmFtZS5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7
CisgICAgICAgIGlmIChtX2lzQ2xvc2VkKQorICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGlmIChtX2lzQ2xvc2VkKQorICAgIGlmICh0YXJnZXROb2RlaXNDb25zaWRlcmVkSGlkZGVu
KSB7CisgICAgICAgIExPRyhDb250ZW50T2JzZXJ2YXRpb24sICJoYW5kbGVTeW50aGV0aWNDbGlj
azogdGFyZ2V0IG5vZGUgaXMgY29uc2lkZXJlZCBoaWRkZW4gLT4gaG92ZXIuIik7CiAgICAgICAg
IHJldHVybjsKKyAgICB9CiAKLSAgICBhdXRvJiBjb250ZW50Q2hhbmdlT2JzZXJ2ZXIgPSByZXNw
b25kaW5nRG9jdW1lbnQuY29udGVudENoYW5nZU9ic2VydmVyKCk7CiAgICAgYXV0byBvYnNlcnZl
ZENvbnRlbnRDaGFuZ2UgPSBjb250ZW50Q2hhbmdlT2JzZXJ2ZXIub2JzZXJ2ZWRDb250ZW50Q2hh
bmdlKCk7CiAgICAgYXV0byB0YXJnZXROb2RlVHJpZ2dlcnNDbGljayA9IG5vZGVBbHdheXNUcmln
Z2Vyc0NsaWNrKG5vZGVSZXNwb25kaW5nVG9DbGljayk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYTRlZWI5ZTY4ODFl
MzRlMmFkMDU1Yzk5NzMxZTMyODVhZGNkNWZhLi43N2NjYzFhYTc0ZTJiZTliOTE4ZmIwOTI1NDEw
NGJhMjNjN2Q1MmFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDctMDEgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBUYXBwaW5nIG9uIHRoZSBib3R0b20g
cGFydCBvZiB5b3V0dWJlIHZpZGVvIGJlaGF2ZXMgYXMgaWYgY29udHJvbHMgd2VyZSB2aXNpYmxl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTkzNDkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUxOTU1NzQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50
LW9ic2VydmF0aW9uL29wYWNpdHktY2hhbmdlLWhhcHBlbnMtb24tdG91Y2hzdGFydC13aXRoLXRy
YW5zaXRpb24yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91
Y2gvaW9zL2NvbnRlbnQtb2JzZXJ2YXRpb24vb3BhY2l0eS1jaGFuZ2UtaGFwcGVucy1vbi10b3Vj
aHN0YXJ0LXdpdGgtdHJhbnNpdGlvbjIuaHRtbDogQWRkZWQuCisKIDIwMTktMDctMDEgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgaU9TOiBSRUdSRVNT
SU9OKGFzeW5jIHNjcm9sbCk6IENhcmV0IGRvZXNuJ3Qgc2Nyb2xsIHdoZW4gc2Nyb2xsaW5nIHRl
eHRhcmVhCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3MvY29u
dGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQtd2l0
aC10cmFuc2l0aW9uMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3Vj
aC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRvdWNo
c3RhcnQtd2l0aC10cmFuc2l0aW9uMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM1ZjJjOGNm
NDEwZjhkYTdiNWNhN2EwNTRmZGQyYTVmNzc4NjVjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9jb250ZW50LW9ic2VydmF0aW9uL29wYWNpdHkt
Y2hhbmdlLWhhcHBlbnMtb24tdG91Y2hzdGFydC13aXRoLXRyYW5zaXRpb24yLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBpZiAnY2xpY2tlZCcgdGV4dCBpcyBub3Qgc2hvd24g
YmVsb3cuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2lvcy9j
b250ZW50LW9ic2VydmF0aW9uL29wYWNpdHktY2hhbmdlLWhhcHBlbnMtb24tdG91Y2hzdGFydC13
aXRoLXRyYW5zaXRpb24yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9pb3Mv
Y29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNoYW5nZS1oYXBwZW5zLW9uLXRvdWNoc3RhcnQt
d2l0aC10cmFuc2l0aW9uMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlMzlkNDk4YmQ0MTJlY2RiOWZkYjMy
ZWM2MGY0MjU3ODEzYmRkNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy90b3VjaC9pb3MvY29udGVudC1vYnNlcnZhdGlvbi9vcGFjaXR5LWNoYW5nZS1oYXBwZW5z
LW9uLXRvdWNoc3RhcnQtd2l0aC10cmFuc2l0aW9uMi5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwh
RE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9y
dD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRoaXMgdGVzdHMgdGhlIGNhc2Ug
d2hlbiB0aGUgdG91Y2ggdGFyZ2V0IGlzIGluaXRpYWxseSBoaWRkZW4uPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvYmFzaWMtZ2VzdHVyZXMuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorI3RhcHRoaXMgeworICAgIG9wYWNpdHk6IDA7CisgICAgd2lkdGg6IDQw
MHB4OworICAgIGhlaWdodDogNDAwcHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47Cisg
ICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMG1zIGVhc2Utb3V0IDEwbXM7Cit9Cis8L3N0eWxlPgor
PHNjcmlwdD4KK2FzeW5jIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lciB8fCAhdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkKKyAgICAgICAgcmV0dXJuOworICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0Q29udGVu
dENoYW5nZU9ic2VydmVyRW5hYmxlZCh0cnVlKTsKKworICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgbGV0IHJlY3QgPSB0
YXB0aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgIGxldCB4ID0gcmVjdC5sZWZ0ICsg
cmVjdC53aWR0aCAvIDI7CisgICAgbGV0IHkgPSByZWN0LnRvcCArIHJlY3QuaGVpZ2h0IC8gMjsK
KworICAgIGF3YWl0IHRhcEF0UG9pbnQoeCwgeSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0idGVzdCgpIj4KKzxidXR0b24gaWQ9dGFwdGhpcz48L2J1dHRvbj4KKzxkaXY+
UEFTUyBpZiAnY2xpY2tlZCcgdGV4dCBpcyBub3Qgc2hvd24gYmVsb3cuPC9kaXY+Cis8cHJlIGlk
PXJlc3VsdD48L3ByZT4KKzxzY3JpcHQ+Cit0YXB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNo
c3RhcnQiLCBmdW5jdGlvbiggZXZlbnQgKSB7CisgICAgdGFwdGhpcy5zdHlsZS5vcGFjaXR5ID0g
IjEiOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgc2V0VGltZW91dCgidGVz
dFJ1bm5lci5ub3RpZnlEb25lKCkiLCAyNTApOworfSwgZmFsc2UpOworCit0YXB0aGlzLmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oIGV2ZW50ICkgeyAgIAorICAgIHJlc3VsdC5p
bm5lckhUTUwgPSAiY2xpY2tlZCI7Cit9LCBmYWxzZSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>