<?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>201363</bug_id>
          
          <creation_ts>2019-08-30 15:58:12 -0700</creation_ts>
          <short_desc>[results.webkit.org Timeline] Add notify rerender API for timeline</short_desc>
          <delta_ts>2019-08-30 21:12:15 -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>Tools / Tests</component>
          <version>Safari Technology Preview</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="Zhifei Fang">zhifei_fang</reporter>
          <assigned_to name="Zhifei Fang">zhifei_fang</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jbedard</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zhifei_fang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1566855</commentid>
    <comment_count>0</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-08-30 15:58:12 -0700</bug_when>
    <thetext>Because currently we don&apos;t have the resize observer implemented, I provide this API for user to call when his code change the layout and may affect the timeline width.

This API will let the timeline self adapt to it&apos;s parent flex box width, or user can give a fixed width, then the timeline will re-render to that specify width.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566860</commentid>
    <comment_count>1</comment_count>
      <attachid>377761</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-08-30 16:02:46 -0700</bug_when>
    <thetext>Created attachment 377761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566875</commentid>
    <comment_count>2</comment_count>
      <attachid>377766</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-08-30 16:25:26 -0700</bug_when>
    <thetext>Created attachment 377766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566880</commentid>
    <comment_count>3</comment_count>
      <attachid>377766</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-08-30 16:41:13 -0700</bug_when>
    <thetext>Comment on attachment 377766
Patch

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

&gt; Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:137
&gt; +    const layoutSizeMayChange = new EventStream();

Feel like this should be something like &apos;onResizeActions&apos; or &apos;onLayoutChangeActions&apos;

&gt; Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:149
&gt; +                            /**

What prompted this new comment format? I know it&apos;s pretty common in projects which have some sort of auto-documenter, but we don&apos;t have that in WebKit.

&gt; Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:155
&gt; +                                // this make sure the newly added children receive current state

I would say:
&apos;Propigate the current state to new children&apos;

&gt; Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:820
&gt; +            

Nit: Extra newline?

&gt; Tools/resultsdbpy/resultsdbpy/view/templates/search.html:45
&gt; +

Nit: Extra newline

&gt; Tools/resultsdbpy/resultsdbpy/view/templates/search.html:220
&gt; +const layoutSizeMayChange = new EventStream();

Feel like this should be something like &apos;onResizeActions&apos; or &apos;onLayoutChangeActions&apos;

&gt; Tools/resultsdbpy/resultsdbpy/view/templates/search.html:227
&gt; +

Nit: Extra newline</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566881</commentid>
    <comment_count>4</comment_count>
      <attachid>377766</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-08-30 16:43:46 -0700</bug_when>
    <thetext>Comment on attachment 377766
Patch

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

&gt; Tools/resultsdbpy/resultsdbpy/view/templates/search.html:238
&gt; +    ]), () =&gt; layoutSizeMayChange.add()}

Can you double-check parenthesis here? I think this broke the sidebar on my local instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566891</commentid>
    <comment_count>5</comment_count>
      <attachid>377772</attachid>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-08-30 17:06:17 -0700</bug_when>
    <thetext>Created attachment 377772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566898</commentid>
    <comment_count>6</comment_count>
    <who name="Zhifei Fang">zhifei_fang</who>
    <bug_when>2019-08-30 17:23:52 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #3)
&gt; Comment on attachment 377766 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=377766&amp;action=review
&gt; 
&gt; &gt; Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:137
&gt; &gt; +    const layoutSizeMayChange = new EventStream();
&gt; 
&gt; Feel like this should be something like &apos;onResizeActions&apos; or
&gt; &apos;onLayoutChangeActions&apos;
&gt; 
&gt; &gt; Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:149
&gt; &gt; +                            /**
&gt; 
&gt; What prompted this new comment format? I know it&apos;s pretty common in projects
&gt; which have some sort of auto-documenter, but we don&apos;t have that in WebKit.
&gt; 
&gt; &gt; Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:155
&gt; &gt; +                                // this make sure the newly added children receive current state
&gt; 
&gt; I would say:
&gt; &apos;Propigate the current state to new children&apos;
&gt; 
&gt; &gt; Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:820
&gt; &gt; +            
&gt; 
&gt; Nit: Extra newline?
&gt; 
&gt; &gt; Tools/resultsdbpy/resultsdbpy/view/templates/search.html:45
&gt; &gt; +
&gt; 
&gt; Nit: Extra newline
&gt; 
&gt; &gt; Tools/resultsdbpy/resultsdbpy/view/templates/search.html:220
&gt; &gt; +const layoutSizeMayChange = new EventStream();
&gt; 
&gt; Feel like this should be something like &apos;onResizeActions&apos; or
&gt; &apos;onLayoutChangeActions&apos;
&gt; 
&gt; &gt; Tools/resultsdbpy/resultsdbpy/view/templates/search.html:227
&gt; &gt; +
&gt; 
&gt; Nit: Extra newline


My new API&apos;s are all anonynous functions, so I&apos;m adding docstrings to give them a name so that their purpose is clear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566938</commentid>
    <comment_count>7</comment_count>
      <attachid>377772</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-30 21:11:28 -0700</bug_when>
    <thetext>Comment on attachment 377772
Patch

Clearing flags on attachment: 377772

Committed r249358: &lt;https://trac.webkit.org/changeset/249358&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566939</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-30 21:11:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566940</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-30 21:12:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/54908092&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377761</attachid>
            <date>2019-08-30 16:02:46 -0700</date>
            <delta_ts>2019-08-30 16:25:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201363-20190830160246.patch</filename>
            <type>text/plain</type>
            <size>9004</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MzQ4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmYzYmFhODg0NGRkNjRkNzkxOTQyM2MzMWJhNGQ4ZDFh
MzJmOWUzOC4uNzI0MWZhODI3MDllMDdjYTAyZDNkMDM0MWM3ZmRkOWFkZGU4MDRmOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE5LTA4LTMwICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbcmVzdWx0cy53ZWJraXQub3JnIFRpbWVsaW5lXSBBZGQgbm90aWZ5IHJlcmVuZGVy
IEFQSSBmb3IgdGltZWxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMTM2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvdGltZWxp
bmUuanM6IEV4cG9ydCBub3RpZnlSZXJlbmRlciBBUEkgdG8gdGltZWxpbmUgY2xhc3MKKyAgICAg
ICAgKiByZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9saWJyYXJ5L2pzL2NvbXBv
bmVudHMvVGltZWxpbmVDb21wb25lbnRzLmpzOgorICAgICAgICAoWFNjcm9sbGFibGVDYW52YXNQ
cm92aWRlcik6IEFkZCBhbiBldmVudCBzdHJlYW0gdG8gcmVjZWl2ZSBub3RpZmljYXRpb24gdGhh
dCBpdCB3aWxsIG5lZWQgdG8gcmVuZGVyIAorICAgICAgICAocHJvdG90eXBlLkV4cGFuZGFibGVT
ZXJpZXNDb21wb25lbnQpOiBOb3RpZnkgdGhlIHJlcmVuZGVyIHdoZW4gZXhwYW5kZWQsIGJlY2F1
c2UgdGhpcyBtYXkgY2hhbmdlIHRoZSBsYXlvdXQuCisgICAgICAgIChwcm90b3R5cGUuVGltZWxp
bmUuQ2FudmFzQ29udGFpbmVyKToKKwogMjAxOS0wOC0zMCAgSm9uYXRoYW4gQmVkYXJkICA8amJl
ZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgcmVzdWx0cy53ZWJraXQub3JnOiBBZGQgZW5kcG9p
bnRzIHRvIHVwbG9hZCBhbmQgZG93bmxvYWQgYXJjaGl2ZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL3Jl
c3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5lLmpzIGIvVG9vbHMv
cmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvdGltZWxpbmUuanMKaW5kZXgg
ZDI0ZDA4OWRjNTM3NDJiYzJiYjc3MWRlN2IzZWQzZTk1NTgyNTM2ZS4uNWE1MzI1YzUxNmNmYmQ3
YjFlNzlkMDhiN2RlYzhjMDNmNTFjYTVhNyAxMDA2NDQKLS0tIGEvVG9vbHMvcmVzdWx0c2RicHkv
cmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvdGltZWxpbmUuanMKKysrIGIvVG9vbHMvcmVzdWx0
c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvdGltZWxpbmUuanMKQEAgLTc2NCw3ICs3
NjQsNyBAQCBjbGFzcyBUaW1lbGluZUZyb21FbmRwb2ludCB7CiAgICAgICAgICAgICB0b3AgPSBm
YWxzZTsKICAgICAgICAgfSk7CiAKLSAgICAgICAgY29uc3QgY29tcG9zZXIgPSBGUC5jb21wb3Nl
cigodXBkYXRlVGltZWxpbmUpID0+IHsKKyAgICAgICAgY29uc3QgY29tcG9zZXIgPSBGUC5jb21w
b3NlcihGUC5jdXJyeWluZygodXBkYXRlVGltZWxpbmUsIG5vdGlmaXlSZXJlbmRlcikgPT4gewog
ICAgICAgICAgICAgc2VsZi50aW1lbGluZVVwZGF0ZSA9ICh4QXhpc2VzKSA9PiB7CiAgICAgICAg
ICAgICAgICAgY2hpbGRyZW4uc3BsaWNlKDAsIDEpOwogICAgICAgICAgICAgICAgIGlmIChzZWxm
LnJlcG9zaXRvcmllcy5sZW5ndGggPiAxKQpAQCAtNzgwLDcgKzc4MCw4IEBAIGNsYXNzIFRpbWVs
aW5lRnJvbUVuZHBvaW50IHsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICB1
cGRhdGVUaW1lbGluZShjaGlsZHJlbik7CiAgICAgICAgICAgICB9OwotICAgICAgICB9KTsKKyAg
ICAgICAgICAgIHNlbGYubm90aWZpeVJlcmVuZGVyID0gbm90aWZpeVJlcmVuZGVyOworICAgICAg
ICB9KSk7CiAgICAgICAgIHJldHVybiBUaW1lbGluZS5DYW52YXNDb250YWluZXIoY29tcG9zZXIs
IC4uLmNoaWxkcmVuKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Ub29scy9yZXN1bHRzZGJweS9y
ZXN1bHRzZGJweS92aWV3L3N0YXRpYy9saWJyYXJ5L2pzL2NvbXBvbmVudHMvVGltZWxpbmVDb21w
b25lbnRzLmpzIGIvVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvbGli
cmFyeS9qcy9jb21wb25lbnRzL1RpbWVsaW5lQ29tcG9uZW50cy5qcwppbmRleCA2OTVlZmU4Yzgy
OTE3NTk3ZDVlODU0NGM1ZjI3YWJhMDYyZmMwYTNiLi41YjBmYTk2MjExZDAzYTZjZmNkNWNiMjcz
ZTAyNWZhMGNjMmQyZjMwIDEwMDY0NAotLS0gYS9Ub29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJw
eS92aWV3L3N0YXRpYy9saWJyYXJ5L2pzL2NvbXBvbmVudHMvVGltZWxpbmVDb21wb25lbnRzLmpz
CisrKyBiL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2xpYnJhcnkv
anMvY29tcG9uZW50cy9UaW1lbGluZUNvbXBvbmVudHMuanMKQEAgLTExOCwxOSArMTE4LDI2IEBA
IGZ1bmN0aW9uIFhTY3JvbGxhYmxlQ2FudmFzUHJvdmlkZXIoZXhwb3J0ZXIsIC4uLmNoaWxkcmVu
RnVuY3Rpb25zKSB7CiAgICAgICAgIHByZXNlbnRlclJlZi5zZXRTdGF0ZSh7cmVzaXplOnRydWV9
KTsKICAgICB9KTsKICAgICBjb25zdCByZXNpemVDb250YWluZXJXaWR0aCA9IHdpZHRoID0+IHtj
b250YWluZXJSZWYuc2V0U3RhdGUoe3dpZHRoOiB3aWR0aH0pfTsKKyAgICBjb25zdCBnZXRTY3Jv
bGxhYmxlQm91bmRpbmdDbGllbnRSZWN0ID0gKCkgPT4gc2Nyb2xsUmVmLmVsZW1lbnQuZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgY29uc3QgcHJlc2VudGVyUmVmID0gUkVGLmNyZWF0ZVJl
Zih7CiAgICAgICAgIHN0YXRlOiB7c2Nyb2xsTGVmdDogMH0sCiAgICAgICAgIG9uRWxlbWVudE1v
dW50OiAoZWxlbWVudCkgPT4gewotICAgICAgICAgICAgZWxlbWVudC5zdHlsZS53aWR0aCA9IGAk
e2VsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRofXB4YDsKLSAg
ICAgICAgICAgIHJlc2l6ZUV2ZW50U3RyZWFtLmFkZChlbGVtZW50Lm9mZnNldFdpZHRoKTsKKyAg
ICAgICAgICAgIGNvbnN0IHNjcm9sbGFibGVXaWR0aCA9ICBnZXRTY3JvbGxhYmxlQm91bmRpbmdD
bGllbnRSZWN0KCkud2lkdGg7CisgICAgICAgICAgICBlbGVtZW50LnN0eWxlLndpZHRoID0gYCR7
c2Nyb2xsYWJsZVdpZHRofXB4YDsKKyAgICAgICAgICAgIHJlc2l6ZUV2ZW50U3RyZWFtLmFkZChz
Y3JvbGxhYmxlV2lkdGgpOwogICAgICAgICB9LAogICAgICAgICBvblN0YXRlVXBkYXRlOiAoZWxl
bWVudCwgc3RhdGVEaWZmLCBzdGF0ZSkgPT4gewogICAgICAgICAgICAgaWYgKHN0YXRlRGlmZi5y
ZXNpemUpIHsKLSAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLndpZHRoID0gYCR7ZWxlbWVu
dC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGh9cHhgOwotICAgICAgICAg
ICAgICAgIHJlc2l6ZUV2ZW50U3RyZWFtLmFkZChlbGVtZW50Lm9mZnNldFdpZHRoKTsKKyAgICAg
ICAgICAgICAgICBjb25zdCBzY3JvbGxhYmxlV2lkdGggPSAgZ2V0U2Nyb2xsYWJsZUJvdW5kaW5n
Q2xpZW50UmVjdCgpLndpZHRoOworICAgICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUud2lkdGgg
PSBgJHtzY3JvbGxhYmxlV2lkdGh9cHhgOworICAgICAgICAgICAgICAgIHJlc2l6ZUV2ZW50U3Ry
ZWFtLmFkZChzY3JvbGxhYmxlV2lkdGgpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
fSk7CisgICAgY29uc3QgbGF5b3V0U2l6ZU1heUNoYW5nZSA9IG5ldyBFdmVudFN0cmVhbSgpOwor
ICAgIGxheW91dFNpemVNYXlDaGFuZ2UuYWN0aW9uKCgpID0+IHsKKyAgICAgICAgcHJlc2VudGVy
UmVmLnNldFN0YXRlKHtyZXNpemU6dHJ1ZX0pOworICAgIH0pOwogICAgIC8vIFByb3ZpZGUgcGFy
ZW50IGZ1bmN0aW9ucy9ldmVudCB0byBjaGlsZHJlbiB0byB1c2UKIAogICAgIHJldHVybiBgPGRp
diBjbGFzcz0iY29udGVudCIgcmVmPSIke3Njcm9sbFJlZn0iPgpAQCAtMTM4LDE0ICsxNDUsMzAg
QEAgZnVuY3Rpb24gWFNjcm9sbGFibGVDYW52YXNQcm92aWRlcihleHBvcnRlciwgLi4uY2hpbGRy
ZW5GdW5jdGlvbnMpIHsKICAgICAgICAgICAgIDxkaXYgcmVmPSIke3ByZXNlbnRlclJlZn0iIHN0
eWxlPSJwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7IHBvc2l0aW9uOnN0aWNreTsgdG9wOjA7IGxl
ZnQ6IDAiPiR7CiAgICAgICAgICAgICAgICAgTGlzdFByb3ZpZGVyKCh1cGRhdGVDaGlsZHJlbkZ1
bmN0aW9ucykgPT4gewogICAgICAgICAgICAgICAgICAgICBpZiAoZXhwb3J0ZXIpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGV4cG9ydGVyKChjaGlsZHJlbikgPT4gewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVwZGF0ZUNoaWxkcmVuRnVuY3Rpb25zKGNoaWxkcmVuKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIG1ha2Ugc3VyZSB0aGUgbmV3bHkgYWRkZWQg
Y2hpbGRyZW4gcmVjZWl2ZSBjdXJyZW50IHN0YXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVzaXplRXZlbnRTdHJlYW0ucmVwbGF5TGFzdCgpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNjcm9sbEV2ZW50U3RyZWFtLnJlcGxheUxhc3QoKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0ZXIoCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBVcGRh
dGUgQ2hpbGRyZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEBwYXJhbSBjaGlsZHJl
biB7QXJyYXl9IHIgQW4gYXJyYXkgb2YgdGhlIGNoaWxkcmVuCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hpbGRyZW4pID0+IHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlQ2hpbGRyZW5GdW5jdGlvbnMo
Y2hpbGRyZW4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIG1ha2Ug
c3VyZSB0aGUgbmV3bHkgYWRkZWQgY2hpbGRyZW4gcmVjZWl2ZSBjdXJyZW50IHN0YXRlCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZUV2ZW50U3RyZWFtLnJlcGxheUxhc3Qo
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRXZlbnRTdHJlYW0ucmVw
bGF5TGFzdCgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOb3RpZml5
IFJlLXJlbmRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICogQHBhcmFtIHdpZHRoIHtu
dW1iZXJ9IHIgaWYgdW5kZWZpbmVkLCBpdCB3aWxsIGF1dG8gZGV0YWN0IHRoZSB3aWR0aCBjaGFu
Z2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICh3aWR0aCkgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
dHlwZW9mIHdpZHRoID09PSAibnVtYmVyIiAmJiB3aWR0aCA+PSAwKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVzaXplRXZlbnRTdHJlYW0uYWRkKHdpZHRoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGF5b3V0U2l6ZU1heUNoYW5nZS5hZGQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgfSwgW3Jlc2l6ZUNvbnRhaW5lcldpZHRoLCBzY3JvbGxF
dmVudFN0cmVhbSwgcmVzaXplRXZlbnRTdHJlYW1dLCAuLi5jaGlsZHJlbkZ1bmN0aW9ucykKKyAg
ICAgICAgICAgICAgICB9LCBbcmVzaXplQ29udGFpbmVyV2lkdGgsIHNjcm9sbEV2ZW50U3RyZWFt
LCByZXNpemVFdmVudFN0cmVhbSwgbGF5b3V0U2l6ZU1heUNoYW5nZV0sIC4uLmNoaWxkcmVuRnVu
Y3Rpb25zKQogICAgICAgICAgICAgfTwvZGl2PgogICAgICAgICA8L2Rpdj4KICAgICA8L2Rpdj5g
OwpAQCAtNDc2LDYgKzQ5OSw3IEBAIFRpbWVsaW5lLkNhbnZhc1Nlcmllc0NvbXBvbmVudCA9IChk
b3RzLCBzY2FsZXMsIG9wdGlvbiA9IHt9KSA9PiB7CiB9CiAKIFRpbWVsaW5lLkV4cGFuZGFibGVT
ZXJpZXNDb21wb25lbnQgPSAobWFpblNlcmllcywgb3B0aW9ucywgc3ViU2VyaWVzZXMsIGV4cG9y
dGVyKSA9PiB7CisgICAgbGV0IGxheW91dFNpemVNYXlDaGFuZ2VFdmVudCA9IG51bGw7CiAgICAg
Y29uc3QgcmVmID0gUkVGLmNyZWF0ZVJlZih7CiAgICAgICAgIHN0YXRlOiB7ZXhwYW5kZWQ6IG9w
dGlvbnMuZXhwYW5kZWQgPyBvcHRpb25zLmV4cGFuZGVkIDogZmFsc2V9LAogICAgICAgICBvblN0
YXRlVXBkYXRlOiAoZWxlbWVudCwgc3RhdGVEaWZmKSA9PiB7CkBAIC00ODgsMTUgKzUxMiwxOCBA
QCBUaW1lbGluZS5FeHBhbmRhYmxlU2VyaWVzQ29tcG9uZW50ID0gKG1haW5TZXJpZXMsIG9wdGlv
bnMsIHN1YlNlcmllc2VzLCBleHBvcnRlcgogICAgICAgICAgICAgICAgIGVsZW1lbnQuY2hpbGRy
ZW5bMV0uc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICBlbGVtZW50LmNo
aWxkcmVuWzJdLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgfQorICAgICAg
ICAgICAgLy8gTm90aWZpeSBpbnNpZGUgb2YgdGhlIHByb3ZpZGVyIHRoYXQgd2UgbWF5IGNoYW5n
ZWQgdGhlIGxheW91dCBzaXplIGJlY2F1c2Ugb2YgZXhwYW5kZWQgLyB1bmV4cGFuZGVkLgorICAg
ICAgICAgICAgbGF5b3V0U2l6ZU1heUNoYW5nZUV2ZW50LmFkZCgpOwogICAgICAgICB9CiAgICAg
fSk7CiAgICAgaWYgKGV4cG9ydGVyKQogICAgICAgICBleHBvcnRlcigoZXhwYW5kZWQpID0+IHJl
Zi5zZXRTdGF0ZSh7ZXhwYW5kZWQ6IGV4cGFuZGVkfSkpOwotICAgIHJldHVybiBMaXN0UHJvdmlk
ZXJSZWNlaXZlcigodXBkYXRlQ29udGFpbmVyV2lkdGgsIG9uQ29udGFpbmVyU2Nyb2xsLCBvblJl
c2l6ZSkgPT4geworICAgIHJldHVybiBMaXN0UHJvdmlkZXJSZWNlaXZlcigodXBkYXRlQ29udGFp
bmVyV2lkdGgsIG9uQ29udGFpbmVyU2Nyb2xsLCBvblJlc2l6ZSwgbGF5b3V0U2l6ZU1heUNoYW5n
ZSkgPT4geworICAgICAgICBsYXlvdXRTaXplTWF5Q2hhbmdlRXZlbnQgPSBsYXlvdXRTaXplTWF5
Q2hhbmdlOwogICAgICAgICByZXR1cm4gYDxkaXYgY2xhc3M9Imdyb3VwU2VyaWVzIiByZWY9IiR7
cmVmfSI+CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJpZXMiIHN0eWxlPSJkaXNwbGF5Om5v
bmU7Ij48L2Rpdj4KLSAgICAgICAgICAgIDxkaXY+JHttYWluU2VyaWVzKHVwZGF0ZUNvbnRhaW5l
cldpZHRoLCBvbkNvbnRhaW5lclNjcm9sbCwgb25SZXNpemUpfTwvZGl2PgotICAgICAgICAgICAg
PGRpdiBzdHlsZT0iZGlzcGxheTpub25lIj4ke3N1YlNlcmllc2VzLm1hcCgoc3ViU2VyaWVzKSA9
PiBzdWJTZXJpZXModXBkYXRlQ29udGFpbmVyV2lkdGgsIG9uQ29udGFpbmVyU2Nyb2xsLCBvblJl
c2l6ZSkpLmpvaW4oIiIpfTwvZGl2PgorICAgICAgICAgICAgPGRpdj4ke21haW5TZXJpZXModXBk
YXRlQ29udGFpbmVyV2lkdGgsIG9uQ29udGFpbmVyU2Nyb2xsLCBvblJlc2l6ZSwgbGF5b3V0U2l6
ZU1heUNoYW5nZSl9PC9kaXY+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmUi
PiR7c3ViU2VyaWVzZXMubWFwKChzdWJTZXJpZXMpID0+IHN1YlNlcmllcyh1cGRhdGVDb250YWlu
ZXJXaWR0aCwgb25Db250YWluZXJTY3JvbGwsIG9uUmVzaXplLCBsYXlvdXRTaXplTWF5Q2hhbmdl
KSkuam9pbigiIil9PC9kaXY+CiAgICAgICAgIDwvZGl2PmA7CiAgICAgfSk7CiB9CkBAIC03OTAs
NiArODE3LDcgQEAgVGltZWxpbmUuQ2FudmFzWEF4aXNDb21wb25lbnQgPSAoc2NhbGVzLCBvcHRp
b24gPSB7fSkgPT4gewogICAgICAgICAgICAgY29uc3Qgb25SZXNpemVBY3Rpb24gPSAod2lkdGgp
ID0+IHsKICAgICAgICAgICAgICAgICBjYW52YXNSZWYuc2V0U3RhdGUoe3dpZHRoOiB3aWR0aH0p
OwogICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIAogCiAgICAgICAgICAgICBjb25zdCBjYW52
YXNSZWYgPSBSRUYuY3JlYXRlUmVmKHsKICAgICAgICAgICAgICAgICBzdGF0ZTogewpAQCAtODcw
LDEzICs4OTgsMTMgQEAgVGltZWxpbmUuQ2FudmFzQ29udGFpbmVyID0gKGV4cG9ydGVyLCAuLi5j
aGlsZHJlbikgPT4gewogICAgICAgICByZXR1cm4ge2hlYWRlcnMsIHNlcmllc2VzfTsKICAgICB9
OwogICAgIGNvbnN0IHtoZWFkZXJzLCBzZXJpZXNlc30gPSB1cGFja0NoaWxkcmVuKGNoaWxkcmVu
KTsKLSAgICBsZXQgY29tcG9zZXIgPSBGUC5jb21wb3NlcihGUC5jdXJyeWluZygodXBkYXRlSGVh
ZGVycywgdXBkYXRlU2VyaWVzZXMpID0+IHsKKyAgICBsZXQgY29tcG9zZXIgPSBGUC5jb21wb3Nl
cihGUC5jdXJyeWluZygodXBkYXRlSGVhZGVycywgdXBkYXRlU2VyaWVzZXMsIG5vdGlmaXlSZXJl
bmRlcikgPT4gewogICAgICAgICBpZiAoZXhwb3J0ZXIpCiAgICAgICAgICAgICBleHBvcnRlcigo
bmV3Q2hpbGRyZW4pID0+IHsKICAgICAgICAgICAgICAgICBjb25zdCB7aGVhZGVycywgc2VyaWVz
ZXN9ID0gdXBhY2tDaGlsZHJlbihuZXdDaGlsZHJlbik7CiAgICAgICAgICAgICAgICAgdXBkYXRl
SGVhZGVycyhoZWFkZXJzKTsKICAgICAgICAgICAgICAgICB1cGRhdGVTZXJpZXNlcyhzZXJpZXNl
cyk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0sIG5vdGlmaXlSZXJlbmRlcik7CiAg
ICAgfSkpOwogICAgIHJldHVybiAoCiAgICAgICAgIGA8ZGl2IGNsYXNzPSJ0aW1lbGluZSI+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377766</attachid>
            <date>2019-08-30 16:25:26 -0700</date>
            <delta_ts>2019-08-30 17:06:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201363-20190830162525.patch</filename>
            <type>text/plain</type>
            <size>13371</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MzQ4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmYzYmFhODg0NGRkNjRkNzkxOTQyM2MzMWJhNGQ4ZDFh
MzJmOWUzOC4uNzI0MWZhODI3MDllMDdjYTAyZDNkMDM0MWM3ZmRkOWFkZGU4MDRmOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE5LTA4LTMwICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbcmVzdWx0cy53ZWJraXQub3JnIFRpbWVsaW5lXSBBZGQgbm90aWZ5IHJlcmVuZGVy
IEFQSSBmb3IgdGltZWxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMTM2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvdGltZWxp
bmUuanM6IEV4cG9ydCBub3RpZnlSZXJlbmRlciBBUEkgdG8gdGltZWxpbmUgY2xhc3MKKyAgICAg
ICAgKiByZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9saWJyYXJ5L2pzL2NvbXBv
bmVudHMvVGltZWxpbmVDb21wb25lbnRzLmpzOgorICAgICAgICAoWFNjcm9sbGFibGVDYW52YXNQ
cm92aWRlcik6IEFkZCBhbiBldmVudCBzdHJlYW0gdG8gcmVjZWl2ZSBub3RpZmljYXRpb24gdGhh
dCBpdCB3aWxsIG5lZWQgdG8gcmVuZGVyIAorICAgICAgICAocHJvdG90eXBlLkV4cGFuZGFibGVT
ZXJpZXNDb21wb25lbnQpOiBOb3RpZnkgdGhlIHJlcmVuZGVyIHdoZW4gZXhwYW5kZWQsIGJlY2F1
c2UgdGhpcyBtYXkgY2hhbmdlIHRoZSBsYXlvdXQuCisgICAgICAgIChwcm90b3R5cGUuVGltZWxp
bmUuQ2FudmFzQ29udGFpbmVyKToKKwogMjAxOS0wOC0zMCAgSm9uYXRoYW4gQmVkYXJkICA8amJl
ZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgcmVzdWx0cy53ZWJraXQub3JnOiBBZGQgZW5kcG9p
bnRzIHRvIHVwbG9hZCBhbmQgZG93bmxvYWQgYXJjaGl2ZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL3Jl
c3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL2RyYXdlci5qcyBiL1Rvb2xzL3Jl
c3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL2RyYXdlci5qcwppbmRleCA5Nzk0
YjAyNzM2YmM5M2YzMzI3YzJiZWJkODRiZGVlMDE3ZDc5YTY0Li4xYTNkY2RiNjgzNGE1ZDgyZTQw
YWExMzYxYTA5NmE0ZGM2YTgyNGQyIDEwMDY0NAotLS0gYS9Ub29scy9yZXN1bHRzZGJweS9yZXN1
bHRzZGJweS92aWV3L3N0YXRpYy9qcy9kcmF3ZXIuanMKKysrIGIvVG9vbHMvcmVzdWx0c2RicHkv
cmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvZHJhd2VyLmpzCkBAIC0zNiw3ICszNiw3IEBAIGZ1
bmN0aW9uIHNldEVuYWJsZVJlY3Vyc2l2ZShlbGVtZW50LCBzdGF0ZSkgewogICAgICAgICBzZXRF
bmFibGVSZWN1cnNpdmUobm9kZSwgc3RhdGUpOwogfQogCi1mdW5jdGlvbiBEcmF3ZXIoY29udHJv
bHMgPSBbXSkgeworZnVuY3Rpb24gRHJhd2VyKGNvbnRyb2xzID0gW10sIG9uQ29sbGFwc2VDaGFu
Z2UpIHsKICAgICBjb25zdCBISURERU4gPSBmYWxzZTsKICAgICBjb25zdCBWSVNJQkxFID0gdHJ1
ZTsKICAgICBsZXQgZHJhd2VyU3RhdGUgPSBWSVNJQkxFOwpAQCAtNjIsNiArNjIsOSBAQCBmdW5j
dGlvbiBEcmF3ZXIoY29udHJvbHMgPSBbXSkgewogICAgICAgICAgICAgICAgIGlmIChub2RlLmNs
YXNzTGlzdC5jb250YWlucygibGlzdCIpKQogICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVS
ZWN1cnNpdmUobm9kZSwgc3RhdGUpOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAg
ICAgICAgICBpZiAob25Db2xsYXBzZUNoYW5nZSkKKyAgICAgICAgICAgICAgICBvbkNvbGxhcHNl
Q2hhbmdlKCk7CiAgICAgICAgIH0sCiAgICAgICAgIG9uRWxlbWVudE1vdW50OiAoZWxlbWVudCkg
PT4gewogICAgICAgICAgICAgbGV0IGNhbmRpZGF0ZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
Q2xhc3NOYW1lKCJtYWluIik7CmRpZmYgLS1naXQgYS9Ub29scy9yZXN1bHRzZGJweS9yZXN1bHRz
ZGJweS92aWV3L3N0YXRpYy9qcy90aW1lbGluZS5qcyBiL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3Vs
dHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5lLmpzCmluZGV4IGQyNGQwODlkYzUzNzQyYmMy
YmI3NzFkZTdiM2VkM2U5NTU4MjUzNmUuLjVhNTMyNWM1MTZjZmJkN2IxZTc5ZDA4YjdkZWM4YzAz
ZjUxY2E1YTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcv
c3RhdGljL2pzL3RpbWVsaW5lLmpzCisrKyBiL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5
L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5lLmpzCkBAIC03NjQsNyArNzY0LDcgQEAgY2xhc3MgVGlt
ZWxpbmVGcm9tRW5kcG9pbnQgewogICAgICAgICAgICAgdG9wID0gZmFsc2U7CiAgICAgICAgIH0p
OwogCi0gICAgICAgIGNvbnN0IGNvbXBvc2VyID0gRlAuY29tcG9zZXIoKHVwZGF0ZVRpbWVsaW5l
KSA9PiB7CisgICAgICAgIGNvbnN0IGNvbXBvc2VyID0gRlAuY29tcG9zZXIoRlAuY3Vycnlpbmco
KHVwZGF0ZVRpbWVsaW5lLCBub3RpZml5UmVyZW5kZXIpID0+IHsKICAgICAgICAgICAgIHNlbGYu
dGltZWxpbmVVcGRhdGUgPSAoeEF4aXNlcykgPT4gewogICAgICAgICAgICAgICAgIGNoaWxkcmVu
LnNwbGljZSgwLCAxKTsKICAgICAgICAgICAgICAgICBpZiAoc2VsZi5yZXBvc2l0b3JpZXMubGVu
Z3RoID4gMSkKQEAgLTc4MCw3ICs3ODAsOCBAQCBjbGFzcyBUaW1lbGluZUZyb21FbmRwb2ludCB7
CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgdXBkYXRlVGltZWxpbmUoY2hp
bGRyZW4pOwogICAgICAgICAgICAgfTsKLSAgICAgICAgfSk7CisgICAgICAgICAgICBzZWxmLm5v
dGlmaXlSZXJlbmRlciA9IG5vdGlmaXlSZXJlbmRlcjsKKyAgICAgICAgfSkpOwogICAgICAgICBy
ZXR1cm4gVGltZWxpbmUuQ2FudmFzQ29udGFpbmVyKGNvbXBvc2VyLCAuLi5jaGlsZHJlbik7CiAg
ICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9z
dGF0aWMvbGlicmFyeS9qcy9jb21wb25lbnRzL1RpbWVsaW5lQ29tcG9uZW50cy5qcyBiL1Rvb2xz
L3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2xpYnJhcnkvanMvY29tcG9uZW50
cy9UaW1lbGluZUNvbXBvbmVudHMuanMKaW5kZXggNjk1ZWZlOGM4MjkxNzU5N2Q1ZTg1NDRjNWYy
N2FiYTA2MmZjMGEzYi4uNWIwZmE5NjIxMWQwM2E2Y2ZjZDVjYjI3M2UwMjVmYTBjYzJkMmYzMCAx
MDA2NDQKLS0tIGEvVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvbGli
cmFyeS9qcy9jb21wb25lbnRzL1RpbWVsaW5lQ29tcG9uZW50cy5qcworKysgYi9Ub29scy9yZXN1
bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9saWJyYXJ5L2pzL2NvbXBvbmVudHMvVGlt
ZWxpbmVDb21wb25lbnRzLmpzCkBAIC0xMTgsMTkgKzExOCwyNiBAQCBmdW5jdGlvbiBYU2Nyb2xs
YWJsZUNhbnZhc1Byb3ZpZGVyKGV4cG9ydGVyLCAuLi5jaGlsZHJlbkZ1bmN0aW9ucykgewogICAg
ICAgICBwcmVzZW50ZXJSZWYuc2V0U3RhdGUoe3Jlc2l6ZTp0cnVlfSk7CiAgICAgfSk7CiAgICAg
Y29uc3QgcmVzaXplQ29udGFpbmVyV2lkdGggPSB3aWR0aCA9PiB7Y29udGFpbmVyUmVmLnNldFN0
YXRlKHt3aWR0aDogd2lkdGh9KX07CisgICAgY29uc3QgZ2V0U2Nyb2xsYWJsZUJvdW5kaW5nQ2xp
ZW50UmVjdCA9ICgpID0+IHNjcm9sbFJlZi5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OwogICAgIGNvbnN0IHByZXNlbnRlclJlZiA9IFJFRi5jcmVhdGVSZWYoewogICAgICAgICBzdGF0
ZToge3Njcm9sbExlZnQ6IDB9LAogICAgICAgICBvbkVsZW1lbnRNb3VudDogKGVsZW1lbnQpID0+
IHsKLSAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHtlbGVtZW50LnBhcmVudEVs
ZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aH1weGA7Ci0gICAgICAgICAgICByZXNpemVF
dmVudFN0cmVhbS5hZGQoZWxlbWVudC5vZmZzZXRXaWR0aCk7CisgICAgICAgICAgICBjb25zdCBz
Y3JvbGxhYmxlV2lkdGggPSAgZ2V0U2Nyb2xsYWJsZUJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRo
OworICAgICAgICAgICAgZWxlbWVudC5zdHlsZS53aWR0aCA9IGAke3Njcm9sbGFibGVXaWR0aH1w
eGA7CisgICAgICAgICAgICByZXNpemVFdmVudFN0cmVhbS5hZGQoc2Nyb2xsYWJsZVdpZHRoKTsK
ICAgICAgICAgfSwKICAgICAgICAgb25TdGF0ZVVwZGF0ZTogKGVsZW1lbnQsIHN0YXRlRGlmZiwg
c3RhdGUpID0+IHsKICAgICAgICAgICAgIGlmIChzdGF0ZURpZmYucmVzaXplKSB7Ci0gICAgICAg
ICAgICAgICAgZWxlbWVudC5zdHlsZS53aWR0aCA9IGAke2VsZW1lbnQucGFyZW50RWxlbWVudC5w
YXJlbnRFbGVtZW50Lm9mZnNldFdpZHRofXB4YDsKLSAgICAgICAgICAgICAgICByZXNpemVFdmVu
dFN0cmVhbS5hZGQoZWxlbWVudC5vZmZzZXRXaWR0aCk7CisgICAgICAgICAgICAgICAgY29uc3Qg
c2Nyb2xsYWJsZVdpZHRoID0gIGdldFNjcm9sbGFibGVCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0
aDsKKyAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLndpZHRoID0gYCR7c2Nyb2xsYWJsZVdp
ZHRofXB4YDsKKyAgICAgICAgICAgICAgICByZXNpemVFdmVudFN0cmVhbS5hZGQoc2Nyb2xsYWJs
ZVdpZHRoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0pOworICAgIGNvbnN0IGxh
eW91dFNpemVNYXlDaGFuZ2UgPSBuZXcgRXZlbnRTdHJlYW0oKTsKKyAgICBsYXlvdXRTaXplTWF5
Q2hhbmdlLmFjdGlvbigoKSA9PiB7CisgICAgICAgIHByZXNlbnRlclJlZi5zZXRTdGF0ZSh7cmVz
aXplOnRydWV9KTsKKyAgICB9KTsKICAgICAvLyBQcm92aWRlIHBhcmVudCBmdW5jdGlvbnMvZXZl
bnQgdG8gY2hpbGRyZW4gdG8gdXNlCiAKICAgICByZXR1cm4gYDxkaXYgY2xhc3M9ImNvbnRlbnQi
IHJlZj0iJHtzY3JvbGxSZWZ9Ij4KQEAgLTEzOCwxNCArMTQ1LDMwIEBAIGZ1bmN0aW9uIFhTY3Jv
bGxhYmxlQ2FudmFzUHJvdmlkZXIoZXhwb3J0ZXIsIC4uLmNoaWxkcmVuRnVuY3Rpb25zKSB7CiAg
ICAgICAgICAgICA8ZGl2IHJlZj0iJHtwcmVzZW50ZXJSZWZ9IiBzdHlsZT0icG9zaXRpb246IC13
ZWJraXQtc3RpY2t5OyBwb3NpdGlvbjpzdGlja3k7IHRvcDowOyBsZWZ0OiAwIj4kewogICAgICAg
ICAgICAgICAgIExpc3RQcm92aWRlcigodXBkYXRlQ2hpbGRyZW5GdW5jdGlvbnMpID0+IHsKICAg
ICAgICAgICAgICAgICAgICAgaWYgKGV4cG9ydGVyKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBleHBvcnRlcigoY2hpbGRyZW4pID0+IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
cGRhdGVDaGlsZHJlbkZ1bmN0aW9ucyhjaGlsZHJlbik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gdGhpcyBtYWtlIHN1cmUgdGhlIG5ld2x5IGFkZGVkIGNoaWxkcmVuIHJlY2VpdmUg
Y3VycmVudCBzdGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZUV2ZW50U3Ry
ZWFtLnJlcGxheUxhc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxFdmVu
dFN0cmVhbS5yZXBsYXlMYXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGV4cG9ydGVyKAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8qKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICogVXBkYXRlIENoaWxkcmVuCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKiBAcGFyYW0gY2hpbGRyZW4ge0FycmF5fSByIEFuIGFy
cmF5IG9mIHRoZSBjaGlsZHJlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuKSA9PiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVwZGF0ZUNoaWxkcmVuRnVuY3Rpb25zKGNoaWxkcmVuKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBtYWtlIHN1cmUgdGhlIG5ld2x5IGFk
ZGVkIGNoaWxkcmVuIHJlY2VpdmUgY3VycmVudCBzdGF0ZQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNpemVFdmVudFN0cmVhbS5yZXBsYXlMYXN0KCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNjcm9sbEV2ZW50U3RyZWFtLnJlcGxheUxhc3QoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q
KgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICogTm90aWZpeSBSZS1yZW5kZXIKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqIEBwYXJhbSB3aWR0aCB7bnVtYmVyfSByIGlmIHVuZGVm
aW5lZCwgaXQgd2lsbCBhdXRvIGRldGFjdCB0aGUgd2lkdGggY2hhbmdlCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAod2lkdGgpID0+
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB3aWR0aCA9PT0g
Im51bWJlciIgJiYgd2lkdGggPj0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlc2l6ZUV2ZW50U3RyZWFtLmFkZCh3aWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91
dFNpemVNYXlDaGFuZ2UuYWRkKCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIH0sIFtyZXNpemVDb250YWluZXJXaWR0aCwgc2Nyb2xsRXZlbnRTdHJlYW0sIHJlc2l6
ZUV2ZW50U3RyZWFtXSwgLi4uY2hpbGRyZW5GdW5jdGlvbnMpCisgICAgICAgICAgICAgICAgfSwg
W3Jlc2l6ZUNvbnRhaW5lcldpZHRoLCBzY3JvbGxFdmVudFN0cmVhbSwgcmVzaXplRXZlbnRTdHJl
YW0sIGxheW91dFNpemVNYXlDaGFuZ2VdLCAuLi5jaGlsZHJlbkZ1bmN0aW9ucykKICAgICAgICAg
ICAgIH08L2Rpdj4KICAgICAgICAgPC9kaXY+CiAgICAgPC9kaXY+YDsKQEAgLTQ3Niw2ICs0OTks
NyBAQCBUaW1lbGluZS5DYW52YXNTZXJpZXNDb21wb25lbnQgPSAoZG90cywgc2NhbGVzLCBvcHRp
b24gPSB7fSkgPT4gewogfQogCiBUaW1lbGluZS5FeHBhbmRhYmxlU2VyaWVzQ29tcG9uZW50ID0g
KG1haW5TZXJpZXMsIG9wdGlvbnMsIHN1YlNlcmllc2VzLCBleHBvcnRlcikgPT4geworICAgIGxl
dCBsYXlvdXRTaXplTWF5Q2hhbmdlRXZlbnQgPSBudWxsOwogICAgIGNvbnN0IHJlZiA9IFJFRi5j
cmVhdGVSZWYoewogICAgICAgICBzdGF0ZToge2V4cGFuZGVkOiBvcHRpb25zLmV4cGFuZGVkID8g
b3B0aW9ucy5leHBhbmRlZCA6IGZhbHNlfSwKICAgICAgICAgb25TdGF0ZVVwZGF0ZTogKGVsZW1l
bnQsIHN0YXRlRGlmZikgPT4gewpAQCAtNDg4LDE1ICs1MTIsMTggQEAgVGltZWxpbmUuRXhwYW5k
YWJsZVNlcmllc0NvbXBvbmVudCA9IChtYWluU2VyaWVzLCBvcHRpb25zLCBzdWJTZXJpZXNlcywg
ZXhwb3J0ZXIKICAgICAgICAgICAgICAgICBlbGVtZW50LmNoaWxkcmVuWzFdLnN0eWxlLmRpc3Bs
YXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgZWxlbWVudC5jaGlsZHJlblsyXS5zdHlsZS5k
aXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8vIE5vdGlmaXkg
aW5zaWRlIG9mIHRoZSBwcm92aWRlciB0aGF0IHdlIG1heSBjaGFuZ2VkIHRoZSBsYXlvdXQgc2l6
ZSBiZWNhdXNlIG9mIGV4cGFuZGVkIC8gdW5leHBhbmRlZC4KKyAgICAgICAgICAgIGxheW91dFNp
emVNYXlDaGFuZ2VFdmVudC5hZGQoKTsKICAgICAgICAgfQogICAgIH0pOwogICAgIGlmIChleHBv
cnRlcikKICAgICAgICAgZXhwb3J0ZXIoKGV4cGFuZGVkKSA9PiByZWYuc2V0U3RhdGUoe2V4cGFu
ZGVkOiBleHBhbmRlZH0pKTsKLSAgICByZXR1cm4gTGlzdFByb3ZpZGVyUmVjZWl2ZXIoKHVwZGF0
ZUNvbnRhaW5lcldpZHRoLCBvbkNvbnRhaW5lclNjcm9sbCwgb25SZXNpemUpID0+IHsKKyAgICBy
ZXR1cm4gTGlzdFByb3ZpZGVyUmVjZWl2ZXIoKHVwZGF0ZUNvbnRhaW5lcldpZHRoLCBvbkNvbnRh
aW5lclNjcm9sbCwgb25SZXNpemUsIGxheW91dFNpemVNYXlDaGFuZ2UpID0+IHsKKyAgICAgICAg
bGF5b3V0U2l6ZU1heUNoYW5nZUV2ZW50ID0gbGF5b3V0U2l6ZU1heUNoYW5nZTsKICAgICAgICAg
cmV0dXJuIGA8ZGl2IGNsYXNzPSJncm91cFNlcmllcyIgcmVmPSIke3JlZn0iPgogICAgICAgICAg
ICAgPGRpdiBjbGFzcz0ic2VyaWVzIiBzdHlsZT0iZGlzcGxheTpub25lOyI+PC9kaXY+Ci0gICAg
ICAgICAgICA8ZGl2PiR7bWFpblNlcmllcyh1cGRhdGVDb250YWluZXJXaWR0aCwgb25Db250YWlu
ZXJTY3JvbGwsIG9uUmVzaXplKX08L2Rpdj4KLSAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3Bs
YXk6bm9uZSI+JHtzdWJTZXJpZXNlcy5tYXAoKHN1YlNlcmllcykgPT4gc3ViU2VyaWVzKHVwZGF0
ZUNvbnRhaW5lcldpZHRoLCBvbkNvbnRhaW5lclNjcm9sbCwgb25SZXNpemUpKS5qb2luKCIiKX08
L2Rpdj4KKyAgICAgICAgICAgIDxkaXY+JHttYWluU2VyaWVzKHVwZGF0ZUNvbnRhaW5lcldpZHRo
LCBvbkNvbnRhaW5lclNjcm9sbCwgb25SZXNpemUsIGxheW91dFNpemVNYXlDaGFuZ2UpfTwvZGl2
PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpub25lIj4ke3N1YlNlcmllc2VzLm1h
cCgoc3ViU2VyaWVzKSA9PiBzdWJTZXJpZXModXBkYXRlQ29udGFpbmVyV2lkdGgsIG9uQ29udGFp
bmVyU2Nyb2xsLCBvblJlc2l6ZSwgbGF5b3V0U2l6ZU1heUNoYW5nZSkpLmpvaW4oIiIpfTwvZGl2
PgogICAgICAgICA8L2Rpdj5gOwogICAgIH0pOwogfQpAQCAtNzkwLDYgKzgxNyw3IEBAIFRpbWVs
aW5lLkNhbnZhc1hBeGlzQ29tcG9uZW50ID0gKHNjYWxlcywgb3B0aW9uID0ge30pID0+IHsKICAg
ICAgICAgICAgIGNvbnN0IG9uUmVzaXplQWN0aW9uID0gKHdpZHRoKSA9PiB7CiAgICAgICAgICAg
ICAgICAgY2FudmFzUmVmLnNldFN0YXRlKHt3aWR0aDogd2lkdGh9KTsKICAgICAgICAgICAgIH07
CisgICAgICAgICAgICAKIAogICAgICAgICAgICAgY29uc3QgY2FudmFzUmVmID0gUkVGLmNyZWF0
ZVJlZih7CiAgICAgICAgICAgICAgICAgc3RhdGU6IHsKQEAgLTg3MCwxMyArODk4LDEzIEBAIFRp
bWVsaW5lLkNhbnZhc0NvbnRhaW5lciA9IChleHBvcnRlciwgLi4uY2hpbGRyZW4pID0+IHsKICAg
ICAgICAgcmV0dXJuIHtoZWFkZXJzLCBzZXJpZXNlc307CiAgICAgfTsKICAgICBjb25zdCB7aGVh
ZGVycywgc2VyaWVzZXN9ID0gdXBhY2tDaGlsZHJlbihjaGlsZHJlbik7Ci0gICAgbGV0IGNvbXBv
c2VyID0gRlAuY29tcG9zZXIoRlAuY3VycnlpbmcoKHVwZGF0ZUhlYWRlcnMsIHVwZGF0ZVNlcmll
c2VzKSA9PiB7CisgICAgbGV0IGNvbXBvc2VyID0gRlAuY29tcG9zZXIoRlAuY3VycnlpbmcoKHVw
ZGF0ZUhlYWRlcnMsIHVwZGF0ZVNlcmllc2VzLCBub3RpZml5UmVyZW5kZXIpID0+IHsKICAgICAg
ICAgaWYgKGV4cG9ydGVyKQogICAgICAgICAgICAgZXhwb3J0ZXIoKG5ld0NoaWxkcmVuKSA9PiB7
CiAgICAgICAgICAgICAgICAgY29uc3Qge2hlYWRlcnMsIHNlcmllc2VzfSA9IHVwYWNrQ2hpbGRy
ZW4obmV3Q2hpbGRyZW4pOwogICAgICAgICAgICAgICAgIHVwZGF0ZUhlYWRlcnMoaGVhZGVycyk7
CiAgICAgICAgICAgICAgICAgdXBkYXRlU2VyaWVzZXMoc2VyaWVzZXMpOwotICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICB9LCBub3RpZml5UmVyZW5kZXIpOwogICAgIH0pKTsKICAgICByZXR1
cm4gKAogICAgICAgICBgPGRpdiBjbGFzcz0idGltZWxpbmUiPgpkaWZmIC0tZ2l0IGEvVG9vbHMv
cmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0ZXMvc2VhcmNoLmh0bWwgYi9Ub29s
cy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRtbAppbmRl
eCA2M2E5YWRlNDkwMGY4ZDk4ZWRkZjk1YzdlZTIxMmIxNmRkM2U1YTFmLi5jZTcxNmYwNTIzODQ5
MzE4ZTczODYwOGU3ZjhkMzU4ZmRhMTg5YzE0IDEwMDY0NAotLS0gYS9Ub29scy9yZXN1bHRzZGJw
eS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRtbAorKysgYi9Ub29scy9yZXN1
bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRtbApAQCAtMzcsMTAg
KzM3LDEyIEBAIGltcG9ydCB7RHJhd2VyLCBCcmFuY2hTZWxlY3RvciwgQ29uZmlndXJhdGlvblNl
bGVjdG9ycywgTGltaXRTbGlkZXJ9IGZyb20gJy9hc3NlCiBpbXBvcnQge1NlYXJjaEJhcn0gZnJv
bSAnL2Fzc2V0cy9qcy9zZWFyY2guanMnOwogaW1wb3J0IHtMZWdlbmQsIFRpbWVsaW5lRnJvbUVu
ZHBvaW50fSBmcm9tICcvYXNzZXRzL2pzL3RpbWVsaW5lLmpzJzsKIGltcG9ydCB7VG9vbFRpcH0g
ZnJvbSAnL2Fzc2V0cy9qcy90b29sdGlwLmpzJzsKLWltcG9ydCB7RE9NLCBSRUZ9IGZyb20gJy9s
aWJyYXJ5L2pzL1JlZi5qcyc7CitpbXBvcnQge0RPTSwgUkVGLCBFdmVudFN0cmVhbX0gZnJvbSAn
L2xpYnJhcnkvanMvUmVmLmpzJzsKIAogY29uc3QgREVGQVVMVF9MSU1JVCA9IDEwMDsKLWNvbnN0
IFNVSVRFUyA9IEpTT04ucGFyc2UoJ3t7IHN1aXRlc3xzYWZlIH19Jyk7ICAgIAorY29uc3QgU1VJ
VEVTID0gSlNPTi5wYXJzZSgne3sgc3VpdGVzfHNhZmUgfX0nKTsKKworCiAKIGNsYXNzIFNlYXJj
aFZpZXcgewogICAgIGNvbnN0cnVjdG9yKCkgeyAgICAKQEAgLTIwNywxMyArMjA5LDIyIEBAIGNs
YXNzIFNlYXJjaFZpZXcgewogICAgIHRvU3RyaW5nKCkgewogICAgICAgICByZXR1cm4gYDxkaXYg
cmVmPSIke3RoaXMucmVmfSI+PC9kaXY+YDsKICAgICB9CisgICAgbm90aWZpeVRpbWVsaW5lc1Jl
bmRlcigpIHsKKyAgICAgICAgdGhpcy5yZWYuc3RhdGUuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9
PiB7CisgICAgICAgICAgICBjaGlsZC50aW1lbGluZS5ub3RpZml5UmVyZW5kZXIoKTsKKyAgICAg
ICAgfSk7CisgICAgfQogfQogCiBsZXQgdmlldyA9IG5ldyBTZWFyY2hWaWV3KCk7Ci0KK2NvbnN0
IGxheW91dFNpemVNYXlDaGFuZ2UgPSBuZXcgRXZlbnRTdHJlYW0oKTsKK2xheW91dFNpemVNYXlD
aGFuZ2UuYWN0aW9uKCgpID0+IHsKKyAgICB2aWV3Lm5vdGlmaXlUaW1lbGluZXNSZW5kZXIoKTsK
K30pOwogd2luZG93Lm9ucG9wc3RhdGUgPSBldmVudCA9PiB7dmlldy5yZWxvYWQoKTt9Owogd2lu
ZG93Lm9ucHVzaHN0YXRlID0gZXZlbnQgPT4ge3ZpZXcucmVsb2FkKCk7fTsKIAorCiBET00uaW5q
ZWN0KAogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcHAnKSwKICAgICBgJHtUb29sVGlw
fQpAQCAtMjI0LDcgKzIzNSw3IEBAIERPTS5pbmplY3QoCiAgICAgICAgICAgICB2aWV3LnJlbG9h
ZCgpOwogICAgICAgICB9KSwKICAgICAgICAgQ29uZmlndXJhdGlvblNlbGVjdG9ycygoKSA9PiB7
dmlldy5yZWxvYWQoKX0pLAotICAgIF0pfQorICAgIF0pLCAoKSA9PiBsYXlvdXRTaXplTWF5Q2hh
bmdlLmFkZCgpfQogCiAgICAgPGRpdiBjbGFzcz0ibWFpbiBsZWZ0IHVuZGVyLXRvcGJhci13aXRo
LWFjdGlvbnMiPgogICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KZGlmZiAtLWdpdCBhL1Rv
b2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3N1aXRlX3Jlc3VsdHMu
aHRtbCBiL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3N1aXRl
X3Jlc3VsdHMuaHRtbAppbmRleCBlM2ZmOGEwZTVkMzg2ODE3Mjc4NDVjMjFhN2FmMWE4NDM0MGQx
NzgyLi4wOWJjMDYwODEzNDI5YmRjNDk5MzE2MTAyYWQ1NWYzOTM0NWI1ODZhIDEwMDY0NAotLS0g
YS9Ub29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBsYXRlcy9zdWl0ZV9yZXN1
bHRzLmh0bWwKKysrIGIvVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90ZW1wbGF0
ZXMvc3VpdGVfcmVzdWx0cy5odG1sCkBAIC0zNiw3ICszNiw3IEBAIGltcG9ydCB7Q29uZmlndXJh
dGlvbn0gZnJvbSAnL2Fzc2V0cy9qcy9jb25maWd1cmF0aW9uLmpzJzsKIGltcG9ydCB7RHJhd2Vy
LCBCcmFuY2hTZWxlY3RvciwgQ29uZmlndXJhdGlvblNlbGVjdG9ycywgTGltaXRTbGlkZXJ9IGZy
b20gJy9hc3NldHMvanMvZHJhd2VyLmpzJzsKIGltcG9ydCB7TGVnZW5kLCBUaW1lbGluZUZyb21F
bmRwb2ludH0gZnJvbSAnL2Fzc2V0cy9qcy90aW1lbGluZS5qcyc7CiBpbXBvcnQge1Rvb2xUaXB9
IGZyb20gJy9hc3NldHMvanMvdG9vbHRpcC5qcyc7Ci1pbXBvcnQge0RPTSwgUkVGfSBmcm9tICcv
bGlicmFyeS9qcy9SZWYuanMnOworaW1wb3J0IHtET00sIFJFRiwgRXZlbnRTdHJlYW19IGZyb20g
Jy9saWJyYXJ5L2pzL1JlZi5qcyc7CiAKIGNvbnN0IERFRkFVTFRfTElNSVQgPSAxMDA7CiBjb25z
dCBTVUlURVMgPSBKU09OLnBhcnNlKCd7eyBzdWl0ZXN8c2FmZSB9fScpOyAgICAKQEAgLTE1Niw5
ICsxNTYsMTggQEAgY2xhc3MgTWFpblZpZXcgewogICAgICAgICAgICAgICAgIDwvZGl2Pjxicj5g
OwogICAgICAgICB9KS5qb2luKCcnKTsKICAgICB9CisgICAgbm90aWZpeVRpbWVsaW5lc1JlbmRl
cigpIHsKKyAgICAgICAgZm9yIChsZXQgc3VpdGUgaW4gdGhpcy5jaGlsZHJlbikgeworICAgICAg
ICAgICAgdGhpcy5jaGlsZHJlbltzdWl0ZV0ubm90aWZpeVJlcmVuZGVyKCk7CisgICAgICAgIH0K
KyAgICB9CiB9CiAKIGxldCB2aWV3ID0gbmV3IE1haW5WaWV3KCk7Citjb25zdCBsYXlvdXRTaXpl
TWF5Q2hhbmdlID0gbmV3IEV2ZW50U3RyZWFtKCk7CitsYXlvdXRTaXplTWF5Q2hhbmdlLmFjdGlv
bigoKSA9PiB7CisgICAgdmlldy5ub3RpZml5VGltZWxpbmVzUmVuZGVyKCk7Cit9KTsKIAogRE9N
LmluamVjdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXBwJyksIGAke1Rvb2xUaXB9CiAke0Ry
YXdlcihbCkBAIC0xNjgsNyArMTc3LDcgQEAgJHtEcmF3ZXIoWwogICAgICAgICB2aWV3LnJlbG9h
ZCgpOwogICAgIH0pLAogICAgIENvbmZpZ3VyYXRpb25TZWxlY3RvcnMoKCkgPT4ge3ZpZXcucmVs
b2FkKCl9KSwKLV0pfQorXSwgKCkgPT4gbGF5b3V0U2l6ZU1heUNoYW5nZS5hZGQoKSl9CiA8ZGl2
IGNsYXNzPSJtYWluIGxlZnQgdW5kZXItdG9wYmFyLXdpdGgtYWN0aW9ucyI+CiAgICAgPGRpdiBj
bGFzcz0iY29udGVudCI+CiAgICAgICAgICR7dmlld30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377772</attachid>
            <date>2019-08-30 17:06:17 -0700</date>
            <delta_ts>2019-08-30 21:11:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201363-20190830170617.patch</filename>
            <type>text/plain</type>
            <size>13033</size>
            <attacher name="Zhifei Fang">zhifei_fang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MzQ4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmYzYmFhODg0NGRkNjRkNzkxOTQyM2MzMWJhNGQ4ZDFh
MzJmOWUzOC4uNzI0MWZhODI3MDllMDdjYTAyZDNkMDM0MWM3ZmRkOWFkZGU4MDRmOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE5LTA4LTMwICBaaGlmZWkgRmFuZyAgPHpoaWZlaV9mYW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbcmVzdWx0cy53ZWJraXQub3JnIFRpbWVsaW5lXSBBZGQgbm90aWZ5IHJlcmVuZGVy
IEFQSSBmb3IgdGltZWxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMTM2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvdGltZWxp
bmUuanM6IEV4cG9ydCBub3RpZnlSZXJlbmRlciBBUEkgdG8gdGltZWxpbmUgY2xhc3MKKyAgICAg
ICAgKiByZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9saWJyYXJ5L2pzL2NvbXBv
bmVudHMvVGltZWxpbmVDb21wb25lbnRzLmpzOgorICAgICAgICAoWFNjcm9sbGFibGVDYW52YXNQ
cm92aWRlcik6IEFkZCBhbiBldmVudCBzdHJlYW0gdG8gcmVjZWl2ZSBub3RpZmljYXRpb24gdGhh
dCBpdCB3aWxsIG5lZWQgdG8gcmVuZGVyIAorICAgICAgICAocHJvdG90eXBlLkV4cGFuZGFibGVT
ZXJpZXNDb21wb25lbnQpOiBOb3RpZnkgdGhlIHJlcmVuZGVyIHdoZW4gZXhwYW5kZWQsIGJlY2F1
c2UgdGhpcyBtYXkgY2hhbmdlIHRoZSBsYXlvdXQuCisgICAgICAgIChwcm90b3R5cGUuVGltZWxp
bmUuQ2FudmFzQ29udGFpbmVyKToKKwogMjAxOS0wOC0zMCAgSm9uYXRoYW4gQmVkYXJkICA8amJl
ZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgcmVzdWx0cy53ZWJraXQub3JnOiBBZGQgZW5kcG9p
bnRzIHRvIHVwbG9hZCBhbmQgZG93bmxvYWQgYXJjaGl2ZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL3Jl
c3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL2RyYXdlci5qcyBiL1Rvb2xzL3Jl
c3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2pzL2RyYXdlci5qcwppbmRleCA5Nzk0
YjAyNzM2YmM5M2YzMzI3YzJiZWJkODRiZGVlMDE3ZDc5YTY0Li4xYTNkY2RiNjgzNGE1ZDgyZTQw
YWExMzYxYTA5NmE0ZGM2YTgyNGQyIDEwMDY0NAotLS0gYS9Ub29scy9yZXN1bHRzZGJweS9yZXN1
bHRzZGJweS92aWV3L3N0YXRpYy9qcy9kcmF3ZXIuanMKKysrIGIvVG9vbHMvcmVzdWx0c2RicHkv
cmVzdWx0c2RicHkvdmlldy9zdGF0aWMvanMvZHJhd2VyLmpzCkBAIC0zNiw3ICszNiw3IEBAIGZ1
bmN0aW9uIHNldEVuYWJsZVJlY3Vyc2l2ZShlbGVtZW50LCBzdGF0ZSkgewogICAgICAgICBzZXRF
bmFibGVSZWN1cnNpdmUobm9kZSwgc3RhdGUpOwogfQogCi1mdW5jdGlvbiBEcmF3ZXIoY29udHJv
bHMgPSBbXSkgeworZnVuY3Rpb24gRHJhd2VyKGNvbnRyb2xzID0gW10sIG9uQ29sbGFwc2VDaGFu
Z2UpIHsKICAgICBjb25zdCBISURERU4gPSBmYWxzZTsKICAgICBjb25zdCBWSVNJQkxFID0gdHJ1
ZTsKICAgICBsZXQgZHJhd2VyU3RhdGUgPSBWSVNJQkxFOwpAQCAtNjIsNiArNjIsOSBAQCBmdW5j
dGlvbiBEcmF3ZXIoY29udHJvbHMgPSBbXSkgewogICAgICAgICAgICAgICAgIGlmIChub2RlLmNs
YXNzTGlzdC5jb250YWlucygibGlzdCIpKQogICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVS
ZWN1cnNpdmUobm9kZSwgc3RhdGUpOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAg
ICAgICAgICBpZiAob25Db2xsYXBzZUNoYW5nZSkKKyAgICAgICAgICAgICAgICBvbkNvbGxhcHNl
Q2hhbmdlKCk7CiAgICAgICAgIH0sCiAgICAgICAgIG9uRWxlbWVudE1vdW50OiAoZWxlbWVudCkg
PT4gewogICAgICAgICAgICAgbGV0IGNhbmRpZGF0ZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
Q2xhc3NOYW1lKCJtYWluIik7CmRpZmYgLS1naXQgYS9Ub29scy9yZXN1bHRzZGJweS9yZXN1bHRz
ZGJweS92aWV3L3N0YXRpYy9qcy90aW1lbGluZS5qcyBiL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3Vs
dHNkYnB5L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5lLmpzCmluZGV4IGQyNGQwODlkYzUzNzQyYmMy
YmI3NzFkZTdiM2VkM2U5NTU4MjUzNmUuLjVhNTMyNWM1MTZjZmJkN2IxZTc5ZDA4YjdkZWM4YzAz
ZjUxY2E1YTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcv
c3RhdGljL2pzL3RpbWVsaW5lLmpzCisrKyBiL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5
L3ZpZXcvc3RhdGljL2pzL3RpbWVsaW5lLmpzCkBAIC03NjQsNyArNzY0LDcgQEAgY2xhc3MgVGlt
ZWxpbmVGcm9tRW5kcG9pbnQgewogICAgICAgICAgICAgdG9wID0gZmFsc2U7CiAgICAgICAgIH0p
OwogCi0gICAgICAgIGNvbnN0IGNvbXBvc2VyID0gRlAuY29tcG9zZXIoKHVwZGF0ZVRpbWVsaW5l
KSA9PiB7CisgICAgICAgIGNvbnN0IGNvbXBvc2VyID0gRlAuY29tcG9zZXIoRlAuY3Vycnlpbmco
KHVwZGF0ZVRpbWVsaW5lLCBub3RpZml5UmVyZW5kZXIpID0+IHsKICAgICAgICAgICAgIHNlbGYu
dGltZWxpbmVVcGRhdGUgPSAoeEF4aXNlcykgPT4gewogICAgICAgICAgICAgICAgIGNoaWxkcmVu
LnNwbGljZSgwLCAxKTsKICAgICAgICAgICAgICAgICBpZiAoc2VsZi5yZXBvc2l0b3JpZXMubGVu
Z3RoID4gMSkKQEAgLTc4MCw3ICs3ODAsOCBAQCBjbGFzcyBUaW1lbGluZUZyb21FbmRwb2ludCB7
CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgdXBkYXRlVGltZWxpbmUoY2hp
bGRyZW4pOwogICAgICAgICAgICAgfTsKLSAgICAgICAgfSk7CisgICAgICAgICAgICBzZWxmLm5v
dGlmaXlSZXJlbmRlciA9IG5vdGlmaXlSZXJlbmRlcjsKKyAgICAgICAgfSkpOwogICAgICAgICBy
ZXR1cm4gVGltZWxpbmUuQ2FudmFzQ29udGFpbmVyKGNvbXBvc2VyLCAuLi5jaGlsZHJlbik7CiAg
ICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9z
dGF0aWMvbGlicmFyeS9qcy9jb21wb25lbnRzL1RpbWVsaW5lQ29tcG9uZW50cy5qcyBiL1Rvb2xz
L3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcvc3RhdGljL2xpYnJhcnkvanMvY29tcG9uZW50
cy9UaW1lbGluZUNvbXBvbmVudHMuanMKaW5kZXggNjk1ZWZlOGM4MjkxNzU5N2Q1ZTg1NDRjNWYy
N2FiYTA2MmZjMGEzYi4uNDQzZjgzNjllMjFmYmIwZTg0NzcyOTQ3NGFhNzY2MzYxZTIyZmUyMCAx
MDA2NDQKLS0tIGEvVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy9zdGF0aWMvbGli
cmFyeS9qcy9jb21wb25lbnRzL1RpbWVsaW5lQ29tcG9uZW50cy5qcworKysgYi9Ub29scy9yZXN1
bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3N0YXRpYy9saWJyYXJ5L2pzL2NvbXBvbmVudHMvVGlt
ZWxpbmVDb21wb25lbnRzLmpzCkBAIC0xMTgsMTkgKzExOCwyNiBAQCBmdW5jdGlvbiBYU2Nyb2xs
YWJsZUNhbnZhc1Byb3ZpZGVyKGV4cG9ydGVyLCAuLi5jaGlsZHJlbkZ1bmN0aW9ucykgewogICAg
ICAgICBwcmVzZW50ZXJSZWYuc2V0U3RhdGUoe3Jlc2l6ZTp0cnVlfSk7CiAgICAgfSk7CiAgICAg
Y29uc3QgcmVzaXplQ29udGFpbmVyV2lkdGggPSB3aWR0aCA9PiB7Y29udGFpbmVyUmVmLnNldFN0
YXRlKHt3aWR0aDogd2lkdGh9KX07CisgICAgY29uc3QgZ2V0U2Nyb2xsYWJsZUJvdW5kaW5nQ2xp
ZW50UmVjdCA9ICgpID0+IHNjcm9sbFJlZi5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OwogICAgIGNvbnN0IHByZXNlbnRlclJlZiA9IFJFRi5jcmVhdGVSZWYoewogICAgICAgICBzdGF0
ZToge3Njcm9sbExlZnQ6IDB9LAogICAgICAgICBvbkVsZW1lbnRNb3VudDogKGVsZW1lbnQpID0+
IHsKLSAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHtlbGVtZW50LnBhcmVudEVs
ZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aH1weGA7Ci0gICAgICAgICAgICByZXNpemVF
dmVudFN0cmVhbS5hZGQoZWxlbWVudC5vZmZzZXRXaWR0aCk7CisgICAgICAgICAgICBjb25zdCBz
Y3JvbGxhYmxlV2lkdGggPSAgZ2V0U2Nyb2xsYWJsZUJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRo
OworICAgICAgICAgICAgZWxlbWVudC5zdHlsZS53aWR0aCA9IGAke3Njcm9sbGFibGVXaWR0aH1w
eGA7CisgICAgICAgICAgICByZXNpemVFdmVudFN0cmVhbS5hZGQoc2Nyb2xsYWJsZVdpZHRoKTsK
ICAgICAgICAgfSwKICAgICAgICAgb25TdGF0ZVVwZGF0ZTogKGVsZW1lbnQsIHN0YXRlRGlmZiwg
c3RhdGUpID0+IHsKICAgICAgICAgICAgIGlmIChzdGF0ZURpZmYucmVzaXplKSB7Ci0gICAgICAg
ICAgICAgICAgZWxlbWVudC5zdHlsZS53aWR0aCA9IGAke2VsZW1lbnQucGFyZW50RWxlbWVudC5w
YXJlbnRFbGVtZW50Lm9mZnNldFdpZHRofXB4YDsKLSAgICAgICAgICAgICAgICByZXNpemVFdmVu
dFN0cmVhbS5hZGQoZWxlbWVudC5vZmZzZXRXaWR0aCk7CisgICAgICAgICAgICAgICAgY29uc3Qg
c2Nyb2xsYWJsZVdpZHRoID0gIGdldFNjcm9sbGFibGVCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0
aDsKKyAgICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLndpZHRoID0gYCR7c2Nyb2xsYWJsZVdp
ZHRofXB4YDsKKyAgICAgICAgICAgICAgICByZXNpemVFdmVudFN0cmVhbS5hZGQoc2Nyb2xsYWJs
ZVdpZHRoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0pOworICAgIGNvbnN0IGxh
eW91dFNpemVNYXlDaGFuZ2UgPSBuZXcgRXZlbnRTdHJlYW0oKTsKKyAgICBsYXlvdXRTaXplTWF5
Q2hhbmdlLmFjdGlvbigoKSA9PiB7CisgICAgICAgIHByZXNlbnRlclJlZi5zZXRTdGF0ZSh7cmVz
aXplOnRydWV9KTsKKyAgICB9KTsKICAgICAvLyBQcm92aWRlIHBhcmVudCBmdW5jdGlvbnMvZXZl
bnQgdG8gY2hpbGRyZW4gdG8gdXNlCiAKICAgICByZXR1cm4gYDxkaXYgY2xhc3M9ImNvbnRlbnQi
IHJlZj0iJHtzY3JvbGxSZWZ9Ij4KQEAgLTEzOCwxNCArMTQ1LDMwIEBAIGZ1bmN0aW9uIFhTY3Jv
bGxhYmxlQ2FudmFzUHJvdmlkZXIoZXhwb3J0ZXIsIC4uLmNoaWxkcmVuRnVuY3Rpb25zKSB7CiAg
ICAgICAgICAgICA8ZGl2IHJlZj0iJHtwcmVzZW50ZXJSZWZ9IiBzdHlsZT0icG9zaXRpb246IC13
ZWJraXQtc3RpY2t5OyBwb3NpdGlvbjpzdGlja3k7IHRvcDowOyBsZWZ0OiAwIj4kewogICAgICAg
ICAgICAgICAgIExpc3RQcm92aWRlcigodXBkYXRlQ2hpbGRyZW5GdW5jdGlvbnMpID0+IHsKICAg
ICAgICAgICAgICAgICAgICAgaWYgKGV4cG9ydGVyKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBleHBvcnRlcigoY2hpbGRyZW4pID0+IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
cGRhdGVDaGlsZHJlbkZ1bmN0aW9ucyhjaGlsZHJlbik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gdGhpcyBtYWtlIHN1cmUgdGhlIG5ld2x5IGFkZGVkIGNoaWxkcmVuIHJlY2VpdmUg
Y3VycmVudCBzdGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZUV2ZW50U3Ry
ZWFtLnJlcGxheUxhc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxFdmVu
dFN0cmVhbS5yZXBsYXlMYXN0KCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGV4cG9ydGVyKAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8qKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICogVXBkYXRlIENoaWxkcmVuCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKiBAcGFyYW0gY2hpbGRyZW4ge0FycmF5fSByIEFuIGFy
cmF5IG9mIHRoZSBjaGlsZHJlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuKSA9PiB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVwZGF0ZUNoaWxkcmVuRnVuY3Rpb25zKGNoaWxkcmVuKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJvcGlnYXRlIHRoZSBjdXJyZW50IHN0YXRl
IHRvIG5ldyBjaGlsZHJlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNpemVF
dmVudFN0cmVhbS5yZXBsYXlMYXN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNjcm9sbEV2ZW50U3RyZWFtLnJlcGxheUxhc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICogTm90aWZpeSBSZS1yZW5kZXIKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAqIEBwYXJhbSB3aWR0aCB7bnVtYmVyfSByIGlmIHVuZGVmaW5lZCwgaXQgd2lsbCBhdXRv
IGRldGFjdCB0aGUgd2lkdGggY2hhbmdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAod2lkdGgpID0+IHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB3aWR0aCA9PT0gIm51bWJlciIgJiYgd2lkdGgg
Pj0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZUV2ZW50U3Ry
ZWFtLmFkZCh3aWR0aCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dFNpemVNYXlDaGFuZ2UuYWRk
KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAg
ICAgKTsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0sIFtyZXNpemVD
b250YWluZXJXaWR0aCwgc2Nyb2xsRXZlbnRTdHJlYW0sIHJlc2l6ZUV2ZW50U3RyZWFtXSwgLi4u
Y2hpbGRyZW5GdW5jdGlvbnMpCisgICAgICAgICAgICAgICAgfSwgW3Jlc2l6ZUNvbnRhaW5lcldp
ZHRoLCBzY3JvbGxFdmVudFN0cmVhbSwgcmVzaXplRXZlbnRTdHJlYW0sIGxheW91dFNpemVNYXlD
aGFuZ2VdLCAuLi5jaGlsZHJlbkZ1bmN0aW9ucykKICAgICAgICAgICAgIH08L2Rpdj4KICAgICAg
ICAgPC9kaXY+CiAgICAgPC9kaXY+YDsKQEAgLTQ3Niw2ICs0OTksNyBAQCBUaW1lbGluZS5DYW52
YXNTZXJpZXNDb21wb25lbnQgPSAoZG90cywgc2NhbGVzLCBvcHRpb24gPSB7fSkgPT4gewogfQog
CiBUaW1lbGluZS5FeHBhbmRhYmxlU2VyaWVzQ29tcG9uZW50ID0gKG1haW5TZXJpZXMsIG9wdGlv
bnMsIHN1YlNlcmllc2VzLCBleHBvcnRlcikgPT4geworICAgIGxldCBsYXlvdXRTaXplTWF5Q2hh
bmdlRXZlbnQgPSBudWxsOwogICAgIGNvbnN0IHJlZiA9IFJFRi5jcmVhdGVSZWYoewogICAgICAg
ICBzdGF0ZToge2V4cGFuZGVkOiBvcHRpb25zLmV4cGFuZGVkID8gb3B0aW9ucy5leHBhbmRlZCA6
IGZhbHNlfSwKICAgICAgICAgb25TdGF0ZVVwZGF0ZTogKGVsZW1lbnQsIHN0YXRlRGlmZikgPT4g
ewpAQCAtNDg4LDE1ICs1MTIsMTggQEAgVGltZWxpbmUuRXhwYW5kYWJsZVNlcmllc0NvbXBvbmVu
dCA9IChtYWluU2VyaWVzLCBvcHRpb25zLCBzdWJTZXJpZXNlcywgZXhwb3J0ZXIKICAgICAgICAg
ICAgICAgICBlbGVtZW50LmNoaWxkcmVuWzFdLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAg
ICAgICAgICAgICAgZWxlbWVudC5jaGlsZHJlblsyXS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsK
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8vIE5vdGlmaXkgaW5zaWRlIG9mIHRoZSBwcm92
aWRlciB0aGF0IHdlIG1heSBjaGFuZ2VkIHRoZSBsYXlvdXQgc2l6ZSBiZWNhdXNlIG9mIGV4cGFu
ZGVkIC8gdW5leHBhbmRlZC4KKyAgICAgICAgICAgIGxheW91dFNpemVNYXlDaGFuZ2VFdmVudC5h
ZGQoKTsKICAgICAgICAgfQogICAgIH0pOwogICAgIGlmIChleHBvcnRlcikKICAgICAgICAgZXhw
b3J0ZXIoKGV4cGFuZGVkKSA9PiByZWYuc2V0U3RhdGUoe2V4cGFuZGVkOiBleHBhbmRlZH0pKTsK
LSAgICByZXR1cm4gTGlzdFByb3ZpZGVyUmVjZWl2ZXIoKHVwZGF0ZUNvbnRhaW5lcldpZHRoLCBv
bkNvbnRhaW5lclNjcm9sbCwgb25SZXNpemUpID0+IHsKKyAgICByZXR1cm4gTGlzdFByb3ZpZGVy
UmVjZWl2ZXIoKHVwZGF0ZUNvbnRhaW5lcldpZHRoLCBvbkNvbnRhaW5lclNjcm9sbCwgb25SZXNp
emUsIGxheW91dFNpemVNYXlDaGFuZ2UpID0+IHsKKyAgICAgICAgbGF5b3V0U2l6ZU1heUNoYW5n
ZUV2ZW50ID0gbGF5b3V0U2l6ZU1heUNoYW5nZTsKICAgICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNz
PSJncm91cFNlcmllcyIgcmVmPSIke3JlZn0iPgogICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Vy
aWVzIiBzdHlsZT0iZGlzcGxheTpub25lOyI+PC9kaXY+Ci0gICAgICAgICAgICA8ZGl2PiR7bWFp
blNlcmllcyh1cGRhdGVDb250YWluZXJXaWR0aCwgb25Db250YWluZXJTY3JvbGwsIG9uUmVzaXpl
KX08L2Rpdj4KLSAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZSI+JHtzdWJTZXJp
ZXNlcy5tYXAoKHN1YlNlcmllcykgPT4gc3ViU2VyaWVzKHVwZGF0ZUNvbnRhaW5lcldpZHRoLCBv
bkNvbnRhaW5lclNjcm9sbCwgb25SZXNpemUpKS5qb2luKCIiKX08L2Rpdj4KKyAgICAgICAgICAg
IDxkaXY+JHttYWluU2VyaWVzKHVwZGF0ZUNvbnRhaW5lcldpZHRoLCBvbkNvbnRhaW5lclNjcm9s
bCwgb25SZXNpemUsIGxheW91dFNpemVNYXlDaGFuZ2UpfTwvZGl2PgorICAgICAgICAgICAgPGRp
diBzdHlsZT0iZGlzcGxheTpub25lIj4ke3N1YlNlcmllc2VzLm1hcCgoc3ViU2VyaWVzKSA9PiBz
dWJTZXJpZXModXBkYXRlQ29udGFpbmVyV2lkdGgsIG9uQ29udGFpbmVyU2Nyb2xsLCBvblJlc2l6
ZSwgbGF5b3V0U2l6ZU1heUNoYW5nZSkpLmpvaW4oIiIpfTwvZGl2PgogICAgICAgICA8L2Rpdj5g
OwogICAgIH0pOwogfQpAQCAtODcwLDEzICs4OTcsMTMgQEAgVGltZWxpbmUuQ2FudmFzQ29udGFp
bmVyID0gKGV4cG9ydGVyLCAuLi5jaGlsZHJlbikgPT4gewogICAgICAgICByZXR1cm4ge2hlYWRl
cnMsIHNlcmllc2VzfTsKICAgICB9OwogICAgIGNvbnN0IHtoZWFkZXJzLCBzZXJpZXNlc30gPSB1
cGFja0NoaWxkcmVuKGNoaWxkcmVuKTsKLSAgICBsZXQgY29tcG9zZXIgPSBGUC5jb21wb3NlcihG
UC5jdXJyeWluZygodXBkYXRlSGVhZGVycywgdXBkYXRlU2VyaWVzZXMpID0+IHsKKyAgICBsZXQg
Y29tcG9zZXIgPSBGUC5jb21wb3NlcihGUC5jdXJyeWluZygodXBkYXRlSGVhZGVycywgdXBkYXRl
U2VyaWVzZXMsIG5vdGlmaXlSZXJlbmRlcikgPT4gewogICAgICAgICBpZiAoZXhwb3J0ZXIpCiAg
ICAgICAgICAgICBleHBvcnRlcigobmV3Q2hpbGRyZW4pID0+IHsKICAgICAgICAgICAgICAgICBj
b25zdCB7aGVhZGVycywgc2VyaWVzZXN9ID0gdXBhY2tDaGlsZHJlbihuZXdDaGlsZHJlbik7CiAg
ICAgICAgICAgICAgICAgdXBkYXRlSGVhZGVycyhoZWFkZXJzKTsKICAgICAgICAgICAgICAgICB1
cGRhdGVTZXJpZXNlcyhzZXJpZXNlcyk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0s
IG5vdGlmaXlSZXJlbmRlcik7CiAgICAgfSkpOwogICAgIHJldHVybiAoCiAgICAgICAgIGA8ZGl2
IGNsYXNzPSJ0aW1lbGluZSI+CmRpZmYgLS1naXQgYS9Ub29scy9yZXN1bHRzZGJweS9yZXN1bHRz
ZGJweS92aWV3L3RlbXBsYXRlcy9zZWFyY2guaHRtbCBiL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3Vs
dHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3NlYXJjaC5odG1sCmluZGV4IDYzYTlhZGU0OTAwZjhkOThl
ZGRmOTVjN2VlMjEyYjE2ZGQzZTVhMWYuLjZjYWJkYTQ0NTUyMjliOWYwMDdhZGZhOWM5OTg3YWQw
ODJmOGZkMjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5L3ZpZXcv
dGVtcGxhdGVzL3NlYXJjaC5odG1sCisrKyBiL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3VsdHNkYnB5
L3ZpZXcvdGVtcGxhdGVzL3NlYXJjaC5odG1sCkBAIC0zNywxMCArMzcsMTAgQEAgaW1wb3J0IHtE
cmF3ZXIsIEJyYW5jaFNlbGVjdG9yLCBDb25maWd1cmF0aW9uU2VsZWN0b3JzLCBMaW1pdFNsaWRl
cn0gZnJvbSAnL2Fzc2UKIGltcG9ydCB7U2VhcmNoQmFyfSBmcm9tICcvYXNzZXRzL2pzL3NlYXJj
aC5qcyc7CiBpbXBvcnQge0xlZ2VuZCwgVGltZWxpbmVGcm9tRW5kcG9pbnR9IGZyb20gJy9hc3Nl
dHMvanMvdGltZWxpbmUuanMnOwogaW1wb3J0IHtUb29sVGlwfSBmcm9tICcvYXNzZXRzL2pzL3Rv
b2x0aXAuanMnOwotaW1wb3J0IHtET00sIFJFRn0gZnJvbSAnL2xpYnJhcnkvanMvUmVmLmpzJzsK
K2ltcG9ydCB7RE9NLCBSRUYsIEV2ZW50U3RyZWFtfSBmcm9tICcvbGlicmFyeS9qcy9SZWYuanMn
OwogCiBjb25zdCBERUZBVUxUX0xJTUlUID0gMTAwOwotY29uc3QgU1VJVEVTID0gSlNPTi5wYXJz
ZSgne3sgc3VpdGVzfHNhZmUgfX0nKTsgICAgCitjb25zdCBTVUlURVMgPSBKU09OLnBhcnNlKCd7
eyBzdWl0ZXN8c2FmZSB9fScpOwogCiBjbGFzcyBTZWFyY2hWaWV3IHsKICAgICBjb25zdHJ1Y3Rv
cigpIHsgICAgCkBAIC0yMDcsMTMgKzIwNywyMiBAQCBjbGFzcyBTZWFyY2hWaWV3IHsKICAgICB0
b1N0cmluZygpIHsKICAgICAgICAgcmV0dXJuIGA8ZGl2IHJlZj0iJHt0aGlzLnJlZn0iPjwvZGl2
PmA7CiAgICAgfQorICAgIG5vdGlmaXlUaW1lbGluZXNSZW5kZXIoKSB7CisgICAgICAgIHRoaXMu
cmVmLnN0YXRlLmNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4geworICAgICAgICAgICAgY2hpbGQu
dGltZWxpbmUubm90aWZpeVJlcmVuZGVyKCk7CisgICAgICAgIH0pOworICAgIH0KIH0KIAogbGV0
IHZpZXcgPSBuZXcgU2VhcmNoVmlldygpOwotCitjb25zdCBvbkxheW91dENoYW5nZSA9IG5ldyBF
dmVudFN0cmVhbSgpOworb25MYXlvdXRDaGFuZ2UuYWN0aW9uKCgpID0+IHsKKyAgICB2aWV3Lm5v
dGlmaXlUaW1lbGluZXNSZW5kZXIoKTsKK30pOwogd2luZG93Lm9ucG9wc3RhdGUgPSBldmVudCA9
PiB7dmlldy5yZWxvYWQoKTt9Owogd2luZG93Lm9ucHVzaHN0YXRlID0gZXZlbnQgPT4ge3ZpZXcu
cmVsb2FkKCk7fTsKIAorCiBET00uaW5qZWN0KAogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdhcHAnKSwKICAgICBgJHtUb29sVGlwfQpAQCAtMjI0LDcgKzIzMyw3IEBAIERPTS5pbmplY3Qo
CiAgICAgICAgICAgICB2aWV3LnJlbG9hZCgpOwogICAgICAgICB9KSwKICAgICAgICAgQ29uZmln
dXJhdGlvblNlbGVjdG9ycygoKSA9PiB7dmlldy5yZWxvYWQoKX0pLAotICAgIF0pfQorICAgIF0s
ICgpID0+IG9uTGF5b3V0Q2hhbmdlLmFkZCgpKX0KIAogICAgIDxkaXYgY2xhc3M9Im1haW4gbGVm
dCB1bmRlci10b3BiYXItd2l0aC1hY3Rpb25zIj4KICAgICAgICAgPGRpdiBjbGFzcz0iY29udGVu
dCI+CmRpZmYgLS1naXQgYS9Ub29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92aWV3L3RlbXBs
YXRlcy9zdWl0ZV9yZXN1bHRzLmh0bWwgYi9Ub29scy9yZXN1bHRzZGJweS9yZXN1bHRzZGJweS92
aWV3L3RlbXBsYXRlcy9zdWl0ZV9yZXN1bHRzLmh0bWwKaW5kZXggZTNmZjhhMGU1ZDM4NjgxNzI3
ODQ1YzIxYTdhZjFhODQzNDBkMTc4Mi4uZWE5OGI5OTQ0NTM3Yzc0OGIyNTkwNGFjNDQzZmU2NWJk
ZDk5YjM3MyAxMDA2NDQKLS0tIGEvVG9vbHMvcmVzdWx0c2RicHkvcmVzdWx0c2RicHkvdmlldy90
ZW1wbGF0ZXMvc3VpdGVfcmVzdWx0cy5odG1sCisrKyBiL1Rvb2xzL3Jlc3VsdHNkYnB5L3Jlc3Vs
dHNkYnB5L3ZpZXcvdGVtcGxhdGVzL3N1aXRlX3Jlc3VsdHMuaHRtbApAQCAtMzYsNyArMzYsNyBA
QCBpbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gJy9hc3NldHMvanMvY29uZmlndXJhdGlvbi5q
cyc7CiBpbXBvcnQge0RyYXdlciwgQnJhbmNoU2VsZWN0b3IsIENvbmZpZ3VyYXRpb25TZWxlY3Rv
cnMsIExpbWl0U2xpZGVyfSBmcm9tICcvYXNzZXRzL2pzL2RyYXdlci5qcyc7CiBpbXBvcnQge0xl
Z2VuZCwgVGltZWxpbmVGcm9tRW5kcG9pbnR9IGZyb20gJy9hc3NldHMvanMvdGltZWxpbmUuanMn
OwogaW1wb3J0IHtUb29sVGlwfSBmcm9tICcvYXNzZXRzL2pzL3Rvb2x0aXAuanMnOwotaW1wb3J0
IHtET00sIFJFRn0gZnJvbSAnL2xpYnJhcnkvanMvUmVmLmpzJzsKK2ltcG9ydCB7RE9NLCBSRUYs
IEV2ZW50U3RyZWFtfSBmcm9tICcvbGlicmFyeS9qcy9SZWYuanMnOwogCiBjb25zdCBERUZBVUxU
X0xJTUlUID0gMTAwOwogY29uc3QgU1VJVEVTID0gSlNPTi5wYXJzZSgne3sgc3VpdGVzfHNhZmUg
fX0nKTsgICAgCkBAIC0xNTYsOSArMTU2LDE4IEBAIGNsYXNzIE1haW5WaWV3IHsKICAgICAgICAg
ICAgICAgICA8L2Rpdj48YnI+YDsKICAgICAgICAgfSkuam9pbignJyk7CiAgICAgfQorICAgIG5v
dGlmaXlUaW1lbGluZXNSZW5kZXIoKSB7CisgICAgICAgIGZvciAobGV0IHN1aXRlIGluIHRoaXMu
Y2hpbGRyZW4pIHsKKyAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5bc3VpdGVdLm5vdGlmaXlSZXJl
bmRlcigpOworICAgICAgICB9CisgICAgfQogfQogCiBsZXQgdmlldyA9IG5ldyBNYWluVmlldygp
OworY29uc3Qgb25MYXlvdXRDaGFuZ2UgPSBuZXcgRXZlbnRTdHJlYW0oKTsKK29uTGF5b3V0Q2hh
bmdlLmFjdGlvbigoKSA9PiB7CisgICAgdmlldy5ub3RpZml5VGltZWxpbmVzUmVuZGVyKCk7Cit9
KTsKIAogRE9NLmluamVjdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXBwJyksIGAke1Rvb2xU
aXB9CiAke0RyYXdlcihbCkBAIC0xNjgsNyArMTc3LDcgQEAgJHtEcmF3ZXIoWwogICAgICAgICB2
aWV3LnJlbG9hZCgpOwogICAgIH0pLAogICAgIENvbmZpZ3VyYXRpb25TZWxlY3RvcnMoKCkgPT4g
e3ZpZXcucmVsb2FkKCl9KSwKLV0pfQorXSwgKCkgPT4gb25MYXlvdXRDaGFuZ2UuYWRkKCkpfQog
PGRpdiBjbGFzcz0ibWFpbiBsZWZ0IHVuZGVyLXRvcGJhci13aXRoLWFjdGlvbnMiPgogICAgIDxk
aXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgICAke3ZpZXd9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>